Bài giảng Kiểm thử và đảm bảo chất lượng phần mềm: Chương 2 Kiểm thử trong vòng đời phát triển phần mềm, cung cấp cho người học những kiến thức như: 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. Mời các bạn cùng tham khảo!
Trang 1KIỂM THỬ TRONG VÒNG ĐỜI
PHÁT TRIỂN PHẦN MỀM
1 Các nguyên lý 2 Vòng đời
4 Kiểm thử chức năng
3 Kỹ thuật kiểm thử
5 Kiểm thử cấu trúc 6 Quản lý chất lượng
KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM Chương 2
Trang 2Nộ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
Trang 3Vòng đ i c a ki m th ph n m m ờ ủ ể ử ầ ề
Trang 4Vòng đ i c a ki m th ph n ờ ủ ể ử ầ
Quá trình sửa lỗi bao gồm
- Phân loại lỗi, cô lập lỗi tìm ra nguyên nhân
và nơi gây lỗi
- Đưa ra giải pháp sửa lỗi
- Khắc phục lỗi
4
Trang 5- Kiểm thử hộp đen kiểm tra chức năng
- Kiểm thử hộp trắng kiểm tra cấu trúc
Trang 6Ki m th h p đen ể ử ộ
• Còn gọi là kiểm thử hàm, kiểm thử chức năng
• Tập trung vào hành vi vào/ra Với đầu vào đã biết
ra có thể đoán/tính đầu ra, rồi kiểm tra chương
trình có tạo kết quả như ta đoán/tính.
– Không thể kiểm thử hết các bộ dữ liệu đầu vào
• Bài toán đặt ra là giảm số lượng ca kiểm thử
bằng việc chia không gian đầu vào thành các
miền tương đương
– Sau đó chọn một ca kiểm thử từ mỗi miền tương
đương này.
6
Trang 7Ki m th h p tr ng ể ử ộ ắ
Còn gọi là kiểm thử cấu trúc, kiểm thử logic
Các tiêu chuẩn bao phủ
- Biểu thức điều kiện được thử với cả True và False
• Các nhánh đều được chạy ít nhất một lần
Trang 8So sánh ki m th h p tr ng và h p đen ể ử ộ ắ ộ
Hộp trắng
- Số đường đi nhiều khi là vô hạn
- Kiểm tra những gì đã làm, không
thử (dữ liệu đúng và dữ liệu sai)
- Thường không chắc ca kiểm thử
này có phát hiện được lỗi cụ thể
kia hay không
- Thích hợp cho kiểm thử đơn vị
và tích hợp.
Cần cả hai Kiểm thử hộp trắng và hộp đen là hai thái cực của kiểm thử
Việc lựa chọn ca kiểm thử nằm giữa và phụ thuộc vào
- Số đường đi logic có thể
- Tính chất của dữ liệu đầu
vào
- Khối lượng tính toán
- Độ phức tạp của cấu trúc
dữ liệu và giải thuật
Hai kỹ thuật là bổ sung cho nhau
• 8
Trang 9Mô hình ch V ữ
Trang 10Nội dungVò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
Trang 11Kiểm thử các lớp, hàm, đối tượng, gói,
mô-đun
Sử dụng kỹ thuật hộp đen
Dữ liệu tạo ra dựa trên tài liệu thiết kế
Có thể sử dụng cả kiểm thử hộp trắng và kiểm thử tĩnh với các phần mềm yêu cầu chất
lượng cao
Thường thực hiện trên phần cứng phát triển phần mềm
Ki m th đ n v ể ử ơ ị
Trang 12Môi tr ườ ng ki m th đ n v ể ử ơ ị
12
Đơn vị được kiểm thử
Mô-đun giả lập
Kết quả kiểm thử
Trang 13Nội dungVò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
Trang 14Phát hiện vấn đề khi ghép các đơn vị, mô-đun/thành
phần với nhau, sau khi đã thực hiện kiểm thử đơn vị
Các vấn đề ghép nối
– Bên trong: giữa các thành phần( Gọi: call/message passing/…);
Tham số( kiểu, số lượng, thứ tự, giá trị); Kết quả trả về (ai, kiểu, trình tự)
– Bên ngoài: Ngắt (wrong handler?); Thời gian vào ra
- Tương tác
Sử dụng kỹ thuật hộp đen
Một số trường hợp có thể sử dụng kỹ thuật hộp trắng nhưng chi phí cao, khó khăn
Dữ liệu thử được tạo ra dựa trên thiết kế tổng thể
Ki m th tích h p ể ử ợ
14
Trang 15Thực hiện:
- Mất nhiều thời gian để định vị lỗi và sửa lỗi
- Tái kiểm thử sau khi sửa lỗi có phổ rộng hơn
- Kết quả cuối cùng? Mất nhiều thời gian hơn
Trang 16Tí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ị và sửa chữa hơn
- Khôi phục dễ sau các vấn đề và biến động xấu
- Giao tiếp nên được kiểm thử trong các kiểm
thử thành phần, NHƯNG…
- Thêm vào đường cơ sở đã được kiểm thử
16
Trang 18gọi cấu hình đường cơ sở
Cũng cần stub cho vài
đường cơ sở
b
d i
18
Trang 19d i
c e
a b
d i
c e
Trang 20k l m i
Trang 21H ướ ng d n tích h p ẫ ợ
Hạn chế tối đa các phần mềm hỗ trợ cần đến Mỗi thành phần chỉ tích hợp 1 lần
Mỗi đường cơ sở nên tạo ra một kết quả có
khả năng xác minh dễ dàng
Tích hợp số lượng nhỏ các thành phần tại mỗi lần tích hợp
Mỗi thành phần quan trọng cho 1 lần tích hợp
K t h p các thành ph n liên quan đ n gi nK t h p các thành ph n liên quan đ n gi nế ợế ợ ầầ ơơ ảả
Trang 22K ho ch tích h p ế ạ ợ
Tích hợp nên được lên kế hoạch trong pha
thiết kế kiến trúc
Thứ tự tích hợp sau đó sẽ quyết định thứ tự xây dựng
Các thành ph n hoàn t t trong th i gian đCác thành ph n hoàn t t trong th i gian đầầ ấấ ờờ ườường c ng c ơơ
s c a chúngở ủ
s c a chúngở ủ
Phát tri n thành ph n và ki m th tích h p th c Phát tri n thành ph n và ki m th tích h p th c ểể ầầ ểể ửử ợợ ựự
hi n song song đ ti t ki m th i gianệ ể ế ệ ờ
hi n song song đ ti t ki m th i gianệ ể ế ệ ờ
22
Trang 23Nội dungVòng đời kiểm thử Kiểm thử đơn vị Kiểm thử tích hợp
Trang 24Mục đích của kiểm nghiệm hệ thống là để đảm bảo toàn bộhệthống hoạt động như ý mà
Trang 25Kiểm thử hệ thống bao gồm một
loạt các kiểm thử
Kiểm thử chức năng (function testing)
Kiểm thử hiệu suất (performance testing)
Kiểm thử mức độ đáp ứng (stress testing)
Kiểm thử quá 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)
Trang 26Nộ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
Trang 27Mục đích: kiểm tra sự hài lòng của người sử dụng
Cơ sở: mong muốn của người dùng (không xét đến tài liệu đặc tả)
Môi trường: thật
Người thực hiện: bởi và cho người sử dụng Các ca kiểm thử:
S d ng l i t ki m th h th ngS d ng l i t ki m th h th ngử ụử ụ ạ ừ ểạ ừ ể ử ệ ốử ệ ố
Do ngDo ngườười dùng thi t ki dùng thi t kế ếế ế
Ki m th ch p nh n ể ử ấ ậ