Testing Mnemonics (P2) – CRUMBS

Như mình đã từng chia sẻ trong phần testing Mnemonics trong bài viết trước đây thì nay mình sẽ viết tiếp 1 bài về 1 trong số những Mnemonics đó. Bài viết này mình sẽ chia sẻ về 1 Mnemonics trong test automation mà mình đang sử dụng khi cần đánh giá về tính hiệu quả của test automation trong 1 dự án.

CRUMBS – Liệu automation của bạn có đang là mớ hỗn độn?

CRUMBS là viết tắt của những từ sau:
C: Confirmation, Coverage Criteria, and Complexity
R: Risk, Robustness, and Reliability
U: Usefulness and Usability
M: Maintainability and Manual Effort
B: Basis and Bias
S: Security, Speed and Stability

C – Confirmation, Coverage Criteria, and Complexity

  • Confirmation – Test scripts của test automation đang muốn kiểm tra việc gì, liệu những test scripts của test automation có được phát triển dựa vào những test case của manual không, mục tiêu của test automation trong dự án là gì, etc.
  • Coverage Criteria – Những test scripts của test automation sẽ cover cho những quality criteria nào của dự án (Capability, Reliability, Usability, Charisma, Security, Scalability, Compatibility, Performance, Installability, Development), những tính năng nào của hệ thống sẽ được test scripts cover, tiêu chí để các bạn chọn những tính năng mà test scripts sẽ kiểm tra nó là gì.
  • Complexity – Khi dự án đang có test automation thì mọi thứ trở nên phức tạp hay đơn giản hơn, liệu khi kết hợp với test automation thì quy trình của dự án có trở nên phức tạp không (ví dụ việc release của dự án thường sẽ có giai đoạn các bạn thực hiện regression test vậy nếu có automation thì việc regression test có đơn giản hơn không hay nó lại làm cho mọi thứ phức tạp và tốn thời gian hơn), dev team có dễ dàng sử dụng automation để kiểm tra những thay đổi trong code có làm hệ thống bị lỗi không, etc.

R – Risk, Robustness, and Reliability

  • Risk – Test automation hiện tại có thể hoặc không thể giải quyết được những risk nào trong dự án, có những risks nào mới mà test automation chưa tính tới. Từ những câu trả lời trên thì mở rộng ra thêm là với những risk hiện tại mà không được automation giải quyết thì có cách nào dùng automation để giải quyết nó không.
  • Robustness – Những tools/frameworks (test autoatmion framework) đang được sử dụng trong test automation có ổn định không, có hỗ trợ tốt cho người tester khi viết test script cũng như dễ dàng trong việc debug không. Tools/Frameworks có hỗ trợ test report đa dạng không.
  • Reliability – Hiện tại những test scripts đang có trong dự án có đáng tin không (khi run test bị failed thì có thật sự là có bug trong hệ thống). Những test script có tuân thủ những principle FIRST không, khi có những thay đổi về features của hệ thống thì những test scripts không thuộc features đó có còn chạy được không cũng như những test scripts thuộc về features đó có bị failed khi chạy không. Những test scripts hiện tại có đang giả lập đúng hành vi của end user khi họ tương tác với ứng dụng không

U – Usefulness and Usability

  • Usefulness & Usability – Test automation có đang giúp ích cho dự án trong việc giảm thiểu công sức của mọi người khi thực hiện regression test không, khi 1 tính năng của hệ thống được test automation kiểm tra qua rồi thì mọi người có cần tốn công để phải kiểm tra thêm gì nữa không. Test report có dễ dàng để mọi người có thể biết rõ về chất lượng của hệ thống hiện tại, mọi người có thể dùng test report này để cung cấp cho khách hàng được hay không. Có dễ dàng để run test scripts không, hiện tại test automation có được integrate với hệ thống CI không.

M – Maintainability and Manual Effort

  • Maintainability & Manual Effort – Trong dự án có quy trình nào cho việc maintain những test scripts khi hệ thống bị thay đổi, quá trình maintain test scripts có đang khiến dự án tốn khá nhiều công sức và thời gian không, tính năng nào hiện tại khiến cho việc maintain test scripts diễn ra thường xuyên hay mất nhiều thời gian nhất. Việc maintain test scripts có làm ảnh hương tới những test data được dùng trước đó không

B – Basis and Bias

  • Basis & Bias – Sau 1 thời gian có test autoamtion trong dự án thì mọi người có đang nắm rõ những thứ cơ bản dùng cho test automation không (như coding convetion, source control workflow, Definition of Done của 1 test script). Mọi người có biết ai là người có thể update CI configuration, ai là người phân tích test result cũng như nếu có bug được phát hiện bởi automation thì ai sẽ là người thông báo cho team hay không

S – Security, Speed and Stability

  • Security, Speed & Stability – Test automation có đang có những rủi ro về chính sách bảo mật nào không ( source code có đang chứa những thông tin nhạy cảm của khách hàng hay hệ thống trong quá trình run test không, ví dụ như database connection, token của 3rd system nào đó, etc.). Thời gian mỗi lần run test automation mất bao lâu, liệu có thể dễ dàng integrate với CD system không. Độ ổn định của test script khi run như thế nào, tỉ lệ flakiness của test script đang ở mức bao nhiêu

Với Mnemonics CRUMBS thì các bạn sẽ có được cho mình những tiêu chí về việc đánh giá test automation 1 cách rõ ràng hơn và từ đó có thể xem xét thử các bạn đang có 1 mớ hỗn độn hay không.

Phần trên là những câu hỏi mình đúc kết ra được ứng với từng tiêu chí mà CRUMBS đề cập tới, nếu các bạn cần thì các bạn cũng có thể tự thêm cho dự án mình những câu hỏi mà nó sẽ giúp cho mình có cái nhìn rõ ràng hơn về những gì mà test automation đang có trong dự án (mình nghĩ nếu được thì các bạn cứ vẽ những câu hỏi và từng phần trong đó lên mind-map và sau khi có được câu trả lời cho những câu hỏi trên thì có thể dễ dàng có cái nhìn tông quan nhất về test automation)

Nguồn tham khảo

http://automation-beyond.com/wp/wp-content/uploads/2012/07/STQA_Feb-March.pdf

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s