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 đủ
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:
bai_giang_kiem_thu_phan_mem_software_testing_bai_5_cac_ky_th.pdf

