Test  Viewpoint
Menu
  • Home
  • Basic Knowledge
  • Manual Testing
  • Test Automation
  • Blog
  • About Me
  • Contact
Menu
Bảng Quyết Định Phần 4

Black-Box Testing: Bảng Quyết Định (phần 4)

Posted on October 10, 2023November 27, 2023 by Test Viewpoint

Kỹ Thuật Thiết Kế Test Case Dựa Vào Bảng Quyết Định

Kiểm thử dựa vào bảng quyết định (Decision Table Testing) là kỹ thuật kiểm thử biểu diễn dạng bảng của một tập hợp các điều kiện và các hành động liên quan. Nó được biểu thị dưới dạng các quy tắc cho biết hành động nào sẽ xảy ra đối với tập hợp các giá trị điều kiện nào. Kiểm thử viên có thể sử dụng các bảng quyết định để phân tích các quy tắc áp dụng cho phần mềm đang kiểm tra và thiết kế các bài kiểm tra để bao gồm các quy tắc đó.

Để tạo các trường hợp kiểm thử từ bảng quyết định, chúng ta sẽ thiết kế các đầu vào kiểm thử đáp ứng các điều kiện đã cho. Các đầu ra kiểm thử sẽ tương ứng với hành động hoặc các hành động được đưa ra cho tổ hợp các điều kiện đó. Trong quá trình thực hiện kiểm thử, người kiểm thử cần kiểm tra xem các hành động thực tế được thực hiện có tương ứng với các hành động dự kiến hay không.

Xây Dựng Bảng Quyết Định

Xem xét ví dụ sau đây:

Tại một trang web thương mại điện tử, xem xét xử lý về việc có chấp nhận mua hàng hóa bằng thẻ tín dụng hay không bằng việc xem xét những thông tin sau đây:

  • Real account? Thông tin thẻ tín dụng nhập vào có chính xác hay không?
  • Active account? Thẻ tín dụng còn hoạt động hay đã bị huỷ bỏ?
  • Within limit? Số tiền có nằm trong giới hạn tín dụng của họ?
  • Location Okay? Giao dịch đến từ một địa điểm bình thường hay đáng ngờ?

Từ bốn điều kiện ở trên, hệ thống sẽ xác định hành động thực hiện nào trong ba hành động sau đây sẽ xảy ra:

  • Approve: Chúng ta có nên phê duyệt giao dịch không?
  • Call cardholder: Chúng ta có nên gọi điện cho chủ thẻ (Ví dụ: để cảnh báo họ về việc mua hàng từ một địa điểm lạ)?
  • Call vendor: Chúng ta có nên gọi cho nhà cung cấp (Ví dụ: yêu cầu họ thu giữ thẻ đã hủy)?
Conditions12345678910111213141516
Real account?YYYYYYYYNNNNNNNN
Active account?YYYYNNNNYYYYNNNN
Within limit?YYNNYYNNYYNNYYNN
Location okay?YNYNYNYNYNYNYNYN
Actions
ApproveYNNNNNNNNNNNNNNN
Call cardholder?NYYYNYYYNNNNNNNN
Call vendor?NNNNYYYYYYYYYYYY

Thu gọn bảng quyết định

Đôi khi chúng ta có thể thu gọn bảng quyết định, kết hợp các cột, để đạt được một bảng quyết định ngắn gọn hơn và trong một số trường hợp hợp lý hơn. Trong bất kỳ tình huống nào mà giá trị của một hoặc nhiều điều kiện cụ thể không thể ảnh hưởng đến các hành động đối với hai hoặc nhiều tổ hợp điều kiện, chúng ta có thể thu gọn bảng quyết định.

Conditions1235679
Real account?YYYYYYN
Active account?YYYNNN–
Within limit?YYNYYN–
Location okay?YN–YN––
Actions
ApproveYNNNNNN
Call cardholder?NYYNYYN
Call vendor?NNNYYYY

Bảng quyết định trên hiển thị cùng một bảng quyết định như trước, nhưng được thu gọn để loại bỏ các cột không liên quan. Đáng chú ý nhất, bạn có thể thấy rằng các cột từ 9 đến 16 trong bảng quyết định ban đầu được thu gọn thành một cột duy nhất. Lưu ý rằng tất cả các cột từ 9 đến 16 về cơ bản là cùng một bài kiểm tra: Real account? Đây có phải là một tài khoản thực không? Nếu nó không có thật, thì nó chắc chắn không thể hoạt động, trong giới hạn hoặc có một vị trí ổn định. Vì những điều kiện đó là không thể, nên về cơ bản, chúng tôi sẽ chạy cùng một bài kiểm tra tám lần.

Xem xét tiếp tới quy tắc 2, 3 và 4, ta nhận thấy rằng chủ thẻ sẽ nhận được cuộc gọi nếu ít nhất 1 trong 2 điều kiện “Within limit?”, “Location okay?” bị vi phạm. Do đó, quy tắc 3 và 4 có thể kết hợp thành 1 bởi nếu thẻ vượt quá giới hạn, thì chủ thẻ sẽ bị gọi bất kể vị trí có đúng hay không. Logic tương tự áp dụng cho quy tắc 7 và 8.

Khả Năng Áp Dụng

Kiểm tra bảng quyết định thường được áp dụng cho các cấp độ kiểm tra tích hợp, hệ thống và chấp nhận. Nó cũng có thể được áp dụng để kiểm tra thành phần khi một thành phần chịu trách nhiệm về một tập hợp logic quyết định. Kỹ thuật này đặc biệt hữu ích khi đối tượng thử nghiệm được chỉ định dưới dạng sơ đồ hoặc bảng quy tắc nghiệp vụ. Bảng quyết định cũng là một kỹ thuật định nghĩa yêu cầu và đôi khi các đặc tả yêu cầu có thể đã được xác định theo định dạng này. Nhà phân tích kiểm thử vẫn nên tham gia xem xét các bảng quyết định và phân tích chúng trước khi bắt đầu thiết kế kiểm thử.

Hạn Chế/ Khó Khăn

Khi xem xét sự kết hợp của các điều kiện, việc tìm ra tất cả các điều kiện tương tác có thể gặp khó khăn, đặc biệt khi các yêu cầu không được xác định rõ ràng hoặc không được ghi chép lại. Phải cẩn thận khi lựa chọn các điều kiện được xem xét trong bảng quyết định sao cho số lượng kết hợp của các điều kiện đó vẫn có thể quản lý được. Trong trường hợp xấu nhất, số lượng quy tắc sẽ tăng theo cấp số nhân.

Mức Độ Bao Phủ

Tiêu chuẩn bao phủ chung cho kỹ thuật này là bao phủ từng quy tắc của bảng quyết định bằng một trường hợp kiểm thử. Phạm vi bao phủ được đo bằng số lượng quy tắc được bao phủ bởi bộ thử nghiệm chia cho tổng số quy tắc khả thi, được biểu thị bằng phần trăm. Phân tích giá trị biên và phân vùng tương đương có thể được kết hợp với kỹ thuật bảng quyết định, đặc biệt trong trường hợp bảng quyết định mục nhập mở rộng. Nếu các điều kiện chứa các phân vùng tương đương được sắp xếp theo thứ tự thì các giá trị biên có thể được sử dụng làm mục nhập bổ sung dẫn đến các quy tắc và trường hợp kiểm thử bổ sung.

Loại Lỗi Phát Hiện

Các lỗi điển hình bao gồm việc xử lý liên quan đến logic không chính xác dựa trên sự kết hợp các điều kiện cụ thể dẫn đến kết quả không mong muốn. Trong quá trình tạo bảng quyết định, các lỗi có thể được tìm thấy trong tài liệu đặc tả. Không có gì lạ khi chuẩn bị một tập hợp các điều kiện và xác định rằng kết quả mong đợi là không được chỉ định cho một hoặc nhiều quy tắc. Các loại khiếm khuyết phổ biến nhất là bỏ sót hành động (tức là không có thông tin về điều gì sẽ thực sự xảy ra trong một tình huống nhất định) và hành động mâu thuẫn.

Related

Category: Basic KnowledgeManual Testing

Archives

  • June 2025
  • May 2025
  • April 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023

Categories

  • Basic Knowledge
  • Manual Testing
  • Test Automation

About Me

Xin chào các bạn. Mình là một kỹ sư kiểm thử phần mềm. Ngành công nghệ thông tin nói chung và công việc kiểm thử phần mềm nói riêng luôn luôn đổi mới đòi hỏi phải học hỏi mỗi ngày. Với mình chia sẻ những gì học được là cách tốt nhất để mình học những điều mới. Hãy cùng mình tìm hiểu thông qua blog này nhé!

Newsletter

Nhận thông báo về bài viết mới nhất qua email

Popular Posts

About Me

Xin chào các bạn. Mình là một kỹ sư kiểm thử phần mềm. Ngành công nghệ thông tin nói chung và công việc kiểm thử phần mềm nói riêng luôn luôn đổi mới đòi hỏi phải học hỏi mỗi ngày. Với mình chia sẻ những gì học được là cách tốt nhất để mình học những điều mới. Hãy cùng mình tìm hiểu thông qua blog này nhé!

  • Facebook
  • Instagram
  • YouTube

Recent Posts

Newsletter

Nhận thông báo về bài viết mới nhất qua email

©2025 Test Viewpoint