Thành viên : 1. Nguyễn Văn Thanh
2. Đào Đình Thiện
3. Ngô Tuấn Thịnh
4. Bùi Văn Công
5. Đinh Thanh Đức
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
MÔN Công Nghệ Phần Mềm
Đề Tài : Chiến lược kiểm thử từ trên xuống
Nội dung báo cáo
GIỚI THIỆU KIỂM THỬ TÍCH HỢP TỪ TRÊN XUỐNG
1
2
3
4
CÁC BƯỚC KIỂM THỬ TÍCH HỢP TỪ TRÊN XUỐNG
ƯU, NHƯỢC ĐIỂM KIỂM THỬ TÍCH HỢP TỪ TRÊN
XUỐNG
2
∗
Kiểm thử tích hợp từ trên xuống dưới là một
phương pháp gia lượng áp dụng cho việc xây dựng
cấu trúc chương trình.
∗
Các mô đun được tích hợp bằng cách di chuyển theo
chiều hướng xuống theo trình tự kiểm soát cấp bâc,
bắt đầu bằng mô đun điều khiển chính( chương trình
chính).
∗
Các mô đun phụ (và các mô đun sau cùng ) đến mô
đun điều khiển chính được ghép lại thành một cấu
trúc hoặc là theo lối nhanh nhất hoặc là theo lối lâu
nhất ( depth-first or bread-first manner ).
Top-down intergration
( Kiểm thử tích hợp từ trên xuông dưới )
M1
M1
M8
M4
M4
M3
M3
M2
M2
M6
M6
M7
M7
M5
M5
Kiểm Thử Từ Trên Xuống
∗
Tích hợp depth-first sẽ tích hợp tất cả các bộ phận vào một
đường điều khiển của cấu trúc. Việc lựa chọn con đường
phụ thuộc vào đặc điểm và ứng dụng cụ thể.
∗
Ví dụ, lựa chọn đường theo đường tay trái, các bộ phận
M1,M2,M5 sẽ được tích hợp trước. Tiếp đó M8 hoặc ( nếu
cần chức năng phù hợp của M2 ) M6 sẽ được tích hợp. Sau
đó, phương pháp điều khiển bàn tay phải và trung tâm sẽ
được xây dựng.
Breadth- first intergation kết hợp tất cả các bộ phận bổ
xung trực tiếp ở mỗi mức độ , chuyển qua cấu trúc theo
phương ngang.
Từ hình vẽ, các bộ phận M2,M3 và M4 ( thay cho S4 )
sẽ được tích hợp trước. Mức điều khiển tiếp theo, và cứ tiếp
tục như thế
Quá trình tích hợp được thực hiện theo 5
bước :
∗
Mô đun điều khiển chính được sử dụng làm bộ điều
khiển kiểm thử và các mô đun tiếp theo bổ sung cho tất cả
các bộ phận bổ sung trực tiếp cho mô đun điều khiển
chính.
∗
Tùy thuộc vào phương pháp tích hợp được chọn ( ví dụ
depth or breadth first ), các mô đun bổ sung tiếp theo
được thay thế theo trình tự với các bộ phận thực.
∗
Các bài kiểm thử sẽ được tiến hành khi mỗi mô đun
được tích hợp
∗
Khi hoàn thành từng bài kiểm thử một , các bộ phận
tiếp theo sẽ được thay thế bởi bộ phận thực.
∗
Kiểm thử hồi quy có thể được tiến hành để đảm bảo
không xảy ra lỗi mới.
∗
Quá trình tiếp tục từ bước thứ hai cho đến khi toàn
bộ cấu trúc chương trình được xây dựng.
∗
Kiểm thử hồi quy có thể được tiến hành để đảm bảo
không xảy ra lỗi mới.
∗
Quá trình tiếp tục từ bước thứ hai cho đến khi toàn
bộ cấu trúc chương trình được xây dựng.
Các bước tích hợp theo hướng từ trên xuống kiểm
thử các điều khiển hoặc quyết định chính ở phần đầu
quá trình kiểm thử.
∗
Nếu chọn phương pháp tích hợp depth first, có thể
tiến hành và trình bày một chức năng hoàn chỉnh của
phần mềm.
∗
Tất cả các điều vào xử lí ( để chuyển đi sau này ) có
thể được thể hiện trước khi các yếu tố khác nhau của
cấu trúc đã được tích hợp. Việc thể hiện ngay từ đầu
khả năng mang chức năng là rất có ích đối với người
phát triển và khách hàng.
∗
Phương pháp từ trên xuống có vẻ không phức tạp,
nhưng trên thực tế, có thể này sinh các vấn để logic.
∗
Một trong những vấn đề thường gặp xảy ra khi xử lí
ở mức độ thấp theo thứ tự được yêu cầu để kiểm
thử ở các mức cao hơn. Các mô đun phụ thay thế các
mô đun ở mức thấp ở giai đoạn đầu của quá trình
kiểm thử từ trên xuống. Vì thế, không có bất kì dữ
đáng kể nào có thể chuyển lên trên trong cấu trúc
chương trình.
Người kiểm thử có 3 lựa chọn:
∗
Phương pháp đầu tiên : Hoãn các bài kiểm thử lại
cho đến khi các mô đun phụ được thay thế bằng các
mô đun thực làm cho chúng ta mất điều khiển giữa các
bài kiểm thử cụ thể và sự kết hợp các mô đun cụ thể,
dẫn tới khó khăn trong việc xác định nguyên nhân gây
lỗi và có xu hướng vi phạm bản chất giới hạn của
phương pháp từ trên xuống.
∗
Phương pháp thứ hai có thể phát huy tác dụng
nhưng có thể dẫn đến tình trạng phải thực hiện thêm
nhiều bước nữa, vì các mô đun phụ trở nên ngày càng
phức tạp.
∗
Phương pháp thứ ba gọi là kiểm thử từ dưới lên
Ưu Điểm Nhược Điểm
1. Có ưu điểm nếu lỗi tập trung
trên đỉnh của chương trình.
2. Khi các chức năng vào/ra được
bổ sung, thì đưa ra các trường hợp
kiểm thử sớm hơn.
3. Việc có chương trình khung sẽ
sớm tạo ra một tư duy rõ ràng hơn và
tạo tâm lý tốt khi kiểm thử.
4. Phát hiện sớm các lỗi thiết kế
5. Có phiên bản hoạt động sớm
1. Module nhánh cụt bắt buộc phải được
tạo.
2. Module nhánh cụt thường phức tạp
hơn trong lần xuất hiện đầu tiên.
3. Trước khi những chức năng vào/ra
được thêm, việc đưa ra các trường hợp
kiểm thử tại nhánh cụt có thể rất khó
khăn.
4. Việc tạo ra các điều kiện kiểm thử
là
không thể hoặc rất khó khăn.
5. Việc quan sát đầu ra kiểm thử là khó
khăn hơn.
•
Làm cho người ta nghĩ nhầm rằng việc
thiết kế chương trình và kiểm thử
•
Khó có thể mô phỏng được các chức năng
của mô đun cấp thấp phức tạp
•
Không kiểm thử đầy đủ các chức năng