Trong lĩnh vực kiểm thử phần mềm, việc sử dụng các kỹ thuật viết kịch bản kiểm thử là rất quan trọng. Đối với các trường dữ liệu đơn như textbox, chúng ta thường áp dụng lớp tương đương (Equivalence partitioning) hoặc phân tích giá trị biên (Boundary value analysis). Tuy nhiên, đối với việc kiểm thử hành vi của hệ thống với nhiều trường dữ liệu, bảng quyết định (Decision table) sẽ giúp chúng ta phân loại và xác định các kịch bản kiểm thử một cách chính xác và rõ ràng hơn.
Bạn đang xem: Sử dụng bảng quyết định trong kiểm thử phần mềm
Vai trò quan trọng của bảng quyết định
Bảng quyết định sử dụng mô hình luận lý phức tạp để người dùng dễ dàng nhìn thấy các kết hợp có thể có của các điều kiện và hành động tương ứng với chuỗi điều kiện. Một ví dụ điển hình là hệ thống máy rút tiền tự động ATM: Để rút tiền từ máy ATM, người dùng cần một trong hai điều kiện: tiền trong tài khoản vẫn còn và lớn hơn số tiền muốn rút (đối với thẻ debit) hoặc người dùng được cấp cho một khoản tín dụng từ trước (đối với thẻ credit). Tuy nhiên, khi diễn đạt bằng lời, chúng ta thường gặp khó khăn trong việc hiểu rõ các điều kiện thực tế, cũng như từ “và” và “hoặc”. Bằng cách sử dụng bảng quyết định, chúng ta sẽ thấy mọi thứ rõ ràng hơn nhiều:
Điều kiện | Trường hợp 1 | Trường hợp 2 | Trường hợp 3 |
---|---|---|---|
Số tiền trong tài khoản lớn hơn số tiền định rút | Đúng (T) | Sai (F) | Sai (F) |
Đã được cấp tín dụng | – | Đúng (T) | Sai (F) |
Hành động của hệ thống | Cho rút | Có (T) | Có (T) |
Thông thường, bảng quyết định sử dụng giá trị luận lý để diễn đạt các điều kiện và hành động của hệ thống. Đối với các giá trị “đúng/sai” hay “true/false”, chúng ta dễ dàng sử dụng các phép toán luận lý như “và” hoặc “hoặc” hơn.
Bằng cách liệt kê các điều kiện và các giá trị có thể có của từng điều kiện, chúng ta có thể đảm bảo toàn bộ kết hợp của các điều kiện được xuất hiện trong bảng quyết định, từ đó đảm bảo không bỏ qua bất kỳ một kịch bản kiểm thử nào. Hơn nữa, bằng cách sử dụng bảng quyết định, chúng ta có thể nhanh chóng phát hiện những yêu cầu vô lý, giúp tiết kiệm thời gian và công sức thực thi những kịch bản kiểm thử vô nghĩa.
Xem thêm : Hợp Đồng Gia Công Hàng May Mặc/ Garment Processing Agreement
Ngoài ra, không chỉ có lợi ích cho kỹ sư kiểm thử, bảng quyết định còn có tác dụng quan trọng đối với mọi thành viên trong nhóm phát triển phần mềm. Từ người sở hữu sản phẩm khi đưa ra ý tưởng cho đến các lập trình viên khi xây dựng và phát triển hệ thống, tất cả đều có thể tiryền tải ý kiến và hiểu rõ công việc của mình thông qua bảng quyết định.
Các bước để tạo một bảng quyết định
1. Phân tích các điều kiện và hành động của hệ thống
Trước tiên, chúng ta phải phân tích các điều kiện và hành động của hệ thống. Trong ví dụ về máy ATM, chúng ta có hai điều kiện:
- Số tiền trong tài khoản lớn hơn số tiền định rút
- Được cấp tín dụng
Và chỉ có một hành động tương ứng của hệ thống: Được rút tiền hay không?
Điều kiện | Số tiền trong tài khoản lớn hơn số tiền định rút | Đã được cấp tín dụng |
---|---|---|
Hành động của hệ thống | Cho rút |
2. Thêm các cột trường hợp giá trị của điều kiện
Với 2 điều kiện trên, chúng ta có 4 trường hợp đúng/sai (2²).
Điều kiện | Trường hợp 1 | Trường hợp 2 | Trường hợp 3 | Trường hợp 4 |
---|---|---|---|---|
Số tiền trong tài khoản lớn hơn số tiền định rút | Đúng (T) | Đúng (T) | Sai (F) | Sai (F) |
Đã được cấp tín dụng | Đúng (T) | Sai (F) | Đúng (T) | Sai (F) |
Hành động của hệ thống | Cho rút |
3. Cố gắng giảm số lượng các cột điều kiện
Ở đây, chúng ta có thể thấy rằng, trường hợp 1 và trường hợp 2 tương tự nhau. Khi số tiền trong tài khoản lớn hơn số tiền cần rút, chúng ta không quan tâm đến việc khách hàng có được cấp tín dụng hay không. Do đó, chúng ta có thể giảm số lượng trường hợp ở đây, đánh dấu bằng “-” để chỉ rằng không cần xét trường hợp này.
Điều kiện | Trường hợp 1 | Trường hợp 2 | Trường hợp 3 |
---|---|---|---|
Số tiền trong tài khoản lớn hơn số tiền định rút | Đúng (T) | Sai (F) | Sai (F) |
Đã được cấp tín dụng | – | Đúng (T) | Sai (F) |
Hành động của hệ thống | Cho rút |
4. Xác định hành động tương ứng của hệ thống
Dựa trên các điều kiện, chúng ta có kết quả cuối cùng:
Điều kiện | Trường hợp 1 | Trường hợp 2 | Trường hợp 3 |
---|---|---|---|
Số tiền trong tài khoản lớn hơn số tiền định rút | Đúng (T) | Sai (F) | Sai (F) |
Đã được cấp tín dụng | – | Đúng (T) | Sai (F) |
Hành động của hệ thống | Cho rút | Có (T) | Không (F) |
5. Viết các kịch bản kiểm thử
Xem thêm : Phần mềm hợp đồng điện tử iContract – sự tin dùng của doanh nghiệp nước ngoài
Ở bước này, chúng ta bắt đầu viết chi tiết các bước và thiết lập dữ liệu kiểm thử cho từng kịch bản kiểm thử.
Một câu hỏi nhỏ: Theo các bạn, việc gom trường hợp 1 và 2 ở bước thứ 3 có tốt hay không? Có khả năng chúng ta sẽ bỏ lỡ một lỗi (bug) ở đây? Và trong trường hợp gom được, chúng ta nên chọn giá trị T hay F cho điều kiện thứ 2?
Bài viết được sự cho phép của vntesters.com
Có thể bạn quan tâm:
- Để tự động hóa kiểm thử thành công – Phần 2
- Các mức độ kiểm thử được sử dụng trong kiểm thử chức năng của một phần mềm
- Cách trở thành 1 Kỹ sư Phần mềm thực tập chỉ với 4 tháng tự học
Xem thêm Việc làm Developer hấp dẫn trên TopDev
Nguồn: https://luatsutuan.net
Danh mục: Văn Bản Pháp Luật