+2

Tìm hiểu về Software Testing Life Cycle (STLC)

Software testing là một cuộc kiểm tra nhằm cung cấp cho các bên liên quan (khách hàng hay nhóm phát triển phần mềm,...) thông tin về chất lượng của sản phẩm hoặc dịch vụ đang kiểm thử (under test). Software testing cũng cung cấp mục tiêu, cái nhìn độc lập về phần mềm, điều này cho phép việc đánh giá và hiểu rõ các rủi ro khi thực thi phần mềm. Cũng giống như phát triển phần mềm, testing cũng có lifecycle.

1. Software Testing Life Cycle là gì?

1.1 Lifecycle là gì?

Lifecycle là một thuật ngữ chỉ trình tự các thay đổi từ dạng này sang dạng khác. Những thay đổi này có thể xảy ra với những thứ hữu hình hay vô hình. Mỗi một thực thể nào cũng có một lifecycle từ khi bắt đầu đến khi kết thúc. Software cũng như phát triển phần mềm bao gồm một loạt các bước cần được thực hiện theo một trình tự nhất định. Việc thực hiện các hoạt động test một cách có hệ thống và kế hoạch được gọi là Testing life cycle.

1.2 Software Testing Life Cycle là gì?

Trái với hầu hết suy nghĩ của đại đa số, thì kiểm thử không phải là môt hoạt động duy nhất. Kiểm thử thực tế là một chuỗi các hoạt động được thực thi một cách khoa học nhằm đánh giá chất lượng của sản phẩm phần mềm. Các hoat động (giai đoạn) này cấu thành nên vòng đời kiểm thử (hay còn gọi là software testing life cycle-STLC).

2. Vòng đời kiểm thử phần mềm

Các giai đoạn của phần mềm kiểm tra vòng đời có thể liên quan đến lập kế hoạch, chuẩn bị, tiến hành và báo cáo. Cho phép xem xét kỹ lưỡng các phần khác nhau của chu kỳ kiểm thử phần mềm. Các giai đoạn trong vòng đời kiểm thử phần mềm bao gồm:

Giai đoạn #1: Phân tích yêu cầu

Ở giai đoạn này, đội kiểm thử sẽ bắt đầu nghiên cứu yêu cầu để đánh giá xem yêu cầu nào có thể test được, yêu cầu nào không. Đội test cũng sẽ phải làm việc với các bên liên quan như khách hàng, phân tích hệ thống, trưởng nhóm, kỹ sư hệ thống, v.v để làm rõ yêu cầu. Yêu cầu có thể là yêu cầu về chức năng (mô tả tính năng của phần mềm) cũng như non-functional (yêu cầu hiệu năng, tính bảo mật, tính hữu dụng của phần mềm). Đội kiểm thử cũng đánh giá khả năng làm kiểm thử tự động ở giai đoạn này.

Các hoạt động liên quan:

  • Xác định loại kiểm thử sẽ được thực thi
  • Xác đinh độ ưu tiên của các hoạt động kiểm thử
  • Chuẩn bị tài liệu để đánh giá độ bao phủ của yêu cầu (Requirement Traceability Matrix)
  • Xác định môi trường test cần chuẩn bị khi tiến hành kiểm thử
  • Phân tích tính khả thi của kiểm thử tự động (nếu cần thiết) Đầu ra:
  • Tài liệu đánh giá về độ bao phủ của yêu cầu.
  • Bảng báo cáo về tính khả thi của kiểm thử tự động

Giai đoạn #2: Lập kế hoạch kiểm thử

Giai đoạn này còn được gọi là giai đoạn vạch chiến lược test. Về cơ bản, ở giai đoạn này, QA Manager sẽ quyết định cũng như ước lượng chi phí cho dự án cũng như chuẩn bị và thống nhất kế hoạch kiểm thử.

Các hoạt động liên quan:

  • Chuẩn bi tài liệu kế hoạch/chiến lược kiểm thử cho các loại kiểm thử khác nhau.
  • Chọn công cụ kiểm thử.
  • Ước lượng khối lượng công việc kiểm thử.
  • Lên kế hoạch nhân sự cũng như định ra vai trò và trách nhiệm tương ứng.
  • Lên kế hoạch đào tạo nếu cần thiết. Đầu ra:
  • Bảng kế hoạch kiểm thử (test plan).
  • Bảng ước lượng khối lượng công việc.

Giai đoạn #3: Thiết kế các trường hợp kiểm thử (test case)

Giai đoạn này bao gồm các hoạt động như tạo test case, review test case, chỉnh sửa test case cũng như chuẩn bị dữ liệu kiểm thử (test data)

Các hoạt động liên quan:

  • Tạo test case, kịch bản test (dành cho kiểm thử tự động).
  • Tạo dữ liệu kiểm thử Đầu ra:
  • Bộ test case/test scripts.
  • Bộ dữ liệu test

Giai đoạn #4: Chuẩn bị môi trường test

Ở giai đoạn này chúng ta sẽ phải chuẩn bị môi trường kiểm thử như phần mềm, phần cứng nào cần thiết cho việc test. Chuẩn bị môi trường test là một trong những giai đoạn quan trọng nhất cho qui trình kiểm thử và có thể được làm song song với giai đoạn viết test case. Trong một số trường hợp thì đội test không cần phải làm giai đoạn này nếu khách hàng đã chuẩn bị sẵn. Đội test chỉ cần kiểm tra xem môi trường test này có hoạt động tốt không thôi

Các hoạt động liên quan:

  • Hiểu được yêu cầu về môi trường test của dự án để chuẩn bị phần mềm, phần cứng tương ứng.
  • Chuẩn bị môi trường test tương ứng.
  • Chuẩn bị dữ liệu test tương ứng.
  • Kiểm tra xem môi trường test chạy có ok không Đầu ra:
  • Môi trường test được chuẩn bị sẵn sàng.

Giai đoạn #5: Thực thi kiểm thử

Ở giai đoạn này đội test sẽ tiến hành kiểm thử dựa trên kế hoạch kiểm thử và bộ test case đã chuẩn bị trước đó. Lỗi sẽ được báo cho đội phát triển để sửa lỗi và kiểm tra lỗi có được fix đúng hay không.

Các hoạt động liên quan:

  • Chạy test case.
  • Ghi nhận kết quả và báo bug cho những trường hợp chạy bị failed.
  • Map bug với test case trong bộ test case
  • Kiểm tra các lỗi được vá.
  • Đóng lỗi (nếu lỗi được fix) Đầu ra:
  • Kết quả chạy test case.
  • Bảng báo cáo lỗi

Giai đoạn #6: Kết thúc chu kỳ test

Ở giai đoạn này, toàn đội test sẽ ngồi lại với nhau để thảo luận về kết quả thực thi test để lên kế hoạch cũng như rút ra bài học. Ý tưởng là loại bỏ nhưng giai đoạn thắt cổ chai cũng như chia sẻ best practices cho những dự án tương tự trong tương lai.

Các hoạt động liên quan:

  • Đánh giá mức độ hoàn thành của việc test dựa vào Thời gian, Độ bao phủ test, Chi phí, Mục tiêu busines đạt được, v.v.
  • Chuẩn bị các tiêu chí đo lường dựa trên những yếu tố trên.
  • Ghi nhận những bài học rút ra được.
  • Chuẩn bị bảng báo cáo đóng dự án.
  • Đánh giá chất lượng của sản phẩm.
  • Phân tích kết quả kiểm thử để tìm ra việc phân bổ và độ nghiêm trọng của lỗi Đầu ra:
  • Bảng báo cáo đóng giai đoạn.
  • Tiêu chí đo lượng chất lượng kiểm thử

3. Kết luận

Nói chung, vòng đời Kiểm thử phần mềm bao gồm: lập kế hoạch, chuẩn bị, tiến hành và báo cáo các bài kiểm tra. Vòng đời phát triển phần mềm và Vòng đời kiểm thử phần mềm có quan hệ mật thiết với nhau. Các hoạt động kiểm thử không thể tách rời các hoạt động phát triển phần mềm.

Lưu ý: các giai đoạn STLC đã đề cập ở trên không nhất thiết phải theo thứ tự được liệt kê; một số giai đoạn đôi khi có thể chạy song song (Ví dụ: thiết kế kiểm thử và tiến hành kiểm thử). Và trong các trường hợp đặc biệt, các giai đoạn cũng có thể bị đảo ngược.

Tài Liệu Tham Khảo

  1. https://blog.testlodge.com/software-testing-life-cycle/
  2. http://softwaretestingfundamentals.com/software-testing-life-cycle/

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí