Vòng đời kiểm thử phần mềm
Kiểm thử bao gồm một chuỗi các giai đoạn nối tiếp nhau tạo nên một vòng đời kiểm thử phần mềm hay còn gọi là Software testing life cycle. Bài viết này sẽ tìm hiểu chi tiết về các giai đoạn trong vòng đời kiểm thử phần mềm.
1. Vòng đời kiểm thử phần mềm là gì?
Vòng đời kiểm thử phần mềm được định nghĩa là một chuỗi các hoạt động được thực hiện để thực hiện Kiểm thử phần mềm.
Vòng đời kiểm thử phần mềm bao gồm một loạt các hoạt động được thực hiện theo phương pháp phù hợp để xác minh sản phẩm phần mềm hoạt động đúng với yêu cầu.
Sơ đồ - Các giai đoạn trong Vòng đời kiểm thử phần mềm
Bài viết này được đăng tại [free tuts .net]
Mỗi giai đoạn đều có tiêu chí bắt đầu (Entry Criteria ) và tiêu chí kết thúc (Exit criteria), các hoạt động và sản phẩm bàn giao liên quan.
Tiêu chí bắt đầu: Tiêu chí bắt đầu đưa ra các mục tiên quyết phải hoàn thành trước khi bắt đầu kiểm thử.
Tiêu chí kết thúc: Tiêu chí kết thúc xác định các mục phải hoàn thành trước khi kiểm thử được kết thúc.
Theo lý thuyết, bạn không thể thực hiện giai đoạn tiếp theo nếu tiêu chí kết thúc của giai đoạn trước chưa được đáp ứng. Nhưng thực tế điều này không phải lúc nào cũng xảy ra. Vì vậy, trong bài viết này, chúng tôi sẽ tập trung vào các hoạt động và các sản phẩm chuyển giao của mỗi giai đoạn trong vòng đời kiểm thử phần mềm.
2. Các giai đoạn trong Vòng đời kiểm thử phần mềm
Phân tích yêu cầu
Trong giai đoạn này, nhóm kiểm thử sẽ nghiên cứu các yêu cầu từ quan điểm kiểm thử để xác định các yêu cầu kiểm thử.
Nhóm QA có thể tương tác với các bên liên quan khác nhau (Khách hàng, BA, Leader, Kiến trúc sư hệ thống, v.v.) để hiểu chi tiết các yêu cầu.
Các yêu cầu có thể là Functional (xác định những gì phần mềm phải làm) hoặc Non Functional (xác định tính khả dụng / bảo mật của hệ thống).
Hoạt động:
- Xác định các loại thử nghiệm sẽ được thực hiện.
- Thu thập chi tiết về các vấn đề cần ưu tiên và tập trung kiểm thử.
- Chuẩn bị ma trận truy xuất yêu cầu (Requirement Traceability Matrix).
- Xác định chi tiết môi trường kiểm thử.
- Phân tích tính khả thi tự động hóa (nếu cần).
Sản phẩm bàn giao:
- Requirement Traceability Matrix (RTM)
- Báo cáo khả thi tự động hóa (nếu có)
Lập Kế hoạch kiểm thử (Test Planning)
Thông thường, trong giai đoạn này, người quản lý QA có nhiều kinh nghiệm sẽ xác định effort, dự toán chi phí cho dự án, chuẩn bị và hoàn thiện Kế hoạch kiểm thử. Trong giai đoạn này, Chiến lược kiểm thử cũng được xác định.
Hoạt động:
- Chuẩn bị kế hoạch kiểm thử / tài liệu chiến lược cho các loại kiểm thử
- Lựa chọn công cụ kiểm thử
- Ước lượng effort (Effort estimation)
- Lập kế hoạch nguồn lực và xác định vai trò, trách nhiệm của từng người.
- Training các yêu cầu
Sản phẩm bàn giao:
- Kế hoạch kiểm thử / tài liệu chiến lược.
- Tài liệu ước lượng effort (Effort estimation document)
Xây dựng Test cases
Giai đoạn này liên quan đến việc tạo, xác minh và update các test cases & test scripts. Dữ liệu kiểm thử được tạo và được reviewed và update.
Hoạt động:
- Tạo test cases & test scripts (nếu có)
- Review và kiểm tra các test cases & test scripts
- Tạo dữ liệu kiểm thử (Nếu Môi trường kiểm thử đã có)
Sản phẩm bàn giao:
- Các test cases & test scripts
- Dữ liệu kiểm thử
Xây dựng môi trường kiểm thử
Môi trường kiểm thử yêu cầu các điều kiện về phần mềm và phần cứng. Thiết lập môi trường kiểm thử là một trong những phần quan trọng của quy trình kiểm thử và có thể được thực hiện song song với Giai đoạn xây dựng Test Cases. Nhóm testers có thể không cần xây dựng môi trường kiểm thử nếu khách hàng hay nhóm developers cung cấp môi trường kiểm thử trong trường hợp nhóm testers được yêu cầu thực hiện smoke testing.
Hoạt động:
- Hiểu yêu cầu kiến trúc, thiết lập môi trường và chuẩn bị danh sách yêu cầu về phần cứng và phần mềm cho Môi trường kiểm thử.
- Thiết lập Môi trường kiểm thử và dữ liệu kiểm thử
- Thực hiện smoke testing
Sản phẩm bàn giao:
- Môi trường sẵn sàng với dữ liệu kiểm thử được thiết lập
- Kết quả smoke testing.
Thực thi kiểm thử
Trong giai đoạn này, người kiểm thử sẽ tiến hành kiểm thử dựa trên kế hoạch kiểm thử và các test cases đã chuẩn bị. Lỗi được tìm thấy sẽ báo cáo lại cho nhóm developers để sửa lỗi và tester sẽ thực hiện lại test cases có lỗi.
Hoạt động:
- Thực hiện kiểm thử theo kế hoạch
- Tài liệu kết quả kiểm thử và log các test cases failed
- Đánh dấu các lỗi xảy ra trong RTM
- Kiểm thử lại các lỗi đã được sửa
- Theo dõi các lỗi để close khi khác lỗi được sửa
Sản phẩm bàn giao:
- Hoàn thành RTM với trạng thái đã được thực thi
- Các test cases được cập nhật kết quả
- Báo cáo lỗi
Kiểm thử kết thúc chu kỳ (Test Cycle Closure)
Nhóm kiểm thử sẽ gặp gỡ, thảo luận và phân tích các sản phẩm kiểm thử để xác định các chiến lược sẽ thực hiện trong tương lai, rút ra bài học từ chu kỳ kiểm thử hiện tại. Đưa ra các ý tưởng để loại bỏ các nút thắt trong các chu kỳ kiểm thử trong tương lai và chia sẻ các thực tiễn tốt nhất cho bất kỳ dự án tương tự nào trong tương lai.
Hoạt động:
- Đánh giá các tiêu chí hoàn thành chu kỳ dựa trên Thời gian, Phạm vi kiểm thử, Chi phí, Chất lượng.
- Chuẩn bị test metrics dựa trên các thông số trên.
- Tài liệu học tập ngoài dự án
- Chuẩn bị báo cáo kết thúc kiểm thử
- Báo cáo về chất lượng sản phẩm cho khách hàng.
- Kiểm tra phân tích kết quả để tìm ra loại lỗi và mức độ nghiêm trọng của lỗi.
Sản phẩm bàn giao:
- Báo cáo kết thúc kiểm thử (Test Closure report)
- Các số liệu kiểm thử (Test metrics)
3. Bảng tóm tắt
Cuối cùng, tóm tắt các Giai đoạn trong vòng đời kiểm thử phần mềm cùng với Tiêu chí bắt đầu và kết thúc.
Giai đoạn | Tiêu chí bắt đầu | Hoạt động | Tiêu chí kết thúc | Sản phẩm bàn giao |
Phân tích yêu cầu |
Yêu cầu Tài liệu có sẵn (cả chức năng và phi chức năng) Tiêu chí chấp nhận được xác định. Tài liệu về kiến trúc ứng dụng đã có. |
Phân tích để biết các mô-đun và các chức năng cụ thể của từng mô-đun. Xác định tất cả các vấn để liên quan trong các mô-đun. Xác định tất cả các thông tin người dùng. Thu thập giao diện người dùng / xác thực, yêu cầu liên quan. Xác định các loại thử nghiệm sẽ được thực hiện. Thu thập chi tiết về các trường hợp kiểm thử cần được ưu tiên và tập trung. Chuẩn bị ma trận truy xuất yêu cầu (RTM). Xác định chi tiết môi trường kiểm thử. Phân tích tính khả thi tự động hóa (nếu cần). |
Đánh dấu RTM Kiểm tra báo cáo khả thi tự động hóa được xác nhận bởi khách hàng |
RTM Báo cáo khả thi tự động hóa (nếu có) |
Kế hoạch kiểm thử |
Tài liệu yêu cầu Yêu cầu Ma trận truy xuất. Tài liệu Kiểm thử tự động khả thi |
Phân tích các phương pháp kiểm thử khác nhau có thể thực hiện. Hoàn thiện phương pháp phù hợp nhất. Chuẩn bị kế hoạch kiểm thử / tài liệu chiến lược cho các loại kiểm thử. Lựa chọn công cụ kiểm thử. Dự toán effort. Lập kế hoạch nguồn lực và xác định vai trò và trách nhiệm |
Phê duyệt kế hoạch / tài liệu chiến lược. Tài liệu ước tính effort được xác nhận |
Kế hoạch kiểm tra / tài liệu chiến lược. Tài liệu ước tính effort. |
Thiết lập môi trường kiểm thử |
Tài liệu thiết kế và kiến trúc hệ thống khả thi Kế hoạch thiết lập môi trường khả thi |
Hiểu kiến trúc cần thiết, thiết lập môi trường Chuẩn bị danh sách yêu cầu về phần cứng và phần mềm Hoàn thiện các yêu cầu kết nối Chuẩn bị danh mục thiết lập môi trường kiểm thử Thiết lập Môi trường kiểm thử và dữ liệu kiểm thử Thực hiện Smoke testing trên môi trường kiểm thử Chấp nhận hay không chấp nhận môi trường đã xây dựng tùy thuộc vào kết quả Smoke testing |
Thiết lập môi trường làm việc theo kế hoạch và checklist Kiểm tra dữ liệu hoàn tất Smoke testing thành công |
Môi trường sẵn sàng với dữ liệu kiểm thử được thiết lập Kết quả Smoke testing |
Thực thi kiểm thử |
RTM, Test Plan, Test case / script khả thi Môi trường kiểm thử đã sẵn sàng Dữ liệu kiểm thử đã đầy đủ và chính xác Báo cáo kiểm thử đơn vị / tích hợp cho bản build đã được kiểm thử |
Thực hiện kiểm thử theo kế hoạch Tài liệu kết quả kiểm thử, và đánh dấu các lỗi tương ứng với các trường hợp thất bại Cập nhật kế hoạch kiểm thử / trường hợp kiểm thử, nếu cần thiết Đánh dấu Lỗi cho các trường hợp kiểm thử trong RTM Kiểm thử lại các lỗi đã được sửa Kiểm tra hồi quy ứng dụng Theo dõi các lỗi để close |
Tất cả các kế hoạch kiểm thử được thực hiện Đánh dấu Lỗi cho các trường hợp kiểm thử và theo dõi để close |
Hoàn thành RTM với trạng thái đã được thực thi Các trường hợp kiểm thử được cập nhật kết quả Báo cáo lỗi |
Kiểm tra kết thúc chu kỳ |
Kiểm thử đã được hoàn thành Kết quả kiểm thử đã đầy đủ Báo cáo lỗi đã đầy đủ |
Đánh giá các tiêu chí hoàn thành chu kỳ dựa trên - Thời gian, phạm vi kiểm tra, Chi phí, Chất lượng phần mềm, Mục tiêu quan trọng Chuẩn bị các số liệu kiểm tra dựa trên các thông số trên. Tài liệu nghiên cứu ngoài dự án Chuẩn bị báo cáo kết thúc kiểm thử Báo cáo về chất lượng sản phẩm cho khách hàng. Phân tích kết quả kiểm thử để phân phối lỗi theo loại và mức độ nghiêm trọng |
Báo cáo kết thúc kiểm thử được xác nhận bởi khách hàng |
Báo cáo kết thúc kiểm thử Số liệu kiểm thử |