KỸ THUẬT VIẾT TEST CASE 3: Bảng quyết tính
Ở hai phần trước, chúng ta đã tìm hiểu về hai kỹ thuật thiết kế test case là Phân tích giá trị biên và Phân vùng tương đương. Trong bài blog lần này, chúng ta sẽ cùng đi tìm hiểu thêm một kỹ thuật thiết kế test case nữa. Đó là kỹ thuật “Bảng quyết tính” .
Định nghĩa:
- Kỹ thuật dùng bảng quyết tính (decision table testing) là một phương pháp của kiểm thử hộp đen.
- Bảng quyết định là một kỹ thuật test được sử dụng để kiểm tra các hành vi hệ thống (system behavior) với các cách kết hợp input đầu vào khác nhau. Đây là một cách tiếp cận có hệ thống, kết quả của các kết hợp đó và hành vi hệ thống tương ứng của chúng (output) sẽ được ghi lại dưới dạng bảng.
- Bảng quyết định là một kỹ thuật tốt để áp dụng cho những trường hợp cần nhiều sự kết hợp.
- Bảng quyết định hỗ trợ việc lựa chọn test case một cách có hệ thống và có thể đem lại nhiều lợi ích trong việc nhận biết vấn đề tiềm ẩn và sự không rõ ràng trong đặc tả (specification).
- Kỹ thuật này đôi khi còn được gọi là bảng "Nguyên nhân - kết quả" (Cause-Effect).
Các bước làm:
- Liệt kê toàn bộ điều kiện đầu vào (input) dựa vào tài liệu đặc tả.
- Tính toán số lượng các kết hợp (rules) bằng số kết quả của mỗi điều kiện nhân với nhau.
- Đặt toàn bộ các kết hợp vào bảng.
- Giảm số lượng các kết hợp và quyết định test case.
Ưu và nhược điểm của kỹ thuật:
Ưu điểm:
- Mô tả các quy tắc nghiệp vụ phức tạp dưới dạng dễ đọc và dễ kiểm soát.
- Được dùng làm tài liệu khi làm việc với stakeholders - các bên liên quan và các thành viên non-technical trong team dự án vì bảng quyết định trình bày, minh họa các vấn đề dưới dạng bảng giúp cho mọi người dễ hiểu hơn.
- Dễ dàng xây dựng và chuyển đổi thành một bộ quy tắc. Có thể được sử dụng trong quá trình tạo và test các test case hoặc kiểm tra logic của hệ thống dựa vào knowledge-based của hệ thống.
- Dựa vào bảng quyết định có thể phát hiện ra một số test case mà khi xây dựng test case theo cách thông thường tester dễ bị thiếu.
- Xác định lượng test case tối thiểu với độ bao phủ tối đa.
Nhược điểm:
- Khi số lượng input đầu vào tăng thì Decision table sẽ trở nên phức tạp hơn.
- Không có các bước chi tiết từng bước một để thực hiện test.
Ví dụ minh họa:
Hãy tạo kỹ thuật thiết kế test case bảng quyết tính cho màn hình đăng nhập.
Yêu cầu:
- Nếu user nhập tên đăng nhập và mật khẩu chính xác, user sẽ được chuyển hướng đến trang chủ.
- Nếu user nhập tên đăng nhập hoặc mật khẩu sai thì sẽ có hiển thị thông báo đăng nhập không thành công.
Bảng quyết tính:
Điều kiện | Quy tắc 1 | Quy tắc 2 | Quy tắc 3 | Quy tắc 4 |
Tên đăng nhập | F | T | F | T |
Mật khẩu | F | F | T | T |
Đầu ra | E | E | E | H |
Chú thích:
- T : Nội dung nhập đúng.
- F: Nội dung nhập sai.
- E: Thông báo thực hiện không thành công được hiển thị.
- H: Thực hiện thành công. Được chuyển đến màn hình trang chủ.
Mô tả các test case:
- Test case 1: Tên đăng nhập + mật khẩu sai = Thông báo thực hiện không thành công được hiển thị.
- Test case 2: Tên đăng nhập đúng + mật khẩu sai = Thông báo thực hiện không thành công được hiển thị.
- Test case 3: Tên đăng nhập sai + mật khẩu đúng = Thông báo thực hiện không thành công được hiển thị.
- Test case 4: Tên đăng nhập + mật khẩu đúng = Thực hiện thành công. Được chuyển đến màn hình trang chủ.
Tài liệu tham khảo:
https://blog.tda.company/cac-ky-thuat-chia-test-case/
Tìm đọc bài blog "KỸ THUẬT VIẾT TEST CASE 2: Phân vùng tương đương" tại đây: