Bài giảng Kiểm thử phần mềm (Software Testing) - Bài 5: Các kỹ thuật kiểm thử (Tiếp theo) - Nguyễn Thị Thanh Trúc

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN  
KHOA CÔNG NGHỆ PHẦN MỀM  
KIꢀM THꢁ PHẦN MỀM  
GV: ThS. Nguyễn Thị Thanh Trúc  
Khoa: Công nghệ Phần mềm  
Email: [email protected].vn  
1
Bꢂi 5: Cꢃc kỹ thuꢄt kiꢅm thử  
• Test tĩnh (Static Verification)  
• Test động (Dynamic Testing)  
• 5.1 Cꢃc kỹ thuꢄt kiꢅm thử hộp đen  
• 5.2 Cꢃc kỹ thuꢄt kiꢅm thử hộp trꢆng  
2
Cꢃc kỹ thuꢄt kiꢅm thử  
• Test tĩnh (Static Verification)  
– Thực hiện kiểm chứng mà không cần thực thi chương  
trình  
– Kiểm tra tính đúng đắn của các tài liệu có liên quan  
được tạo ra trong quá trình xây dựng ứng dụng  
– Đạt được sự nhất quán và hiểu rõ hơn về hệ thống  
– Giảm thời gian lập trình, thời gian và chi phí test,…  
• Test động (Dy
– Thực hiện kiểm thử dựa trên việc thực thi chương trình  
3
Dynamic Testing - Kiꢅm thử động  
Dynamic  
Specification-based  
Structure-based  
Equivalence  
Partitioning  
Basis Path  
Boundary Value  
Analysis  
Error  
Guessing  
Control-flow  
Decision Tables  
Cause-Effect  
Graphing  
Exploratory  
Testing  
Data-flow  
4
Cꢃc kỹ thuꢄt kiꢅm thử hộp trꢆng  
• Basis Path Testing  
• Control-flow/Coverage Testing  
• Data-flow Testing  
5
Chiến lược kiꢅm thử hộp trꢆng  
• Thiết kế test case dựa vào cấu trúc nội tại  
bên trong của đối tượng cần kiểm thử  
• Đảm bảo tất cả các câu lệnh, các biểu thức  
điều kiện bên trong chương trình đều được  
thực hiện ít nhất một lần  
6
Khꢃi niệm  
• Các tên gọi khác: kiểm thử cấu trúc (structural testing),  
kiểm thử hộp kính (glass box), kiểm thử rꢀ ràng (clear box  
testing).  
• Đối tượng chính của kiểm thử hộp trắng là tập trung vào  
cấu trúc bên trong chương trꢁnh và tꢁm ra tất cả những lỗi  
bên trong chương trꢁnh.  
• Việc kiểm tra tập trung chủ yếu vào:  
– Cấu trúc chương trꢁnh: Những câu lệnh và các nhánh,  
các loại đườ
– Logic bên trong chương trꢁnh và cấu trúc dữ liệu.  
– Những hành động và trạng thái bên trong chương trꢁnh.  
7
Ưu, nhược điểm  
• Ưu điểm:  
– Khi sử dụng kiểm thử hộp trắng, kiểm thử viên có  
thể chắc chắc rằng mọi đường xuyên qua phần  
mềm cần kiểm thử đꢂ được xác định và kiểm thử  
8
Nhược điꢅm  
• 1. Không đủ khả năng kiểm thử hết các đường thi hành  
vi số lượng quá nhiều  
• 2. Kiểm thử bằng hộp trắng không thể đảm bảo rằng  
chương trꢁnh đꢂ tuân theo đặc tả  
• 3. Không pháo thiếu đường  
dẫn  
• 4. Không phát hiện được lỗi do sai dữ liệu  
• 5. Kiểm thử viên cần có các kỹ năng về lập trꢁnh để  
hiểu và đánh giá được phần mềm. Không may là hiện  
nay có nhiều kiểm thử viên không có được nền tảng tốt  
về lập trꢁnh  
9
Cꢃc kỹ thuꢄt kiꢅm thử hộp trꢆng  
• Basis Path Testing  
• Control-flow/Coverage Testing  
• Data-flow Testing  
10  
Basis Path Testing  
• Được McCabe đưa ra vào năm 1976  
• Là phương pháp thiết kế test case đảm bảo rằng tất cả  
các independent path trong một code module đều  
được thực thi ít nhất một lần  
• Independent path: là bất kỳ path nào trong code mà  
bổ sung vào ít nhất một tập các lệnh xử lý hay một  
biểu thức điề
• Cho biết số lượng test case tối thiểu cần phải thiết kế  
khi kiểm thử một code module  
11  
Cꢃc bước thực hiện  
• Xây dựng đồ thị luồng điều khiển  
• Tính toán độ phức tạp Cyclomatic  
• Chọn ra tập path cơ sở cần test  
• Phát sinh test case thực hiện kiểm tra từng path  
trong tập path cơ sở  
12  
Xây dựng đồ thị luồng điều khiꢅn  
• Edge: đại diện cho một luồng điều khiển  
• Node: đại diện cho một hoặc nhiều câu lệnh xử lý  
• Predicate node: đại diện cho một biểu thức điều kiện  
13  
Xây dựng đồ thị luồng điều khiꢅn  
• Một số cấu trúc luồng điều khiển cơ bản  
14  
Xây dựng đồ thị luồng điều khiꢅn  
• Đồ thị luồng điều khiển từ một đoạn  
15  
Tính toꢃn độ phức tạp Cyclomatic  
• Cách 1: Dựa trên công thức của McCabe  
– V(G) = edges - nodes + 2p  
– p = number of unconnected parts of the graph  
V(G) = 1 - 2 +2x1 = 1  
V(G) = 4 - 4 +2x1 = 2  
16  
Tính toꢃn độ phức tạp Cyclomatic  
17  
Tính toꢃn độ phức tạp Cyclomatic  
• Cách 2: Dựa vào số lượng Predicate  
Node  
–
McCabe: V(G) = 6-5+2(1) = 3  
18  
Tính toꢃn độ phức tạp Cyclomatic  
19  
Chọn ra tꢄp path cơ sở cần test  
20  
Tải về để xem bản đầy đủ
pdf 79 trang yennguyen 13300 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiểm thử phần mềm (Software Testing) - Bài 5: Các kỹ thuật kiểm thử (Tiếp theo) - Nguyễn Thị Thanh Trúc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_kiem_thu_phan_mem_software_testing_bai_5_cac_ky_th.pdf