Sử dụng Cause Effect Graph - Đồ thị nguyên nhân kết quả trong thiết kế Testcase
1. Giới thiệu Cause Effect Graph là một kỹ thuật kiểm tra hộp đen minh hoạ mối quan hệ giữa một kết quả và tất cả các yếu tố ảnh hưởng đến kết quả đó. Nó còn được gọi là sơ đồ Ishikawa vì nó đã được Kaoru Ishikawa phát minh hoặc sơ đồ xương cá vì nó trông giống như vậy. Cause Effect Graph ...
1. Giới thiệu
Cause Effect Graph là một kỹ thuật kiểm tra hộp đen minh hoạ mối quan hệ giữa một kết quả và tất cả các yếu tố ảnh hưởng đến kết quả đó. Nó còn được gọi là sơ đồ Ishikawa vì nó đã được Kaoru Ishikawa phát minh hoặc sơ đồ xương cá vì nó trông giống như vậy.
Cause Effect Graph thường kiểm tra hành vi bên ngoài của một hệ thống. Đó là một kỹ thuật kiểm tra giúp lựa chọn các trường hợp thử nghiệm có liên quan logic giữa Causes - Nguyên nhân (đầu vào) với Effects - Hiệu ứng (đầu ra) để tạo ra các trường hợp thử nghiệm. Mục đích là để giảm số lượng các trường hợp thử nghiệm mà vẫn đạt được chất lượng ứng dụng mong muốn bằng cách bao phủ các trường hợp thử nghiệm cần thiết cho độ bao phủ tối đa.
"Cause" là viết tắt của một điều kiện đầu vào về một cái thay đổi nội bộ trong hệ thống. "Effect" đại diện cho một điều kiện đầu ra, một sự chuyển đổi hệ thống hoặc một trạng thái kết quả từ sự kết hợp của các nguyên nhân.
Sơ đồ Cause Effect có thể được sử dụng trong các trường hợp dưới đây:
- Xác định vấn đề hiện tại để có thể đưa ra quyết định đúng đắn.
- Thuật lại các kết nối của hệ thống với các yếu tố ảnh hưởng đến một quy trình hoặc kết quả cụ thể.
- Nhìn nhận các nguyên nhân có thể xảy ra, nguyên nhân cho một kết quả, vấn đề, hoặc kết quả chính xác.
2. Lợi ích của việc xây dựng sơ đồ nguyên nhân - kết quả
-
Giúp chúng ta xác định nguyên nhân gốc rễ của vấn đề hoặc chất lượng sử dụng cách tiếp cận có cấu trúc.
-
Sử dụng một định dạng có trật trật tự, dễ đọc để mô hình hoá mối quan hệ nguyên nhân và hiệu quả.
-
Chỉ ra các nguyên nhân có thể xảy ra của sự thay đổi trong một quy trình.
-
Xác định các khu vực, nơi cần thu thập dữ liệu để nghiên cứu thêm.
-
Khuyến khích sự tham gia của nhóm và sử dụng kiến thức nhóm về quy trình.
-
Nâng cao kiến thức về quy trình bằng cách giúp mọi người tìm hiểu thêm về các yếu tố và mối liên quan của chúng.
3. Các bước thực hiện sơ đồ Nguyên nhân - Kết quả
-
- Xác định và mô tả các điều kiện đầu vào (causes) và hành động (effect)
-
- Xây dựng sơ đồ nguyên nhân - kết quả
-
- Chuyển đổi sơ đồ nguyên nhân - kết quả sang bảng quyết định
-
- Chuyển đổi bảng quyết định thành testcase. Mỗi cột của bảng quyết định thể hiện một trường hợp thử nghiệm.
4. Các ký hiệu được sử dụng trong sơ đồ Nguyên nhân - kết quả
-
Identity: khi c1 = true, e1 = true hoặc c0 = false, e0 = false.
-
NOT: Nếu C1 = true, e1 = false và ngược lại.
-
OR: Nếu C1 hoặc C2 hoặc C3 = true, e1 = true.
-
AND: Nếu cả C1= C2 = true, e1 = true.
5. Ví dụ
5.1. Bài toán "Print message"
Tình huống: "Print message" là một phần mềm đọc 2 ký tự và dựa vào giá trị của nó in ra tin nhắn thông báo tương ứng.
- Ký tự đầu tiên phải là "A" hoặc "B".
- Ký tự thứ hai phải là một chữ số.
- Nếu ký tự đầu tiên là "A" hoặc "B" và ký tự thứ hai là một chữ số, tập tin sẽ phải được cập nhật.
- Nếu ký tự đầu tiên không hợp lệ ( không phải A hoặc B), thì in ra tin nhắn X.
- Nếu ký tự thứ hai không hợp lệ (không phải là một chữ số), thì in ra tin nhắn Y.
- Nhận biết và mô tả các điều kiện đầu vào (causes) và hành động (effect).
- Các nguyên nhân được viết tắt bằng chữ "C" như sau:
- C1: Ký tự đầu tiên là "A"
- C2: Ký tự đầu tiên là "B"
- C3: Ký tự thứ hai là một chữ số
- Các kết quả được ký hiệu bằng chữ "E" như sau:
- E1: Cập nhật tập tin
- E2: In ra tin nhắn X
- E3: In ra tin nhắn Y
- Các nguyên nhân được viết tắt bằng chữ "C" như sau:
- Xây dựng sơ đồ Nguyên nhân - kết quả 2.1. Đầu tiên vẽ các nguyên nhân và kết quả như hình dưới đây:
Tip: Luôn luôn đi từ kết quả đến nguyên nhân (trái sang phải). Điều đó có nghĩa là, để có kết quả "E", nguyên nhân nào là đúng.
Trong ví dụ này, hãy bắt đầu với kết quả E1.
- E1 là cập nhật tập tin. Tập tin được cập nhật khi:
- Ký tự đầu tiên là "A" và ký tự thứ hai là một chữ số
- Ký tự đầu tiên là "B" và ký tự thứ hai là một chữ số
- Ký tự đầu tiên là "A" hoặc "B" và không thể là cả hai.
Bây giờ hãy đặt 3 điểm dưới đây theo một hình tượng trưng như sau:
- E1 đúng thì có những nguyên nhân sau:
- C1 và C3 đúng
- C2 và C3 đúng
- C1 vàC2 không xảy ra đồng thời. Nghĩa là C1 và C2 loại trừ lẫn nhau.
Như trên sơ đồ thì E1 đúng với điều kiện là (C1 V C2) / C3
Vòng tròn ở giữa được đặt tạm để làm cho sơ đồ dễ nhìn hơn. Điều kiện thứ ba khi C1 và C2 loại trừ lẫn nhau. Vì vậy, sơ đồ cuối cùng cho kết quả E1 như hình dưới đây:
Tiếp theo đến kết quả E2.
E2 in ra tin nhắn "X" khi mà ký tự thứ nhất hoặc ký tự thứ hai không phải là "A" hoặc "B". Có nghĩa là E2 sẽ đúng khi C1 hoặc C2 không hợp lệ. Vì vậy, sơ đồ cho Effect E2 được hiển thị như bên dưới (đường màu xanh biển):
Cuối cùng là kết quả E3.
E3 in ra tin nhắn "Y" khi ký tự thứ 2 không phải là một chữ số. Nghĩa là E3 sẽ đúng khi C3 không hợp lệ. Vì vậy, sơ đồ cho Effect E2 được hiển thị như bên dưới (đường màu xanh lá):
Vậy là sơ đồ Nguyên nhân - kết quả cho bài toán đã hoàn thành.
- Chuyển đổi sơ đồ Nguyên nhân - kết quả thành bảng quyết định
Đầu tiên ghi lại Nguyên nhân và kết quả trong một cột được hiển thị bên dưới:
Key là như nhau. Đi từ dưới lên trên cùng có nghĩa là đi từ kết quả đến nguyên nhân.
Bắt đầu với kết quả E1. E1 là đúng với điều kiện là: (C1 V C2) / C3. Ở đây chúng ta ký hiệu cho True là 1 và False là 0
Đầu tiên đặt kết quả E1 là True trong cột tiếp theo:
Bây giờ để E1 là "1" (True), sẽ có hai điều kiện dưới đây:
- C1 và C3 đúng
- C2 và C3 đúng
Để E2 là "1" (True) thì C1 hoặc C2 phải sai:
Để C3 là "1" (True) thì C3 phải sai:
Cuối cùng hãy hoàn thành sơ đồ bằng cách thêm 0 vào cột trống.
- Chuyển đổi bảng quyết định thành testcase Một ví dụ cho testcase 1 (TC1) và testcase 2 (TC2) như sau:
Tương tự, bạn có thể tạo các testcase khác.
5.2. Bài toán tam giác
- Nhận biết và mô tả các điều kiện đầu vào (causes) và hành động (effect).
- Các nguyên nhân được ký hiệu bằng chữ "C" như sau:
- C1: X < Y + Z
- C2: Y < X + Z
- C3: Z < X + Y
- C4: X = Y
- C5: X = Z
- C6: Y = Z
- Các nguyên nhân được ký hiệu bằng chữ "C" như sau:
- Các kết quả được ký hiệu bằng chữ "E" như sau:
- E1: Not a triangle - Không phải hình tam giác
- E2: Scalene - Hình tam giác lệch
- E3: Isosceles - Tam giác cân.
- E4: Equilateral - Tam giác đều
- E5: Impossible - Không thể
-
Xây dựng sơ đồ Nguyên nhân - kết quả
-
Chuyển đổi sơ đồ Nguyên nhân - kết quả thành bảng quyết định
- Chuyển bảng quyết định thành testcase 11 test data cho 11 testcase tương ứng với 11 rule như sau:
6. Kết luận
Trên đây chúng ta đã tìm hiểu về Kỹ thuật kiểm thử sử dụng sơ đồ nguyên nhân - kết quả là gì, các bước tiến hành, các ký hiệu và quan trọng nhất là làm thế nào để thiết kế trường hợp kiểm thử sử dụng sơ đồ nguyên nhân - kết quả.
Bài viết tham khảo từ các nguồn: http://www.softwaretestinghelp.com/cause-and-effect-graph-test-case-writing-technique/ http://www.softwaretestingclass.com/what-is-cause-and-effect-graph-testing-technique/