Tester – Thiết kế test blackbox với bảng quyết định

Muốn là một Tester/QC chuyên nghiệp, chắc chắn cần biết đến cách thiết kế test blackbox và đặc biệt là sử dụng bảng ra quyết định để thiết kế các test case. Trong bài này mình sẽ giới thiệu với các bạn các nội dung sau:

  1. Kỹ thuật test blackbox là gì?
  2. Tại sao lại cần đến kỹ thuật test?
  3. Các kỹ thuật test blackbox
  4. Kỹ thuật test blackbox sử dụng bảng ra quyết định

1.Kỹ thuật test blackbox là gì?

Chúng ta cùng so sánh blackbox, whitebox và graybox qua hình sau

Screen Shot 2018-06-22 at 9.38.31 AM

2. Tại sao phải cần các kỹ thuật test?

  • Việc test thấu đáo (test tất cả các đầu vào có thể) là phi thực tế
  • Do đó: Cần sử dụng kỹ thuật test để chọn lọc các trường hợp test  một cách hợp lý mà vẫn đảm bảo không để sót lỗi (Tester/QC siêu là đây)

Screen Shot 2018-06-22 at 9.43.35 AM

3. Các kỹ thuật test blackbox

  • Phân lớp tương đương
  • Phân tích giá trị biên
  • Sử dụng bảng quyết định
  • Sử dụng biểu đồ nguyên nhân – hậu quả
  • Sử dụng biểu đồ chuyển trạng thái

Ở bài trước , chúng ta đã được biết đến các kỹ thuật test phân lớp tương đương và phân tích giá trị biên. 2 kỹ thuật này thường chỉ được áp dụng cho những đầu vào/tình   huống riêng biệt cụ thể, khi có sự kết hợp của các yếu tố đầu vào khác nhau dẫn đến kết quả hành động khác nhau, thì việc sử dụng 2 kỹ thuật này sẽ thực sự gặp khó khăn.

Bảng quyết định là một kỹ thuật để giải đáp được sự kết hợp của các yếu tố đầu vào.

  • Chúng ta cùng xem xét tình huống sau sẽ sử dụng trong suốt quá trình thực hành.

Một cửa hàng có chính sách giảm giá cho khách hàng như sau: Nếu bạn là một Khách hàng mới mở tài khoản thẻ tín dụng, bạn sẽ chiết khấu 20% cho tất cả mặt hàng bạn mua ngày hôm nay. Nếu bạn là một Khách hàng hiện có và bạn giữ một thẻ khách hàng trung thành, bạn sẽ được chiết khấu 15%. Nếu bạn có một phiếu mua hàng, bạn sẽ được chiết khấu 25% ngày hôm nay (nhưng nó không được sử dụng kết hợp với chính sách giảm giá dành cho Khách hàng mới ‘). % chiết khấu được cộng thêm vào, nếu có.

4. Bảng quyết định

  • Bảng quyết định liệt kê các nguyên nhân và kết quả dưới dạng ma trận. Mỗi cột của bảng quyết định là một tổ hợp duy nhất. 
  • Bảng quyết định nhằm mục đích hệ thống logic
  • Bảng quyết định được ứng dụng rất nhiều trong rất nhiều lĩnh vực khác nhau trong đó có kiểm thử phần mềm (thiết kế test case) 

decisiontable

5. Các bước thiết kế test case dựa trên bảng quyết định

Bước 1: Xác định các điều kiện đầu vào và đầu ra

Screen Shot 2018-06-22 at 10.26.56 AM

Thực hành: Xác định các điều kiện đầu vào và đầu ra cho tình huống phía trên.

Kết quả

  • Đầu vào:
    • KH mới mở TK (thẻ tín dụng)
    • KH có thẻ trung thành
    • KH có phiếu mua hàng
  • Đầu ra: 
    • Giảm giá 25%
    • Giảm giá 15%
    • Giảm giá 20%

 

Bước 2: Xác định các tổ hợp có thể có

  • Mỗi cột trong bảng là 1 tổ hợp các điều kiện đầu vào 
  • Mỗi ô trong bảng có thể nhận giá trị  ‘T’ (true) nếu điều kiện đầu vào đúng hoặc  ‘F’ (false) cho trường hợp đầu vào sai

Screen Shot 2018-06-22 at 10.27.28 AM.png

Thực hành: Xác định các tổ hợp có thể có của tình huống trên

Đầu vào #1 #2 #3 #4 #5 #6 #7 #8
KH mới mở TK T T T T F F F F
KH có thẻ trung thành T T F F T T F F
KH có phiếumua hàng T F T F T F T F

 

Bước 3: Hợp lý hóa (giảm bớt)  số lượng các tổ hợp đầu vào

  • Một số tổ hợp có thể không bao giờ xảy ra
  • Một số tổ hợp có thể tương đương với nhau
  • Sử dụng dấu gạch ngang ‘-’ để thể hiện trường hợp không cần quan tâm đến giá trị của đầu vào

Screen Shot 2018-06-22 at 10.28.01 AM.png

Thực hành: Hợp lý hóa (giảm bớt) số lượng các tổ hợp

Đầu vào #1 #2 #3 #4 #5 #6 #7 #8
KH mới mở TK T T T T F F F F
KH có thẻ trungthành T T F F T T F F
KH có phiếu mua hàng T F T F T F T F

Kết quả:

Đầu vào #1 #2 #3 #4 #5 #6
KH mới mở TK T T F F F
KH có thẻ trung thành T F F T T F
KH có phiếu mua hàng T F T F F

 

Bước 4: Hoàn thiện bảng quyết định

  • Xác định đầu ra mong đợi cho mỗi tổ hợp của các điều kiện đầu vào

Screen Shot 2018-06-22 at 10.23.21 AM

Hoàn thiện bảng quyết định: Xác định đầu ra mong đợi cho mỗi tổ hợp của các điều kiện đầu vào

Đầu vào #1 #2 #3 #4 #5 #6
KH mới mở TK T T F F F
KH có thẻ trung thành T F F T T F
KH có phiếu mua hàng T F T F F
Đầu vào
Chiết khấu 20% X F T F F F
Chiết khấu 15% X F F T T F
Chiết khấu 25% X T F T F F
Đầu vào #1 #2 #3 #4 #5 #6
KH mới mở TK T T F F F
KH có thẻ trung thành T F F T T F
KH có phiếu mua hàng T F T F F
Đầu vào
Chiết khấu (%) X 25% 20% 40% 15% 0%

 

Bước 5: Chuyển các cột của bảng quyết định sang thành test case

  • Thông thường mỗi tổ hợp sẽ tương ứng với 1 test case nhưng cũng có trường hợp 1 tổ hợp tương ứng với nhiều test case hoặc không tương ứng với test case nào

Screen Shot 2018-06-22 at 10.32.03 AM

  • Thực hành: Chuyển các cột của bảng quyết định sang thành test case
Test case Đầu vào Kết quả mong đợi (% Chiết khấu)
1 Khách hàng mới, có thẻ trung thành Không xảy ra
2 Khách hàng không có thẻ trung thành, có phiếu mua hàng 25%
3 Khách  hàng mới 20%
4 KH có thẻ trung thành, có phiếu mua hàng 40%
5 Kh có thẻ trung thành, không có phiếu mua hàng 15%
6 Không phải là KH mới, cũng không có thẻ trung thành, không có phiếu giảm giá 0%

 

Bây giờ các bạn hãy tự thực hiện lại theo tình huống thực hành sau đây:

Một cửa hàng có chính sách giảm giá cho khách hàng như sau: nếu khách có “thẻ người già”, khách sẽ được giảm giá 34%. Nếu khách đi cùng trẻ em dưới 16 tuổi: khách sẽ được giảm giá 50% nếu đã có “thẻ gia đình”, nếu không có thẻ gia đình thì chỉ được giảm 10%. Mỗi khách chỉ có thể sử dụng một trong hai loại thẻ

 

Chúc các bạn thành công!

Advertisements