12/08/2018, 15:17

Pairwise testing và cách sinh test case tự động sử dụng tool

Pairwise testing thường được sử dụng trong chức năng dự án mà cần phải combine test, là kết hợp các trường, các điều kiện với nhau để kiểm thử. Pairwise testing được diễn tả như sau: "Generate less number of combination with more test coverage" (tạm dịch: tạo ít số lượng kết hợp với phạm vi kiểm ...

Pairwise testing thường được sử dụng trong chức năng dự án mà cần phải combine test, là kết hợp các trường, các điều kiện với nhau để kiểm thử. Pairwise testing được diễn tả như sau: "Generate less number of combination with more test coverage" (tạm dịch: tạo ít số lượng kết hợp với phạm vi kiểm thử nhiều hơn)

Pairwise testing hay còn gọi là All pair testing (Kiểm thử tất cả các cặp) là một phương pháp test kiểm thử hộp đen được thực hiện để kiểm thử các phần mềm sử dụng phương pháp tổ hợp. Đó là một phương pháp để kiểm tra tất cả các kết hợp rời rạc có thể có của các thông số liên quan, phương pháp test ít nhất sao cho chất lượng tốt nhất.

Ví dụ ta có bài toán chức năng search có các đối tượng cần kiểm tra như sau:

  • User name: 100 users - 100 giá trị
  • Email: 100 emails - 100 giá trị
  • Role: Admin, user, guest - 3 giá trị

Nếu thực hiện đầy đủ thì số test case cần phải viết và thực hiện là 3x100x100 = 30000 test cases. Sẽ mất thời gian rất lớn để ta có thể viết và thực hiện 30000 test cases kết hợp trường hợp kiểm thử, khoảng 30000x3 = 90000 phút = 62.5 ngày (trung bình 3 phút cho mỗi test case), chưa kể có nhầm lẫn. Vậy lưạ chọn pairwise testing là lựa chọn sáng giá để thực hiện đối với các bài toàn combine test như vây.

Các bước thực hiện pairwise testing như sau: B1: Xác định số lượng đầu vào, các vùng test sử dụng các kĩ thuật kiểm thử

  • User name: correct hoặc incorrect - 2 giá trị
  • Email: correct hoặc incorrect - 2 giá trị
  • Role: Admin, user, guest - 3 giá trị

B2: Xác định số lượng test case thủ công Sau khi hoàn thành bước 1 số lượng test case nếu kiểm tra đầy đủ là 2x2x3 = 12 test cases, cũng giảm đi khá nhiều. Tuy nhiên khi áp dụng pairwise testing thì số lượng test case là 2x3 =6 test cases. B3: Thực hiện kết hợp 2 giá trị đầu vào lớn nhất Ở đây Role có 3 giá trị đầu vào và ta chọn user name có 2 giá trị (cả 2 đầu vào user name và email đều có 2 giá trị nên ta chọn ngẫu nhiên). B4: Thực hiện mapping các giá trị cho đến khi bảng được điền hết Điền các giá trị của tham số check box tương ứng với các tổ hợp.

Như vậy bằng các bước thủ công áp dụng kĩ thuật pairwise testing ta đã giảm thiểu được số lượng test case phải viết và thực hiện. Tuy nhiên khi làm thủ công ta gặp phải khó khăn khi số lượng item lớn. Khi liệt kê cũng có thể có nhầm lẫn Hiện nay đang có sẵn rất nhiều Tools hỗ trợ Pairwise Testing tại http://www.pairwise.org/tools.asp . Và trong bài viết này, xin giới thiệu tool PICT và tool pairwiser, công cụ sinh test case theo cặp một cách tự động một cách tự động hiệu quả.

PICT tool

Các bước sử dụng như sau: B1: Xác định số lượng đầu vào, các vùng test sử dụng các kĩ thuật kiểm thử Thực hiện bước 1 như thực hiện bước 1 trong cách làm thủ công B2: Tao file txt có nội dung như sau: B3: Truy cập vào http://www.amibugshare.com/pict/Default.aspx Truy cập vào link tên và submit file text trong bước 1. B4: Download kết quả Ở bước 2 ta đã có thể nhìn thấy kết quả nhưng giao diện khá xấu. Download về kết quả sẽ hiển thị ở dạng excel sẽ dễ nhìn hơn thuận lợi hơn cho việc viết test case. Kết quả download về đối với file trên như sau:

Pairwiser tool

Các bước sử dụng như sau: B1: Xác định số lượng đầu vào, các vùng test sử dụng các kĩ thuật kiểm thử Thực hiện bước 1 như thực hiện bước 1 trong cách làm thủ công B2: Truy cập vào link https://inductive.no/pairwiser-tool/ Tạo một test plan mới B3: Thêm các biến và ràng buộc (nếu có) và nhấn save B4: Generate ra test case Với tool pairwiser ta có thể export ra file excel hoặc JIRA trực tiếp

Với pairwiser tool ta có thể generate test script dựa vào testscript template ta định nghĩa như sau

ta được test script để tạo các steps test case như sau:

Phương pháp này có ưu nhược điểm như sau:

  • Ưu điểm:
    • Giảm được số lượng test case cần viết và thực hiện.
    • Có thể xét được hết các trường hợp đầu vào, kể cả trường hợp kết hợp ngẫu nhiên các cặp giá trị của người dùng.
  • Nhược điểm:
    • Số lượng giá trị của mỗi tham số đầu vào tăng hoặc số item tăng sẽ kéo theo tăng số lượng các trường hợp cần kiểm thử.
    • Không phải là kiểm tra tất cả các trường hợp nên vẫn có khả năng xảy ra lỗi.
    • Một số bài toán điều kiện không rõ ràng sẽ khó áp dụng được.

Link tham khảo: http://www.tutorialspoint.com/software_testing_dictionary/pairwise_testing.htm https://viblo.asia/duong.thi.van/posts/YmjeoLzgkqa Một số tool hỗ trợ pairwise testing có thể xem tại: http://www.pairwise.org/tools.asp

0