ISTQB – Chương 4 – Mục 4.3.2 – Bảng quyết định – Phần 2/2

Ví dụ về thẻ tín dụng đã hoạt động

Hãy xem xét một ví dụ khác. Nếu bạn là khách hàng mới mở tài khoản thẻ tín dụng, bạn sẽ được giảm 15% cho tất cả các giao dịch mua hàng hôm nay. Nếu bạn là khách hàng hiện tại và bạn có thẻ khách hàng thân thiết, bạn sẽ được giảm giá 10%. Nếu bạn có phiếu giảm giá, bạn có thể được giảm giá 20% ngay hôm nay (nhưng không thể sử dụng phiếu giảm giá này với chiết khấu cho “khách hàng mới”). Số tiền giảm giá được thêm vào, nếu có. Điều này được thể hiện trong Bảng 4.8.

Trong Bảng 4.8, các điều kiện và hành động được liệt kê ở cột bên trái. Tất cả các cột khác trong bảng quyết định, mỗi cột đại diện cho một quy tắc riêng, mỗi cột cho mỗi sự kết hợp của các điều kiện. Có thể chọn kiểm thử từng quy tắc/tổ hợp và nếu chỉ có một vài quy tắc thì điều này thường sẽ xảy ra. Tuy nhiên, nếu số lượng quy tắc/kết hợp lớn, chúng ta có nhiều khả năng lấy mẫu chúng bằng cách chọn một tập hợp con phong phú để kiểm thử.

Lưu ý rằng ta đã đặt X cho việc giảm giá ở cột nguyên tắc 1 và 2 – điều này có nghĩa là sự kết hợp này sẽ không xảy ra. Bạn không thể vừa là khách hàng mới vừa có thẻ khách hàng thân thiết! Sẽ có một thông báo lỗi, nhưng ngay cả khi chúng ta không biết thông báo đó là gì, thì nó vẫn sẽ là một bài kiểm thử tốt.

Một giả định trong nguyên tắc 3 được đưa ra. Vì phiếu giảm giá có chiết khấu lớn hơn chiết khấu dành cho khách hàng mới, ta giả định rằng khách hàng sẽ chọn 20% thay vì 15%. Chúng ta không thể thêm chúng, vì phiếu giảm giá không thể được sử dụng với giảm giá “khách hàng mới”. Hành động 20% là một giả định từ phía chúng ta và chúng ta nên kiểm tra xem giả định này (và bất kỳ giả định nào khác) có đúng không bằng cách hỏi người viết đặc tả kỹ thuật hoặc người dùng.

Tuy nhiên, đối với nguyên tắc 5, ta có thể thêm chiết khấu, vì cả phiếu giảm giá và chiết khấu thẻ khách hàng thân thiết đều được áp dụng (ít nhất đó là giả định của chúng ta). Nguyên tắc 4, 6 và 7 chỉ có một loại chiết khấu và nguyên tắc 8 không có chiết khấu (tức là 0%).

Nếu áp dụng kỹ thuật này một cách triệt để, chúng ta sẽ có một phép thử cho mỗi cột hoặc quy tắc trong bảng quyết định. Ưu điểm của việc này là có thể kiểm thử sự kết hợp của các yếu tố mà nếu không được kiểm thử thì có thể đã không phát hiện ra lỗi.

Tuy nhiên, nếu có nhiều kết hợp đầu vào, việc kiểm thử mọi kết hợp có thể không thực hiện được hoặc không hợp lý. Nếu bị hạn chế về thời gian, chúng ta có thể không có thời gian để kiểm thử tất cả các kết hợp đó. Đừng chỉ cho rằng tất cả các kết hợp cần phải được kiểm thử; tốt hơn là ưu tiên và kiểm tthử các kết hợp quan trọng nhất. Việc có toàn bộ bảng cho phép chúng ta biết những kết hợp nào được quyết định kiểm thử và những kết hợp nào không kiểm thử cho lần này.

Cũng có thể có nhiều hành động khác nhau do sự kết hợp của các điều kiện. Trong ví dụ trên, chúng ta chỉ có một: giảm giá được áp dụng. Bảng quyết định cho biết hành động nào áp dụng cho từng tổ hợp điều kiện.

Trong ví dụ trên, tất cả các điều kiện đều là nhị phân, tức là chúng chỉ có hai giá trị có thể có: Đúng hoặc Sai (Có hoặc Không). Thông thường, đó là trường hợp các điều kiện phức tạp hơn, có nhiều giá trị khả thi. Trong một sốtrường hợp, số lượng kết hợp có thể rất lớn, vì vậy các kết hợp chỉ có thể được lấy mẫu thay vì thực hiện tất cả chúng

Bản gốc Tiếng Anh các bạn có thể Tải về Tại đây

Ezami

Related Posts

Leave a Reply

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