Sử dụng bảng quyết định trong kiểm thử phần mềm

Rate this post

vntesters.com

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.

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.

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ử

Ở 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:

Xem thêm Việc làm Developer hấp dẫn trên TopDev

Related Posts

HỢP ĐỒNG NHẬP KHẨU

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAMCó thể bạn quan tâm Mẫu quyết định phê duyệt kết quả lựa chọn nhà thầu 2024 Tất tần tật…

Hợp Đồng Dịch Vụ Tư Vấn

Cung cấp thông tin cần thiết trước khi tiến hành Hôm nay, ngày …. tháng … năm ….., tại địa chỉ …………………Có thể bạn quan tâm Một…

Mẫu quyết định tăng lương cho người lao động mới nhất [2023]

Có thể bạn quan tâm Hội nghị công bố Quyết định của Chủ tịch UBND tỉnh về việc bổ nhiệm chức vụ Giám đốc Sở Tư pháp…

Mẫu quyết định chỉ định thầu rút gọn

Việc ra quyết định chỉ định thầu rút gọn có căn cứ từ Văn bản hợp nhất 12/VBHN-VPQH 2019 Luật Đấu Thầu. Điều 37 của văn bản…

Mẫu quyết định bổ nhiệm chủ tịch HĐQT

Bạn đang tìm kiếm thông tin về mẫu quyết định bổ nhiệm Chủ Tịch HĐQT? Trong bài viết này, chúng tôi sẽ giới thiệu về cách sử…

Tổng hợp mẫu hợp đồng thuê nhân sự ngoài mới nhất hiện nay

Hợp đồng thuê nhân sự ngoài là một loại hợp đồng mà một bên (thường là doanh nghiệp hoặc tổ chức) thuê một đối tác bên ngoài…