.st0{fill:#FFFFFF;}

Bảng quyết định trong kiểm thử – Decision Table 

 June 3, 2019

By  

Decision Table bảng quyết định trong kiểm thử phần mềm là cách tốt nhất để đối ứng với sự kết hợp của các điều kiện. Kỹ thuật này đôi khi còn được gọi là bảng “Nguyên nhân – kết quả”.

Như các bạn cũng đã biết Phân vùng tương đương và Phân tích giá trị biên là 2 kỹ thuật thường được áp dụng cho một input. Trong trường hợp kết hợp nhiều input trong một chức năng, rất khó để sử dụng Phân vùng tương đương hay Phân tích giá trị biên. Vì vậy hôm nay chúng ta cùng đi tìm hiểu qua kỹ thuật bảng quyết định – decision table trong testing là như thế nào nhé.

Khái niệm Decision Table

Decision Table Testing là một kỹ thuật kiểm thử phần mềm được sử dụng để kiểm thử hoạt động của hệ thống khi kết hợp các đầu vào khác nhau. Đây là một cách tiếp cận có hệ thống trong đó các kết hợp đầu vào khác nhau và hành vi hệ thống tương ứng của chúng (Đầu ra) được ghi lại dưới dạng bảng. Đó là lý do tại sao bảng quyết định cũng được gọi là bảng Nguyên nhân – Ảnh hưởng (Cause-Effect), Nguyên nhân và Ảnh hưởng được ghi lại để bảo đảm kiểm thử tốt hơn.
Ví dụ 1: Cách tạo Decision Table Testing cho màn hình đăng nhập
Yêu cầu:

  • Nếu người dùng nhập tên người dùng và mật khẩu chính xác, người dùng sẽ được chuyển hướng đến trang chủ.
  • Nếu người dùng nhập đầu vào sai, thông báo lỗi sẽ được hiển thị.
Điều kiện Quy tắc 1 Quy tắc 2 Quy tắc 3 Quy tắc 4
Tên đăng nhập (T/F) F T F T
Mật khẩu (T/F) F F T T
Đầu ra (E/H) E E E H

Chú thích:

  • T – Tên người dùng / mật khẩu chính xác
  • F – Tên người dùng / mật khẩu sai
  • E – Thông báo lỗi được hiển thị
  • H – Màn hình trang chủ được hiển thị

Mô tả:

  • Case 1 – Tên người dùng và mật khẩu đều sai: hiển thị một thông báo lỗi.
  • Case 2 – Tên người dùng đúng, nhưng mật khẩu sai: hiển thị một thông báo lỗi.
  • Case 3 – Tên người dùng sai, nhưng mật khẩu đúng: hiển thị một thông báo lỗi.
  • Case 4 – Cả tên người dùng và mật khẩu đều chính xác: điều hướng đến trang chủ

Trong khi chuyển đổi những cases này sang test cases, chúng ta có thể tạo 2 kịch bản:

  1. Nhập tên người dùng chính xác và mật khẩu chính xác, sau đó click vào đăng nhập, kết quả mong đợi sẽ là người dùng sẽ được điều hướng đến trang chủ.
  2. Và từ kịch bản dưới đây:
  • Nhập sai tên người dùng và mật khẩu sai, sau đó click vào đăng nhập, kết quả mong đợi sẽ là người dùng sẽ nhận được thông báo lỗi.
  • Nhập tên người dùng chính xác và mật khẩu sai, sau đó click vào đăng nhập, kết quả mong đợi sẽ là người dùng sẽ nhận được thông báo lỗi.
  • Nhập sai tên người dùng và mật khẩu chính xác, sau đó click vào đăng nhập, kết quả mong đợi sẽ là người dùng sẽ nhận được thông báo lỗi.

Ví dụ 2: Decision Table – Bảng quyết định cho chức năng Login

Gồm 2 Condition là ‘Email’ & ‘Password’ Với mỗi Condition gồm 3 giá trị Blank/Invalid/Valid

Ưu điểm của Decision Table Testing

  • Dễ dàng xây dựng và chuyển đổi thành một bộ quy tắc. Có thể được sử dụng trong quá trình tạo và test các case test hoặc kiểm tra logic của hệ thống dựa trên knowledge-based của hệ thống.
  • Dựa vào bảng quyết định có thể phát hiện ra một số case test mà khi xây dựng test case theo cách thông thường tester sẽ dễ bị thiếu.
  • Được dùng làm tài liệu khi làm việc với stakeholders – các bên liên quan và các thành viên nontechnical trong team dự án vì bảng quyết định trình bày, minh họa các vấn đề dưới dạng bảng giúp cho mọi người dễ hiểu hơn.

Nhược Điểm của Decision Table Testing

  • Khi số lượng cái input đầu vào tăng thì Decision table sẽ trở nên phức tạp hơn.
  • Không có các bước chi tiết từng bước một để thực hiện test.

Decision Table

Kết Luận

Decision Table Testing – Bảng quyết định là một trong những công cụ mô tả quy trình, yêu cầu. Nó được sử dụng để mô hình hóa các logic phức tạp, kiểm tra sự tương tác giữa các điều kiện, kiểm tra sự đúng sai khi kết hợp các điều kiện này với nhau để đảm bảo rằng tất cả các yêu cầu, mối quan hệ và các ràng buộc đã được xử lý trên hệ thống, phần mềm hay chưa? và đưa ra các kết quả tương ứng với từng input đầu vào.

related posts:




Leave a Reply:

Your email address will not be published. Required fields are marked

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}