Chúng ta nghe nhiều đến công việc kiểm thử và các loại kiểm thử như Aceptance test, Stress test... nhưng thứ tự thực hiện của từng loại như thế nào và ai là người thực hiện nó? Trong bài này sẽ nói về vấn đề đó.
Kiểm thử yêu cầu và kiểm thử thiết kế
Đầu tiên là hai hình thức kiểm thử cho hai giai đoạn đầu của quy trình phát triển phần mềm Kiểm thử yêu cầu và kiểm thử thiêt kế. Hai hình thức kiểm thử này chỉ có trong các quy trình phát triển phần mềm truyền thống (Waterfall, spiral...). Những quy trình thuộc dạng Agile hầu như không thực hiện cách kiểm thử này hoặc nếu có cũng chỉ thực hiện theo hình thức review.
Những dự án được phát triển theo mô hình truyền thống tất cả mọi giai đoạn cần phải được kiểm tra để đảm bảo rằng không có những lỗi khi chuyển sang giai đoạn khác. Do yếu tố chặc chẽ của quy trình nên các hình thức kiểm thử này là tất yếu.
Hình thức kiểm thử này do QA và các Tester thực hiện.
Kiểm thử tích hợp (Intergration test)
Hình thức kiểm thử này cũng do những người phát triển phần mềm thực hiện. Mục tiêu của hình thức kiểm thử này là xác định các chức năng (class, method...) mà mình vừa viết có làm cho các chức năng khác bị lỗi hay không.
Theo Steve McConell, nếu thực hiện tốt giai đoạn này ta có thể tìm được khoảng 40% số lỗi do vấn đề tích hợp các chức năng của hệ thống gây ra.
Kiểm thử hệ thống (System test)
Hình thức kiểm thử này do các tester thực hiện và tùy theo loại dự án mà ta có thể chọn một trong các hình thức kiểm thử sau đây.
- Kiểm thử các chức năng theo hình thức hộp đen (black box functional testing)
- Kiểm thử các yêu cầu phi chức năng (nonfunctional)
- Kiểm thử thực thi (performance testing) hình thức kiểm thử này dùng để kiểm định lại những đặc điểm như phần mềm có chạy đúng (đảm bảo tính tin cậy), có khả năng mở rộng hoặc có chiếm quá nhiều tài nguyên của máy không.
(còn tiếp)