Bảng quyết định trong testing (Phần 1)
December 10, 2022
5 min read
Trong quá trình testing, một tester cũng cần phải nắm rõ các kỹ thuật để thực hiện test. Tùy thuộc vào dữ liệu đầu vào khác nhau mà chọn kỹ thuật tương ứng. Đối với dữ liệu đầu vào đơn chúng ta có thể dùng kỹ thuật phân lớp tương đương hay kỹ thuật giá trị biên. Đối với trường hợp có nhiều dữ liệu đầu vào kết hợp với nhau chúng ta dùng kỹ thuật bảng quyết định. Kỹ thuật này giúp chúng ta liệt kê các test case trở nên đơn giản và dễ dàng hơn.
Dưới đây mình sẽ giới thiệu với các bạn kỹ thuật kiểm thử Bảng quyết định (Decision table testing)
- Kỹ thuật dùng bảng quyết định là kỹ thuật kiểm thử hộp đen
- Bảng quyết định là sử dụng để kiểm tra hành vi của hệ thống với cách kết hợp input đầu vào khác nhau (Kiểm tra output khi các input đầu vào khác nhau) .
- Bảng quyết định cho phép người kiểm tra kiểm tra tất cả các tổ hợp của dữ liệu đầu vào và điều kiện đầu vào và ngay lập tức biết được các trường hợp nào bị bỏ qua.Từ đó mang lại số test case tối thiểu với độ bao phủ tối đa.
- Bảng quyết định cũng là công cụ để quản lý cả về test cũng như requirement, mô tả những quy tắc nghiệp vụ phức tạp dưới dạng dễ đọc, dễ kiểm soát.
Bảng quyết định gồm: 4 thành phần
- Các điều kiện đầu vào (input ) :C1, C2, C3,…
- Các giá trị điều kiện: T/F
- Các hành động của hệ thống : A1, A2, A3, ….
- Các giá trị của hành động : Có xảy ra hay không ? ( Được thể hiện: đánh dấu x: xảy ra/ không có dấu x: không xảy ra)
Mỗi cột trong bảng sẽ tương ứng với quy tắc logic (rules). Khi kết hợp lần lượt các điều kiện trong cột sẽ dẫn tới kết quả của hành động ( test case).
**Lưu ý**:
- Các tình huống kiểm thử sẽ tính theo công thức sau : 2^n với n là điều kiện đầu vào ( với trường hợp giá trị điều kiện đầu ở dạng T/F).
- Các giá trị điều kiện đầu vào thường chỉ ra dưới dạng Đúng (T) và Sai (F) nhưng với trường hợp mở rộng giá trị của điều kiện có thể nhiều hơn T/F .
- Khi số lượng điều kiện đầu vào (input) tăng lên và giá trị điều kiện đầu có thể nhiều hơn T/F thì bảng quyết định trở nên phức tạp hơn. Do đó chúng không dễ áp dụng với các bài lớn có điều kiện đầu vào và giá trị điều kiện đầu vào lớn.