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