Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
266 KB
Nội dung
0 Giới thiệu Nhóm trình bày Nội dung trình bày Nhóm - Điện tử 10 Pha kiểm thử kĩ thuật thiết kế phần mềm Trình tự trình bày khái niệm kiểm thử ( Phan Trung Kiên) Các phương pháp kiển thử ( Nguyễn M Tiến) Thiết kế trường hợp thử ( Hoàng Việt Anh) Chiến lược kiểm thử ( Tạ Hồng Nam) Khái niệm kiểm thử 1.1 Khái niện kiểm thử 1.2 Những khó khăn kiểm thử 1.3 Một số ý 1.1 Khái niện kiểm thử Là pha quan trọng trình phát triển hệ thống giúp cho người xây dựng hệ thống khác hàng thấy hệ thống thảo mãn yêu cầu đề chưa Là tiến trình nhằm phát lỗi việc xem xét lại đặc tả, thiết kế mã hoá Kiểm thử thành công phát lỗi: kiểm thử không phát lỗi kiểm thử dở 1.1 Khái niện kiểm thử Sơ đồ kiểm thử: Trường hợp kiểm thử Thiết kế trường hợp kiểm thử liệu kiểm thử Chuẩn bị kiệu kiểm thử Báo cáo kiểm thử Kết kiểm thử Chạy trương trình với kiệu kiểm thử So sánh kết với trường hợp kiểm thử 1.2 Những khó khăn kiểm thử Nâng cao chất lượng phần mềm không vượt chất lượng thiết kế phát lỗi tiềm tàng sửa chúng Phát lỗi bị hạn chế thủ công Dễ bị ảnh hưởng tâm lý kiểm thủ Khó đảm bảo tính đầu đủ kiểm thử 1.3 Một số ý Chất lượng phần mềm khâu thiết kế định chủ yếu, khâu kiểm thử Tính dễ kiểm thử phụ thuộc vào cấu trúc chương trình Người kiểm thử người phát triển nên khác Dữ liệu kiểm thử phải phát lỗi có tác dụng Khi phát sinh thêm trưòng hợp thử nên thử lại truờng hợp thử trước để tránh ảnh hưởng lan truyền sóng Các phương pháp thử 2.1 Thử tĩnh 2.2 Thử động 2.1 Thử tĩnh Khái niệm Phương pháp thử phần mềm thông qua việc sử dụng giấy, bút bàn để kiểm tra logic, lần chi tiết sau lập trình xong Chủ yếu kiểm tra mã, tài liệu đặc tả Các phương pháp thử tĩnh Thanh tra Duyệt 2.1.1 Thanh tra Khái niệm Phương pháp kiểm tra ngang hàng sản phẩm phần mềm thực người nghiên cứu riêng lẻ để tìm lỗi tiến trình chuẩn cho trước Một tra bao gồm: Đặc tả phần mềm Kế hoạch tra Sản phẩm phần mềm Điều phối viên Thanh tra viên Tác giả phần mềm 2.1.1 Thanh tra Tiến trình tra: Lên kế hoạch Gặp gỡ trước Chuẩn bị Gặp gỡ tra Gia công lại Bám sát Chú ý: khâu 3,4,5 thực lặp lại 4.3.1 Kiểm thử lên VD: A B F C D Nhóm chức K G E H I 4.3.1 Kiểm thử lên Kiểm thử lên có số ưu điểm: Tránh phải tạo stub phức tạp hay tạo kết nhân tạo Thuận tiện cho phát triển mô đun thứ cấp dùng lại Nhược điểm phương pháp bottom-up: Phát chậm lỗi thiết kế Chậm có phiên thực hệ thống 4.3.2 Kiểm thử xuống Kiểm thử xuống tiến hành kiểm thử với mô đun mức cao trước, mô đun mức thấp tạm thời phát triển với chức hạn chế Thông thường, để sớm có phiên thực người ta thường tích hợp theo nhánh mô đun cấp thấp 4.3.2 Kiểm thử xuống VD: A B C D E F G 4.3.2 Kiểm thử xuống Ưu điểm kiểm thử xuống Nhược điểm kiểm thử xuống Phát sớm lỗi thiết kế Có phiên hoạt động sớm Khó mô chức mô đun cấp thấp phức tạp Không kiểm thử đầy đủ chức Trên thực tế người ta thường tìm cách phối hợp hai chiến lược này, gọi sandwich testing 4.3.3 Kiểm thử hồi qui Là tiến hành lại phép thử thành công tích hợp thêm mô đun cập nhật mã nguồn chương trình 4.3.3 Kiểm thử hồi qui Khi tích hợp thêm mô đun vào hệ thống tiến hành nâng cấp chương trình tạo số tổ hợp trạng thái dẫn đến: Xuất lỗi mô đun trước chưa gây lỗi Khắc phục lỗi làm ảnh hưởng tới lỗi sửa Sinh lỗi mà trước chưa có 4.4 Kiểm thử hệ thống Kiểm thử khả hoạt động hệ thống Kiểm tra vấn đề hiệu hệ thống, khả phục hồi gặp cố, … 4.4 Kiểm thử hệ thống Một số dạng kiểm thử hệ thống Kiểm thử phục hồi (recovery testing) Kiểm thử gây áp lực (stress testing) Kiểm thử hiệu suất (performance testing) 4.4.1 Kiểm thử phục hồi Là kiểm thử tiến hành nhằm làm hệ thống ngừng hoạt động đánh giá khả phục hồi sau Với hệ thống có khả phục hồi tự động, cần đánh giá công đoạn tái thiết lập thông số, khả khôi phục liệu tái khởi động Với trường hợp đòi hỏi khởi động lại thủ công, cần đánh giá thời gian ngừng để sửa chữa (MTTR – Mean Time To Repair) số trường hợp đánh giá chi phí cho việc khôi phục 4.4.2 Kiểm thử gây áp lực Đây loại (bước) kiểm thử tiến hành có phiên làm việc, nhằm tìm hiểu hoạt động hệ thống trường hợp tải trọng lớn (dữ liệu lớn, số người sử dụng lớn, tài nguyên hạn chế ) 4.4.2 Kiểm thử gây áp lực Mục đích kiểm thử áp lực là: Tìm hiểu giới hạn chịu tải hệ thống Tìm hiểu đặc trưng hệ thống đạt vượt giới hạn chịu tải (khi bị sụp đổ) Ngoài kiểm thử áp lực nhằm xác định trạng thái đặc biệt tổ hợp số điều kiện dẫn đến sụp đổ hệ thống; tính an toàn liệu, dịch vụ hệ thống sụp đổ 4.4.3 Kiểm thử hiệu suất Kiểm thử hiệu suất (performance testing) thiết kế để đánh giá hiệu suất hoạt động phần mềm ngữ cảnh cho trước, thông thường môi trường tích hợp phần mềm phần cứng cụ thể Được tiến hành tất công đoạn kiểm thử 4.4.3 Kiểm thử hiệu suất Kiểm thử hiệu suất liên quan chặt chẽ đến ngữ cảnh sử dụng bao gồm phần mềm khác (hệ điều hành, CSDL,…) môi trường phần cứng (CPU, nhớ, mạng) Kiểm thử hiệu suất thường tiến hành với kiểm thử áp lực 4.5 Kiểm thử big bang Kiểm thử big bang (big bang testing) chiến lược kiểm thử hệ thống tiến hành lần phát triển toàn mô đun tích hợp thành phần mềm hoàn chỉnh Phương pháp thường tiến hành phát triển phần mềm có kích thước nhỏ [...]... để kiểm thử tất cả 3.3.2 Kiểm thử hộp đen 1 2 3 Kiểm thử hộp đen bao gồm: Phân vùng tương đương Phân tích giá trị biên Kỹ thuạt Cause-Effed Graphing 4 Chiến lược kiểm thử 4.1 Các công đoạn kiểm thử 4.2 Kiểm thử Mô đun 4.3 Kiểm thử tích hợp 4.4 Kiểm thử hệ thống 4.5 Kiểm thử big bang 4.1 Các công đoạn kiểm thử Quá trình kiểm thử có thể chia làm các giai đoạn : Kiểm thử mô đun Kiểm thử. .. trắng Kiểm thử cấu trúc điều khiển 1 Kiểm thử các biểu thức điều kiện 2 Kiểm thử luồng dữ liệu(DTF) 3 Kiểm thử vòng lặp 3.3.1 Kiểm thử hộp trắng Kiểm thử cấu trúc điều khiển nhất 1 lần không quan tâm đến ảnh hưởng lên các đường quyết định 3.3.2 Kiểm thử hộp đen Mục đích của kiểm thử hộp đen là Bổ xung cho phương pháp kiểm thử hộp trắng để phát hiện ra tất cả các lỗi khác nhau mà kiểm thử hộp... mô đun Kiểm thử tích hợp Kiểm thử hệ con Kiểm thử hệ thống Kiểm thử big bang Kiểm thử nghiệm thu Kiểm thử Alpha Kiểm thử Beta 4.2 Kiểm thử mô đun Kiểm tra một đơn vị thiết kế nhỏ nhất – một mô đun – của phần mềm Người tiến hành kiểm thử thông thường là người lập trình mô đun đó hoặc lập trình viên cùng nhóm Các mô đun thứ cấp của mô đun được kiểm thử nếu chưa được phát triển sẽ... Kiểm thử hộp trắng(White box) 3.3.2 Kiểm thử hộp đen (Black Box) 3.3.3 Kiểm thử Top-Down, Botton-up 3.3.1 Kiểm thử hộp trắng Khái niệm: Kiểm thử hộp trắng là kiểm tra cấu trúc và logic phần mềm theo mục tiêu(Trong trường hợp này yêu cầu người kiểm thử phải biết ngôn ngữ lập trình) Kiểm tra trạng thái của chương trình tại nhiều điểm của chương trình 3.3.1 Kiểm thử hộp trắng Tiến trình: Kiểm. .. thử hộp trắng Tiến trình: Kiểm thử đường diễn tiến của chương trình Kiểm thử cấu trúc điều khiển 3.3.1 Kiểm thử hộp trắng Kiểm thử đường diễn tiến của chương trình Khái niêm: Là việc thiết kế các trường hợp kiểm thử trên từng câu lệnh trong chương trình được sẽ được thực hiện ít nhất 1 lần không quan tâm đến ảnh hưởng lên các đường quyết định 3.3.1 Kiểm thử hộp trắng Các bước tiến hành:... 3.3.1 Kiểm thử hộp trắng i++; ) if( totalvalid > 0 ){ average = sum/totalvalid } else{ average = -999 3.3.1 Kiểm thử hộp trắng 1 Node Edge 2 3 R2 4 R6 R5 5 10 12 R3 R1 6 11 13 8 R4 7 9 3.3.1 Kiểm thử hộp trắng Có 6 đường kiểm thử: Đường 1 : 1-2-10-11-13 Đường 2 : 1-2-10-12-13 Đường 3 : 1-2-3-10-11-13 Đường 4 : 1-2-3-4-5-8-9-2 Đường 5 : 1-2-3-4-5-6-8-9-2 Đường 6 : 1-2-3-4-5-6-7-8-9-2 3.3.1 Kiểm thử. .. quả Xác nhận kết quả Lặp lại thao tác từ 5-8 2.2 Thử động Các phương pháp thử động: Thử nghiệm khuyết tật Thử nghiệm thống kê 2.2.1 Thử nghiệm khuyết tật Khái niệm: Phương pháp thử để tìm ra khuyết tật của phần mềm chủ yếu là lỗi lập trình Các loại thử nghiệm khuyết tật Thử nghiệm chức năng Thử nghiệm cấu trúc 3.Thiết kế trường hợp thử 3.1 Khái niệm 3.2 Vai trò 3.3 Tiến trình... thúc, đánh giá 2.2 Thử động Khái niệm 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ừng động tác của chương trình Tiến trình thử động: Thiết kế trường hợp thử theo thử tĩnh Trường hợp thử có kết quả kì vọng Dịch chương trình nguồn và tạo modul tải để thử Xác định miền vào ra của tệp nếu cần thiết Nhập dữ liệu cho truờng hợp thử Điều chỉnh... thiết kế 3.1 Khái niệm Quá trình thiết kế trường hợp thử là quá trình xây dựng các phương pháp kiểm thử có thể phát hiện lổi ,sai sót khiếm khuyết của phần mềm để xây dựng một phần mềm đạt tiêu chuẩn 3.2 Vai trò Tạo ra các trường hợp kiểm thử tốt nhất có khả năng phát hiện ra lỗi, sai sót của phần mềm một cách nhiều nhất Tạo ra các trường hợp kiểm thử có chi phí rẽ nhất đồng thời tốn ít thời gian... đồ thị xác định tập đường độc lập tuyến tính lẫn nhau Xây dựng trường hợp kiểm thử dựa trên tập đường xác định ở trên 3.3.1 Kiểm thử hộp trắng Ví dụ: xét thủ tục average Int average( ) {int value[100]; int average,totalinput, totalvalid, minimum, maximum, sum; int i; i=0; totalinput = totalvalid =0; sum = 0; 3.3.1 Kiểm thử hộp trắng while( value[i]-999 and totalinput