Phát triển được dẫn lái bởi kiểm thử

Phát triển được dẫn lái bởi kiểm thử - Test Driven Development (TDD) là thực hành Agile để khử bỏ thật nhiều lỗi có thể để cho người phát triển có thể thêm các tính năng hay thực hiện các thay đổi nhưng vẫn tạo ra phần mềm chất lượng cho mọi lần lặp.

Khái niệm này tương đối đơn giản. Người phát triển phải tạo ra các kiểm thử đơn vị cho mã của họ trước khi viết mã. Về truyền thống phần lớn người phát triển viết mã trước rồi mới phát triển kiểm thử đơn vị. Tuy nhiên trong cách tiếp cận này, người phát triển đầu tiên bắt đầu bằng kiểm thử đơn vị để kiểm nghiệm mã sẽ làm gì. Bằng việc tạo ra kiểm thử trước cho phép người phát triển hiểu nhiều hơn về mã mà họ sẽ viết. Bằng việc viết mã để chắc nó sẽ qua được kiểm thử, họ có thể khử bỏ lỗi và có phần mềm chất lượng cao.

Tất nhiên lúc ban đầu phần lớn người phát triển thường cảm thấy không thoải mái bởi vì họ được đào tạo viết mã trước, kiểm thử sau. Tuy nhiên, nếu họ tuân theo cách tiếp cận này, họ sẽ hiểu rõ sự đơn giản của nó. Việc gỡ lỗi truyền thống thường có nghĩa là nhìn qua nhiều mã để nhận diện lỗi. Cách tiếp cận dẫn lái bởi kiểm thử cho phép người phát triển hội tụ vào đơn vị nhỏ để chắc nó không có lỗi. Cách gỡ lỗi truyền thống yêu cầu nhiều thời gian để lập các điểm ngắt, các biến tạm thời và câu lệnh in rồi sẽ bị bỏ đi sau kiểm thử. Một khi người phát triển tìm ra và sửa lỗi, những trường hợp kiểm thử này thường bị bỏ đi. Trong pha bảo trì, những người phát triển khác có thể phải bắt đầu lại với kiểm thử riêng của họ, điều yêu cầu nhiều nỗ lực hơn. Với cách tiếp cận dẫn lái theo kiểm thử, mọi kiểm thử đơn vị đều được duy trì cho dùng về sau. Nếu lỗi xảy ra, cùng kiểm thử đơn vị đó có thể bắt được nó lần nữa. Nếu lỗi mới xảy ra và không có kiểm thử đơn vị tương ứng, người phát triển có thể viết kiểm thử đơn vị mới bắt nó và dùng lại cùng kiểm thử này về sau trong pha bảo trì.

Những kiểm thử đơn vị nhỏ này có thể được tổ chức thành tập các kiểm thử đơn vị để phát hiện mọi lỗi cho từng lần đưa ra. Vì chúng đã kiểm thử cho mọi mã một cách kĩ lưỡng, phần mềm đưa ra vào lúc này thường có ít lỗi hơn nhiều so với kiểm thử tích hợp truyền thống.

Tác phẩm, tác giả, nguồn

  • Tác phẩm: Quản lý dự án
  • Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.
  • Wiki hóa: https://kipkis.com

Có thể bạn muốn xem