Bài giảng "Kiểm thử phần mềm - Chương 8: Kiểm thử module (đơn vị)" cung cấp cho người học các kiến thức: Thiết kế testcase, kiểm thử không tăng tiến, kiểm thử từ trên xuống (top-down), kiểm thử từ trên xuống (top-down),. . | Bài giảng Kiểm thử phần mềm: Chương 8 - Nguyễn Văn Hiệp Chương 8 Kiểm thử module (₫ơn vị) Giới thiệu Kiểm thử module (hay kiểm thử ₫ơn vị) là quá trình kiểm thử từng chương trình con, từng thủ tục nhỏ trong chương trình. Một số ₫ộng cơ của việc kiểm thử ₫ơn vị : Kiểm thử ₫ơn vị là 1 cách quản lý nhiều phần tử cần kiểm thử, bắt ₫ầu tập trung chú ý trên từng phần tử nhỏ của chương trình. Kiểm thử ₫ơn vị giúp dễ dàng việc debug chương trình. Kiểm thử ₫ơn vị tạo cơ hội tốt nhất cho ta thực hiện kiểm thử ₫ồng thời bởi nhiều người. Mục ₫ích của kiểm thử ₫ơn vị : so sánh chức năng thực tế của từng module với ₫ặc tả chức năng hay ₫ặc tả interface của module ₫ó. Sự so sánh này có tính chất : 1. Không chỉ ra việc module có thoả mãn ₫ầy ₫ủ ₫ặc tả chức năng ? 2. Mà chỉ ra việc module có làm ₫iều khác biệt gì so với ₫ặc tả của module. Thiết kế testcase Hai tài nguyên thiết yếu sau sẽ cần thiết cho việc thiết kế các testcase : Đặc tả chức năng module : nêu rõ các thông số ₫ầu vào, ₫ầu ra và các chức năng cụ thể chi tiết của module. Mã nguồn của module. Tính chất các testcase là dựa chủ yếu vào kỹ thuật kiểm thử hợp trắng : Khi kiểm thử phần tử ngày càng lớn hơn thì kỹ thuật kiểm thử hộp trắng ít khả thi hơn. Việc kiểm thử sau ₫ó thường hướng ₫ến việc tìm ra các kiểu lỗi (lỗi phân tích, lỗi nắm bắt yêu cầu phần mềm). Thủ tục thiết kế testcase Phân tích luận lý của module dựa vào 1 trong các kỹ thuật kiểm thử hộp trắng. Áp dụng các kỹ thuật kiểm thử hộp ₫en vào ₫ặc tả của module ₫ể bổ sung thêm các testcase khác. Kiểm thử không tăng tiến Để thực hiện qui trình kiểm thử các module, hãy ₫ể ý 2 ₫iểm chính : 1. Làm sao thiết kế ₫ược 1 tập các testcase hiệu quả. 2. Cách thức và thứ tự tích hợp các module lại ₫ể tạo ra phần mềm chức năng : à Viết testcase cho module nào ? à Dùng loại tiện ích nào cho kiểm thử ? à Coding