Nghiên cứu kiểm thử bao phủ phần mềm và ứng dụng
Nghiên cứu kiểm thử bao phủ phần mềm và ứng dụng Ngô Thùy Linh Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Công nghệ phần mềm; Mã số: 60 48 10 Người hướng dẫn: PGS.TS Nguyễn Văn Vỵ Năm bảo vệ: 2010 Abstract: Chương 1: Tổng quan về kiểm thử phần mềm. Chương 2: Kiểm thử phần mềm hướng đối tượng. Chương 3: Kiểm thử bao phủ phần mềm. Chương 4: Máy trạng thái và kiểm thử bao phủ máy trạng thái. Keywords: Kiểm thử phần mềm; Công nghệ phần mềm; Máy trạng thái Content MỞ ĐẦU 1. Lý do chọn đề tài Với sự phát triển như vũ bão của Công nghệ thông tin (CNTT) 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ụ phát triển tiên tiến, làm cho việc xây dựng phần mềm đỡ mệt nhọc, nhanh hơn và hiệu quả 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, các nguồn lực, nên 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ẽ, song vẫn không đảm bảo rằng các sản phẩm phần mềm được tạo ra không còn lỗi. Lỗi vẫn luôn tiềm ẩn trong mọi sản phẩm và có thể gây ra những thiệt hại khôn lường. Đặc biệt, do nguồn lực có hạn, việc kiểm thử phần mềm có thể phải ngừng lại khi cạn kiệt nguồn lực hay thời gian cho phép đã hết. Vấn đề đặt ra là, có thể dừng qúa trình kiểm thử được không hay bắt buộc phải kiếm thêm nguồn lực để tiếp tục. Ngay trong trường hợp còn nguồn lực, khi kiểm thử không phát hiện thấy lỗi, một câu hỏi tương tự đặt ra: có cần thiết phải tiếp tục kiểm thử nữa hay không. Để trả lời những câu hỏi trên đây, có một số cách cho phép đánh giá chất lượng đạt được của phần mềm để đưa ra quyết định: − Cách thứ nhất là xây dựng mô hình đo độ tin cậy để đánh giá chương trình. Khi chương trình đạt được một mức độ tin cậy nào đó thì có thể dừng lại. 1 2 − Cách thử hai là đánh giá độ bao phủ chương trình của mục tiêu kiểm thử đặt ra đã thực hiện được. Khi độ bao phủ đạt được số phần trăm nào đó, đây cũng là một tiêu chí đánh giá cho phép có thể dừng quá trình kiểm thử. Vì những lý do trên, đề tài ”nghiên cứu kiểm thử bao phủ phần mềm và ứng dụng” được chọn làm đề tài cho luận văn cao học của tôi. Sau khi trình bày tổng quan về kiểm thử phần mềm, luận văn đi sâu vào quá trình kiểm thử phần mềm hướng đối tượng, đặc biệt cho trường hợp máy trạng thái. Trên cơ sở các phương pháp kiểm thử hướng đối tượng, nghiên cứu các phương pháp đánh giá độ bao phủ của kiểm thử nói chung, đặc biệt kiểm thử cho phần mềm hướng đối tượng. Tiếp đó tiến hành xây dựng một chương trình thử nghiệm về kiểm thử phủ theo các phương pháp đã biết để đánh giá mức độ bao phủ của các ca kiểm thử được tiến hành cho một chương trình được phát triển sử dụng phương pháp máy trạng thái – một trường hợp riêng của phát triển phần mềm hướng đối tượng. 2. Đối tượng nghiên cứu Lý thuyết về kiểm thử phần mềm nói chung và kiểm thử phần mềm hướng đối tượng nói riêng Khái niệm về kiểm thử phủ và một vài phương pháp được sử dụng Một vài công cụ dùng để đánh giá độ bao phủ của kiểm thử Lý thuyết máy trạng thái và thử nghiệm về kiểm thử phủ 3. Mục đích và phương pháp nghiên cứu Mục đích của nghiên cứu là góp phần hoàn thiện các công cụ đánh giá độ bao phủ của kiểm thử trợ giúp cho trình tiến hành kiểm thử phần mềm có thể thực hiện một cách hiệu quả hơn. 4. Ý nghĩa lý luận và thực tiễn của đề tài Kết quả nghiên cứu góp phần hoàn thiện các phương pháp kiểm thử phủ đã được nghiên cứu từ trước đến nay. Kết quả nghiên cứu cũng sẽ trang bị thêm một công cụ cho việc đánh giá kết quả của việc kiểm thử phần mềm. Với nội dung như trên, luận văn bao gồm: Chương I: Tổng quan về kiểm thử phần mềm: Chương này cho một cái nhìn tổng quan về kiểm thử phần mềm: các khái niệm cơ bản về kiểm thử phần mềm, các chiến lược và quy tắc trong kiểm thử, các phương pháp kiểm thử phần mềm tiêu biểu. Chương II: Kiểm thử phần mềm hướng đối tượng: Chương này trình bày khái quát về lập trình hướng đối tượng, khái niệm kiểm thử hướng đối tượng và tiến trình kiểm thử hướng đối tượng. 3 Chương III: Kiểm thử bao phủ phần mềm: Trong chương này, đi tìm trình bày về kiểm thử bao phủ phần mềm, các phương pháp bao phủ phần mềm và các công cụ phân tích mức độ bao phủ phần mềm. Chương IV: Máy trạng thái và kiểm thử bao phủ máy trạng thái: Trong chương này trình bày khái lược về máy trạng thái và kiểm thử bao phủ máy trạng thái, xây dựng một chương trình thử nghiệm tiến hành kiểm thử phủ các trạng thái và các chuyển trạng thái cho bài toán cầu thang máy. Cuối cùng là kết luận và tài liệu tham khảo. References [Beiz90] Boris Beizer. Software Testing Techniques, Second Edition, Van NostrandReinhold, 1990. [Beiz95] Beizer, B. Black-box Testing.Wiley,1995. [Brad77] J.M.Brady. The Theory Computer Science, Chapman and Hall, London, 1977. [Cem&90] Cem Kaner, Jack Falk, Hung Quoc Nguyen. Testing Computer Software, John Wiley & Sons, Inc., 1990, pp.27-141. [Hare&90] D.Harel, H. Lachover, A.Laamad, A.Pnuali, M.Politi, R.Sherman, A.Shtull- Trauring, and M.Trakhtenbrot, STATMATE: A Working Environment for the Development of Complex Reactive Sysstems, IEEE Transactions on Software Engineering SE-16 (April 1990), pp 403-14. [Harr&www] Harrold,M.J. and J.D.McGregor, Incremental Testing of Object-Oriented Class structures, http://www.cs.clemson.edu/~johnmc/papers/TESTING/HIT/hit.ps [Hare&87] Harel D. State Chart: A Visual Formalism for Complex System. Science of Computer Programming,1987. [Kamp87] G.R.Kampen, “A Eclectic Approach to Specification”. Proceedings of Fourth Internetional Workshop on Software Specification and Design, Monterey, CA, April 1987. [Myer79] Myers,G. The Art of Sofware Testing. Wiley,1979. [Vy&Ha09] Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giáo trình kỹ nghệ phần mềm, NXB Giáo dục Việt nam, Hànội, 2009. [Zand] Statement Coverage & Decision Coverage – Shailaja Kiran Arnold Zanderink.