Test  Viewpoint
Menu
  • Home
  • Basic Knowledge
  • Manual Testing
  • Test Automation
  • Blog
  • About Me
  • Contact
Menu
Pairwise Testing Phần 7

Black-Box Testing: Pairwise Testing (phần 7)

Posted on October 31, 2023November 27, 2023 by Test Viewpoint

Pairwise Testing Là Gì?

Pairwise testing là một kỹ thuật kiểm thử phần mềm được sử dụng để tạo ra một tập hợp các bộ kiểm thử tối ưu bằng cách chọn các giá trị đầu vào sao cho mọi cặp giá trị có thể xảy ra đều được kiểm tra ít nhất một lần. Mục tiêu của pairwise testing là giảm số lượng bộ kiểm thử cần thực hiện mà vẫn đảm bảo độ phủ đầy đủ cho các cặp giá trị đầu vào quan trọng.

Trong nhiều trường hợp, việc kiểm thử tất cả các cặp giá trị đầu vào có thể dẫn đến một số lượng bộ kiểm thử lớn và không hiệu quả. Pairwise testing giúp giảm số lượng này bằng cách chỉ chọn một cặp giá trị cho mỗi cặp điều kiện đầu vào. Cách này vẫn đảm bảo rằng tất cả các cặp giá trị quan trọng được kiểm tra ít nhất một lần.

Xây Dựng Các Bài Kiểm Thử Bằng Kỹ Thuật Pairwise Testing

Hãy cùng xem xét một ví dụ sau đây.

TestFactor 1Factor 2
100
201
310
411
Bảng: A simple orthogonal array

Bảng trên cho thấy mảng trực giao đơn giản nhất có thể. Có hai yếu tố, yếu tố 1 và yếu tố 2. Mỗi yếu tố có hai lựa chọn, 0 và 1. Như bạn có thể thấy, mỗi tùy chọn cho từng yếu tố được biểu diễn trong mảng trực giao. Hơn nữa, mỗi cặp tùy chọn trên hai yếu tố được trình bày trong một (và chỉ một) hàng.

Được rồi, đây không phải là một bất ngờ. Có hai tùy chọn và có bốn hàng, hai lần hai là bốn. Cho đến nay, không có gì thú vị xảy ra với các mảng trực giao.

TestFactor 1Factor 2Factor 3
1000
2011
3101
4110
Bảng: A larger orthogonal array

Bảng thứ hai là nơi những điều thú vị bắt đầu xảy ra. Chúng ta có một mảng trực giao lớn hơn một chút. Có ba yếu tố. Có hai lựa chọn cho mỗi yếu tố. Nhưng vẫn chỉ có bốn hàng. Làm thế nào điều đó xảy ra? Có phải chúng ta thiếu cặp? Không, chúng ta không. Lưu ý rằng có bốn cặp cho mỗi cặp yếu tố, như trước đây. Vì vậy, hãy liệt kê chúng:

  • Đối với cặp thừa số đầu tiên, yếu tố 1 và yếu tố 2, chúng ta có 00, 01, 10, 11, ở các hàng 1, 2, 3 và 4.
  • Đối với cặp thừa số thứ hai, yếu tố 1 và yếu tố 3, chúng ta có 00, 01, 11 và 10, ở các hàng 1, 2, 3 và 4. Cả bốn cặp, chỉ xảy ra ở một hàng khác.
  • Đối với cặp thừa số thứ ba, yếu tố 2 và yếu tố 3, chúng ta có 00, 11, 01 và 10, ở các hàng 1, 2, 3 và 4.

Tất cả bốn cặp, một lần nữa, chỉ xảy ra ở một hàng khác với hàng trước các cặp yếu tố.

Bây giờ, nếu chúng ta muốn tất cả các bộ ba, chúng ta sẽ phải có tám hàng. Tuy nhiên, trong thử nghiệm theo cặp, chúng ta đã từ bỏ rõ ràng mọi ý định đạt được mức độ phù hợp đó. Chúng ta sẽ giả định rằng thử nghiệm mọi phương án cho mọi nhân tố và mọi cặp phương án cho mọi cặp nhân tố là đủ.

Ba quy tắc để chọn một mảng trực giao:

  • Đầu tiên, số cột ít nhất phải có là số yếu tố (factors). Bây giờ, bạn thường thấy một mảng có quá nhiều cột. Không có gì. Nếu có quá nhiều cột, bạn có thể bỏ các cột phụ.
  • Thứ hai, ít nhất phải có đủ số trong các cột để chứa các tùy chọn cho mỗi yếu tố. Trong các ví dụ trước, chỉ có hai số, 0 và 1. Nếu bạn có ba tùy chọn cho một thừa số, bạn sẽ phải có ít nhất ba số 0, 1 và 2. Một lần nữa, bạn sẽ thường thấy một mảng có quá nhiều số. Không thành vấn đề. Các số dự phòng không ánh xạ tới bất kỳ tùy chọn nào có thể được thay thế bằng bất kỳ tùy chọn hợp lệ nào cho yếu tố đó, điều này được gọi là “lựa chọn của người kiểm tra – tester’s choice” và thường được hiển thị bằng dấu ngã (~).
  • Thứ ba, số hàng ít nhất phải có bằng tích của hai số tùy chọn lớn nhất. Ví dụ: nếu một yếu tố có 4 tùy chọn và yếu tố khác có 3 và yếu tố khác có 2, thì bạn cần có ít nhất 4 nhân 3 hoặc 12 hàng. Một lần nữa, bạn sẽ thường thấy một mảng có quá nhiều hàng. Ở đây chúng ta có một cái gì đó của một vấn đề. Nếu có quá nhiều hàng, bạn không thể bỏ chúng nếu tồn tại các cặp thú vị trong hàng. Vì vậy, bạn sẽ phải xem xét kỹ lưỡng các hàng, hai hàng một lúc, để xem liệu bạn có thể kết hợp chúng bằng các tùy chọn tester’s choice hay không.

Bài Tập Sử Dụng Kỹ Thuật Pairwise Testing

Giả sử rằng bạn đang lập kế hoạch thử nghiệm khả năng tương thích của hệ thống HELLOCARMS để sử dụng Internet trong tương lai. Globobank dự định hỗ trợ các PC chạy như sau: Hệ điều hành: Windows XP, Windows Vista hoặc Mac Trình duyệt: Internet Explorer (nhưng chỉ trên PC Windows), Firefox hoặc Opera Globobank dự định hỗ trợ tốc độ kết nối của cả quay số (dial-up) và băng thông rộng (broadband)

Đầu tiên, chúng ta cần chọn một mảng trực giao thích hợp. Có ba yếu tố và tối đa ba tùy chọn cho mỗi yếu tố. Vì vậy, chúng ta cần một mảng có ba cột, ba số trên mỗi cột và chín hàng; đó là mảng như hình dưới đây.

TestOSBrowserSpeed
1XPIEDialup
2XPFirefoxBroadband
3XPOpera~
4VistaIEBroadband
5VistaFirefox~
6VistaOperaDialup
7MacIE~
8MacFirefoxDialup
9MacOperaBroadband

Còn một yếu tố cần xem xét. Theo như yêu cầu đặc tả “Chỉ hỗ trợ Internet Explorer trên các hệ thống Windows”. Vì vậy, trong trường hợp này, chúng ta có thể xoá hàng 7.

Xây Dựng Bảng Pairwise Sử Dụng Tool

Việc xây dựng bảng không quá khó nếu các yêu cầu đầu vào không quá nhiều. Tuy nhiên, nếu các yếu tố này được mở rộng, có lẽ sẽ hữu hiệu hơn nếu bạn sử dụng công cụ hỗ trợ. Thật may hiện nay có rất nhiều công cụ hỗ trợ việc tạo bảng Pairwise cả có phí và miễn phí. Bạn có thể tìm kiếm trong https://www.pairwise.org/.

Với ví dụ trên, mình sẽ demo trường hợp sử dụng Pairwise Online Tool để tạo bảng kết hợp.

Bước 1: Định nghĩa các yếu tố đầu vào.

Bước 2: Thêm điều kiện ràng buộc

Trình duyệt IE chỉ hỗ trợ trên PC Windows

Click vào nút “Edit Conditions” để thêm điều kiện ràng buộc

Bước 3: Tạo Pairwise.

Click vào nút “Generate Pairwise” và công cụ sẽ tạo ra bảng pairwise dưới dạng excel.

Khả Năng Áp Dụng

Vấn đề có quá nhiều sự kết hợp của các giá trị tham số thể hiện ở ít nhất hai tình huống khác nhau liên quan đến thử nghiệm. Một số mục kiểm tra bao gồm một số tham số, mỗi mục có một số giá trị có thể có, ví dụ: một màn hình có một số trường đầu vào. Trong trường hợp này, sự kết hợp của các giá trị tham số tạo nên dữ liệu đầu vào cho các test case. Hơn nữa, một số hệ thống có thể được cấu hình theo một số kích thước, dẫn đến không gian cấu hình có thể lớn. Trong cả hai tình huống này, thử nghiệm theo cặp có thể được sử dụng để xác định một tập hợp con các kết hợp có thể quản lý được và khả thi. Đối với các tham số có nhiều giá trị, phân vùng tương đương hoặc một số cơ chế lựa chọn khác trước tiên có thể được áp dụng cho từng tham số riêng lẻ để giảm số lượng giá trị cho từng tham số, trước khi áp dụng thử nghiệm theo cặp để giảm tập hợp các kết hợp kết quả. Việc nắm bắt các tham số và giá trị của chúng trong cây phân loại (classification tree) sẽ hỗ trợ hoạt động này. Những kỹ thuật này thường được áp dụng cho các cấp độ tích hợp thành phần, hệ thống và tích hợp hệ thống.

Hạn Chế/ Khó Khăn

Hạn chế chính của các kỹ thuật này là giả định rằng kết quả của một vài thử nghiệm là đại diện cho tất cả các thử nghiệm và số ít thử nghiệm đó thể hiện mức sử dụng dự kiến. Nếu có sự tương tác không mong muốn giữa các biến nhất định, kỹ thuật kiểm tra này có thể không phát hiện được nếu sự kết hợp cụ thể đó không được kiểm tra. Những kỹ thuật này có thể khó giải thích cho những người đọc không rành về kỹ thuật vì họ có thể không hiểu được cách giảm thiểu các bài kiểm tra một cách hợp lý. Bất kỳ lời giải thích nào như vậy cần được cân bằng bằng cách đề cập đến kết quả từ các nghiên cứu thực nghiệm, cho thấy rằng trong lĩnh vực thiết bị y tế đang được nghiên cứu, 66% lỗi xảy ra do một biến duy nhất và 97% do một hoặc hai biến tương tác với nhau. Có một rủi ro còn tồn tại là việc kiểm tra theo cặp có thể không phát hiện được lỗi hệ thống khi ba hoặc nhiều biến số tương tác với nhau.

Việc xác định các tham số và giá trị tương ứng của chúng đôi khi khó đạt được. Vì vậy, nhiệm vụ này cần được thực hiện với sự hỗ trợ của cây phân loại (tree classification) nếu có thể. Việc tìm kiếm một tập hợp kết hợp tối thiểu để đáp ứng một mức độ bao phủ nhất định rất khó thực hiện thủ công. Các công cụ có thể được sử dụng để tìm tập hợp kết hợp nhỏ nhất có thể. Một số công cụ hỗ trợ khả năng buộc một số kết hợp được đưa vào hoặc loại trừ khỏi lựa chọn kết hợp cuối cùng. Nhà phân tích kiểm thử có thể sử dụng khả năng này để nhấn mạnh hoặc không nhấn mạnh các yếu tố dựa trên kiến thức về miền hoặc thông tin sử dụng sản phẩm.

Mức Độ Bao Phủ

Phạm vi bao phủ theo cặp 100% yêu cầu mọi cặp giá trị của bất kỳ cặp tham số nào đều phải được đưa vào ít nhất một kết hợp.

Loại Lỗi Phát Hiện

Loại lỗi phổ biến nhất được tìm thấy với kỹ thuật kiểm tra này là các lỗi liên quan đến giá trị kết hợp của hai tham số.

Related

Category: Basic KnowledgeManual Testing

Archives

  • June 2025
  • May 2025
  • April 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023

Categories

  • Basic Knowledge
  • Manual Testing
  • Test Automation

About Me

Xin chào các bạn. Mình là một kỹ sư kiểm thử phần mềm. Ngành công nghệ thông tin nói chung và công việc kiểm thử phần mềm nói riêng luôn luôn đổi mới đòi hỏi phải học hỏi mỗi ngày. Với mình chia sẻ những gì học được là cách tốt nhất để mình học những điều mới. Hãy cùng mình tìm hiểu thông qua blog này nhé!

Newsletter

Nhận thông báo về bài viết mới nhất qua email

Popular Posts

About Me

Xin chào các bạn. Mình là một kỹ sư kiểm thử phần mềm. Ngành công nghệ thông tin nói chung và công việc kiểm thử phần mềm nói riêng luôn luôn đổi mới đòi hỏi phải học hỏi mỗi ngày. Với mình chia sẻ những gì học được là cách tốt nhất để mình học những điều mới. Hãy cùng mình tìm hiểu thông qua blog này nhé!

  • Facebook
  • Instagram
  • YouTube

Recent Posts

Newsletter

Nhận thông báo về bài viết mới nhất qua email

©2025 Test Viewpoint