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

Các kỹ thuật kiểm thử cấu trúc chương trình theo hướng tiếp cận kiểm thử dựa tìm kiếm.


Tóm tắt Xem thử

- Tổng quan về kiểm thử phần mềm.
- Lý do kiểm thử phần mềm.
- Vai trò của kiểm thử phần mềm.
- Mục đích của kiểm thử phần mềm.
- Quy trình kiểm thử phần mềm.
- Các kỹ thuật kiểm thử phần mềm.
- Kỹ thuật kiểm thử hộp trắng (White-Box Testing.
- Kỹ thuật kiểm thử hộp đen (Black-Box Testing.
- Kỹ thuật kiểm thử hộp xám (Gray-Box Testing.
- Kiểm thử cấu trúc và các khái niệm.
- Khái niệm kiểm thử cấu trúc.
- Phủ kiểm thử cấu trúc.
- Các phƣơng pháp kiểm thử cấu trúc.
- Kiểm thử theo câu lệnh.
- Kiểm thử theo đƣờng dẫn.
- Kiểm thử cấu trúc điều kiện.
- Kiểm thử theo vòng lặp.
- Khái niệm kiểm thử dựa tìm kiếm.
- Lịch sử và phát triển của kiểm thử dựa tìm kiếm.
- 47 Luận văn cao học Nguyễn Thanh Bắc 3 Lớp 13BCNTT2 - Khoá 2013B 3.4.
- Thuật toán.
- 76 Luận văn cao học Nguyễn Thanh Bắc 4 Lớp 13BCNTT2 - Khoá 2013B LỜI CAM ĐOAN Tôi xin cam đoan: Luận văn "Các kỹ thuật kiểm thử cấu trúc chƣơng trình theo hƣớng tiếp cận kiểm thử dựa tìm kiếm" là do bản thân tôi tự thực hiện dƣới sự hƣớng dẫn của PGS.TS.
- Minh hoạ kiểm thử hộp trắng.
- Minh hoạ kiểm thử hộp đen.
- Quy trình kiểm thử cấu trúc.
- Quá trình phát triển của kiểm thử dựa tìm kiếm.
- Tỉ lệ áp dụng dựa trên tìm kiếm để kiểm thử phần mềm.
- Ví dụ về những kiểm thử tốt nhất đƣợc chứa trong một nút ni mà có hai nút con nj và nk.
- Lý do chọn đề tài Với sự phát triển nhanh chóng của ngành công nghệ thông tin nói chung và công nghệ phần mềm nói riêng, việc phát triển phần mềm ngày càng đƣợc hỗ trợ bởi nhiều công cụ tiên tiến nhằm giúp cho chất lƣợng và hiệu quả trở nên tốt hơn.
- Tuy nhiên, vì độ phức tạp của phần mềm và những giới hạn về thời gian, chi phí nên cho dù các hoạt động đảm bảo chất lƣợng phần mềm và kiểm thử phần mềm ngày càng chặt chẽ và khoa học nhƣng không thể đáp ứng đƣợc tính đúng đắn của phần mềm.
- Các lỗi vẫn luôn tiềm ẩn trong mọi sản phẩm phần mềm có thể gây ra những thiệt hại khôn lƣờng khi triển khai thực tế.
- Kiểm thử phần mềm là một trong những hoạt động quan trọng trong tiến trình phát triển phần mềm.
- Nó góp một phần rất lớn trong việc đánh giá chất lƣợng của một phần mềm và là quy trình bắt buộc trong các dự án phát triển phần mềm trên thế giới cũng nhƣ trong nƣớc.
- Tuy nhiên, hoạt động kiểm thử thƣờng gặp nhiều khó khăn.
- Thứ nhất, kiểm thử các hệ thống phức tạp đòi hỏi rất nhiều nguồn tài nguyên và chi phí cao.
- Thứ hai, tiến trình phát triển phần mềm luôn trải qua nhiều hoạt động biến đổi thông tin, sự mất mát thông tin trong quá trình biến đổi là yếu tố chính làm cho hoạt động kiểm thử 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.
- Mục tiêu và nhiệm vụ nghiên cứu Với mục đích phát hiện lỗi, kiểm thử phần mềm thƣờng phải trải qua các bƣớc: tạo dữ liệu thử, thực thi phần mềm trên dữ liệu thử và quan sát kết quả nhận đƣợc.
- Tìm hiểu các kỹ thuật kiểm thử đảm bảo chất lƣợng phần mềm và các kỹ thuật kiểm thử cấu trúc chƣơng trình.
- Áp dụng phƣơng pháp kiểm thử dựa tìm kiếm trong kiểm thử cấu trúc.
- Thực nghiệm và đánh giá kết quả khi áp dụng các kỹ thuật sinh dữ liệu dựa tìm kiếm cho kiểm thử cấu trúc.
- Bố cục của luận văn Chương 1: Giới thiệu tổng quan về kiểm thử phần mềm và các kỹ thuật kiểm thử cấu trúc chƣơng trình.
- Chƣơng này trình bày về các quy trình, các khái niệm, kỹ thuật kiểm thử phần mềm và việc lựa chọn kiểu kiểm thử cho hệ thống phần mềm Chương 2: Phƣơng pháp kiểm thử dựa tìm kiếm.
- Chƣơng này trình bày về khái niệm và mô hình chung của kiểm thử dựa tìm kiếm, lợi ích và các thuật toán áp dụng kỹ thuật này.
- Phần cuối cùng của luận văn sẽ trình bày các thực nghiệm của kỹ thuật kiểm thử dựa tìm kiếm vào bài toán kiểm thử cho chƣơng trình phân loại tam giác.
- Từ đó so sánh và đánh giá ƣu điểm và cải tiến so với các kỹ thuật kiểm thử đơn giản.
- Tổng quan về kiểm thử phần mềm Kiểm thử phần mềm là quá trình khảo sát một hệ thống hay thành phần dƣới những điều kiện xác định, quan sát và ghi lại kết quả và đánh giá một khía cạnh nào đó của hệ thống hoặc thành phần đó [4].
- Kiểm thử phần mềm là một tiến trình hay một tập hợp các tiến trình đƣợc thiết kế để đảm bảo mã máy tính thực hiện theo cái mà chúng đã đƣợc thiết kế để làm và không thực hiện bất cứ thứ gì không mong muốn.
- Lý do kiểm thử phần mềm Lý do của việc kiểm thử để từ đó thấy đƣợc ý nghĩa của việc xây dựng ca kiểm thử hiệu quả.
- Có một số lý do chính của hoạt động kiểm thử phần mềm nhƣ sau.
- Lý do thứ nhất, về khía cạnh xem xét sản phẩm, ngƣời phát triển muốn kiểm tra phần mềm nhƣ một phần tử của hệ thống hoạt động thì cần phải thực hiện thông qua hoạt động kiểm thử phẩn mềm.
- Vai trò của kiểm thử phần mềm Thực tế đã chứng minh hoạt động kiểm thử có vai trò vô cùng quan trọng trong tiến trình phát triển phần mềm.
- Vai trò đó đƣợc thể hiện qua chi phí và hiệu quả của hoạt động kiểm thử mang lại.
- Về mặt chi phí, hoạt động kiểm thử chiếm khoảng 40% tổng công sức phát triển phần mềm và chiếm tới hơn 30% tổng thời gian phát triển.
- Ngoài ra với các phần mềm có ảnh hƣởng tới sinh mạng thì chi phí kiểm thử có thể gấp từ 3 đến 5 lần tổng các chi phí khác cộng lại [1].
- Luận văn cao học Nguyễn Thanh Bắc 11 Lớp 13BCNTT2 - Khoá 2013B 1.1.3.
- Mục đích của kiểm thử phần mềm Là thiết kế đƣợc những trƣờng hợp kiểm thử để có thể phát hiện một cách có hệ thống những loại lỗi khác nhau và thực hiện công việc đó với lƣợng thời gian và tài nguyên tối ƣu nhất.
- Tuy nhiên kiểm thử phần mềm không thể khẳng định rằng phần mềm không còn khiếm khuyết.
- Nhƣ vậy ta có thể kết luận, mục tiêu đầu tiên và trƣớc mắt của hoạt động kiểm thử phần mềm là tạo ra các ca kiểm thử để tìm ra lỗi của phần mềm.
- Mục tiêu cuối cùng và cũng là mục tiêu mà ngƣời phát triển hƣớng tới là kiểm thử phần mềm sẽ giúp cho ngƣời phát triển có một chƣơng trình tốt, chi phí thấp nhƣng vẫn đảm bảo đƣợc chất lƣợng phần mềm trƣớc khi bàn giao sản phẩm.
- Quy trình kiểm thử phần mềm  Quy trình kiểm thử phần mềm: o Xử lý đo lƣờng kiểm thử bằng cách thu thập dữ liệu.
- Ở đây, ngƣời kiểm thử không thể trực tiếp cải tiến chƣơng trình mà họ chỉ có thể đánh giá nó.
- o Đánh giá sản phẩm phần mềm để xác nhận sản phẩm có thể sẵn sàng phát hành đƣợc chƣa? Đƣa ra báo cáo kiểm thử để hoàn thành quá trình kiểm thử.
- Quy trình kiểm thử gồm các hoạt động sau: o Kế hoạch kiểm thử (test planning) o Thiết kế kiểm thử (test design) o Triển khai kiểm thử (test implementation) o Thực thi kiểm thử (test execution) o Đánh giá kiểm thử (test evaluation.
- Quy trình kiểm thử đƣợc mô tả trong hình vẽ dƣới đây: Luận văn cao học Nguyễn Thanh Bắc 12 Lớp 13BCNTT2 - Khoá 2013B Hình 1.1.
- Quy trình kiểm thử phần mềm 1.2.
- Các kỹ thuật kiểm thử phần mềm 1.2.1.
- Kỹ thuật kiểm thử hộp trắng (White-Box Testing) Hình 1.2.
- Minh hoạ kiểm thử hộp trắng Kiểm thử hộp trắng sử dụng các chiến lƣợc cụ thể và sử dụng mã nguồn của chƣơng trình, đơn vị phần mềm cần kiểm thử nhằm kiểm tra xem chƣơng trình, đơn vị có thực hiện đúng so với thiết kế và đặc tả hay không.
- Trong khi các phƣơng pháp kiểm thử hộp đen hay kiểm thử hàm, chức năng chỉ cho phép phát hiện các lỗi có thể quan sát đƣợc, thì kiểm thử hộp trắng cho phép phát hiện các lỗi tiềm ẩn bên trong chƣơng trình.
- Luận văn cao học Nguyễn Thanh Bắc 13 Lớp 13BCNTT2 - Khoá 2013B Để áp dụng các phƣơng pháp kiểm thử hộp trắng, ngƣời kiểm thử không chỉ cần hiểu rõ thuật toán mà còn cần có các kỹ năng và kiến thức tốt về ngôn ngữ lập trình đƣợc dùng để phát triển phần mềm nhằm hiểu rõ mã nguồn của chƣơng trình, đơn vị kiểm thử.
- Do vậy, việc áp dụng các phƣơng pháp kiểm thử hộp trắng rất tốn thời gian và chi phí.
- Hai kỹ thuật đƣợc sử dụng trong kiểm thử hộp trắng là kiểm thử dòng điều khiển (Control Flow Testing) và kiểm thử dòng dữ liệu (Data Flow Testing).
- Phƣơng pháp kiểm thử dòng điều khiển tập trung kiểm thử tính đúng đắn của các giải thuật sử dụng trong các chƣơng trình, đơn vị phần mềm.
- Phƣơng pháp kiểm thử dòng dữ liệu tập trung kiểm thử tính đúng đắn của việc sử dụng các biến dữ liệu sử dụng trong chƣơng trình, đơn vị phần mềm.
- Kỹ thuật kiểm thử hộp đen (Black-Box Testing) Hình 1.3.
- Minh hoạ kiểm thử hộp đen Kiểm thử hộp đen coi phần mềm nhƣ là một "hộp đen", kiểm thử chức năng mà không cần bất kỳ kiến thức về cấu trúc và hành vi bên trong phần mềm.
- Các Tester chỉ biết về những gì phần mềm phải làm mà không biết là nó làm nhƣ thế nào [9].
- Phƣơng pháp kiểm thử hộp đen bao gồm: phân vùng tƣơng đƣơng, phân tích giá trị biên, tất cả các cặp kiểm thử, bảng chuyển đổi trạng thái, kiểm thử bảng quyết định, kiểm thử chéo, kiểm thử dựa trên mô hình, sử dụng Test case, thăm dò kiểm thử và kiểm thử dựa trên đặc điểm kỹ thuật.
- Kỹ thuật kiểm thử hộp xám (Gray-Box Testing) Kiểm thử hộp xám liên quan đến hiểu biết về cấu trúc dữ liệu bên trong và các thuật toán cho mục đích của các bài kiểm thử thiết kế.
- Khi thực hiện những bài kiểm thử với User hoặc mức độ hộp đen, Tester không nhất thiết phải truy cập vào mã nguồn của phần mềm [9].
- Ta có thể thao tác với dữ liệu đầu vào và định dạng đầu ra không xác định nhƣ hộp xám bởi vì đầu vào và đầu ra rõ ràng ở bên ngoài của "hộp đen" mà chúng đƣợc hệ thống gọi ra trong quá trình kiểm thử.
- Sự phân biệt này là đặc biệt quan trọng khi tiến hành kiểm thử tích hợp giữa hai Module đƣợc viết mã bởi hai nhà phát triển khác nhau, mà ở đó chỉ có các giao diện đƣợc bộc lộ ra để kiểm thử.
- Tuy nhiên, các kiểm thử mà yêu cầu thay thế một kho lƣu trữ dữ liệu back-end nhƣ một cơ sở dữ liệu hoặc một tập tin đăng nhập không xác định nhƣ hộp xám, ngƣời dùng sẽ không thể thay đổi các kho lƣu trữ dữ liệu trong khi sản phẩm vẫn đang hoạt động bình thƣờng.
- Kiểm thử hộp xám cũng có thể bao gồm kỹ thuật đảo ngƣợc để xác định đối tƣợng, giá trị biên hoặc các thông báo lỗi.
- Khi biết đƣợc những khái niệm cơ bản về cách thức các phần mềm hoạt động nhƣ thế nào, Tester thực hiện kiểm thử phần mềm từ bên trong tốt hơn so với bên ngoài.
- Thông thƣờng, một Tester hộp xám sẽ đƣợc phép thiết lập một môi trƣờng kiểm thử bị cô lập với các hoạt động nhƣ gieo một cơ sở dữ liệu.
- Kiểm thử cấu trúc và các khái niệm 1.3.1.
- Khái niệm kiểm thử cấu trúc Kỹ thuật kiểm thử cấu trúc là kỹ thuật dựa trên sự phân tích mã chƣơng trình hoặc một mô hình của mã chƣơng trình để xây dựng các phép thử theo các tiêu chuẩn bao phủ.
- Kỹ thuật kiểm thử cấu trúc cho phép chúng ta kiểm thử cấu trúc bên trong của phần mềm, với mục đích kiểm tra tất cả các câu lệnh và điều kiện tồn tại trong phần mềm đó.
- Trong kỹ thuật này kiểm thử viên lấy dữ liệu thử xuất phát từ việc kiểm tra logic của chƣơng trình (không quan tâm đến đặc tả).
- Luận văn cao học Nguyễn Thanh Bắc 15 Lớp 13BCNTT2 - Khoá 2013B Nguồn gốc của các ca kiểm thử (Test case) là dựa theo cấu trúc của chƣơng trình và kiểm thử tất cả các câu lệnh.
- Hiểu biết chƣơng trình thì có thể xác định đƣợc các ca kiểm thử.
- Các công cụ bao phủ mã có thể đánh giá đầy đủ của một bộ kiểm thử đã đƣợc tạo ra bằng phƣơng pháp bất kỳ nào đó, bao gồm cả kiểm thử hộp đen.
- Điều này cho phép nhóm nghiên cứu phần mềm kiểm thử các bộ phận của một hệ thống mà hiếm khi đƣợc kiểm thử và đảm bảo rằng các điểm chức năng quan trọng nhất đã đƣợc kiểm thử [10].
- Bao phủ mã giống nhƣ một phần mềm metric có thể báo cáo tỷ lệ phần trăm cho.
- Bao phủ câu lệnh: dựa vào các báo cáo về số lƣợng các dòng đƣợc thực hiện để hoàn thành kiểm thử.
- Quy trình kiểm thử cấu trúc Các đặc trƣng cơ bản của kiểm thử cấu trúc bao gồm.
- Phủ kiểm thử  Các phƣơng pháp kiểm thử

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt