Software Testing and Quality Assurance - Lecture 8: System Integration Testing - Đào Nam Anh

►System Integration Testing Kiểm thử tích hợp ►Incremental ►Top-down ►Bottom-up ►Big Bang ►Sanwich System Integration Testing Kiểm thử tích hợp: ► Ghép dần các module với nhau ► Đảm bảo các module kiên kết với nhau theo yêu cầu System Integration Testing Kiểm thử tích hợp: Kiểm thử tích hợp các unit • Người tiến hành: người lập trình, người thiết kế... • Các unit được thêm vào theo một trong 2 chiến lược top-down hoặc bottom-up • Mục đích:  Kiểm tra giao diện giữa các unit  Kiểm tra tính đúng đắn so với đặc tả  Kiểm tra tính hiệu quả • Thường sử dụng kiểm thử chức năng • Được lập tài liệu

pdf21 trang | Chia sẻ: candy98 | Lượt xem: 373 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Software Testing and Quality Assurance - Lecture 8: System Integration Testing - Đào Nam Anh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Software Testing and Quality Assurance System Integration Testing Dr. Dao Nam Anh Faculty of Information Technology University of Technology and Management 2Resources ► Pressman, Software Engineering, McGraw Hill (chapter 18 & 19) ► Sommerville, Software Engineering, Addison-Wesley (chapter 22 & 23) ► Software Testing and QA Theory and Practics, Chapter 7, WILEY Publish ► Foundations Of Software Testing, Istqb Certification, Dorothy Graham, Erik Van Veenendaal, Isabel Evans, Rex Black ► Jovanović, Irena, Software Testing Methods and Techniques ► Lâm Quang Vũ, 3Nội dung ►System Integration Testing Kiểm thử tích hợp ►Incremental ►Top-down ►Bottom-up ►Big Bang ►Sanwich 4System Integration Testing Kiểm thử tích hợp: ►Ghép dần các module với nhau ►Đảm bảo các module kiên kết với nhau theo yêu cầu 5System Integration Testing Kiểm thử tích hợp: Kiểm thử tích hợp các unit • Người tiến hành: người lập trình, người thiết kế... • Các unit được thêm vào theo một trong 2 chiến lược top-down hoặc bottom-up • Mục đích:  Kiểm tra giao diện giữa các unit  Kiểm tra tính đúng đắn so với đặc tả  Kiểm tra tính hiệu quả • Thường sử dụng kiểm thử chức năng • Được lập tài liệu 6System Integration Testing Các loại kỹ thuật: ►Incremental ►Top-down ►Bottom-up ►Big Bang ►Sanwich 7System Integration Testing Stubs and Drivers: 8System Integration Testing Incremental: ►Bắt đầu test từ một nhóm nhỏ các module ►Tăng dần số lượng module liên kết trong test 9System Integration Testing Incremental: 10 System Integration Testing Top-down: 1. Vẽ sơ đồ cấu trúc các module 2. Module A được test với module B, với các giá trị giả định của C và D 3. Test tiếp A-B-D, với giá trị giả định của C 11 System Integration Testing Top-down: ► Các mô đun mức trên được kiểm thử trước ► Các mô đun thuộc cấp được thay bằng bằng các mô đun tạm thời (stub function)  Có cùng tên với mô đun thật  Có cùng giao diện  Trả lại kết quả với một hoặc một vài bộ dữ liệu chuẩn 12 System Integration Testing Top-down: 4. A-B-D-C / E’F’G’ 5. A-B-D-C-E / F’G’ 6. A-B-D-C-E-F / F’ 13 System Integration Testing Top-down: Ưu điểm: ► Phát hiện sớm các lỗi thiết kế (lỗi cấu trúc) ► Kiểm thử trên xuống kết hợp với phát triển trên xuống sẽ giúp phát hiện sớm các lỗi thiết kế và làm giảm giá thành sửa đổi ► Có phiên bản thực hiện được sớm  Phiên bản thực hiện với các chức năng chính có sớm  Có thể thẩm định tính dùng được của sản phẩm sớm 14 System Integration Testing Top-down: Nhược điểm Nhiều mô đun cấp thấp rất khó mô phỏng - Thao tác với cấu trúc dữ liệu phức tạp - Trả lại kết quả phức tạp (con trỏ, ảnh, ...) 15 System Integration Testing Bottom-up: ►Các mô đun cấp thấp được kiểm thử trước ►Mô đun mức trên được thay thế bằng mô đun điều khiển (test driver), có chức năng ► Gọi mô đun cần thử nghiệm ► Truyền dữ liệu ► Hiển thị kết quả ►Thay thế dần các drive 16 System Integration Testing Bottom-up: 1. E - F - G 2. E-F-G-C-B-D 17 System Integration Testing Bottom-up: Ưu điểm ► Tránh xây dựng các mô đun tạm thời (stub) phức tạp ► Tránh sinh các kết quả nhân tạo (nhập từ bàn phím) ► Thuận tiện cho phát triển các mô đun để dùng lại Nhược điểm ► Chậm phát hiện các lỗi kiến trúc ► Chậm có phiên bản thực hiện 18 System Integration Testing Top down vs. Bottom up: ►Mỗi chiến lược đều có ưu nhược điểm riêng ►Chiến lược kiểm thử phải phù hợp với chiến lược phát triển ►Phát triển top-down = top-down testing ►Phát triển bottom-up = bottom-up testing ►Có thể phối hợp các chiến lược: Sandwich testing 19 System Integration Testing Big-Bang : 1. Đầu tiên tất cả các mô-đun cá nhân thử nghiệm 2. Tiếp theo, tất cả những mô-đun được đặt lại với nhau để xây dựng toàn bộ hệ thống, được thử nghiệm như một toàn bộ hệ thống 20 System Integration Testing Sandwich: ► Trong phương pháp này, một hệ thống được tích hợp bằng cách kết hợp của từ trên xuống, từ dưới lên, và big-bang ► Một hệ thống thứ bậc được xem như là bao gồm ba lớp 1. Cách tiếp cận từ dưới lên được áp dụng để tích hợp các mô-đun trong các lớp phía dưới 2. Các mô-đun lớp hàng đầu được tích hợp bằng cách sử dụng phương pháp tiếp cận từ trên xuống 3. Các lớp trung được tích hợp bằng big-bang sau khi phía trên và các lớp phía dưới đã được tích hợp 21 Q & A