Agipedia

Các kỹ thuật Agile

Một yếu tố rất quan trọng để các nhóm thành công khi họ áp dụng các phương pháp Agile đó là những kỹ thuật thực hành. Đối với những vai trò, hoạt động, hoặc mục đích khác nhau thì thường có những kỹ thuật khác nhau để áp dụng. Agile có rất nhiều những kỹ thuật như vậy, có thể kể đến như:

ATDD – Phát triển hướng kiểm thử chấp nhận

ATDD (Acceptance Test Driven Development – Phát triển hướng kiểm thử chấp nhận) là một phương pháp phát triển tương tự như TDD. ATDD sử dụng những kiểm thử chấp nhận tự động. Trong trường hợp lý tưởng thì khách hàng hoặc PO hoặc chuyển gia nghiệp vụ là người viết các kiểm thử chấp nhận và nhóm phát triển chỉ cần vượt qua các kiểm thử này để hoàn thành sản phẩm.

BDD – Phát triển hướng hành vi

BDD (Behaviour Driven Development – Phát triển hướng hành vi) là phương pháp phát triển phần mềm kế thừa từ TDD và ATDD. BDD thêm vào những phương pháp sau:

  • Áp dụng kỹ thuật 5 WHY vào mỗi user story để biết được giá trị kinh doanh của mỗi user story.
  • “Tư duy từ ngoài vào”, tức là chỉ cài đặt những hành vi mang lại giá trị kinh doanh để giảm thiểu lãng phí.
  • Mô tả hành vi theo một loại ngôn ngữ mà cả chuyên gia nghiệp vụ, kiểm thử viên và nhà phát triển có thể giao tiếp được với nhau.

Có nhiều nền tảng khác nhau hỗ trợ ở những ngôn ngữ khác nhau như:

TDD – Phát triển hướng kiểm thử

TDD (Test Driven Development – Phát triển Hướng Kiểm thử) là một phương pháp phát triển phần mềm mà các hoạt động lập trình, kiểm thử và thiết kế được đan xem vào nhau.

Quy tắc của TDD:

  1. Viết một kiểm thử đơn vị để mô tả một mặt của chương trình, kiểm thử vừa viết thường là thất bại bởi tính năng đó chưa được cài đặt.
  2. Viết vừa đủ mã nguồn để vượt qua kiểm thử
  3. Tái cấu trúc mã nguồn tới khi thỏa mãn các tiêu chí của mã tối giản (simple design)
  4. Lặp lại các thao tác trên

tdd

Một số lỗi thường gặp

  • Quên không chạy kiểm thử thường xuyên
  • Viết quá nhiều kiểm thử một thời điểm
  • Viết kiểm thử quá lớn khó hiểu
  • Viết những kiểm thử quá
  • Viết kiểm thử cho những đoạn mã hiển nhiên
  • Không duy trì mã kiểm thử. Mã kiểm thử cũng là mã nguồn
  • Chỉ một số nhà phát triển trong nhóm dùng
  • Khi vượt qua kiểm thử lại nghĩ quá nhiều tới tái cấu trúc