TỔNG QUAN
•Kiểm thử phần mềm (KTPM) là một hoạt
động nhằm tìm ra lỗi của một phần mềm đảm bảo phần mềm đáp ứng yêu cầu và chất lượng mà khác hàng và nhà phát triển để ra.
•Kiểm thử phần mềm không đảm bảo phần hết lỗi mà chỉ
hạn chế lỗi của phần mềm.
•Trong các giai đoạn phát triển phần mềm thì KTPM thực hiện càng sớm thì chi
phí phát triển phần mềm càng thấp.
NGUYÊN TẮC KTPM
•Kiểm thử và chỉ ra lỗi : kiểm thử cho thấy phần mềm đang có lỗi mà không xác định được chính xác lỗi. Nhằm giảm xác xuất lỗi chưa nhận trong phần mềm.
•Kiểm thử ưu tiên: thực hiện kiểm thử ở các thành phần quan trọng có mức độ ưu tiên cao.
•Kiểm thử sớm: Việc thực hiện kiểm thử càng sớm càng tốt cho quá trình phát triển phần mềm.
•Phân loại lỗi: Việc kiểm thử thực hiện cân bằng và tập trung vào mật độ các lỗi trong dự kiến nhằm phát
hiện các lỗi trong thành phần của phần mềm.
Có 3 nguyên lý quan trọng sau:
- Nguyên tắc tổ gián: chỗ nào có một vài lỗi thì xung quang đó sẽ có
nhiều lỗi.
- Nguyên tắc 80/20: thông thường 20% chức năng quan trọng sẽ gây ra 80% lỗi
- Nguyên tắc ưu tiên: Phân tích và đặt chế độ ưu tiên để quyết định tập trung kiểm thử những thành phần
quan trọng.
•Nghịch lý thuốc trừ sâu: Thay đổi thường xuyên cách kiểm tra, thực hiện nhiều test
case khác nhau, đa dạng trong phương pháp tiếp cận và kiểm thử.( ở đây giải thích thêm cho mọi người rõ hơn: khi kiểm thử tester thường test về 1 phần nào đó rất kỹ nhưng lại bỏ quên những phần khác như khi xịt thuốc sâu chỉ lo xịt trên bề mặt lá mà quên đi phần dưới của lá -> xóa lỗi, không đảm bảo chất lượng phần mềm-> để tránh việc này thì các tester phải lập ra kế hoạch kiểm thử rõ ràng, viết test
case đầy đủ và tiếp cận với các phương pháp như
top-down, bottom –up, smoking…)
•Kiểm thử trong bối cảnh độc lập: việc kiểm thử nên thực hiện trong nhiều bối cảnh, ngữ cảnh độc lập
•Ngoài ra: Kiểm thử nên bao gồm trường hợp hợp lệ và không hợp lệ, phân tích các lỗi tìm ra được nhằm áp
dụng các phương pháp kiểm thử thích hơp hơn.
CHIẾN LƯỢC KIỂM THỬ
1.Nguyên lý thiết kế và kiểm thử phần mềm:
- Tất cả kiểm thử phải có thể mô tả theo các yêu cầu của khách hàng
- Các kiểm thử phải được lập kế hoạch từ lâu trước khi tiến hành
- Kiểm thử cần bắt đầu thừ phạm vi nhỏ và quá trình hướng đến phạm vi rộng
- Cần có nhóm độc lập thứ 3 thực hiện việc kiểm thử
- Một lập trình viên nên tránh việc cố gắng kiểm thử chương trình của mình
- Quá trình kiểm thử cần xác định đầy đủ các trường hợp của kiểm thử
2. Tổ chức kiểm thử:
- Kiểm thử đơn vị
- Kiểm thử tích hợp
- Kiểm thử tính hơp lệ
- Kiểm thử hệ thống
CÁC GIAI ĐOẠN KIỂM THỬ
•Lập kế hoạch kiểm thử
•Thiết kế kiểm thử
•Chuẩn bị môi trưởng kiểm thử
•Thực hiện kiểm thử, theo dõi và xử lý lỗi
•Thống kê báo báo kết quả
CẤP ĐỘ KIỂM THỬ
Có 4 cấp độ kiểm thử:
1. Unit
Test: là kiểm thử các chức năng đơn giản có kích thước nhỏ của phần mềm
2.
Integration Test: kiểm thử tích hợp các thành phần
- Kiểm thử cấu trúc
- Kiểm thử chức năng
- Kiểm thử hiệu năng
- Kiểm thử khả năng chịu tải
3. System
Test: là kiểm thử mức độ hệ thống
- Kiểm thử chúc năng
- Kiểm thử hiệu năng
- Kiểm thử khả năng chịu tải
- Kiểm thử cấu hình
- Kiểm thử bảo mật
- Kiểm thử khả năng phục hồi
4.
Acceptance Test: thường do khách hàng hoặc bên độc lập thứ 3 thực hiện
XÂY DỰNG TEST CASE
1.Xây dựng test
case và vai trò của nó: xây dựng test
case là quá trình xây là quá
trình cấu thành các phương
pháp kiểm tra để phát hiện ra các sai sót, lỗi, khuyết điểm của phần mềm. Nhằm tạo ra những trường hợp
thử nhiệm tốt nhất, bao phủ tất cả các trường hợp, tăng khả năng tìm ra lỗi đồng thời tiết kiệm chi
phí, thời
gian và nhân lực.
2.Quy trình xây dựng test
case: bắt đầu bằng việc phát triển các cuộc thử nghiệp hộp trắng sau đó bổ xung
bằng các phương pháp hộp đen.
- Hộp trắng: gồm các phương pháp -Hộp đen: gồm các phương pháp
+Bao phủ câu lệnh +Phân lớp tương đương
+Bao phủ quyết định +Phân tích giá trị biên
+Bao phủ điều kiện +Đồ thị nguyên nhân kết quả
+Bao phủ điều kiện – quyết định +Đoán lỗi
+Bao phủ đa điều kiện
Nhận xét