Quy trình kiểm thử phần mềm

1) Lập kế hoạch và kiểm soát việc kiểm thử

Lập kế hoạch kiểm thử bao gồm các bước chính như sau: Xác định phạm vi, rủi ro cũng như mục đích của hoạt động kiểm thử Xác định các cách tiếp cận kiểm thử Xác định chiến lược kiểm thử. Chiến lược kiểm thử mô tả các thành phần kiểm thử cần có trong một chu kỳ phát triển phần mềm chẳng hạn như: các mục tiêu kiểm thử, các phương pháp kiểm thử, tổng thời gian và nguồn lực yêu cầu cho các dự án cũng như các môi trường test. (Lưu ý: Chiến lược kiểm thử thường được tạo ra bởi PM, TL) Xác định các nguồn lực cần có cho kiểm thử như: nhân lực, phần cứng, phần mềm, môi trường test v.v Lên lịch cho các hoạt động phân tích và thiết kế các trường hợp kiểm thử, thực thi kiểm thử cũng như đánh giá kết quả kiểm thử. Xác định các tiêu chí kết thúc việc kiểm thử (exit criteria) chẳng hạn như tỉ lệ độ bao phủ của test case, số lượng bug tìm được, độ nghiêm trọng của những con bug tìm được. Bên dưới là 1 ví dụ cơ bản cho tiêu chí kết thúc kiểm thử: 100% độ bao phủ statement (statement coverage) 100% độ bao phủ yêu cầu (requirement coverage) 100% các trường hợp kiểm thử được thực thi 100% các lỗi nghiêm trọng được fixed 80% các lỗi ít nghiêm trọng (low-medium) được fixed Hết hạn kiểm thử Hết budget Hoạt động kiểm soát kiểm thử có các nhiệm vụ chủ yếu sau đây: Đo lường và phân tích các kết quả của hoạt động kiểm thử Theo dõi và ghi lại tiến độ, độ bao phủ cũng như các tiêu chí kết thúc kiểm thử Cung cấp thông tin về kiểm thử Tiến hành các hành động khắc phục nếu cần thiết Đưa ra quyết định

2) Phân tích và thiết kế các trường hợp kiểm thử

Hoạt động phân tích và thiết kế kiểm thử có các nhiệm vụ chủ yếu sau đây: Rà soát các yêu cầu cần thiết trước khi tiến hành kiểm thử như tài liệu đặc tả, tài liệu thiết kế, tài liệu giao diện, v.v Xác định các điều kiện kiểm thử Thiết kế test case Đánh giá tính khả thi trong việc kiểm thử của yêu cầu cũng như của hệ thống. Chuẩn bị môi trường test cũng như xác định các yêu cầu về cơ sở hạ tầng và các công cụ kiểm thử tương ứng.

3) Thực hiện và chạy test

Việc thực hiện test có nhiệm vụ chủ yếu sau đây: Chuẩn bị test data Thiết kế và phân loại các trường hợp kiểm thử dựa theo độ ưu tiên của từng trường hợp kiểm thử Tự động hóa cho các trường hợp kiểm thử nếu thấy cần thiết Hoạt động chạy test có nhiệm vụ chủ yếu sau đây: Chạy các test case theo các bước đã định ra trước đó Chạy lại các case bị failed trước đó để xác nhận là case đó đã được sửa So sách kết quả ghi nhận được khi thực thi với kết quả mong đợi Đánh giá kết quả kiểm thử (Passed/Failed) cho các trường hợp kiểm thử Viết báo cáo lỗi cho những trường hợp kết quả ghi nhận được và kết quả mong đợi không giống nhau

4) Đánh giá tiêu chí kết thúc kiểm thử và báo cáo kết quả

Dựa trên đánh giá rủi ro của dự án, chúng ta sẽ thiết lập các tiêu chí cho từng hoạt động kiểm thử tương ứng để từ đó có thể xác định được liệu kiểm thử đã đủ hay chư.Những tiêu chí này khác nhau tùy từng dự án và được gọi tiêu chí kết thúc kiểm thử (exit criteria). Các tiêu chí này bao gồm: Số lượng test case tối đa được thực thi Passed Tỷ lệ lỗi giảm xuống dưới mức nhất định Khi đến deadline Việc đánh giá tiêu chí kết thúc kiểm thử bao gồm các nhiệm vụ chủ yếu sau đây: Đối chiếu kết quả thực thi test case so với các tiêu chí kết thúc kiểm thử được định ra trong lúc lập kế hoạch kiểm thử Từ đó, đánh giá xem liệu có cần phải test thêm hay điều chỉnh các tiêu chí kết thúc kiểm thử trong bản kế hoạch Viết báo cáo tóm tắt hoạt động kiểm thử cũng như kết quả kiểm thử cho các bên liên quan.

5) Đóng hoạt động kiểm thử:

Các hoạt động kiểm thử thường chỉ được kết thúc khi các phần mềm được giao cho khách hàng. Ngoài ra, chúng ta cũng thường kết thúc kiểm thử với một trong những lí do sau: Khi tất cả các thông tin đã được thu thập đầy đủ cho hoạt động kiểm thử Khi dự án bị hủy bỏ. Khi một mục tiêu nào đó đạt được. Khi hoạt động bao trì hay cập nhật hệ thống hoàn tất. Hoạt động đóng kiểm thử thường có các hoạt động sau: Kiểm tra lại đã giao đầy đủ cho khách hàng những phần đã cam kết từ đầu Kiểm tra lại các lỗi nghiêm trọng đã được fix tương ứng Đóng gói các tài liệu kiểm thử, kịch bản kiểm thử, môi trường test v.v để dùng cho những mục đích /dự án sau này Đánh giá quá trình kiểm thử cũng như rút ra bài học kinh nghiệm cho những dự án trong tương lại