« Home « Kết quả tìm kiếm

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


Tóm tắt Xem thử

- Các kỹ thuật kiểm thử đột biến và ứng dụng kiểm thử chương trình C.
- Đề cập đến việc sử dụng các kỹ thuật kiểm thử hộp trắng và hộp đen để thiết kế dữ liệu thử.
- Mô tả chi tiết các thành phần chính của kỹ thuật kiểm thử đột biến, giới thiệu các giả thuyết cơ bản cần thiết để thực hiện phương pháp này.
- Tìm hiểu quy trình để phân tích đột biến, từ đó rút ra được những vấn đề còn hạn chế đối với kỹ thuật kiểm thử đột biến..
- Giới thiệu một số 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 toán và tăng tự động hóa.
- Tập trung vào ứng dụng kỹ thuật kiểm thử đột biến.
- Giới thiệu hai công cụ mã nguồn mở miễn phí là NUnit dùng để kiểm thử đơn vị của chương trình C#, và Nester với chức năng phân tích và tạo đột biến.
- Ứng dụng kỹ thuật kiểm thử đột biến để kiểm thử các chương trình C# sử dụng hai công cụ trên.
- Kiểm thử đột biến.
- Kiểm thử chương trình C.
- Tuy nhiên, hoạt động kiểm thử thường gặp nhiều khó khăn:.
- Thứ ba, kiểm thử chưa được chú trọng trong đào tạo con người..
- Cuối cùng, không tồn tại kỹ thuật kiểm thử cho phép khẳng định một phần mềm hoàn toàn đúng đắn hay không chứa lỗi..
- Nếu bộ dữ liệu thử được tìm thấy không chất lượng liên quan đến tiêu chuẩn (tức là không phải tất cả các câu lệnh đều được thực hiện ít nhất một lần), thì kiểm thử nữa là bắt buộc.
- Do đó, mục tiêu là tạo ra một tập các kiểm thử thực hiện đầy đủ tiêu chuẩn chất lượng..
- Kiểm thử đột biến là một tiêu chuẩn như vậy.
- Kiểm thử đột biến đã được áp dụng cho nhiều ngôn ngữ lập trình như là một kỹ thuật kiểm thử hộp trắng..
- Ý thức được đây là một lĩnh vực nghiên cứu có nhiều triển vọng ứng dụng trong phát triển phần mềm, tôi đã chọn hướng nghiên cứu “ Các kỹ thuật kiểm thử đột biến và ứng dụng kiểm thử chương trình C” cho đề tài luận văn của mình..
- Chương này cũng đề cập đến việc sử dụng các kỹ thuật kiểm thử hộp trắng và hộp đen để thiết kế dữ liệu thử..
- Chƣơng 2 - Mô tả chi tiết các thành phần chính của kỹ thuật kiểm thử đột biến, giới thiệu các giả thuyết cơ bản cần thiết để thực hiện phương pháp này.
- Chƣơng 3 – Giới thiệu một số 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 toán và tăng tự động hóa..
- Chƣơng 4 – 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í là NUnit dùng để kiểm thử đơn vị của chương trình C#, và Nester với chức năng phân tích và tạo đột biến.
- Tiếp đó là ứng dụng kỹ thuật kiểm thử đột biến để kiểm thử các chương trình C# sử dụng hai công cụ trên..
- Các cấp độ kiểm thử phần mềm.
- Cấp độ kiểm thử phần mềm được thể hiện ở hình 1.1 [25]:.
- Kiểm thử mức đơn vị lập trình.
- Kiểm thử mức tích hợp các đơn vị.
- Kiểm thử mức hệ thống, sau khi tích hợp.
- Kiểm thử để chấp nhận sản phẩm (Acceptance test).
- Hình 1.1- Bốn cấp độ cơ bản của kiểm thử phần mềm.
- Kiểm thử đơn vị (Unit Test).
- Kiểm thử tích hợp (Integration Test).
- Kiểm thử hệ thống (System Test).
- Kiểm thử hệ thống bắt đầu khi tất cả các bộ phận của phần mềm đã được tích hợp thành công..
- Kiểm thử chấp nhận sản phẩm (Acceptance Test).
- Trong giai đoạn kiểm thử chấp nhận thì người kiểm tra là khách hàng..
- Kỹ thuật kiểm thử phần mềm.
- Do đó có thể chia các kỹ thuật kiểm thử thành hai loại:.
- Kỹ thuật kiểm thử hộp đen (Black – box Testing) hay còn gọi là kỹ thuật kiểm thử chức năng (Functional Testing)..
- Kỹ thuật kiểm thử hộp trắng (White – box Testing) hay còn gọi là kỹ thuật kiểm thử cấu trúc (Structural Testing)..
- Kỹ thuật kiểm thử hộp đen (Black – box Testing).
- Kiểm thử hộp đen còn được gọi là kiểm thử hướng dữ liệu (data - driven) hay là kiểm thử hướng vào/ra (input/output driven)..
- Trong kỹ thuật này, người kiểm thử xem phần mềm như là một hộp đen..
- Người kiểm thử hoàn toàn không quan tâm đến cấu trúc và hành vi bên trong của chương trình.
- Do đó, dữ liệu kiểm thử sẽ xuất phát từ đặc tả..
- Kỹ thuật kiểm thử hộp trắng (White – box Testing).
- Trong chương 1 đã nêu tổng quan về các cấp độ và loại kiểm thử phần mềm cơ bản.
- Kiểm thử hộp trắng xem xét chương trình ở mức độ chi tiết và phù hợp khi kiểm tra các môđun nhỏ.
- Ngoài ra chúng ta không thể kiểm thử hết các đường đi đối với các vòng lặp lớn..
- Nhưng chỉ sử dụng kiểm thử hộp đen là chưa đủ.
- Kiểm thử đột biến được đề xuất đầu tiên vào năm 1979 bởi DeMillo và đồng nghiệp [13].
- Nó cung cấp một phương tiện để đánh giá và cải tiến chất lượng dữ liệu thử cho chương trình được kiểm thử (PUT)..
- Kiểm thử đột biến tập trung vào việc đánh giá khả năng phát hiện lỗi của dữ liệu dùng để kiểm thử.
- Kiểm thử đột biến được dùng kết hợp với các kỹ thuật kiểm thử thông thường nhưng không thể được dùng để thay thế cho các kỹ thuật kiểm thử thông thường đó..
- Đột biến.
- Kiểm thử đột biến bao gồm việc tạo ra các phiên bản lỗi của chương trình gốc được kiểm thử nhờ vào các toán tử đột biến.
- Các đột biến tương đương (equivalent mutant) là các đột biến của chương trình gốc nhưng hoạt động hoàn toàn giống với chương trình gốc và cho ra kết quả giống với chương trình gốc trong mọi trường hợp kiểm thử..
- Các toán tử đột biến được xác định bởi ngôn ngữ của chương trình được kiểm thử và hệ thống đột biến được dùng để kiểm thử..
- Cơ sở của kiểm thử đột biến.
- Kiểm thử đột biến là một kỹ thuật kiểm thử hộp trắng hay kiểm thử cấu trúc, được xây dựng dựa vào hai g iả thuyết cơ bản [13]:.
- Quy trình kiểm thử đột biến.
- Kiểm thử đột biến là một quy trình được lặp đi lặp lại để cải tiến dữ liệu thử đối với một chương trình và được chia thành các bước cơ bản [13] sau:.
- Bước 2: Sản sinh các dữ liệu kiểm thử..
- Bước 3: Thực hiện từng dữ liệu kiểm thử với chương trình gốc..
- Bước 3.1: Nếu kết quả không đúng, phải chỉnh sửa l ạ i chương trình và kiểm thử lại..
- Bước 4: Thực hiện từng dữ liệu kiểm thử với từng đột biến còn sống..
- Hoàn thành kiểm thử..
- Hoặc có thể diệt các đột biến được nhưng các dữ liệu kiểm thử không đủ mạnh để diệt đột biến.
- Do đó phải tạo ra các dữ liệu kiểm thử khác và lặp lại bước 1..
- Hạn chế của kiểm thử đột biế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ử.
- 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ụ:.
- Vì vậy, chương 3 sẽ đề cập một số 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..
- Phát triển kỹ thuật kiểm thử dựa trên ràng buộc (CBT) để tạo ra các tập dữ liệu thử chất lượng dựa trên đột biến.
- Kiểm thử đột biến được được xem là một kỹ thuật kiểm thử đơn vị mạnh để tìm ra tập dữ liệu thử hiệu quả giúp phát hiện các lỗi trong chương trình..
- Tuy nhiên, kiểm thử đột biến còn có một số hạn chế về chi phí tính toán và tự động hóa..
- Quy trình ứng dụng kiểm thử đột biến để kiểm thử các chương trình C-Sharp áp dụng kỹ thuật kiểm thử đột biến lựa chọn và sử dụng công cụ Nester, dùng để phân tích và tạo đột biến, và công cụ NUnit dùng để kiểm thử đơn vị.
- Quy trình ứng dụng kỹ thuật kiểm thử đột biến trong C-Sharp.
- Quy trình ứng dụng kiểm thử đột biến để kiểm thử các chƣơng trình C - Sharp.
- Kiểm thử.
- Kiểm thử chương trình này bằng bộ kiểm thử NUnit (phiên bản 2.5.2), với các trường hợp kiểm thử và dữ liệu thử đã được thiết kế sẵn..
- Dưới “góc nhìn” của NUnit với dữ liệu thử được xây dựng trong 21 trường hợp kiểm thử thì đây là một chương trình tốt.
- Cụ thể với từng trường hợp kiểm thử được cho trong Bảng 4.3..
- Bảng 4.3 – Chất lượng các trường hợp kiểm thử chương trình cs-money sau khi thực thi Nester..
- Trƣờng hợp kiểm thử Số đột biến diệt đƣợc.
- Điều này chứng tỏ, chất lượng bộ dữ liệu thử được tạo ra trong 21 trường hợp kiểm thử ở trên rõ ràng là chưa cao, vì không có bất kỳ một trường hợp kiểm thử nào diệt được tất cả các đột biến.
- Đặc biệt, 4 đột biến được sinh ra khi Nester “chèn lỗi” vào lớp AssemlyInfo.cs, thì không có bất cứ trường hợp kiểm thử nào diệt được.
- Kiểm thử đột biến được giới thiệu như là một ý tưởng để đánh giá chất lượng của các bộ dữ liệu kiểm thử.
- Dựa vào các ưu điểm, nhược điểm của kỹ thuật kiểm thử đột biến, có các phương pháp nhằm cải tiến kỹ thuật kiểm thử đột biến như ở chương 3.
- dụng để kiểm thử chương trình C-Sharp hiệu quả, giảm chi phí và thời gian..
- Vì vậy chúng ta cần xây dựng lại các trường hợp kiểm thử và bộ dữ liệu thử tốt hơn nhằm nâng cao chất lượng của chương trình cs – money..
- Giới thiệu kỹ thuật kiểm thử đột biến, các quy tắc để tạo đột biến và quy trình phân tích đột biến.
- các vấn đề còn hạn chế đối với kiểm thử đột biến, từ đó giới thiệu một số kỹ thuật cải tiến nhằm khắc phục những hạn chế trên..
- Sử dụng hai công cụ mã nguồn mở miễn phí Nester để tạo - phân tích đột biến, và NUnit để kiểm thử đơn vị và ứng dụng kiểm thử đột biến đối với chương trình C#.
- cụ thể là sử dụng kỹ thuật đột biến lựa chọn để kiểm thử chương trình cs – money với 21 trường hợp kiểm đạt tỷ lệ xấp xỉ 90%..
- Kiểm thử đột biến là một kỹ thuật kiểm thử được khá nhiều nhà nghiên cứu quan tâm bởi tác dụng của nó.
- Các vấn đề về phát hiện đột biến tương đương trong chương trình được kiểm thử..
- Tìm hiểu thêm các phương pháp khác nhằm giảm chi phí tính toán và tăng tính tự động hoá cho chương trình được kiểm thử..
- Đối với ứng dụng kỹ thuật kiểm thử đột biến để kiểm thử chương trình cs - money, luận văn chỉ mới dừng lại ở mức độ đánh giá chất lượng 21 trường hợp kiểm thử đã được xây dựng ở trên, chưa cải tiến nó để đạt tỷ lệ đột biến 100%