Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
1,99 MB
Nội dung
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THÙY DƢƠNG CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM NHÚNG VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN Hà Nội – 2014 TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THÙY DƢƠNG CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM NHÚNG VÀ ỨNG DỤNG thut phn mm : 60480103 LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN NGỌC BÌNH Hà Nội – 2014 1 LỜI CẢM ƠN - nh trong . xin , , Hà Nội, tháng 10 năm 2014 2 LỜI CAM ĐOAN Người viết cam đoan 3 MỤC LỤC LỜI CẢM ƠN 1 LỜI CAM ĐOAN 2 MỤC LỤC 3 DANH SÁCH CÁC BẢNG 5 DANH SÁCH CÁC HÌNH 6 MỞ ĐẦU 7 CHƢƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 8 1.1 Khái niệm kiểm thử phần mềm (Software Testing) 8 1.2 Mục đích của kiểm thử phần mềm 8 1.3 Quy trình kiểm thử phần mềm cơ bản 8 8 9 9 1.3.3.1 Lập kế hoạch kiểm thử 9 1.3.3.2 Thiết kế kiểm thử 10 1.3.3.3 Phát triển kịch bản kiểm thử 11 1.3.3.4 Thực hiện kiểm thử 11 1.3.3.5 Đánh giá quá trình kiểm thử 12 1.4 Các mức kiểm thử phần mềm 12 13 13 14 15 16 1.5 Một số chiến lƣợc kiểm thử 16 1.-box Testing) 16 -box Testing) 17 17 CHƢƠNG 2: CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM NHÚNG 18 2.1 Tổng quan về hệ thống nhúng và phần mềm nhúng 18 18 19 2.2 Vòng đời phát triển phần mềm nhúng 20 20 -model) 20 24 2.2.3.1 Các thành phần của kế hoạch kiểm thử tổng thể 24 2.2.3.2 Hoạt động lập kế hoạch kiểm thử tổng thể 25 28 28 4 2.3 Các kỹ thuật kiểm thử phần mềm nhúng 28 -base test strategy) 28 2.3.1.1 Giới thiệu 28 2.3.1.2 Chiến lược kiểm thử trong lập kế hoạch kiểm thử tổng thể 30 2.3.1.3 Chiến lược kiểm thử cho một mức thử 30 2.3.1.4 Chiến lược thay đổi trong quá trình thử nghiệm 31 2.3.1.5 Chiến lược kiểm tra bảo trì 32 32 2.3.2.1 Giới thiệu 32 2.3.2.2 Thủ tục 32 2.3.3 Thanh tra (Inspections) 33 2.3.3.1 Giới thiệu 33 2.3.3.2 Thủ tục 33 34 2.3.4.1 Giới thiệu 34 2.3.4.2 Các kỹ thuật phân tích an toàn 34 2.3.5 35 35 2.3.6.1 Kiểm thử sự chuyển tiếp trạng thái (State Transition Testing – STT) 36 2.3.6.2 Kiểm thử điều khiển luồng (Control Flow Test) 37 2.3.6.3 Kiểm thử so sánh cơ bản (Elementary Comparison Test – ECT)38 2.3.6.4 Phương pháp phân loại cây (Classification-Tree Method – kCTM)38 2.4 So sánh các kỹ thuật kiểm thử phần mềm nhúng với kiểm thửphần mềm nói chung 39 CHƢƠNG 3: THỰC NGHIỆM 41 3.1 Một số công cụ đƣợc dùng trong kiểm thử phần mềm nhúng 41 41 42 re Debug) 43 3.2Tổng quan về mạch MKL46Z256 và phần mềm điều khiển chuẩn (Standard Software Driver - SSD) 44 44 - (Standar Software Driver SSD) 45 46 3.3 Thiết lập môi trƣờng kiểm thử 50 3.4 Demo chƣơng trình 51 3.5 Kết quả thực hiện chƣơng trình kiểm thử 53 KẾT LUẬN 54 PHỤ LỤC 55 Phụ lục A: Tài liệu thiết kế chi tiết của phần mềm SSD 55 Phụ lục B: Danh sách test case của từng hàm trong phần mềm SSD 68 TÀI LIỆU THAM KHẢO 72 5 DANH SÁCH CÁC BẢNG lashCommandSequence() 55 57 58 lock() 60 61 63 65 67 otection() 68 6 DANH SÁCH CÁC HÌNH 9 9 13 15 17 17 19 21 22 h 22 23 23 30 . 34 37 41 42 43 44 45 47 51 51 52 FlashProgramLongword 52 53 56 57 59 60 62 64 66 67 68 7 MỞ ĐẦU - 7 - ng quan v kim th phn mm - thut kim th phn m - c nghim kim th phn m u khin chun cho - flash ca mch MKL46Z256. 8 CHƢƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM k 1.1 Khái niệm kiểm thử phần mềm (Software Testing) [4] : - 1.2 Mục đích của kiểm thử phần mềm 1.3 Quy trình kiểm thử phần mềm cơ bản Test Case) Test Script). 1.3.1 Tình huống kiểm thử (Test Case) Khi . . [...]... ứng dụng phải sử dụng nhiều chiến lược để phát hiện được hết lỗi 18 CHƢƠNG 2: CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM NHÚNG Chương này tôi tập trung nghiên cứu các kỹ thuật kiểm thử phần mềm nhúng, sau đó có sự so sánh đánh giá các kỹ thuật kiểm thử phần mềm nhúng với kiểm thử phần mềm nói chung 2.1 Tổng quan về hệ thống nhúng và phần mềm nhúng 2.1.1 Hệ thống nhúng Hệ thống nhúng (Embedded system) là một thuật. .. lượng kiểm thử viên cho dự án cần kiểm thử Kết quả của bước lập kế hoạch kiểm thử là bản tài liệu về kế hoạch kiểm thử phần mềm Bản kế hoạch này có thể coi là bản kếhoạch chính trong đó có tất cả các kế hoạch chi tiết cho các mức kiểm thửnhư kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống, kiểm thử chấp nhận … và các chiến lượng kiểm thửnhư kiểm thử hộp đen, kiểm thử hộp trắng, kiểm thử hộp xám... lược kiểm thử: Chỉ rõ chiến lược sử dụng để thực hiện kiểm thử phần mềm, các kỹ thuật thiết kế tình huống kiểm thử, các công cụ hỗ trợ kiểm thử nếu có Các phương pháp đánh giá chất lượng kiểm thử cũng như điều kiện để xác định thời gian kiểm thử Xác định nhân lực, vật lực: Xác định số lượng kiểm thử viên cần thiết dựa vào kỹ năng, kinh nghiệm của kiểm thử viên Chỉ rõ các yêu cầu về phần cứng, phần mềm, ... kiểm thử tự động 1.3.3 Quy trình kiểm thử phần mềm Những hành động chính trong quy trình kiểm thử phần mềm gồm: Thực hiện kiểm thử Lập kế hoạch Thiết kế kiểm thử Phát triển kịch bản kiểm thử Đánh giá Hình 1 1: Một quy trình kiểm thử phần mềm cơ bản 1.3.3.1 Lập kế hoạch kiểm thử Lập kế hoạch kiểm thử là để chỉ ra các loại kiểm thử, chiến lược kiểm thử thậm chí là cả thời gian và xác định lực lượng kiểm. .. Việc kiểm thử phần mềm nhúng cũng có các đặcđiểm tương tự như kiểm thử phần mềm nói chung, ngoài ra do đặc trưng của hệ thống nhúng rất đa dạng về môi trường phát triển, đa dạng về kiến trúc phần cứng cũng như kiến trúc phần mềm nên kiểm thử cho phần mềm nhúng có một số đặc trưng riêng Trong luận văn này sẽ trình bày một số kỹ thuật kiểm thử phần mềm nhúng hay được dùng 2.2 Vòng đời phát triển phần mềm. .. xét và khảo sát độ bao phủ của việc kiểm thử: mô tả các chỉ số và cách thức xác định việc kiểm thử đã hoàn thành hay chưa, bao nhiêu phần trăm phần mềm đã được kiểm thử Để xác định được điều này có hai phương pháp: căn cứ trên yêu cầu của phần mềm hoặc căn cứ trên số lượng tình huống kiểm thử và mã nguồn đã viết Xem xét tình huống kiểm thử và các bước kiểm thử: Nhằm đảm bảo các tình huống kiểm thử và. .. sử dụng khi thực hiện kiểm thử tự động Xem xét và khảo sát độ bao phủ của việc kiểm thử: Bảo đảm các kịch bản kiểm thử được tạo ra bao phủ toàn bộ các bước kiểm thử theo yêu cầu 1.3.3.4 Thực hiện kiểm thử Thực hiện các bước kiểm thử đã thiết kế (hoặc thi hành các kịch bản kiểm thử nếu tiến hành tự động) và ghi nhận kết quả Các bước thực hiện kiểm thử: Thực hiện các bước kiểm thử: Thao tácđầu tiên... xây dựng mộttậpcáckiểm thửbằng cáchsử dụng cáckỹ thuậtthiết kế thử nghiệmđược phân bổ Giai đoạn thi công: thực thi lệnh kiểm tra theo quy định để thu được kết quả về chất lượng của đối tượng kiểm tra Giai đoạn hoàn thành: lưu trữ các phần mềm, hoàn thiện các báo cáo, đánh giá tích luỹ kinh nghiệm chocác phần mềm kiểm thử trong tương lai 2.3 Các kỹ thuật kiểm thử phần mềm nhúng 2.3.1 Chiến lƣợc... biết được các lỗi xảy ra không phải do phần mềm mà do dữ liệu dùng để kiểm thử, môi trường kiểm thử hoặc do các bước kiểm thử gây ra Nếu thực sự lỗi xảy ra do quá trình kiểm thử cần phải sửa chữa và kiểm thử lại từ đầu 1.3.3.5 Đánh giá quá trình kiểm thử Đánh giá toàn bộ quá trình kiểm thử, bao gồm xem xét và đánh giá kết quả kiểm thử, liệtkê lỗi, chỉ định các yêu cầu thay đổi và tính toán các số liệu... ánh đúng các yêu cầu cần kiểm thử, độ bao phủ đạt yêu cầu cũng như để phát hiện và sửa chữa các sai sót 1.3.3.3 Phát triển kịch bản kiểm thử Việc phát triển các kịch bản kiểm thử giúp tự động hóa việc thực thi các bước kiểm thử đã định nghĩa ở bước thiết kế kiểm thử Bước này thường không bắt buộc trong các loại và các mức kiểm thử Các bước phát triển kịch bản kiểm thử: Tạo kịch bản kiểm thử: Làm . kCTM)38 2.4 So sánh các kỹ thuật kiểm thử phần mềm nhúng với kiểm th phần mềm nói chung 39 CHƢƠNG 3: THỰC NGHIỆM 41 3.1 Một số công cụ đƣợc dùng trong kiểm thử phần mềm nhúng 41 . DANH SÁCH CÁC BẢNG 5 DANH SÁCH CÁC HÌNH 6 MỞ ĐẦU 7 CHƢƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 8 1.1 Khái niệm kiểm thử phần mềm (Software Testing) 8 1.2 Mục đích của kiểm thử phần mềm 8 1.3. 9 1.3.3.2 Thiết kế kiểm thử 10 1.3.3.3 Phát triển kịch bản kiểm thử 11 1.3.3.4 Thực hiện kiểm thử 11 1.3.3.5 Đánh giá quá trình kiểm thử 12 1.4 Các mức kiểm thử phần mềm 12