12/08/2018, 14:59

Tìm hiểu phương thức kiểm thử bằng bảng quyết định

1. Lý thuyết Kỹ thuật kiểm thử lớp tương đương và kiểm thử giá trị biên thích hợp cho các hàm có các biến đầu vào không có quan hệ ràng buộc với nhau. Kỹ thuật kiểm thử dựa trên bảng quyết định chúng ta xem xét trong bài viết này sẽ phù hợp cho các hàm có các hành vi khác nhau dựa trên ...

1. Lý thuyết

  • Kỹ thuật kiểm thử lớp tương đương và kiểm thử giá trị biên thích hợp cho các hàm có các biến đầu vào không có quan hệ ràng buộc với nhau.

  • Kỹ thuật kiểm thử dựa trên bảng quyết định chúng ta xem xét trong bài viết này sẽ phù hợp cho các hàm có các hành vi khác nhau dựa trên tính chất của bộ giá trị của đầu vào.

  • Kiểm thử dựa trên bảng quyết định là phương pháp chính xác nhất trong các kỹ thuật kiểm thử chức năng. Bảng quyết định là phương pháp hiệu quả để mô tả các sự kiện, hành vi sẽ xảy ra khi một số điều kiện thỏa mãn.

  • Cấu trúc bảng quyết định được chia làm bốn phần chính:

    • Các biểu thức điều kiện C1, C2, C3...
    • Giá trị điều kiện T, F, -
    • Các hành động A1, A2, A3, A4...
    • Giá trị hành động, có xảy ra hay không. X là có

  • Khi lập bảng quyết định ta thường tìm các điều kiện có thể xảy ra để xét các tổ hợp của chúng mà từ đó chúng ta xác định được các ca kiểm thử tương ứng cho các điều kiện được thoả mãn. Các hành động xảy ra chính là kết quả mong đợi của ca kiểm thử đó.

  • Bảng quyết định với các giá trị điều kiện là T, F và - được gọi là bảng quyết định logic. Bạn có thể mở rộng bằng các giá trị khác, khi đó bạn có bảng quyết định tổng quát.

  • Kỹ thuật thực hiện: Để xác định các ca kiểm thử dựa trên bảng quyết định, ta dịch các điều kiện thành các đầu vào và các hành động thành các đầu ra. Đôi khi các điều kiện sẽ xác định các lớp tương đương của đầu vào và các hành động tương ứng với các mô-đun xử lý chức năng đang kiểm thử.

  • Những bài toán phù hợp với bảng quyết định:

    • Chương trình có nhiều lệnh rẽ nhánh - nhiều khối If-Then-Else
    • Các biến đầu vào có quan hệ với nhau
    • Có quan hệ nhân quả giữa đầu vào và đầu ra
    • Có độ phức tạp Cyclomatic cao
  • Bảng quyết định không dễ áp dụng cho các bài toán lớn (với n điều kiện có 2n quy tắc).

  • Có thể cần một số lần thử và rút kinh nghiệm để dần dần lập được bảng tối ưu.

2. Bài toán áp dụng

  • Áp dụng kỹ thuật kiểm thử dựa trên bảng quyết định cho bài toán tam giác Triangle.

  • Phát biểu bài toán: Bài toán tam giác nhận ba số nguyên là độ dài ba cạnh của tam giác làm dữ liệu đầu vào. Đầu ra của chương trình là loại của tam giác được xác định bởi ba cạnh tương ứng:

    • Không là tam giác
    • Tam giác thường
    • Tam giác cân
    • Tam giác đều.
  • Phân tích bài toán: Giả sử a, b, c là độ dài ba cạnh của tam giác. Khi đó:

    • Các biểu thức điều kiện:
      • a < b + c
      • b < a + c
      • c < a + b
      • a = b
      • a = c
      • b = c
    • Các hành động:
      • Không là tam giác
      • Tam giác thường
      • Tam giác cân
      • Tam giác đều
      • Không hợp lệ
  • Bảng quyết định cho bài toán Triangle

  • Nếu các điều kiện chỉ là T và F ta có 2^n cột quy tắc. Mỗi một giá trị “-” sẽ đại diện cho hai cột. Tổng số luật bằng 2^n tức là số cột quy tắc đã đủ.

  • Sử dụng bảng quyết định cho Triangle ta có 11 ca kiểm thử:

    • 3 trường hợp không là tam giác
    • 1 trường hợp tam giác thường
    • 3 trường hợp là tam giác cân
    • 1 trường hợp tam giác đều
    • 3 trường hợp không hợp lệ
  • Các ca kiểm thử bằng bảng quyết định cho Triangle

0