Thông tin tài liệu:
Toàn hệ thống xem như là tập các hệ thống con được xác định trong suốt quá trình thiết kế hệ thống và đối tượng. Chiến lược kiểm thử là thứ tự mà các hệ thống con được chọn để kiểm và tích hợp. Trong chương này chúng ta sẽ cùng tìm hiểu một số kiến thức về chiến lược kiểm thử phần mềm. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Software testing: Chương 5 - ThS. Nguyễn Quốc Huy
Chiến lược kiểm thử
Khoa CNTT – ĐH Sài Gòn
07/04/16 ThS Nguyễn Quốc Huy 1
Chiến lược kiểm thử tích hợp
Toàn hệ thống xem như là tập các hệ thống con được xác
định trong suốt quá trình thiết kế hệ thống và đối tượng.
Chiến lược kiểm là thứ tự mà các hệ thống con được chọn
để kiểm và tích hợp .
Tích hợp Big bang
Tích hợp từ dưới lên
Tích hợp từ trên xuống
Kiểm thử Sandwich
Biến dạng các cách trên
Dùng cách phân rã hệ thống từ bản thiết kế
Dùng mẫu trung gian cho phép kiểm tích hợp sớm
Dùng mẫu trung gian để cung cấp nhiều cách thực thi dưới 1
giao diện.
Giao diện cho thành phần không hoàn chỉnh, chưa biết hay
không thể xài suốt quá trình kiểm.
Seat Interface Seat Implementation
VIP
(in Vehicle Subsystem)
Simulated
Stub Code Real Seat
Seat (SA/RT)
Ví dụ: Phân cấp 3 lớp
A
Layer I
B C D Layer II
E F G Layer III
Kiểm tích hợp: Hướng BigBang
Unit Test
A
Đừng cố!
Unit Test
B
Unit Test
C
System Test
Unit Test
D
Unit Test
E
Unit Test
F
Chiến lược từ dưới lên
Hệ thống con ở lớp thấp nhất trong phân cấp được kiểm
riêng lẻ.
Sau đó các hệ thống con tiếp theo được kiểm thì gọi các hệ
thống con được kiểm trước đó.
Việc này thực hiện lập đi lặp lại cho đến khi tất cả các hệ
thống con được kiểm.
Chương trình đặc biệt cần để kiểm, Test Driver:
Lộ trình gọi một hệ thống con và vượt qua test case của nó
SeatDriver Seat Interface Seat Implementation
(simulates VIP) (in Vehicle Subsystem)
Simulated
Stub Code Real Seat
Seat (SA/RT)
Tích hợp từ dưới lên
A
Layer I
B C D Layer II
Test E F G
E Layer III
Test B, E, F
Test F
Test C Test
A, B, C, D,
E, F, G
Test D,G
Test G
Khi nào dùng chiến lược từ dưới lên
Không tốt cho các hệ thống phân rã theo chức năng:
Kiểm thử hệ thống con quan trọng nhất sau cùng
Hữu dụng để tích hợp cho các hệ thống sau:
Các hệ thống hướng đối tượng
Các hệ thống thời gian thực
Các hệ thống có yêu cầu việc thực thi nghiêm ngặt
Chiến lược từ trên xuống
Kiểm tầng trên cùng hay hay các hệ thống con quan trọng
trước
Rồi kết nối tất cả các hệ thống con đã được kiểm và kiểm
tập kết quả các hệ thống con.
Thực hiện cho đến khi kiểm tất cả các hệ thống con được
kết hợp.
Chương trình đặc biệt cần để kiểm, Test stub :
Chương trình hay là phương pháp giả lập hoạt động của hệ
thống con bị thiếu bằng cách trả lời một loạt lời gọi hệ thống
con và trả về dữ liệu giả.
Kiểm từ trên xuống
A
Layer I
B C D Layer II
E F G
Layer III
Test
Test A Test A, B, C, D A, B, C, D,
E, F, G
Layer I
Layer I + II
All Layers
Khi nào dùng chiến lược từ trên xuống
Test cases có thể được định nghĩa dưới dạng chức năng hệ
thống (yêu cầu chức năng)
Viết stubs có thể khó: Stubs phải cho phép tất cả điều kiện
có thể xảy ra được kiểm.
Có thể cần số lượng rất lớn stubs, đặc biệt nếu lớp thấp
nhất của hệ thống chứa nhiều phương pháp.
Một giải pháp để tránh quá nhiều stubs: Điều chỉnh chiến
lược từ trên xuống.
Kiểm mỗi tầng của hệ thống trước khi trộn các tầng.
Khuyết điểm của kiểm thử từ trên xuống có điều
chỉnh: Cả hai, stubs và drivers đều cần.
Chiến lược Sandwich
Kết hợp từ trên xuống và từ dưới lên
Hệ thống xem như có 3 lớp:
Lớp mục tiêu ở giữa
Lớp trên
Lớp dưới
Kiểm thử tập trung vào lớp giữa
Nếu có hơn 3 lớp thì lớp giữa là lớp nào?
Mẹo: Cố gắng cực tiểu hoá số stubs và drivers
Chiến lược Sandwich A
Layer I
B C D Layer II
E F G
Test E Layer III
Bottom Test B, E, F
Layer Test F
Tests
Test
A, B, C, D,
Test D,G E, F, G
Test G
Test A,B,C, D
Top Test A
Layer
Tests
Khi nào dùng Sandwich
Thực hiện song song lớp Trên và Dư ...