Bài giảng Kiểm thử phần mềm - Bài 5: Các kỹ thuật kiểm thử cung cấp cho người học các kiến thức về kỹ thuật kiểm thử hộp trắng bao gồm: Basis path testing, control flow/coverage testing, data flow testing. Mời các bạn cùng tham khảo.
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM KIỂM THỬ PHẦN MỀM (Software Testing) GV: ThS Nguyễn Thị Thanh Trúc Khoa: Công nghệ Phần mềm Email: trucntt@uit.edu.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các kỹ thuật kiểm thử • Test tĩnh (Static Verification) – Thực kiểm chứng mà không cần thực thi chương trình – Kiểm tra tính đắn tài liệu có liên quan tạo trình xây dựng ứng dụng – Đạt quán hiểu rõ hệ thống – Giảm thời gian lập trình, thời gian chi phí test,… • Test động (Dynamic Testing) – Thực kiểm thử dựa việc thực thi chương trình CuuDuongThanCong.com https://fb.com/tailieudientucntt Dynamic Testing - Kiểm thử động Dynamic Specification-based Structure-based Equivalence Partitioning Experience-based Basis Path Error Guessing Control-flow Boundary Value Analysis Decision Tables Data-flow Exploratory Testing Cause-Effect Graphing CuuDuongThanCong.com https://fb.com/tailieudientucntt Các kỹ thuật kiểm thử hộp trắng • Basis Path Testing • Control-flow/Coverage Testing • Data-flow Testing CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 bên đối tượng cần kiểm thử • Đảm bảo tất câu lệnh, biểu thức điều kiện bên chương trình thực lần CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 kiểm thử hộp trắng tập trung vào cấu trúc bên chương trình tìm tất lỗi bên 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 nhánh, loại đường dẫn chương trình – Logic bên chương trình cấu trúc liệu – Những hành động trạng thái bên chương trình CuuDuongThanCong.com https://fb.com/tailieudientucntt Ưu, nhược điểm • Ưu điểm: – Khi sử dụng kiểm thử hộp trắng, kiểm thử viên chắc đường xuyên qua phần mềm cần kiểm thử đã xác định kiểm thử CuuDuongThanCong.com https://fb.com/tailieudientucntt Nhược điểm • Khơng đủ khả kiểm thử hết đường thi hành vi số lượng q nhiều • Kiểm thử hộp trắng khơng thể đảm bảo chương trình đã tuân theo đặc tả • Khơng phát chương trình sai thiếu đường dẫn • Khơng phát lỗi sai liệu • Kiểm thử viên cần có kỹ lập trình để hiểu đánh giá phần mềm Không may có nhiều kiểm thử viên khơng có tảng tốt lập trình CuuDuongThanCong.com https://fb.com/tailieudientucntt Các kỹ thuật kiểm thử hộp trắng • Basis Path Testing • Control-flow/Coverage Testing • Data-flow Testing CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 BT1 • Vẽ đờ thị dòng • Tính đợ phức tạp – C=4-4+2=2 • Xác định đường độc lập – 1-2-3-2 – 1-2-4 • Xác định ca kiểm thử TC Đầu vào N=10 N=0 Đầu r among đợi In “Nhập n” In “10,9,8,7,6,5,4,3,2,1, Kết thúc” In “Nhập n” In “Kết thúc” 65 CuuDuongThanCong.com https://fb.com/tailieudientucntt Bài tập a Xét đoạn code sau, yêu cầu: thiết kế ca kiểm thử đạt bao phủ mức using namespace std; #include main() { int a,b,c,d,x,y; coutb>>c>>d>>x>>y; if (a>0&&b==1){x=x+1;} if (c==3 || d