Bảng quyết định trong testing (Phần 2)

Rate this post

Tiếp tục với chủ đề bảng quyết định trong testing, lần trước tôi đã chia sẻ với mọi người kiểm tra bảng quyết định là gì, cấu trúc bảng quyết định và cách tạo bảng quyết định với trường hợp đầy đủ. Hôm nay, tôi sẽ giới thiệu với các bạn phương pháp thu gọn bảng quyết định bằng phương pháp collapse và đưa ra ví dụ để chúng ta hiểu rõ hơn về phương pháp này.

4.1. Tìm hiểu về phương pháp collapse

  • Phương pháp collapse là cách kết hợp các quy tắc testing lại với nhau để giảm thiểu số lượng quy tắc.
  • Quy tắc kết hợp các quy tắc: Trong bảng quyết định, nếu hai cột thử nghiệm có cùng kết quả và chỉ khác một điều kiện, thì có thể kết hợp hai cột này lại thành một cột duy nhất.
  • Các bước thực hiện:
    • Bước 1: Tìm những quy tắc có cùng kết quả.
    • Bước 2: Trong nhóm quy tắc có cùng kết quả, tìm những quy tắc chỉ khác một điều kiện.
    • Bước 3: Kết hợp hai cột có cùng kết quả và chỉ khác một điều kiện. Giữ lại cột đầu, xóa cột sau, và thay đổi giá trị điều kiện khác nhau thành (-) để thể hiện giá trị không cần thiết.
    • Bước 4: Lập bảng quyết định thu gọn từ những kết hợp trên (Lưu ý: Kiểm tra xem bảng quyết định đó có thể thu gọn được không. Nếu có thể kết hợp tiếp, thực hiện tương tự cho đến khi không thể kết hợp nữa, thu được bảng quyết định thu gọn cuối cùng).

4.2. Những điều cần nhớ khi thực hiện phương pháp collapse

  • Khi kết hợp hai cột, luôn xóa cột bên phải, không xóa cột bên trái.
  • Không đổi tên cột sau khi xóa các cột không cần thiết.
  • Áp dụng các bước thu gọn cho các bảng quyết định đã xây dựng trước đó.
  • Dừng thu gọn khi các cột không thể kết hợp với nhau được nữa.

Chú ý những điều trên nhé ^^

Chúng ta sẽ xem ví dụ để hiểu rõ hơn về phương pháp này.

Bài toán

Một cửa hàng quần áo áp dụng các chiết khấu như sau:

  • Nếu khách hàng mua đúng dịp sinh nhật, sẽ được chiết khấu 20% trên mỗi hóa đơn.
  • Nếu khách hàng có thẻ tích điểm, sẽ được chiết khấu 15% trên mỗi hóa đơn.
  • Nếu khách hàng có voucher giảm giá, sẽ được chiết khấu 30% trên mỗi hóa đơn.
  • Không áp dụng đồng thời nhiều ưu đãi. Nếu có nhiều ưu đãi, chỉ áp dụng ưu đãi cao nhất.

Hãy lập bảng quyết định thu gọn cho bài toán trên.

Cách giải

Dựa vào dữ liệu đã cho, ta sẽ giải quyết bài toán như sau:

  • Bước 1: Xác định điều kiện đầu vào và hành động của hệ thống.

    • Điều kiện đầu vào:

      • Khách hàng mua đúng sinh nhật.
      • Khách hàng có thẻ tích điểm.
      • Khách hàng có voucher giảm giá.
    • Hành động của hệ thống:

      • Chiết khấu 20% trên mỗi hóa đơn.
      • Chiết khấu 15% trên mỗi hóa đơn.
      • Chiết khấu 30% trên mỗi hóa đơn.
      • Không chiết khấu.
  • Bước 2: Tính tổng số quy tắc. Với 3 điều kiện đầu vào, ta có tổng số quy tắc là 2^3 = 8 (theo quy tắc tổng số quy tắc = 2^n, trong đó n là số điều kiện đầu vào).

  • Bước 3: Lập bảng quyết định đầy đủ.

    Bảng quyết định đầy đủ

  • Bước 4: Rút gọn bảng quyết định để giảm thiểu test case.

    • Lần thu gọn đầu tiên:

      • Nhóm 1: Những quy tắc có cùng hành động chiết khấu 30% là quy tắc 1, 3, 5, 7. Trong đó, quy tắc 1 và 3 có chỉ khác 1 điều kiện là (thẻ tích điểm), nên thực hiện kết hợp: Xóa quy tắc 3, giữ nguyên quy tắc 1 và đổi giá trị điều kiện thẻ tích điểm thành (-).
      • Nhóm 2: Những quy tắc có cùng hành động chiết khấu 20% là quy tắc 2, 4. Trong đó, quy tắc 2 và 4 có chỉ khác 1 điều kiện là (thẻ tích điểm), nên thực hiện kết hợp: Xóa quy tắc 4, giữ nguyên quy tắc 2 và đổi giá trị điều kiện thẻ tích điểm thành (-). Sau khi thu gọn lần đầu tiên, ta được bảng quyết định như sau:

      Bảng quyết định sau lần thu gọn đầu tiên

    • Lần thu gọn thứ 2:

      • Nhóm những quy tắc có cùng hành động chiết khấu 30% là quy tắc 1, 5, 7. Trong đó, quy tắc 1 và 5 chỉ khác điều kiện mua dịp sinh nhật, nên thực hiện kết hợp: Xóa quy tắc 5, giữ nguyên quy tắc 1 và đổi giá trị điều kiện mua dịp sinh nhật thành (-). Sau khi thu gọn lần thứ 2, ta được bảng quyết định như sau:

      Bảng quyết định sau lần thu gọn thứ 2

    • Lần thu gọn thứ 3:

      • Nhóm những quy tắc có cùng hành động chiết khấu 30% là quy tắc 1, 7. Trong đó, quy tắc 1 và 7 có tất cả những điều kiện giống nhau, nên thực hiện kết hợp. Giữ nguyên quy tắc 1 và xóa quy tắc 7. (Ở lần thu gọn thứ 2 cũng có thể xóa luôn quy tắc 7, so sánh lần lượt 2 quy tắc 1 để xem chi tiết). Sau khi thu gọn lần thứ 3, ta được bảng quyết định như sau:

    Nhìn vào bảng quyết định thu gọn ở lần thứ 3, ta thấy không có giá trị đầu ra nào giống nhau, nên kết thúc quá trình thu gọn ở bước này.

Như vậy, từ 8 case ban đầu đã được rút gọn xuống còn 4 case. Phương pháp collapse đã giảm số lượng test case tới mức tối thiểu mà vẫn đảm bảo hoàn toàn các tình huống, tránh trường hợp trùng lặp hoặc thiếu. Đây là một công cụ rất hữu ích của tester trong quá trình kiểm thử phần mềm. Bảng quyết định giúp nhận biết các vấn đề tiềm ẩn và sự không rõ ràng trong đặc tả. Từ những ví dụ trên, nhờ có bảng quyết định, chúng ta đã giảm số lượng test case tối đa và đảm bảo đủ tất cả các trường hợp. Cảm ơn các bạn đã đọc bài viết! (:

Đọc thêm tại Luật Sư Tuấn

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 bổ nhiệm Giám đốc công ty cổ phần Hồ sơ thi bằng…

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 Giấy…

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 Quyết định 2151/QĐ-BYT: Đổi mới phong cách phục vụ y tế vì sự hài lòng của người bệnh Mẫu giấy khai phí…

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…