CHƢƠNG 2 TÌM BIÊN PHÂN HOẠCH DỮ LIỆU KIỂM THỬ
2.4. Phƣơng pháp tìm biên phân hoạch
Phƣơng pháp bao gồm hai bƣớc. Bƣớc đầu tiên là sử dụng tính năng tạo dữ liệu tự động để xác định vùng hợp lệ của không gian dữ liệu kiểm thử và đặc biệt để tìm các trƣờng hợp thử nghiệm càng xa nhau càng tốt. Điều này sẽ tạo ra một tập hợp các trƣờng hợp thử nghiệm hợp lệ có khả năng gần với biên phân hoạch dữ liệu kiểm thử đầu vào có tính hợp lệ.
Bƣớc thứ hai là thay đổi các trƣờng hợp thử nghiệm hợp lệ bằng cách đột biến dữ liệu để vƣợt qua biên phân hoạch dữ liệu kiểm thử đầu vào có tính hợp lệ. Các đột biến nhỏ sẽ cho phép các trƣờng hợp thử nghiệm kết quả vƣợt qua biên phân hoạch dữ liệu kiểm thử đầu vào có tính hợp lệ, điều này sẽ dẫn đến các tập hợp thử nghiệm hợp lệ và không hợp lệ đƣợc ghép nối sẽ gần nhau.
2.4.1 Xác định tập dữ liệu hợp lệ gần biên phân hoạch
Đầu tiên là bƣớc tạo dữ liệu thử nghiệm tự động dựa trên cơ sở những mô tả dữ liệu thử nghiệm. Quá trình này đƣợc giả định là sẽ khơng có lỗi và chỉ tạo dữ liệu hợp lệ cho hệ thống hiện tại đang đƣợc thử nghiệm và có khả năng tạo tất cả dữ liệu hợp lệ có thể có nếu nhƣ có đủ thời gian và tài nguyên.
Trong thực tế sử dụng, bộ tạo sẽ dựa trên không gian đầu vào đƣợc xác định bởi nhiều tiêu chí nhƣ đặc điểm kỹ thuật yêu cầu phần mềm, dữ liệu đầu vào của khách hàng, kiến thức chuyên ngành về các miền dữ liệu, v.v. Các đầu vào do bộ tạo phát triển đƣợc xác nhận bằng cách thực thi những nội dung đƣợc triển khai trong bƣớc 2. Cụ thể hơn, bƣớc đầu tiên là tạo tự động dữ liệu thử nghiệm để xác định đâu là ranh giới bên trong của bộ dữ liệu thử nghiệm đầu vào hợp lệ.
Hình 2.4. Minh họa ranh giới bên trong của bộ dữ liệu thử nghiệm đầu vào hợp lệ
Để xác đinh tập dữ liệu hợp lệ gần biên phân hoạch. Ta sử dụng hàm sau:
FFi = mindist(Ci , Tset)
Hàm này cần đƣợc cực đại hóa và đƣợc xây dựng dựa trên khoảng cách giữa mẫu ứng cử Ci với tập Tset. Nói cách khác, khoảng cách giữa nó và tập ứng cử là lớn nhất. Điều này sẽ mở rộng việc tìm kiếm dữ liệu ứng cử sang những miền chƣa đƣợc khai phá trong không gian dữ liệu kiểm thử đầu vào.
Khi mẫu ứng cử Ci đƣợc lựa chọn, nó sẽ đƣợc thêm vào Tset, và quá
Là các dữ liệu kiểm thử đầu vào hợp lệ đồng thời gần biên phân hoạch dữ liệu có tính hợp lệ và không hợp lệ.
Trải rộng trên ranh giới giữa không gian dữ liệu kiểm thử đầu vào hợp lệ và không gian dữ liệu kiểm thử đầu vào không hợp lệ. Nhƣ vậy bƣớc này thực hiện chỉ phụ thuộc vào không gian của dữ liệu kiểm thử đầu vào và không yêu cầu phần mềm cần kiểm thử phải hoạt động.
Kết quả của bƣớc này là tập các dữ liệu kiểm thử đầu vào Tset. Trong
đó, Tset chứa một số dữ liệu kiểm thử đầu vào hợp lệ đƣợc sinh tự động và gần với biên phân hoạch dữ liệu kiểm thử đầu vào có tính hợp lệ với dữ liệu kiểm thử đầu vào không hợp lệ. Nhƣ vậy, Tset nằm trong miền dữ liệu kiểm thử đầu vào có tính hợp lệ của khơng gian các dữ liệu kiểm thử đầu vào. Mỗi phần tử của Tset sẽ là vị trí xuất phát cho bƣớc tiếp theo.
2.4.2 Xác định tập dữ liệu hợp lệ và không hợp lệ
Bƣớc thứ hai bắt đầu từ các trƣờng hợp dữ liệu kiểm thử đầu vào riêng lẻ trong tập hợp Tset và dựa vào đột biến để vƣợt qua biên phân hoạch dữ liệu kiểm thử đầu vào có tính hợp lệ với dữ liệu kiểm thử đầu vào không hợp lệ. Kết quả của bƣớc thứ hai bao gồm các tập hợp các trƣờng hợp dữ liệu kiểm thử đầu vào gần nhau, đƣợc ghép nối ở hai bên của biên phân hoạch dữ liệu kiểm thử đầu vào có tính hợp lệ với dữ liệu kiểm thử đầu vào không hợp lệ.
Đối với mỗi phần tử trong tập hợp Tset chấp nhận gần với biên phân
hoạch dữ liệu kiểm thử đầu vào có tính hợp lệ với dữ liệu kiểm thử đầu vào không hợp lệ, chúng ta tiến hành biến đổi tính chất hợp lệ dựa trên đột biến.
Việc biến đổi tính chất hợp lệ dựa trên đột biến bắt đầu từ một phần tử trong tập Tset các dữ liệu kiểm thử đầu vào có tính hợp lệ và một cách thức có thể tự động để kiểm tra xem dữ liệu kiểm thử đầu vào có thuộc tính hợp
lệ/khơng hợp lệ mong muốn hay không. Ứng cử viên dữ liệu kiểm thử đầu vào bị đột biến cho đến khi thuộc tính thay đổi giá trị. Ứng viên dữ liệu kiểm thử đầu vào mới trải qua q trình tƣơng tự cho đến khi thuộc tính thay đổi giá trị một lần nữa. Kết quả của việc tìm kiếm chuyển đổi thuộc tính hợp lệ/khơng hợp lệ là việc tạo ra hai tập hợp các trƣờng hợp dữ liệu kiểm thử đầu vào, một bộ có thuộc tính mong muốn và một bộ khơng có, tất cả đều là kết quả của việc thay đổi cùng một ứng viên ban đầu.
Hình 2.5. Minh họa quá trình đột biến để thay đổi thuộc tính hợp lệ/khơng hợp lệ
Trong hình minh họa trên, dao động giữa các ứng cử viên dữ liệu kiểm thử đầu vào hợp lệ và dữ liệu kiểm thử đầu vào không hợp lệ có thể nhận đƣợc thơng qua một bƣớc đột biến cơ bản. Biên phân hoạch dữ liệu kiểm thử đầu vào có tính hợp lệ với dữ liệu kiểm thử đầu vào không hợp lệ trong miền không gian của dữ liệu kiểm thử đầu vào có thể đƣợc hiểu là vùng khơng gian giữa hai nhóm ứng cử viên dữ liệu kiểm thử đầu vào có tính hợp lệ với dữ liệu kiểm thử đầu vào không hợp lệ. Nhƣ vậy ta đã xác định đƣợc kết quả cần tìm
là biên phân hoạch dữ liệu kiểm thử đầu vào có tính hợp lệ với dữ liệu kiểm thử đầu vào không hợp lệ trong miền không gian của dữ liệu kiểm thử đầu vào.