1. Test design là gì?
Test design là tài liệu phác thảo những case cần có trong test case. Hiểu một cách đơn giản thì nó là dạng rút gọn của test case. Test design có một số đặc điểm sau:
- Thể hiện rõ quan điểm test, những case cần có để cover Spec.
- Ngắn gọn, dễ hiểu.
2. Ví dụ
Để hiểu rõ hơn về test design, ta cùng xét ví dụ về màn hình login đơn giản. User admin/123 đã được đăng kí trong hệ thống. User "test/123" đã bị xóa logic.
Bước 1: Tạo test design
Có nhiều cách để thể hiện test design như mindmap, table, ... Tùy vào thói quen mà mỗi người sẽ có cách thể hiện khác nhau. Mình hay dùng table vì cảm thấy nó dễ convert sang test case hơn.
Test design cho chức năng login
Bước 2: Tạo testcase
Từ test design ở buớc 1, ta dễ dàng tạo được test case bằng cách thêm Step.
Test case cho chức năng login
3. Những lợi ích của test design
Đa số chúng ta đều bỏ qua test design (hoặc chỉ tạo ở trong suy nghĩ) mà viết thẳng test case. Thực tế nó rất quan trọng, nhất là trong những chức năng có logic phức tạp. Dưới đây là một số lợi ích của test design:
- Test design ngắn gọn, dễ hiểu, giúp người đọc dễ dàng hình dung những quan điểm test. Đặc bieejet với những chức năng có logic phức tạp thì đọc testdessign dễ chịu hơn testcase rất nhiều.
- Tránh lack case khi viết test case.
- Viết theo dạng từ input -> output nên bạn sẽ không phải suy nghĩ nhiều về việc sửa Step khi có thay đổi quan điểm. Tránh tihf trạng râu ông nọ cắm cằm bà kia.
- Trong trường hợp không đủ thời gian, có thể nhìn vào test design để test mà không cần tạo test case.
4. Test design vs Test plan
Tiêu chí | Test plan | Test design |
---|---|---|
Nội dung | Tài liệu mô tả schedule của đội test cũng như các task cần làm trong dự án. | Tài liệu design những case cần có trong testcasse của một modul hay chức năng. |
Đặc điểm | Bao gồm tất cả các hoạt động trong dự án như: xác định phạm vi, vai trò, rủi ro,... Các task được gán cho từng thành viên trong nhóm. | Thể hiện rõ quan điểm test, ở mỗi case thể hiện rõ giá trị input và output mong muốn. |
Vai trò | Giúp việc quản lý, theo dõi và báo cáo tiến độ công việc dễ dàng hơn. | Dễ dàng hơn trong việc review cũng như tạo testcase, tránh lack case |