Bài này mình sẽ nói về High Level Test Case, nhanh thôi, rồi tới RTM — Requirement Traceability Matrix. Nói trước một câu: “high-level” và “low-level test case” là cách gọi của nhiều team, không phải hai loại test case bắt buộc trong ISTQB. Vào công ty mà template gọi khác thì theo template của công ty.

Vì để thực hiện Test Design, tức nói thẳng ra là viết High Level Test Case thì cần phải biết thế nào là High Level Test Case và cách mà bây giờ tester viết High Level Test Case.

High Level Test Case

High Level Test Case hiểu nôm na là test case không có chi tiết về cách thực hiện cũng như không có thông tin về thực hiện với công cụ nào mà chỉ là một câu mô tả về hành động cần thực hiện và kết quả mong muốn từ hành động đó.

High Level Test Case chính là tên của Test Case thật sự sẽ được ghi vào document

Ví dụ, một High Level Test Case cho chức năng đăng nhập có thể là:

User Successfully Login Using Correct Credentials

Nó chỉ là một câu, tuân theo cấu trúc

[Who] + [Expected Result] + {When} [Action]

Ví dụ mình sẽ viết các High Level Test Case cho chức năng đăng nhập

User Successfully Login Using Correct Credentials
User Fails To Log In Using Incorrect Credentials
User Successfully Login Using Correct Username and Incorrect Password

[Expected Result] có thể được đẩy xuống cuối, ví dụ

User Using Correct Credentials Successfully Login

Đồng thời, một lưu ý nữa là High Level Test Case nên có một sự cụ thể nhất định đến giá trị cần test, ví dụ không nên để Using Correct Credentials mà nên truyền cho nó một giá trị cụ thể nào đó

User Successfully Login Using Correct Credentials admin/admin
User Successfully Login Using Incorrect Credentials notadmin/notadmin
User Successfully Login Using Correct Username and Incorrect Password admin/notadmin

Nhưng tóm lại, tôn chỉ của High Level Test Case là không cần phải quá chi tiết, nhưng đủ ý và mô tả chính xác test case một cách rộng nhất vì bản chất nó chính là tên của test case thật sự, nó nên là một câu mà tester hay kể cả người ngoài đọc và ngay lập tức hiểu test case đang làm gì, nếu chứa giá trị truyền vào thì nên nói rõ giá trị đó là gì.

High Level Test Case sẽ cần được viết ra sử dụng Test Design Technique, hay chính xác mà nói là khi design test case thì chúng ta cần áp dụng design technique để chia ra test case để cover hết các trường hợp có thể xảy ra. Và High Level Test Case chính là cái tên của các test case này.

Cụ thể Design Technique là gì thì ở ngay sau bài viết sau Design Technique mình sẽ nói

Requirement Traceability Matrix

RTM - Requirement Traceability Matrix là một loại document sinh ra để tester sử dụng cá nhân hoặc giữa các thành viên team test, nó về cơ bản ghi lại kết nối giữa từng Test Condition tới các Test Cases để kiểm thử các tính năng.

RTM sẽ giúp tester theo dõi độ phủ của hoạt động kiểm thử và giúp chúng ta không bị bỏ sót tính năng cần test

Từ khâu Test Analysis, tester sẽ phân tích các documents liên quan và yêu cầu sản phẩm để cho ra Test Conditions - Test Conditions là các tính năng có thể kiểm thử được. Ví dụ

Theo SRS, tính năng đăng nhập có một nút Login, vậy thì các Test Conditions có thể là:

Sau đó khi bước vào khâu Test Design thì sẽ áp dụng Design Technique để chia ra các Test Cases để cover hết các Test Conditions. Ví dụ như đã nêu ở trên các High Level Test Case có thể cho chức năng đăng nhập.

Mỗi High Level Test Case tương ứng với một Low Level Test Case, và mỗi Test Conditions có thể có nhiều High Level Test Case để cover hết các trường hợp có thể xảy ra. Có thể chỉ có một, tuỳ.

Một template của RTM
Một template của RTM

Một template của RTM

Template cơ bản của RTM sẽ chứa các trường:

Mục tiêu của RTM là nhìn ra requirement nào chưa có test và test nào đang bám requirement nào. Nó cho coverage theo test basis đã trace, chứ không chứng minh chúng ta đã cover 100% mọi trường hợp có thể xảy ra.

Trong tình huống gặp bug không có test case, dựa vào RTM chúng ta có thể đưa ra kết luận rất nhanh

Nguồn tham khảo