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

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:

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ử

-------------------#####-------------------

Chuỗi bài viết được tham khảo hoặc dịch lại từ nhiều nguồn như: TutorialsPoint, Guru99.

Khóa học nên xem

Nguồn: freetuts.net