THIẾT KẾ TEST-CASE TRONG KIỂM THỬ PHẦN MỀM

Mèo lười
Mèo lười(2290 tài liệu)
(10 người theo dõi)
Lượt xem 20
0
Tải xuống 8,000₫
(Lịch sử tải xuống)
Số trang: 57 | Loại file: DOC
0

Gửi bình luận

Bình luận

Thông tin tài liệu

Ngày đăng: 28/04/2013, 22:18

Mô tả: Hầu hết các thành phần quan trọng trong các thủ thuật của một nhà kiểm thử chương trình là kiến thức về cách để viết các ca kiểm thử có hiệu quả KHOA CÔNG NGHỆ THÔNG TIN ĐẠI HỌC THÁI NGUYÊN Đề tài thực tập chuyên ngành: MỤC LỤC 2 THIẾT KẾ TEST-CASE TRONG KIỂM THỬ PHẦN MỀM Sinh viên thực hiện : Phạm Thị Trang Lớp : ĐHCQ K4A Giáo viên hướng dẫn : Nguyễn Hồng Tân Bộ môn : Công nghệ phần mềm Thái Nguyên, tháng 9 năm 2009 MỤC LỤC .2 DANH MỤC CÁC HÌNH .4 LỜI NÓI ĐẦU 5 TÓM TẮT NỘI DUNG .6 CHƯƠNG 1. TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM .7 CHƯƠNG 2. THIẾT KẾ TEST – CASE .21 CHƯƠNG 3. ÁP DỤNG 42 KẾT LUẬN .55 TÀI LIỆU THAM KHẢO .56 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 57 3 DANH MỤC CÁC HÌNH Hình 1.1 Sơ đồ các cấp độ kiểm thử 12 Hình 2.1 Một chương trình nhỏ để kiểm thử .23 Hình 2.2 Mã máy cho chương trình trong Hình 2.1 .27 Hình 2.3 Một mẫu cho việc liệt kê các lớp tương đương .31 Hình 2.4 Các ký hiệu đồ thị nguyên nhân – kết quả cơ bản .35 Hình 2.5 Các ký hiệu ràng buộc .36 Hình 2.6 Những xem xét được sử dụng khi dò theo đồ thị 38 Hình 3.1 Đồ thị nguyên nhân – kết quả: .45 Hình 3.2 Bảng quyết định .46 4 LỜI NÓI ĐẦU Trong ngành kỹ nghệ phần mềm, năm 1979, có một quy tắc nổi tiếng là: “Trong một dự án lập trình điển hình, thì xấp xỉ 50% thời gian và hơn 50% tổng chi phí được sử dụng trong kiểm thử các chương trình hay hệ thống đã được phát triển”. Và cho đến nay, sau gần một phần 3 thế kỷ, quy tắc đó vẫn còn đúng. Đã có rất nhiều ngôn ngữ, hệ thống phát triển mới với các công cụ tích hợp cho các lập trình viên sử dụng phát triển ngày càng linh động. Nhưng kiểm thử vẫn đóng vai trò hết sức quan trọng trong bất kỳ dự án phát triển phần mềm nào. Rất nhiều các giáo sư, giảng viên đã từng than phiền rằng: “ Sinh viên của chúng ta tốt nghiệp và đi làm mà không có được những kiến thực thực tế cần thiết về cách để kiểm thử một chương trình. Hơn nữa, chúng ta hiếm khi có được những lời khuyên bổ ích để cung cấp trong các khóa học mở đầu về cách một sinh viên nên làm về kiểm thử và gỡ lỗi các bài tập của họ”. Các tác giả của cuốn sách nổi tiếng “The Art of Software Testing” – Nghệ thuật kiểm thử phần mềm, Glenford J. Myers, Tom Badgett, Todd M. Thomas, Corey Sandler đã khẳng định trong cuốn sách của mình rằng: “ Hầu hết các thành phần quan trọng trong các thủ thuật của một nhà kiểm thử chương trình là kiến thức về cách để viết các ca kiểm thử có hiệu quả”. Việc xây dựng các test – case là một nhiệm vụ rất khó khăn. Để có thể xây dựng được tập các test – case hữu ích cho kiểm thử, chúng ta cần rất nhiều kiến thức và kinh nghiệm. Đó là những lý do thúc đẩy em thực hiện đề tài này. Mục đích của đề tài là tìm hiểu những kiến thức tổng quan nhất về kiểm thử, và cách thiết kế test – case trong kiểm thử phần mềm. Việc thực hiện đề tài sẽ giúp em tìm hiểu sâu hơn và lĩnh vực rất hấp dẫn này, vận dụng được các kiến thức đã học để có thể thiết kế được các test – case một cách có hiệu quả và áp dụng vào những bài toán thực tế. Bản báo cáo được hoàn thành dưới sự chỉ bảo tận tình của thầy giáo, ThS Nguyễn Hồng Tân, sự giúp đỡ nhiệt tình của các thầy cô trong bộ môn Công nghệ 5 phần mềm, và tất cả các bạn. Em hi vọng sẽ nhận được sự đóng góp ý kiến của các thầy cô và các bạn để bản báo cáo được hoàn thiện hơn. Những đóng góp đó sẽ là kinh nghiệm quý báu cho em. Và từ đó, em có thể tiếp tục phát triển đề tài này cho đợt thực tập tốt nghiệp và đồ án tốt nghiệp sắp tới, cũng như cho công việc trong tương lai. Em xin chân thành cám ơn. Sinh viên Phạm Thị Trang TÓM TẮT NỘI DUNG Bản báo cáo được chia thành 3 chương với nội dung như sau: • Chương 1: Tổng quan về kiểm thử phần mềm. Chương này là 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 quy tắc trong kiểm thử, và các phương pháp kiểm thử phần mềm tiêu biểu. • Chương 2: Thiết kế test – case trong kiểm thử phần mềm. Trong chương này, em đi tìm hiểu các phương pháp thiết kế test – case có hiệu quả. Từ đó rút ra nhận xét về ưu nhược điểm của từng phương pháp. • Chương 3: Áp dụng. Từ những phương pháp thiết kế test – case đã tìm hiểu trong Chương 2, em áp dụng để xây dựng tập các test – case cho một bài toán cụ thể : Thiết kế các test – case cho chương trình “Tam giác”. 6 CHƯƠNG 1. TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Các khái niệm cơ bản về kiểm thử phần mềm 1.1.1 Kiểm thử phần mềm là gì? 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 các kết quả, và đánh giá một khía cạnh nào đó của hệ thống hay thành phần đó. (Theo Bảng chú giải thuật ngữ chuẩn IEEE của Thuật ngữ kỹ nghệ phần mềm- IEEE Standard Glossary of Software Engineering Terminology). Kiểm thử phần mềm là quá trình thực thi một chương trình với mục đích tìm lỗi. (Theo “The Art of Software Testing” – Nghệ thuật kiểm thử phần mềm). Kiểm thử phần mềm là hoạt động khảo sát thực tiễn sản phẩm hay dịch vụ phần mềm trong đúng môi trường chúng dự định sẽ được triển khai nhằm cung cấp cho người có lợi ích liên quan những thông tin về chất lượng của sản phẩm hay dịch vụ phần mềm ấy. Mục đích của kiểm thử phần mềm là tìm ra các lỗi hay khiếm khuyết phần mềm nhằm đảm bảo hiệu quả hoạt động tối ưu của phần mềm trong nhiều ngành khác nhau. (Theo Bách khoa toàn thư mở Wikipedia). Có thể định nghĩa một cách dễ hiểu như sau: 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ã hóa 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. Đây là một pha quan trọng trong quá trình phát triển hệ thống, giúp cho người xây dựng hệ thống và khách hàng thấy được hệ thống mới đã đáp ứng yêu cầu đặt ra hay chưa? 7 1.1.2 Các phương pháp kiểm thử Có 2 phương pháp kiểm thử chính là: Kiểm thử tĩnh và Kiểm thử động. 1.1.2.1 Kiểm thử tĩnh – Static testing Là phương pháp thử phần mềm đòi hỏi phải duyệt lại các yêu cầu và các đặc tả bằng tay, thông qua việc sử dụng giấy, bút để kiểm tra logic, lần từng chi tiết mà không cần chạy chương trình. Kiểu kiểm thử này thường được sử dụng bởi chuyên viên thiết kế người mà viết mã lệnh một mình. Kiểm thử tĩnh cũng có thể được tự động hóa. Nó sẽ thực hiện kiểm tra toàn bộ bao gồm các chương trình được phân tích bởi một trình thông dịch hoặc biên dịch mà xác nhận tính hợp lệ về cú pháp của chương trình. 1.1.2.2 Kiểm thử động – Dynamic testing Là phương pháp thử phần mềm thông qua việc dùng máy chạy chương trình để điều tra trạng thái tác động của chương trình. Đó là kiểm thử dựa trên các ca kiểm thử xác định bằng sự thực hiện của đối tượng kiểm thử hay chạy các chương trình. Kiểm thử động kiểm tra cách thức hoạt động động của mã lệnh, tức là kiểm tra sự phản ứng vật lý từ hệ thống tới các biến luôn thay đổi theo thời gian. Trong kiểm thử động, phần mềm phải thực sự được biên dịch và chạy. Kiểm thử động thực sự bao gồm làm việc với phần mềm, nhập các giá trị đầu vào và kiểm tra xem liệu đầu ra có như mong muốn hay không. Các phương pháp kiểm thử động gồm có kiểm thử Unit – Unit Tests, Kiểm thử tích hợp – Intergration Tests, Kiểm thử hệ thống – System Tests, và Kiểm thử chấp nhận sản phẩm – Acceptance Tests. 1.1.3 Các chiến lược kiểm thử Ba TRONG SỐ NHỮNG CHIẾN LƯỢC KIỂM THỬ THÔNG DỤNG NHẤT BAO GỒM: KIỂM THỬ HỘP ĐEN, KIỂM THỬ HỘP TRẮNG, VÀ KIỂM THỬ HỘP XÁM. 8 1.1.3.1 Kiểm thử hộp đen – BLACK BOX TESTING Một trong những chiến lược kiểm thử quan trọng là kiểm thử hộp đen, hướng dữ liệu, hay hướng vào/ra. Kiểm thử hộp đen xem chương trình như là một “hộp đen”. MỤC ĐÍCH CỦA BẠN LÀ HOÀN TOÀN KHÔNG QUAN TÂM VỀ CÁCH CƯ XỬ VÀ CẤU TRÚC BÊN TRONG CỦA CHƯƠNG TRÌNH. THAY VÀO ĐÓ, TẬP TRUNG VÀO TÌM CÁC TRƯỜNG HỢP MÀ CHƯƠNG TRÌNH KHÔNG THỰC HIỆN THEO CÁC ĐẶC TẢ CỦA NÓ. THEO HƯỚNG TIẾP CẬN NÀY, DỮ LIỆU KIỂM TRA ĐƯỢC LẤY CHỈ TỪ CÁC ĐẶC TẢ. Các phương pháp kiểm thử HỘP ĐEN • PHÂN LỚP TƯƠNG ĐƯƠNG – EQUIVALENCE PARTITIONING. • PHÂN TÍCH GIÁ TRỊ BIÊN – BOUNDARY VALUE ANALYSIS. • KIỂM THỬ MỌI CẶP – ALL-PAIRS TESTING. • KIỂM THỬ FUZZ – FUZZ TESTING. • KIỂM THỬ DỰA TRÊN MÔ HÌNH – MODEL-BASED TESTING. • Ma TRẬN DẤU VẾT – TRACEABILITY MATRIX. • KIỂM THỬ THĂM DÒ – EXPLORATORY TESTING. • KIỂM THỬ DỰA TRÊN ĐẶC TẢ – SPECIFICATION-BASE TESTING. Kiểm thử dựa trên đặc tả TẬP TRUNG VÀO KIỂM TRA TÍNH THIẾT THỰC CỦA PHẦN MỀM THEO NHỮNG YÊU CẦU THÍCH HỢP. DO ĐÓ, KIỂM THỬ VIÊN NHẬP DỮ LIỆU VÀO, VÀ CHỈ THẤY DỮ LIỆU RA TỪ ĐỐI TƯỢNG KIỂM THỬ. MỨC KIỂM THỬ NÀY THƯỜNG YÊU CẦU CÁC CA KIỂM THỬ TRIỆT ĐỂ ĐƯỢC CUNG CẤP CHO KIỂM THỬ VIÊN MÀ KHI ĐÓ CÓ THỂ XÁC MINH LÀ ĐỐI VỚI DỮ LIỆU ĐẦU VÀO ĐÃ CHO, GIÁ TRỊ ĐẦU RA (HAY CÁCH THỨC HOẠT ĐỘNG) CÓ GIỐNG VỚI GIÁ TRỊ MONG MUỐN ĐÃ ĐƯỢC XÁC ĐỊNH TRONG CA KIỂM THỬ ĐÓ 9 HAY KHÔNG. KIỂM THỬ DỰA TRÊN ĐẶC TẢ LÀ CẦN THIẾT, NHƯNG KHÔNG ĐỦ ĐỂ ĐỂ NGĂN CHẶN NHỮNG RỦI RO CHẮC CHẮN. Ưu, nhược ĐIỂM Kiểm thử HỘP ĐEN KHÔNG CÓ MỐI LIÊN QUAN NÀO TỚI MÃ LỆNH, VÀ KIỂM THỬ VIÊN CHỈ RẤT ĐƠN GIẢN TÂM NIỆM LÀ: MỘT MÃ LỆNH PHẢI CÓ LỖI. SỬ DỤNG NGUYÊN TẮC “ HÃY ĐÒI HỎI VÀ BẠN SẼ ĐƯỢC NHẬN”, NHỮNG KIỂM THỬ VIÊN HỘP ĐEN TÌM RA LỖI MÀ NHỮNG LẬP TRÌNH VIÊN ĐÃ KHÔNG TÌM RA. NHƯNG, MẶT KHÁC, NGƯỜI TA CŨNG NÓI KIỂM THỬ HỘP ĐEN “GIỐNG NHƯ LÀ ĐI TRONG BÓNG TỐI MÀ KHÔNG CÓ ĐÈN VẬY”, BỞI VÌ KIỂM THỬ VIÊN KHÔNG BIẾT CÁC PHẦN MỀM ĐƯỢC KIỂM TRA THỰC SỰ ĐƯỢC XÂY DỰNG NHƯ THẾ NÀO. ĐÓ LÀ LÝ DO MÀ CÓ NHIỀU TRƯỜNG HỢP MÀ MỘT KIỂM THỬ VIÊN HỘP ĐEN VIẾT RẤT NHIỀU CA KIỂM THỬ ĐỂ KIỂM TRA MỘT THỨ GÌ ĐÓ MÀ ĐÁNG LẼ CÓ THỂ CHỈ CẦN KIỂM TRA BẰNG 1 CA KIỂM THỬ DUY NHẤT, VÀ/HOẶC MỘT SỐ PHẦN CỦA CHƯƠNG TRÌNH KHÔNG ĐƯỢC KIỂM TRA CHÚT NÀO. Do vậy, kiểm thử hộp đen có ưu điểm của “một sự đánh giá KHÁCH QUAN”, MẶT KHÁC NÓ LẠI CÓ NHƯỢC ĐIỂM CỦA “THĂM DÒ MÙ”. 1.1.3.2 Kiểm thử hộp trắng – White box testing Là một chiến lược kiểm thử khác, trái ngược hoàn toàn với kiểm thử hộp đen, kiểm thử hộp trắng hay kiểm thử hướng logic cho phép bạn khảo sát cấu trúc bên trong của chương trình. Chiến lược này xuất phát từ dữ liệu kiểm thử bằng sự kiểm thử tính logic của chương trình. Kiểm thử viên sẽ truy cập vào cấu trúc dữ liệu và giải thuật bên trong chương trình (và cả mã lệnh thực hiện chúng). Các phương pháp kiểm thử hộp trắng 10 . ph ơng ph p ki m th ho n chuy n – Mutation testing methods. • Ki m th t nh – Static testing: ki m th hộp trắng bao g m mọi ki m th t nh. Ph ơng ph p ki m. trong ki m th , và các ph ơng ph p ki m th ph n m m tiêu biểu. • Chương 2: Thi t k test – case trong ki m th ph n m m. Trong chương n y, em đi t m

— Xem thêm —

Xem thêm: THIẾT KẾ TEST-CASE TRONG KIỂM THỬ PHẦN MỀM, THIẾT KẾ TEST-CASE TRONG KIỂM THỬ PHẦN MỀM

Lên đầu trang

Tài liệu liên quan

Từ khóa liên quan

Đăng ký

Generate time = 0.17192697525024 s. Memory usage = 17.64 MB