Software Testing and Quality Assurance
System Integration Testing Dr. Dao Nam Anh Faculty of Information Technology University of Technology and Management 1
Resources ► ► ► ►
► ►
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ũ, http://www.softwaretestingmentor.com 2
Nội dung ► System
Integration Testing Kiểm thử tích hợp ► Incremental ► Top-down ► Bottom-up ► Big Bang ► Sanwich 3
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
4
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
5
System Integration Testing Các loại kỹ thuật: ► Incremental ► Top-down ► Bottom-up ► Big
Bang ► Sanwich
6
System Integration Testing Stubs and Drivers:
7
System 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
8
System Integration Testing Incremental:
9
System Integration Testing Top-down: down 1.
Vẽ sơ đồ cấu trúc các module
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 2.
10
System Integration Testing Top-down: 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 11
System Integration Testing Top-down: down 4.
A-B-D-C / E’F’G’
A - B - D - C - E / F’ G ’ 6. A-B-D-C-E-F / F’ 5.
12
System Integration Testing Top-down: 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
13
System Integration Testing Top-down: 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, ...)
14
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 ►
► ►
► Thay
Gọi mô đun cần thử nghiệm
Truyền dữ liệu Hiển thị kết quả
thế dần các drive
15
System Integration Testing Bottom-up: E-F-G 2. E-F-G-C-B-D 1.
16
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 17
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
18
System Integration Testing Big-Bang : Đầ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 1.
19
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 20
Q&A
21