Kiểm định phần mềm
Khoa CNTT – ĐH Sài Gòn
07/04/16 ThS Nguyễn Quốc Huy 1
Giới thiệu
• Lỗi phần mềm là hiển nhiên phải có. • Một lập trình viên loại tốt trung bình có từ
1 đến 3 lỗi trên 100 dòng lệnh.
• Kiểm định phần mềm chiếm gần nửa thời
gian dự án.
• Cần có công nghệ kiểm định phần mềm.
07/04/16 ThS Nguyễn Quốc Huy 2
Nguyên nhân gây lỗi
• Có nhiều nguyên nhân
– Do viết mã – Do thay đổi môi trường, công nghệ – Do thay đổi phần cứng, hạ tầng phức tạp – Tương tác nhiều hệ thống
07/04/16 ThS Nguyễn Quốc Huy 3
Vài trò kiểm thử
• Đảm bảo chất lượng phần mềm
– Đúng chức năng – Chạy ổn định, khả năng bảo trì – Tối ưu chất lượng, hiệu quả
• Đáp ứng các yêu cầu hợp đồng, chuẩn, tổ
chức.
• Rút kinh nghiệm cho các dự án sau
07/04/16 ThS Nguyễn Quốc Huy 4
Mức độ kiểm tra tối đa
• Dựa vào bảng liệt kê các rủi ro • Hy vọng sẽ đạt mức rủi ro tối thiểu • Đủ để dám xuất xưởng
07/04/16 ThS Nguyễn Quốc Huy 5
Các cách làm sai lầm
• Kiểm tra các chức năng không dựa vào
mẫu thử.
• Kiểm tra các chức năng dựa vào mẫu thử. • Mục đích là: xem chương trình có lỗi hay
không → Chưa đủ
07/04/16 ThS Nguyễn Quốc Huy 6
Kiểm tra phần mềm là gì?
• Là công nghệ tìm ra lỗi càng nhiều càng
tốt. Kiểm tra viên (Tester) thực hiện • Khác với gỡ rối (debug) – tìm nguyên
nhân lỗi và sửa chữa. Do người viết mã thực hiện.
07/04/16 ThS Nguyễn Quốc Huy 7
Các giai đoạn
• Lập kế hoạch • Chọn điều kiện kiểm tra • Thiết kế các kịch bản - test script / mẫu
thử - test case.
• Thực thi • Đánh giá kết quả • Báo cáo kết quả
07/04/16 ThS Nguyễn Quốc Huy 8
Các giai đoạn
07/04/16 ThS Nguyễn Quốc Huy 9
Khi nào bắt đầu kiểm tra?
• Kiểm tra yêu cầu • Kiểm tra phân tích • Kiểm tra thiết kế • Kiểm tra sản phẩm
07/04/16 ThS Nguyễn Quốc Huy 10
Các mức độ kiểm tra
• Kiểm tra đơn vị - Unit • Kiểm tra thành phần - Module • Kiểm tra tích hợp - Integration • Kiểm tra hệ thống - System • Kiểm tra chấp nhận - Acceptance
07/04/16 ThS Nguyễn Quốc Huy 11
Các mức độ kiểm tra
07/04/16 ThS Nguyễn Quốc Huy 12
Các kiểu kiểm tra
• Chức năng • Phi chức năng • Cấu trúc • Hồi qui
07/04/16 ThS Nguyễn Quốc Huy 13
Hộp đen và hộp trắng
• Kiểm tra hộp đen – tương tự Kiểm tra
chức năng
• Kiểm tra hộp trắng – Tương tự kiểm tra
cấu trúc
07/04/16 ThS Nguyễn Quốc Huy 14
Kiểm tra hiệu năng và chịu tải
• Kiểm tra hiệu năng: Kiểm tra sự vận hành
của hệ thống trong nhiều môi trường. • Kiểm tra chịu tải: Kiểm tra các giới hạn
của hệ thống
07/04/16 ThS Nguyễn Quốc Huy 15
Các loại kiểm tra khác
• Kiểm tra cấu hình • Kiểm tra bảo mật • Kiểm tra khả năng phục hồi • Kiểm tra Alpha • Kiểm tra Beta • Kiểm tra quốc tế hóa
07/04/16 ThS Nguyễn Quốc Huy 16
Dịch vụ kèm theo sau kiểm tra
07/04/16 ThS Nguyễn Quốc Huy 17
Thực hiện kiểm tra
• Sau giai đoạn thiết kế là thực hiện dựa
trên test-case. – Thực hiện thủ công – Thực hiện tự động
07/04/16 ThS Nguyễn Quốc Huy 18
Quá trình kiểm nghiệm tốt
• Tìm ra nhiều lỗi • Không dư thừa • Biết chọn lọc • Không quá phức tạp
07/04/16 ThS Nguyễn Quốc Huy 19
Các nguyên lý tổng quát
07/04/16 ThS Nguyễn Quốc Huy 20
Nguyên tắc kiểm tra viên
• Nhìn theo nhiều góc độ • Luôn nhớ mục tiêu • Tuân theo kế hoạch • Giao tiếp theo cách tích cực, xây dựng
07/04/16 ThS Nguyễn Quốc Huy 21
Thảo luận
• Phần mềm ở mức độ nào thì cần kiểm
tra?
• Vai trò của ngoại ngữ đối với việc kiểm
thử phần mềm?
• Kiểm tra phần mềm dể hay khó? • Các tố chất để thành một kiểm thử viên?
07/04/16 ThS Nguyễn Quốc Huy 22