Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
471 KB
Nội dung
KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM Chương KIỂM THỬ TRONG VÒNG ĐỜI PHÁT TRIỂN PHẦN MỀM Các nguyên lý Vòng đời Kỹ thuật kiểm thử Kiểm thử chức Kiểm thử cấu trúc Quản lý chất lượng Vòng đời Kiểm thử phần mềm Nội dung Vòng đời kiểm thử 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òng đời kiểm thử phần mềm Vòng đời kiểm thử phần mềm… ■ Quá trình sửa lỗi bao gồm - Phân loại lỗi, lập lỗi tìm nguyên nhân nơi gây lỗi - Đưa giải pháp sửa lỗi - Khắc phục lỗi Phân loại kiểm thử ■ Theo mức độ chi tiết - Kiểm thử đơn vị - Kiểm thử hệ thống - Kiểm thử tích hợp ■ Dựa phương pháp thử nghiệm (thường dùng mức kiểm thử đơn vị) - Kiểm thử hộp đen kiểm tra chức - Kiểm thử hộp trắng kiểm tra cấu trúc Kiểm thử hộp đen • • • Còn gọi kiểm thử hàm, kiểm thử chức Tập trung vào hành vi vào/ra Với đầu vào biết đốn/tính đầu ra, kiểm tra chương trình có tạo kết ta đốn/tính – Không thể kiểm thử hết liệu đầu vào Bài toán đặt giảm số lượng ca kiểm thử việc chia không gian đầu vào thành miền tương đương – Sau chọn ca kiểm thử từ miền tương đương Kiểm thử hộp trắng ■ ■ ■ ■ ■ ■ Còn gọi kiểm thử cấu trúc, kiểm thử logic Các tiêu chuẩn bao phủ Lệnh - Mọi lệnh thử Vòng lặp - 0, 1, >1 lần Đường - Tất khả chạy chương trình Nhánh (if, while, ) - Biểu thức điều kiện thử với True False • Các nhánh chạy lần • So sánh kiểm thử hộp trắng hộp đen ■ ■ Hộp trắng - Số đường nhiều vô hạn - Kiểm tra làm, khơng phải cần làm - Khơng phát ca kiểm thử cịn thiếu - thích hợp cho kiểm thử hệ thống tích hợp Hộp đen - Dễ bùng nổ tổ hợp số ca kiểm thử (dữ liệu liệu sai) - Thường không ca kiểm thử có phát lỗi cụ thể hay khơng - Thích hợp cho kiểm thử đơn vị tích hợp ■ ■ ■ ■ Cần hai Kiểm thử hộp trắng hộp đen hai thái cực kiểm thử Việc lựa chọn ca kiểm thử nằm phụ thuộc vào - Số đường logic - Tính chất liệu đầu vào - Khối lượng tính tốn - Độ phức tạp cấu trúc liệu giải thuật Hai kỹ thuật bổ sung cho • Mơ hình chữ V Vịng đời Kiểm thử phần mềm Nội dung Vòng đời kiểm thử 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 10 Vòng đời Kiểm thử phần mềm Nội dung Vòng đời kiểm thử 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 13 Kiểm thử tích hợp ■ ■ Phát vấn đề ghép đơn vị, mô-đun/thành phần với nhau, sau thực kiểm thử đơn vị Các vấn đề ghép nối – Bên trong: thành phần( Gọi: call/message passing/…); Tham số( kiểu, số lượng, thứ tự, giá trị); Kết trả (ai, kiểu, trình tự) – Bên ngồi: Ngắt (wrong handler?); Thời gian vào - Tương tác ■ ■ ■ Sử dụng kỹ thuật hộp đen Một số trường hợp sử dụng kỹ thuật hộp trắng chi phí cao, khó khăn Dữ liệu thử tạo dựa thiết kế tổng thể 14 Tích hợp Big-Bang ■ Lý thuyết: - Nếu có thành phần kiểm thử không kết nối chúng với lúc? Điều tiếp kiệm thời gian không? ■ Thực hiện: - Mất nhiều thời gian để định vị lỗi sửa lỗi - Tái kiểm thử sau sửa lỗi có phổ rộng - Kết cuối cùng? Mất nhiều thời gian 15 Tích hợp gia tăng ■ ■ ■ ■ Baseline 0: tested component Baseline 1: two components Baseline 2: three components, etc Thuận lợi: - Vị trí lỗi dễ định vị sửa chữa - Khôi phục dễ sau vấn đề biến động xấu - Giao tiếp nên kiểm thử kiểm thử thành phần, NHƯNG… - Thêm vào đường sở kiểm thử 16 Tích hợp Top-Down ■ Baselines: - ■ ■ a baseline 0: component a baseline 1: a + b baseline 2: a + b + c baseline 3: a + b + c + d etc b d e Cần gọi tới thành phần mức thấp h i j chưa tích hợp Stubs: mơ tả thành phần cịn thiếu n c f k g l m o 17 Tích hợp Bottom-up ■ Baselines: - ■ ■ a baseline 0: component n baseline 1: n + i baseline 2: n + i + o baseline 3: n + i + o + d etc Cần trình điều kiển để gọi cấu hình đường sở Cũng cần stub cho vài đường sở b c d h e i n j f k g l m o 18 Tích hợp khả tối thiểu ■ a Baselines: - baseline 0: component a baseline 1: a + b baseline 2: a + b + d baseline 3: a + b + d + i etc Cần stubs h ■ Khơng nên cần trình điều khiển (nếu top-down) b c d e f g ■ i n j k l m o 19 Tích hợp tiểu trình (thread) Thứ tục xử lý vài kiện định thứ tự tích a hợp ■ Ngắt, giao dịch người dùng b c ■ Khả tối thiểu hóa thời gian d e f g ■ Thuận lợi: ■ - Tiến trình xử lý trước h - Cảnh báo sớm vấn đề thực ■ i j k l m Bất lợi: n phức o tạp - Có thể cần module giả lập trình điều khiển 20 Hướng dẫn tích hợp ■ ■ ■ ■ ■ Hạn chế tối đa phần mềm hỗ trợ cần đến Mỗi thành phần tích hợp lần Mỗi đường sở nên tạo kết có khả xác minh dễ dàng Tích hợp số lượng nhỏ thành phần lần tích hợp Mỗi thành phần quan trọng cho lần tích hợp - Kết hợp thành phần liên quan đơn giản 21 Kế hoạch tích hợp ■ ■ Tích hợp nên lên kế hoạch pha thiết kế kiến trúc Thứ tự tích hợp sau định thứ tự xây dựng - Các thành phần hoàn tất thời gian đường sở chúng - Phát triển thành phần kiểm thử tích hợp thực song song để tiết kiệm thời gian 22 Vòng đời Kiểm thử phần mềm Nội dung Vòng đời kiểm thử 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 23 Kiểm thử hệ thống ■ ■ ■ ■ Mục đích kiểm nghiệm hệ thống để đảm bảo toàn bộhệthống hoạt động ý mà khách hàng mong muốn Dựa vào yêu cầu người dùng để kiểm thử Chỉ sử dụng kỹ thuật hộp đen Nên thực môi trường phần mềm thực 24 Kiểm thử hệ thống bao gồm loạt kiểm thử ■ ■ ■ ■ ■ ■ ■ ■ ■ Kiểm thử chức (function testing) Kiểm thử hiệu suất (performance testing) Kiểm thử mức độ đáp ứng (stress testing) Kiểm thử tải(overload testing) Kiểm thử cấu hình (configuration testing) Kiểm thử ổn định (robustness testing) Kiểm thử hồi phục (recovery testing) Kiểm thử chất lượng (quality testing) Kiểm thử cài đặt (installation testing) 25