Saturday, April 22, 2006

Test Authomation

Hôm trước, anh Triều có nói tìm hiểu thêm về test automation.

Test automation không phải là phương pháp test, nó ám chỉ việc thực hiện test bằng công cụ hỗ trợ. có 2 hướng, cũng dựa trên tool mà phân loại, đáp ứng:
  1. Dùng FIT / Fitness
  2. Dùng Robot Test / Test Manager của Rational hoặc Web Test.
Mỗi cách có những ưu thế riêng.

Nếu dùng FIT / Fitnesse.
Đây là công cụ cho Functional Test (hay Bussiness Test).

Agile (phe của Uncle Bob) dùng Fitnesse để Acceptance Test. Mình rất thích cách tiếp cận này. Khi viết cái Web Chat cho project 1MM, dự định sẽ một version theo cách tiếp cận này, vừa để thử nghiệm, vừa làm demo :).

Tuy nhiên, nó không phù hợp với request hiện nay. Áp dùng FIT/Fitness thuần túy Bussiness Test mang nhiều tính khả thi hơn.

Áp dụng FIT có nhiều thuận lợi, Trước tiên là nó free và được phát triển hoàn toàn bằng Java. Fitnesse là app wrap FIT. Fitnesse vừa là web server, vừa là wiki và được phát triển bằng Java. Thư viện cho Java cũng khá nhiều. Hiện nay, Fit/Fitnesse đã support Java, .Net. Triết lý của FIT rất đơn giản và mình cũng đã mua quyển sách của chính tác giả FIT viết. Fitnesse cũng là open source.

Hệ quả khi dùng FIT là lượng công việc của coder sẽ nhiều thêm và nắm phải nắm rõ nghiệp vụ. Sự thay đổi chính lên suy nghĩ của coder giống sự thay đổi của designer khi chuyển cách layout từ table sang tabless. Chắc chắn sẽ có sự phản kháng, một khó khăn thật sự.

Nếu dùng các tool của Rational.
Các tool này, theo mình được biết sẽ test nghiệp vụ dựa vào các thao tác trên GUI. Cách thường làm sẽ là record lại các thao tác của tester trên ứng dụng đang test. Sau đó, tester modify lại file script này và cho chạy khi muốn test.

Thuận lợi của cách này là tính trực quan. Công việc chủ yếu sẽ do tester phụ trách (không có cách nào đổ cho coder được ;) ).

Hệ quả của cách này là việc tạo script chỉ làm được sau khi đã có ứng dụng. Và cách tiếp cận record script không theo chính thống. Tester sẽ "nhìn" sản phẩm mà record chứ không phải nhìn nghiệp vụ mà viết script. Ngoài ra, các tool này không hề rẻ tí nào :D.

1 comment:

Vi said...

Mot cách khác là xem các open source project làm như thế nào:

1. Open Office
2. Mozilla