Một số vấn đề của kiểm thử đột biến

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Kỹ thuật kiểm thử đột biến và ứng dụng để kiểm thử các chương trình Java (Trang 32 - 34)

Mặc dù được xem là một kỹ thuật kiểm thử đơn vị mạnh [11, 26, 29], kiểm thử đột biến gặp phải một số vấn đề khó khăn trong ngành công nghiệp phần mềm. Các vần đề này có thể được phân loại thành hai nhóm: chi phí tính tốn –

tốn rất nhiều thời gian và công sức để thực hiện kiểm thử đột biến, và tự động hóa – tốn bao nhiêu công sức của kiểm thử viên.

Kiểm thử đột biến thì tốn kém vì số lượng lớn các chương trình đột biến cần được tạo ra và thực hiện. Do đó, các nhà nghiên cứu tiến hành nghiên cứu bằng thực nghiệm với kiểm thử đột biến thường chỉ sử dụng chương trình nhỏ để hạn chế số lượng đột biến được tạo ra. Trong khi đó, hạn chế này là chấp nhận được ở các trường (đại học, học viện, …), nó khơng dành cho công nghiệp thường mong muốn được kiểm thử các chương trình lớn hơn, phức tạp hơn. Vì tính phức tạp gia tăng, do thời gian thực hiện cho một chương trình và các phiên bản đột biến của nó, do đó làm tăng tồn bộ thời gian chạy cho kiểm thử đột biến.

Các vấn đề trầm trọng hơn nữa là rất khó khăn trong việc tự động hố tồn bộ q trình kiểm thử đột biến. Mặc dù, một phần lớn q trình có khả năng tự động được dễ dàng, các công việc như xác định các đột biến tương đương và kiểm tra tính đúng đắn của kết quả đầu ra thường được thực hiện một cách thử công. Mặc dù, việc thực hiện những công việc này bằng thủ cơng cho phép chương trình được xem xét kỹ lưỡng hơn, nhưng nó rất là tẻ nhạt và dễ bị lỗi. Vì vậy, làm tăng thời gian kiểm thử ở một giai đoạn trong vòng đời phát triển phần mềm, khi thời gian kiểm thử thường là rất quan trọng.

2.7. Kết luận

Kiểm thử đột biến được giới thiệu để cung cấp một phương tiện để đánh giá và cải tiến chất lượng các bộ dữ liệu thử. Nó được xây dựng dựa trên ba giả thuyết cơ bản: giả thuyết lập trình viên giỏi, hiệu ứng liên kết, và dựa vào dự đốn. Do đó, kiểm thử đột biến chỉ tập trung vào các lỗi đơn giản của chương trình (ví dụ: sự khác biệt một từ đơn hoặc thay thế tên biến sai). Nếu một lỗi làm

cơng, thì chính PUT khơng thể chứa lỗi đó (tức là PUT là phiên bản đúng của chương trình đối với lỗi đó). Kiểm thử mọi đột biến có thể có giúp kiểm thử biết rằng khơng có các lỗi đó xuất hiện trong PUT. Phát triển dữ liệu thử theo cách này cho phép kiểm thử viên tăng sự tin tưởng của họ vào tính đúng đắn của PUT.

Tuy nhiên, kiểm thử đột biến không được sử dụng rộng rãi trong thực tế do chi phí tính tốn q cao vì một số lượng lớn các chương trình đột biến cần phải được thực hiện bởi ít nhất một dữ liệu thử và khó khăn để tự động hóa vì các dữ liệu thử mạnh cần phải được tạo ra, đột biến tương đương cần được loại bỏ, và kết quả đầu ra của PUT cần được kiểm thử tính đúng đắn. Vì vậy, chương 3 sẽ đề cập đến các phương pháp cải tiến kỹ thuật kiểm thử đột biến để khắc phục các vần đề trên.

CHƢƠNG 3 - CÁC CẢI TIẾN KỸ THUẬT KIỂM THỬ ĐỘT BIẾN

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Kỹ thuật kiểm thử đột biến và ứng dụng để kiểm thử các chương trình Java (Trang 32 - 34)

Tải bản đầy đủ (PDF)

(76 trang)