Kỹ thuật dùng bảng quyết định (decision table) là một phương pháp kiểm thử hộp đen phổ biến. Bảng quyết định đơn giản là một công cụ mạnh mẽ để áp dụng cho những trường hợp cần nhiều sự kết hợp. Nó miêu tả các qui tắc nghiệp vụ phức tạp mà phần mềm phải thực hiện dưới dạng dễ đọc và dễ kiểm soát. Bảng quyết định giúp lựa chọn test case một cách có hệ thống và đ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ả.
Khi nào thì nên áp dụng kỹ thuật dùng bảng quyết định
Bạn có thể áp dụng kỹ thuật dùng bảng quyết định trong các tình huống sau:
- Trong quá trình thiết kế kiểm thử, khi bạn cần tìm hiểu các tác động khi kết hợp các yếu tố đầu vào khác nhau và các trạng thái phần mềm theo quy tắc nghiệp vụ khác nhau.
- Trong các dự án có điều kiện đầu vào và đầu ra rõ ràng, gắn kết với nhau.
- Kỹ thuật này hoạt động tốt khi được kết hợp với phân vùng tương đương.
Cách tạo bảng quyết định và ví dụ áp dụng kỹ thuật dùng bảng quyết định
Giả sử bạn là chủ một cửa hàng sách và áp dụng các chương trình khuyến mại cho khách hàng. Dưới đây là ví dụ về các chương trình khuyến mại và test case tương ứng:
- Nếu khách hàng mua hàng vào ngày sinh nhật, họ sẽ được giảm 20% trên hóa đơn.
- Nếu khách hàng có thẻ khách hàng thân thiết, họ sẽ được giảm 15% trên hóa đơn.
- Với đơn hàng trên 2 triệu, khách hàng sẽ được giảm 30% trên hóa đơn. Tuy nhiên, không áp dụng đồng thời với các chương trình khuyến mại khác. Nếu có nhiều ưu đãi áp dụng, ưu đãi có giá trị cao nhất sẽ được áp dụng.
Để tạo bảng quyết định, bạn có thể tiến hành theo các bước sau:
- Liệt kê tất cả các điều kiện đầu vào (Conditions/Inputs) dựa vào tài liệu đặc tả.
- Tính số lượng kết hợp có thể (Rules) bằng cách nhân số kết quả của mỗi điều kiện với nhau.
- Đặt tất cả các kết hợp trong bảng.
- Giảm thiểu các case kết hợp và quyết định test case.
Sau khi thực hiện các bước trên, số lượng test case ban đầu có thể được giảm tới mức tối thiểu mà vẫn cover được toàn bộ function, tránh trường hợp test trùng lặp hoặc thiếu case.
Ngoài ra, bạn cũng có thể tạo bảng quyết định chỉ gồm các test case cover được toàn bộ function. Ở đây, chúng ta quan tâm đến các actions thay vì điều kiện đầu vào. Mỗi action tương ứng với một loại giảm giá và ta tìm các test case phù hợp.
Hãy xem ví dụ bảng quyết định dưới đây:
Hy vọng với các bước trên, bạn đã có thêm những hiểu biết về kỹ thuật dùng bảng quyết định và cách tạo test case một cách có hệ thống. Nếu bạn muốn học hỏi và chia sẻ thêm kiến thức về kiểm thử, bạn có thể tham gia nhóm ITester. Hãy follow và upvote để tôi có thêm động lực viết bài. Chúc bạn thành công!
Tài liệu tham khảo:
- Slide software testing của Framgia Inc.
- bis.net.vn/forums/t/699.aspx
- www.testingvn.com/viewtopic.php?t=2750