Ở bài viết trước, các bạn đã được tìm hiểu qua về khái niệm Kiểm thử Phần mềm (Software Testing) và một số phương thức kiểm thử thông dụng. Vậy công việc của một Kỹ sư Kiểm thử Phần mềm (Test Engineer/ Tester) sẽ bắt đầu sau khi các lập trình viên đã hoàn tất việc xây dựng một phần mềm hay ứng dụng? Thực tế, quy trình kiểm thử gồm nhiều giai đoạn khác nhau, được thực hiện tùy theo yêu cầu riêng của từng dự án. Ở bài viết này, hãy cùng LogiGear tìm hiểu qua 6 giai đoạn cơ bản trong quá trình kiểm thử phần mềm nhé!

  1. Phân tích yêu cầu – Requirement Analysis

Để thực hiện một quy trình Kiểm thử Phần mềm cơ bản, chúng ta sẽ bắt đầu với giai đoạn Requirement Analysis (Phân tích yêu cầu). Trong giai đoạn này, các tester (Kỹ sư Kiểm thử Phần mềm) sẽ xem xét, phân tích các tài liệu Prototype (Tài liệu đặc tả yêu cầu) từ phía khách hàng, được tạo ra trong Software Development Life Cycle (Vòng đời phát triển phần mềm – SDLC) để kiểm tra các yêu cầu cụ thể từ khách hàng.

Các yêu cầu về Kiểm thử thường được chia thành 2 dạng chính: Functional (Chức năng) và Non-Functional (Phi chức năng). Các yêu cầu về Functional sẽ thiên về mô tả tính năng, còn Non-Functional sẽ liên quan đến mô tả hiệu năng, tính bảo mật, tính hữu dụng của phần mềm/hệ thống/ứng dụng.

Thông thường, người thực hiện giai đoạn này sẽ là QA/QA Team. Trong quá trình phân tích yêu cầu, QA team sẽ xác địch mọi thông tin thật cẩn thận và cụ thể, tìm hiểu cặn kẽ tất cả các yêu cầu từ khách hàng, để tránh gặp phải sự thiếu rõ ràng trong yêu cầu, cũng như ảnh hưởng đến quá trình kiểm thử về sau.

  1. Lập kế hoạch kiểm thử – Test Planning

Bước tiếp theo trong một quy trình kiểm thử phần mềm cơ bản sẽ là lên kế hoạch. Kế hoạch kiểm thử (test plan) là một bộ tài liệu tổng quan được tạo ra dựa trên toàn bộ thông tin từ giai đoạn 1. Ở giai đoạn này, Test Leads/ Managers thường sẽ là người trực tiếp lập kế hoạch Kiểm thử. Một kế hoạch kiểm thử cần phải xác định được các yếu tố sau:

  • Phạm vi kiểm thử
  • Phương hướng tiếp cận
  • Thời gian dự kiến của dự án? Các công việc cụ thể tương ứng trong mỗi giai đoạn?
  • Tài nguyên của dự án (tài liệu liên quan, số lượng nhân sự)
  • Các chức năng/module cần được kiểm thử, các công cụ và môi trường kiểm thử

Việc lập kế hoạch kiểm thử tỉ mỉ và rõ ràng sẽ giúp cho các testers/ QA team xử lý và hoàn thành công việc của họ các nhanh chóng và hiệu quả

  1. Thiết kế/ Phát triển kịch bản cho quy trình kiểm thử – Test Case Development

Sau khi có được test plan, các Testers sẽ nghiên cứu tất cả các tài liệu đang có, và bắt đầu xây dựng bộ Trường hợp kiểm thử (test case). Trong quá trình xây dựng bộ Test case, Tester cần phải áp dụng một số kĩ thuật thiết kế test case (ví dụ Phân vùng tương đương, Phân tích giá trị biên, v.v) để tối ưu hóa số lượng test case nhưng đảm bảo bao phủ được các trường hợp kiểm tra.  Bộ test case hoàn chỉnh cần phải thể hiện được chi tiết dữ liệu đầu vào, các hành động, kết quả mong đợi để xác định một chức năng của ứng dụng/ phần mềm có hoạt động đúng hay không, đôi khi cũng cần phải thể hiện tất cả các trường hợp kiểm thử có thể phát sinh để đáp ứng yêu cầu của khách hàng.

Ngoài test case, tester cũng cần chuẩn bị các dữ liệu cần thiết khác như dữ liệu kiểm thử (test data), kịch bản kiểm thử (test script), khung thiết kế kiểm thử (test design). Các Tester trong cùng một team có thể kiểm tra/đối soát chéo test case của nhau tránh bỏ sót những trường hợp kiểm thử quan trọng. Một bộ test case chất lượng sẽ giúp đảm bảo chất lượng sản phẩm, hạn chế lỗi và rủi ro nhất cho khách hàng.

  1. Thiết lập môi trường kiểm thử – Test Environment Setup

Giai đoạn này một trong những giai đoạn khá quan trọng trong Software Testing Life Cycle (Vòng đời Kiểm thử phần mềm). Đối với một số dự án, thiết lập môi trường kiểm thử là một hoạt động độc lập và có thể được bắt đầu cùng với giai đoạn phát triển kịch bản kiểm thử (giai đoạn 3).

Sau khi thiết lập môi trường kiểm thử, Tester thực hiện Smoke Testing để kiểm tra tính sẵn sàng của môi trường kiểm thử, đồng thời xem xet tính ổn định của sản phẩm. Trong trường hợp xuất hiện lỗi (môi trường không ổn định, hay sản phẩm lỗi chức năng chính), Tester sẽ báo lại cho lập trình viên (Developer) để nhanh chóng điều chỉnh/sửa chữa ngay. Nếu mọi thứ đã ổn định và sẵn sàng cho việc kiểm thử phần mềm/hệ thống, Testers sẽ tiến hành giai đoạn tiếp theo – Thực hiện kiểm thử.

  1. Thực hiện kiểm thử – Test Execution

Trong giai đoạn này, Tester sẽ thực hiện công việc của mình dựa trên test case đã được thiết kế và môi trường được thiết lập. Trong suốt quá trình kiểm thử, nếu phát hiện ra bất cứ lỗi (bug) nào, Tester sẽ viết (log) lên các công cụ quản lý lỗi và Developer sẽ xử lý các bugs đó. Sau khi sửa chữa các bugs, Tester sẽ nhận lại và tiếp tục kiểm thử.

Tester sẽ tiếp tục thực hiện kiểm thử một tính năng cho đến khi thỏa mãn các tiêu chí được đề ra trong Test Plan( Exit Criteria) thì việc kiểm thử tính năng mới được xem là hoàn thành. Trong cả quá trình kiểm thử phần mềm, tester ưu tiên kiểm tra chức năng chính trước, chức năng phụ và giao diện sẽ thực hiện test sau. Và khi hoàn tất giai đoạn này, các chuyên viên kiểm thử cần có được test results (kết quả kiểm thử) và bug reports (danh sách các lỗi tìm được).

  1. Kết thúc chu trình kiểm thử – Test Cycle Closure

Để kết thúc chu trình kiểm thử, QA team cần có được những tài liệu đã được tổng hợp và hoàn thiện từ những giai đoạn trước: tài liệu phân tích đặc tả yêu cầu, test plan, bug reports, test results… Tiếp đó, QA team sẽ tổng kết, báo cáo về quá trình kiểm thử, bao nhiêu loại kiểm thử (test types) đã được áp dụng, đã test trên môi trường nào, số lượng test case đã được thực thi, bao nhiêu bug đã tìm được, bao nhiêu bug đã được sửa, số lượng bugs còn lại thõa mãn tiêu chí trong Test Plan,…

Quy trình kiểm thử phần mềm thường chỉ được kết thúc khi sản phẩm được bàn giao cho khách hàng. Ngoài ra, hoạt động kiểm thử có thể kết thúc trong các trường hợp sau:

  • Khi 1 dự án bị hủy bỏ.
  • Khi các mục tiêu chính đã hoàn thành.
  • Khi việc bảo trì hoặc cập nhật đã hoàn thành.

Kết luận

Một quy trình kiểm thử phần mềm hoàn hảo luôn cần phải dựa trên rất nhiều yếu tố chủ quan và khách quan. Hy vọng qua bài viết này, LogiGear đã mang lại cho các bạn những kiến thức cơ bản và cần thiết nhất trong quy trình kiểm thử phần mềm chuyên nghiệp.

Hẹn gặp lại các bạn ở những bài viết tiếp theo!


Nguồn tham khảo:
1. STLC
2. Quy trình Kiểm thử Phần mềm

Leave A Comment