Tôi không chắc chắn 100% nếu lời giải thích dưới đây là chính xác về mặt lịch sử. Nếu không, xin vui lòng chỉnh sửa hoặc xóa.
Thử nghiệm đột biến được phát minh bởi Lipton. Thử nghiệm đột biến có thể được coi là một cách để đo lường chất lượng hoặc hiệu quả của bộ thử nghiệm. Ý tưởng chính là đưa các lỗi vào chương trình được kiểm tra (nghĩa là làm thay đổi chương trình), tốt nhất là các loại lỗi mà một lập trình viên con người có thể mắc phải, và xem liệu bộ kiểm tra có tìm thấy các lỗi được giới thiệu hay không. Một ví dụ điển hình về loại thử nghiệm đột biến lỗi sẽ giới thiệu có thể là thay thế x> 0 bằng x <0 hoặc thay thế x bằng x + 1 hoặc x-1. Một phần lỗi được bộ kiểm tra bắt gặp là "điểm tương xứng đột biến" của bộ kiểm tra. Nói rất lỏng lẻo, người ta có thể nghĩ về điều này như một phương pháp Monte-Carlo để tính toán điểm số đầy đủ đột biến.
Một cách trừu tượng hơn người ta có thể nói rằng kiểm tra đột biến mang đến sự đối xứng hoặc đối ngẫu giữa một chương trình và các bộ kiểm thử của nó: không chỉ bộ kiểm thử có thể được sử dụng để tự tin hơn về tính chính xác của chương trình, mà ngược lại, một chương trình có thể được sử dụng để có được sự tự tin về chất lượng của một bộ thử nghiệm.
Trong ánh sáng của tính hai mặt này, thử nghiệm đột biến cũng về mặt khái niệm gần với tiêm lỗi . Cả hai đều giống nhau về mặt kỹ thuật nhưng có mục đích khác nhau. Kiểm tra đột biến tìm cách đo lường chất lượng của bộ kiểm thử, trong khi kiểm tra lỗi tìm cách thiết lập chất lượng của chương trình, thường là chất lượng xử lý lỗi của nó.
Gần đây, các ý tưởng từ kiểm tra đột biến đã được sử dụng để kiểm tra (chính thức hóa) các lý thuyết logic. Để diễn giải sự trừu tượng của (4): Khi phát triển các chính thức hóa không tầm thường trong một người ủng hộ định lý, một lượng thời gian đáng kể được dành cho việc gỡ lỗi của các định nghĩa và định lý của J. Thông thường, các thông số hoặc định lý không chính xác được phát hiện trong các lần thử chứng minh không thành công. Đây là một hình thức sửa lỗi đắt tiền. Do đó, thường rất hữu ích để kiểm tra phỏng đoán trước khi bắt tay vào chứng minh. Một cách có thể để làm điều này là gán các giá trị ngẫu nhiên cho các biến miễn phí của phỏng đoán và sau đó đánh giá nó. (4) sử dụng các đột biến để kiểm tra chất lượng của các bộ tạo trường hợp thử nghiệm đã sử dụng.
Lịch sử . Từ (1): Lịch sử thử nghiệm đột biến có thể được bắt nguồn từ năm 1971 trong một bài báo của sinh viên bởi Richard Lipton [...] Sự ra đời của lĩnh vực này cũng có thể được xác định trong các bài báo khác được xuất bản vào cuối những năm 1970 bởi Lipton et al. (2) cũng như Ấp (3).
Kho lưu trữ kiểm tra đột biến: Lý thuyết kiểm tra đột biến .
RA DeMillo, RJ Lipton, FG Sayward, Gợi ý về lựa chọn dữ liệu thử nghiệm: Trợ giúp cho lập trình viên thực hành .
RG Hamlet, Các chương trình thử nghiệm với sự trợ giúp của Trình biên dịch .
S. Berghofer, T. Nipkow, Thử nghiệm ngẫu nhiên trong Isabelle / HOL. .