1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Kỹ thuật kiểm thử đột biến và ứng dụng để kiểm thử các chương trình java

90 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐINH THỊ MỸ CẢNH KỸ THUẬT KIỂM THỬ ĐỘT BIẾN VÀ ỨNG DỤNG ĐỂ KIỂM THỬ CÁC CHƯƠNG TRÌNH JAVA Ngành : Công nghệ thông tin Chuyên ngành : Công nghệ phần mềm Mã số :604810 LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS ĐOÀN VĂN BAN Hà Nội – 2010 MỤC LỤC CÁC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT DANH SÁCH CÁC HÌNH DANH SÁCH CÁC BẢNG MỞ ĐẦU CHƢƠNG - TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1.Kiểm thử phần mềm gì? 1.2.Các mức kiểm thử phần mềm 1.2.1 Kiểm thử đơn vị 1.2.2 Kiểm thử tích hợp 1.2.3 Kiểm thử hệ thống 1.2.4 Kiểm thử chấp nhận 1.3.Thiết kế trường hợp kiểm thử 1.3.1 Kỹ thuật kiểm thử hộp trắng 1.3.1.1 Kiểm thử đường dẫn sở 1.3.1.2 Kiểm thử cấu trúc điều khiển 1.3.2 Kỹ thuật kiểm thử hộp đen 1.3.2.1 Phân hoạch tương đương 1.3.2.2 Phân tích giá trị biên 1.4.Kết luận CHƢƠNG – KỸ THUẬT KIỂM THỬ ĐỘT BIẾN 2.1.Giới thiệu 2.2.Khái niệm kiểm thử đột biến 2.3.Cơ sở kiểm thử đột biến 2.4.Toán tử đột biến 2.5.Quy trình kiểm thử đột biến 2.6.Một số vấn đề kiểm thử đột biến 2.7.Kết luận CHƢƠNG - CÁC CẢI TIẾN KỸ THUẬT KIỂM THỬ ĐỘT BIẾN 3.1.Giảm chi phí tính tốn 3.1.1 Làm 3.1.1.1 Lấy mẫu đột biến 3.1.1.2 Đột biến ràng buộc 3.1.1.3 N - đột biến lựa chọn 3.1.2 Làm nhanh 3.1.2.1 Phương pháp tạo lược đồ đột biến 3.1.3 Làm thông minh 3.1.3.1 Đột biến yếu 3.2 Tăng tự động hóa 3.2.1 Tạo liệu thử tự động 3.2.2 Xác định đột biến tương đương tự động 3.2.3 Vấn đề Oracle 3.3 Kết luận CHƢƠNG - ỨNG DỤNG KỸ THUẬT KIỂM THỬ ĐỘT BIẾN ĐỂ KIỂM THỬ CÁC CHƢƠNG TRÌNH JAVA 4.1 Công cụ MuJava 4.1.1 Mô tả công cụ MuJava 4.1.2 Các toán tử đột biến cho MuJava 4.1.2.1 Các toán tử đột biến mức phương thức 4.1.2.2 Các toán tử đột biến mức lớp 4.1.3 Phương pháp thực thi MuJava 4.2 Công cụ Junit 4.3 Quy trình ứng dụng kiểm thử đột biến để kiểm thử chương trình Java 4.4 Ứng dụng kỹ thuật kiểm thử đột biến để kiểm thử chương trình SXQSort.java 4.4.1 Đặc tả chương trình xếp dãy số tăng dần 4.2.2 Thuật tốn chương trình SXQSort.java 4.2.3 Thiết kế trường hợp kiểm thử cho chương trình SXQSort.java 4.2.3.1 Thiết kế trường hợp kiểm thử cho module FindPivot 4.2.3.2 Thiết kế trường hợp kiểm thử cho Module Partition 4.2.3.3 Thiết kế trường hợp kiểm thử cho Module QuickSort 4.4.4 Kiểm thử chương trình SXQSort.java với JUnit 4.4.5 Tạo phân tích đột biến cho chương trình SXQSort.java MuJava 4.4.5.1 Tạo đột biến 4.4.5.2 Phân tích đột biến KẾT LUẬN TÀI LIỆU THAM KHẢO CÁC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT Viết tắt ABS ACR AOR AORB AORS ASR BCEL CBT COR CSR DU JID JSI JTI LCR MSG PUT ROR SCR SRC SVR UOI DANH SÁCH CÁC HÌNH Số Hình 1.1 Bố Hình 1.2 Đ Hình 1.3 V đư Hình 1.4 Cá Hình 2.1 V Hình 2.2 Q Hình 2.3 V Hình 3.1 Ba thử Hình 3.2 Ph Hình 3.3 V Hình 3.4 Ph Hình 4.1 Cấ Hình 4.2 G Hình 4.3 G Hình 4.4 G Hình 4.5 H Hình 4.6 G Hình 4.7 Q Hình 4.8 Đ Hình 4.9 K Hình 4.10 G Hình 4.11 H Hình 4.12 H Hình 4.13 K DANH SÁCH CÁC BẢNG Số Bảng 1.1 Bảng 2.1 Bảng 4.1 Bảng 4.2 Bảng 4.3 Bảng 4.4 Bảng 4.5 Bảng 4.6 Bảng 4.7 MỞ ĐẦU Kiểm thử phần mềm hoạt động giữ vai trò quan trọng để bảo đảm chất lượng phần mềm hoạt động mang tính sống cịn dự án sản xuất gia cơng phần mềm Vì vậy, kiểm thử phần mềm trở thành qui trình bắt buộc dự án phát triển phần mềm giới Ở Việt Nam, ngành công nghiệp phần mềm phát triển khơng thể xem nhẹ việc kiểm thử phần mềm xác suất thất bại cao, nữa, hầu hết cơng ty phần mềm có uy tín đặt yêu cầu nghiêm ngặt phần mềm khơng có tài liệu kiểm thử kèm khơng chấp nhận Tuy nhiên, hoạt động kiểm thử thường gặp nhiều khó khăn Thứ nhất, kiểm thử hệ thống phức tạp đòi hỏi nhiều nguồn tài nguyên chi phí cao Thứ hai, tiến trình phát triển phần mềm ln trải qua nhiều hoạt động biến đổi thông tin, mát thông tin q trình biến đổi yếu tố làm cho hoạt động kiểm thử khó khăn Thứ ba, kiểm thử chưa trọng đào tạo người Cuối cùng, không tồn kỹ thuật kiểm thử cho phép khẳng định phần mềm hoàn toàn đắn hay khơng chứa lỗi Với mục đích phát lỗi, kiểm thử phần mềm thường phải trải qua bước: tạo liệu thử, thực thi phần mềm liệu thử quan sát kết nhận Trong bước này, bước tạo liệu thử đóng vai trị quan trọng nhất, khơng thể tạo liệu từ miền vào chương trình, mà tạo liệu thử có khả phát lỗi cao Vấn đề đặt làm để đánh giá khả phát lỗi liệu thử? Một kinh nghiệm để giúp giải vấn đề này, sử dụng khái niệm chất lượng liệu thử phương tiện để đánh giá liệu thử “tốt” kiểm thử chương trình Ở đây, “tốt” đánh giá liên quan đến tiêu chuẩn chất lượng định trước, thường số dấu hiệu bao phủ chương trình Ví dụ, tiêu chuẩn bao phủ dòng lệnh đòi hỏi liệu thử thực dịng lệnh chương trình lần Nếu liệu thử tìm thấy khơng chất lượng liên quan đến tiêu chuẩn (tức tất câu lệnh thực lần), kiểm thử bắt buộc Do đó, mục tiêu tạo tập kiểm thử thực đầy đủ tiêu chuẩn chất lượng Tiêu chuẩn chất lượng tiêu biểu bao phủ câu lệnh kiểm thử định (thực tất đường dẫn sai qua chương trình) dựa vào việc thực chương trình với số lượng kiểm thử tăng dần để nâng cao độ tin cậy chương trình Tuy nhiên, chúng khơng tập trung vào nguyên nhân thất bại chương trình - gọi lỗi Kiểm thử đột biến [7] tiêu chuẩn Tiêu chuẩn tạo phiên chương trình có chứa lỗi đơn giản sau tìm kiểm thử để dấu hiệu lỗi Nếu tìm thấy liệu thử chất lượng làm lộ dấu hiệu tất phiên bị lỗi, tin tưởng vào tính đắn chương trình tăng Kiểm thử đột biến áp dụng cho nhiều ngôn ngữ lập trình [8] kỹ thuật kiểm thử hộp trắng Chẳng hạn, chương trình Fortran, Ada, C, Java, C#, SQL, … Bên cạnh việc sử dụng kiểm thử đột biến mức thực thi phần mềm, kiểm thử đột biến sử dụng mức thiết kế để kiểm thử đặc tả mơ hình chương trình Ví dụ, mức thiết kế, kiểm thử đột biến áp dụng cho máy trạng thái xác định (FSM), biểu đồ trạng thái (State Charts), giao thức mạng (Network Protocols), sách bảo mật (Security Policies), dịch vụ web (Web Services), … Ý thức lĩnh vực nghiên cứu có nhiều triển vọng ứng dụng phát triển phần mềm, chọn hướng nghiên cứu Kỹ thuật kiểm thử đột biến cho đề tài luận văn Luận văn xây dựng dựa nghiên cứu có lĩnh vực kiểm thử phần mềm kể từ năm 1978, mà gần nghiên cứu kỹ thuật kiểm thử đột biến vào năm 2009 TS.Nguyễn Thanh Bình – Đại học Bách khoa, Đại học Đà Nẵng [2] Đồng thời, xin đề xuất “quy trình ứng dụng kỹ thuật kiểm thử đột biến để kiểm thử chương trình Java” Luận văn tổ chức thành chương sau:  Chƣơng – Trình bày tổng quan kiểm thử phần mềm khái niệm kiểm thử phần mềm, mục đích, mục tiêu mức kiểm thử phần mềm Chương đề cập đến việc sử dụng kỹ thuật kiểm thử hộp trắng hộp đen để thiết kế liệu thử  Chƣơng - Mơ tả chi tiết thành phần kỹ thuật kiểm thử đột biến, giới thiệu giả thuyết cần thiết để thực phương pháp Chương cịn cung cấp quy trình để phân tích đột biến, từ rút vấn đề hạn chế kỹ thuật kiểm thử đột biến, cải tiến chương  Chƣơng – Giới thiệu phương pháp cải tiến kỹ thuật kiểm thử đột biến nhằm giảm chi phí tính tốn tăng tự động hóa  Chƣơng – Tập trung vào ứng dụng kỹ thuật kiểm thử đột biến Phần đầu giới thiệu hai công cụ mã nguồn mở miễn phí MuJava với chức 19 Bảng 4.5 – Mô tả trường hợp kiểm thử cho module QuickSort Như vậy, có tất 28 trường kiểm thử thiết kế để kiểm thử cho chức module cho tồn hệ thống chương trình SXQSort.java 65 Trong đó, có 22 trường hợp kiểm thử mong đợi làm cho chương trình thành cơng trường hợp kiểm thử mong đợi làm cho chương trình thất bại Chúng ta chọn 22 trường hợp kiểm thử mong đợi làm cho chương trình SXQSort.java thành công để thực kiểm thử đột biến 4.4.4 Kiểm thử chƣơng trình SXQSort.java với JUnit Chương trình SXQSort.java phải hiển thị để cung cấp đầu mong muốn thực với 22 trường hợp kiểm thử (được mong đợi làm cho chương trình thành cơng) Vì q trình thực kiểm thử đột biến, bên cạnh đột biến tương đương, tất đột biến khác hiển thị để tạo đầu không so với đầu chương trình SXQSort.java Nếu có đầu khơng chứng tỏ chương trình SXQSort.java chứa lỗi Các lỗi nên sữa chữa để bắt đầu trình kiểm thử đột biến Chúng ta sử dụng kiểm thử JUnit (phiên 3.8.1) để kiểm thử chương trình SXQSort.java, với 22 trường hợp kiểm thử thiết kế sẵn QuickSortTest.java Kết kiểm thử thể hình 4.9 Hình 4.9 – Kết kiểm thử SXQSort.java JUnit Trên hình 4.9, JUnit hiển thị màu xanh Điều chứng tỏ rằng, chương trình SXQSort.java chương trình tốt (tức chương trình khơng có lỗi) “góc nhìn” JUnit với liệu thử xây dựng 22 trường hợp kiểm thử 66 4.4.5 Tạo phân tích đột biến cho chƣơng trình SXQSort.java MuJava Dùng MuJava để tạo đột biến cho chương trình SXQSort.java, thực thi đột biến với 22 trường hợp kiểm thử xây dựng SXQSortTest.Java, báo cáo tỷ lệ đột biến trường hợp kiểm thử 4.4.5.1 Tạo đột biến MuJava tạo hai loại đột biến: đột biến truyền thống đột biến lớp tương ứng với hai loại toán tử đột biến Nếu chọn tất toán tử đột biến mức phương thức mức lớp, MuJava tạo 262 đột biến cho chương trình SXQSort.Java, có 258 đột biến truyền thống đột biến lớp Nếu MuJava thực thi tất đột biến với 22 trường hợp kiểm thử xây dựng SXQSortTest.java tốn nhiều thời gian, đồng thời số lượng đột biến tương đương tăng Do đó, làm tăng chi phí kiểm thử cho chương trình SXQSort.Java Để giảm chi phí kiểm thử cho chương trình SXQSort.Java, sử dụng phương pháp đột biến ràng buộc cách chọn số toán tử đột biến mức phương thức mức lớp MuJava để tạo đột biến Trong chương trình SXQSort.Java xuất toán tử: { +, -}, {++, }, {=, , = =,! =}, {&&} Đây tốn tử bị “viết nhầm” lập trình viên, lỗi xảy tốn tử Ngoài ra, việc khai báo sử dụng biến {L, R, n, i, j, k}, {a[1], a[2], …, a[n]} khơng xác Vì vậy, số toán tử đột biến mức phương thức mức lớp MuJava chọn để tạo đột biến cho chương trình SXQSort.java sau: Tốn tử đột biến mức phƣơng thức Toán tử AORB Thay t AORS Thay t ROR Thay t COR Thay t 67 Toán tử đột biến mức lớp Toán tử JTI Thêm JSI Thêm JID Xóa kh Bảng 4.6 – Các tốn tử đột biến mức phương thức mức lớp chọn để tạo đột biến cho SXQSort.java Trong thành phần Mutants Genertor MuJava, đánh dấu chọn toán tử đột biến mức phương thức: AORB, AORS, ROR, COR, chọn toán tử đột biến mức lớp: JTI, JSI, JDI, chọn file SXQSort.java Sau đó, bấm nút “Generate” để tạo đột biến cho chương trình SXQSort.java, biểu diễn hình 4.10 Hình 4.10 – Giao diện tạo đột biến cho SXQSort.java MuJava tạo 43 đột biến truyền thống cho chương trình SXQSort.java, biểu diễn Tab Traditional Mutants Viewer thành phần Mutants Genertor MuJava 68 Hình 4.11 –Hiển thị đột biến truyền thống SXQSort.java MuJava tạo đột biến lớp cho chương trình SXQSort.java, biểu diễn Tab Class Mutants Viewer thành phần Mutants Genertor MuJava Hình 4.12 – Hiển thị đột biến lớp SXQSort.java 69 Như vậy, MuJava tạo 47 đột biến cho chương trình SXQSort.java, có 43 đột biến truyền thống đột biến lớp, áp dụng toán tử đột biến mức phương thức: AORB, AORS, ROR, COR toán tử đột biến mức lớp: JTI, JSI, JID 4.4.5.2 Phân tích đột biến Chúng ta sử dụng thành phần Mutants executor MuJava để thực thi chương trình SXQSort.java 47 đột biến nó, với 22 trường hợp kiểm thử xây dựng SXQSortTest.Java, kết trình thực thi biểu diễn hình 4.13 Hình 4.13 –Kết thực thi đột biến SXQSort.java Đối với đột biến lớp, trình MuJava thực thi với 22 trường hợp kiểm thử thiết kế sẵn SXQSortTest.Java, có đột biến bị diệt đột biến “còn sống” Tỷ lệ đột biến xấp xỉ 25% Đối với 43 đột biến truyền thống, có 38 đột biến bị diệt đột biến “còn sống” Tỷ lệ đột biến xấp xỉ 88% Cụ thể với trường hợp kiểm thử thể bảng 4.7 70 STT 10 11 12 13 14 15 16 17 18 19 20 21 22 Bảng 4.7 - Chất lượng 22 trường hợp kiểm thử cho SXQSort.java Q trình MuJava phân tích đột biến chương trình SXQSort.java cho thấy rằng: chất lượng liệu thử mà tạo 22 trường hợp kiểm thử cao (tỷ lệ đột biến 88%) Nó có khả phát 71 hầu hết lỗi có chương trình SXQSort.java Bên cạnh đó, đột biến bị diệt, lỗi (lỗi mà sửa đổi từ chương trình SXQSort.java để tạo đột biến đó) khơng xuất chương trình SXQSort.java Như vậy, MuJava góp phần làm tăng lịng tin vào tính đắn chương trình SXQSort.java liệu thử 72 KẾT LUẬN Với cách tiếp cận dựa đề xuất có lĩnh vực nghiên cứu kiểm thử phần mềm, luận văn trình bày nét kiểm thử phần mềm nói chung kiểm thử đột biến nói riêng với cải tiến Qua đó, cho thấy tác dụng kiểm thử đột biến không cung cấp phương tiện để đánh giá cải tiến chất lượng liệu thử dựa công thức tính tỷ lệ đột biến, mà cịn giúp kiểm thử biết khơng có lỗi (các lỗi sửa đổi từ PUT để tạo đột biến) xuất PUT tất đột biến PUT bị diệt Điều này, góp phần làm tăng tin tưởng kiểm thử viên vào tính đắn PUT liệu thử Luận văn giới thiệu hai công cụ mã nguồn mở miễn phí MuJava để tạo phân tích đột biến, JUnit để kiểm thử đơn vị, đồng thời đề xuất quy trình ứng dụng kiểm thử đột biến để kiểm thử chương trình Java Sử dụng kỹ thuật kiểm thử đột biến ràng buộc (chỉ lựa chọn số tốn tử đột biến) để kiểm thử chương trình xếp dãy tăng dần theo thuật toán QuickSort với 22 trường hợp kiểm thử, kết có 88% đột biến bị diệt, phải kiểm tra với 17,9% đột biến Kiểm thử đột biến kỹ thuật kiểm thử nhiều nhà nghiên cứu quan tâm khả ứng dụng Tuy nhiên, ngồi vấn đề nêu, cịn tồn nhiều vấn đề cần phải tiếp tục nghiên cứu Các vấn đề phát đột biến tương đương vấn đề Oracle Chưa có vấn đề giải nghiên cứu này, với giả định tồn phương pháp thích hợp để giải vấn đề Tuy nhiên, để tạo thuận lợi để kiểm thử đột biến chấp nhận ngành công nghiệp, giải pháp khả thi cần thiết cho vấn đề Phát đột biến tương đương đơn giản liên quan đến việc bỏ qua chúng dựa vào tỷ lệ đột biến thấp để phát triển liệu thử - cải tiến liệu thử liên tục diễn ra, thu liệu thử tốt Do đó, thời gian tới, tiếp tục nghiên cứu để loại bỏ đột biến tương đương số đột biến cịn sống chương trình, đồng thời cải tiến trường hợp kiểm thử để đạt tỷ lệ đột biến 100% 73 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Thanh Bình, Hồ Văn Phi (2010), “Giải pháp kiểm thử đột biến câu lệnh truy vấn sở liệu”, Tạp chí Khoa học Cơng nghệ, Đại học Đà Nẵng, 2(37) [2] Nguyễn Thanh Bình, Nguyễn Quang Vũ (2009), “Ứng dụng kỹ thuật kiểm thử đột biến để kiểm thử chương trình C-Sharp”, Tạp chí Khoa học Công nghệ, Đại học Đà Nẵng, 5(34) [3] Nguyễn Văn Vỵ, Nguyễn Việt Hà (2006), Giáo trình kỹ nghệ phần mềm, Khoa CNTT, Đại học Công nghệ, ĐHQGHN Tiếng Anh [4] T A Budd and D Angluin (1982), “Two notions of correctness and their relation to testing”, Acta Informatica [5] Mattias Bybro (2003), A Mutation Testing Tool for Java Programs, Thesis, Department of Numerical Analysis and Computer Science, Nada at the Royal Institute of Technology [6] M E Delamaro and J C Maldonado (1996), “Proteum - a tool for the assessment of test adequacy for C programs: User's guide”, Technical report [7] R DeMillo, R Lipton, and F Sayward (1978), “Hints on test data selection: Help for the practicing programmer”, IEEE Computer [8] Yue Jia and Mark Harman (2009), “An Analysis and Survey of the Development of Mutation Testing”, Technical Report, Crest Centre, King’s College London [9] R M Hierons, M Harman, and S Danicic (1999), “Using Program Slicing to Assist in the Detection of Equivalent Mutants,” Software Testing, Verification and Reliability [10] W.E Howden (1982), “Weak mutation testing and completeness of test sets”, IEEE Transactions on Software Engineering, 8(4) [11]K N King and A Jefferson Offutt (1991), “A Fortran language system for mutation-based software testing”, Software - Practice and Experience, 21(7) 74 [12] Edward William Krauser (1991), Compiler-Integrated Software Testing, PhD thesis, Purdue University [13] Y S Ma, A J Offutt, and Y R Kwon (2002), “Inter-class Mutation Operators for Java”, in Proceedings of the 13th International Symposium on Software Reliability Engineering (ISSRE’02), Annapolis, Maryland: IEEE Computer Society [14] Y.S Ma, A J Offutt, and Y.R Kwon (2004), “An Experimental Mutation System for Java”, ACM SIGSOFT Software Engineering Notes [15] Y S Ma, A J Offutt, and Y R Kwon (2005), “MuJava: An Automated Class Mutation System”, Software Testing, Verification & Reliability [16] Y S Ma, A J Offutt, and Y R Kwon (2006), “MuJava: a Mutation System for Java”, in Proceedings of the 28th international Conference on Software Engineering (ICSE ’06), Shanghai, China [17] Aditya P Mathur and W Eric Wong (1993), Comparing the fault detection ef- fectiveness of mutation and data flow testing: An empirical study, Software Engineering Research Center, Purdue University, West Lafayette, Indiana [18] P S May (2007), Test Data Generation: Two Evolutionary Approaches to Mutation Testing, PhD Thesis, University of Kent, Canterbury, Kent [19] G J Myers (1979), The Art of Software Testing, John Wiley & Sons, Inc., New York [20] Jeff Offutt (1992), “Investigations of the software testing coupling effect”, ACM Transactions on Software Engineering and Methodology [21] Jeff Offutt, W M Craft (1996), Using Compiler Optimization Techniques to Detect Equivalent Mutants, George Mason University [22] Jeff Offutt, Ammei Lee, Gregg Rothermel, Roland H Untch, and Christian Zapf (1996), An Experimental Determination of Sufficient Mutant Operators, George Mason University, pp 4-6 [23] Jeff Offutt and Stephen D Lee (1996), An Empirical Evaluation of Weak Mutation, George Mason University [24] Jeff Offutt and J Pan (1997), “Automatically Detecting Equivalent Mutants and Infeasible Paths”, Software Testing, Verification and Reliability, vol 56 (b) 75 65 [25] Jeff Offutt, Gregg Rothermel, Roland H Untch, and Christian Zapf (1993), An Experimental Evaluation of Selective Mutation, Baltimore, MD [26] A J Offutt and R H Untch (2001), “Mutation 2000: Uniting the Orthogonal”, in Proceedings of the 1st Workshop on Mutation Analysis (MUTATION’ 00), published in book form, as Mutation Testing for the New Century Jeff Tian (2005), Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement, Wiley-IEEE Computer Society Press [27] [28] Maryam Umar (2006), An Evaluation Of Mutation Operators For Equivalent Mutants, Department of Computer Science King’s College, London [29] Roland H Untch, A Jefferson Offutt, and Mary Jean Harrold (1993), “Mutation analysis using mutant schemata”, International Symposium on Software Testing and Analysis [30] W E Wong and A P Mathur (1995), “Reducing the Cost of Mutation Testing: An Empirical Study”, Journal of Systems and Software, vol 31 [31] SourceForge, “JUnit”, http://www.junit.org, 2009 SourceForge, “MuJava”, http://www.cs.gmu.edu/~offutt/mujava/, 2008 [32] ... xuất quy trình ứng dụng kỹ thuật kiểm thử đột biến để kiểm thử chương trình Java sử dụng hai cơng cụ Cụ thể, kiểm thử chương trình xếp dãy số tăng dần theo thuật tốn QuickSort viết ngơn ngữ Java, ... CHƢƠNG – KỸ THUẬT KIỂM THỬ ĐỘT BIẾN 2.1.Giới thiệu 2.2.Khái niệm kiểm thử đột biến 2.3.Cơ sở kiểm thử đột biến 2.4.Toán tử đột biến 2.5.Quy trình kiểm thử đột biến ... cứu kỹ thuật kiểm thử đột biến vào năm 2009 TS.Nguyễn Thanh Bình – Đại học Bách khoa, Đại học Đà Nẵng [2] Đồng thời, xin đề xuất “quy trình ứng dụng kỹ thuật kiểm thử đột biến để kiểm thử chương

Ngày đăng: 11/11/2020, 21:42

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w