TESTING FUNDAMENTALS
TYPES OF TESTING
TESTCASE DEVELOPMENT
TESTING TECHNIQUES
TEST MANAGEMENT & CONTROL
DEFECTS
AGILE
TESTING DIFFERENT DOMAINS
WHITEBOX TESTING
PERFORMANCE TESTING
ADVANCE TESTING TOPICS
FAQ
TESTING TYPES - MEGA LIST
TOOLS
CHECK!
CERTIFICATION
LIVE TESTING PROJECT
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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

software test life cycle 1 jpg

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ử

Cùng chuyên mục:

Giám sát và kiểm soát kiểm thử

Giám sát và kiểm soát kiểm thử

Trong khi nhóm thực hiện các nhiệm vụ được giao, Test Manager cần giám sát…

Tài liệu kiểm thử

Tài liệu kiểm thử

Tài liệu kiểm thử giúp nhóm kiểm thử ước tính effort kiểm thử cần thiết,…

Cách tạo Test Plan

Cách tạo Test Plan

Test Plan là một tài liệu chi tiết mô tả chiến lược kiểm thử, Mục…

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử là một trong những nhiệm vụ phức tạp nhất trong…

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Khi thực hiện dự án, luôn có những rủi ro tiềm ẩn. Để giảm thiểu…

Quy trình quản lý kiểm thử

Quy trình quản lý kiểm thử

Quản lý kiểm thử (Test Management) bao gồm chuỗi nhiều hoạt động. Có hai phần…

Vai trò và Trách nhiệm của Test Manager

Vai trò và Trách nhiệm của Test Manager

Trước khi bắt đầu kiểm thử một dự án, bạn nên biết vai trò của…

Kiểm thử Use Case

Kiểm thử Use Case

Là một tester, bạn đã hiểu rõ về Use Case hay Kiểm thử Use Case…

Kỹ thuật kiểm thử chuyển đổi trạng thái

Kỹ thuật kiểm thử chuyển đổi trạng thái

Chuyển đổi trạng thái (State Transition) trong kiểm thử là gì? Khi nào sử dụng…

Kỹ thuật kiểm thử bảng quyết định

Kỹ thuật kiểm thử bảng quyết định

Bảng quyết định là một trong những kỹ thuật kiểm thử phầm mềm. Vậy Kiểm…

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Chúng ta cần sử dụng các kỹ thuật đặc biệt để lựa chọn test cases…

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử giúp giảm số lượng các test cases được thực hiện trong…

Test Case Template

Test Case Template

Test cases là đơn vị nhỏ nhất trong kế hoạch kểm thử, mô tả các…

Thủ thuật để tạo dữ liệu kiểm thử

Thủ thuật để tạo dữ liệu kiểm thử

Data được sử dụng trong kiểm thử mô tả các điều kiện tiền đề của…

Cách tạo Requirements Traceability Matrix - RTM

Cách tạo Requirements Traceability Matrix - RTM

Requirements Traceability Matrix - RTM là gì? Traceability Test Matrix bao gồm những loại nào?…

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test Basis là nguồn để tạo ra các test cases.…

Cách viết Test Cases

Cách viết Test Cases

Test Case là tập hợp các hành động được thực thi để xác minh một…

Kịch bản kiểm thử - Test Scenario

Kịch bản kiểm thử - Test Scenario

Test Scenario tuy không còn mới mẻ nhưng không ít người còn mơ hồ về…

Kiểm thử phi chức năng

Kiểm thử phi chức năng

Kiểm thử phi chức năng liên quan đến việc kiểm thử phần mềm từ những…

Kiểm thử hồi quy

Kiểm thử hồi quy

Kiểm thử hồi quy - Regression Testing rất quan trọng, đặc biệt là trong những…

Top