Trong ngành công nghiệp phần mềm, việc kiểm thử đóng vai trò quan trọng trong việc đảm bảo chất lượng sản phẩm. Quy trình kiểm thử phần mềm thường bao gồm nhiều bước khác nhau để đảm bảo rằng ứng dụng hoạt động đúng như mong đợi và đáp ứng được yêu cầu của người dùng.
Một trong những quy trình kiểm thử phổ biến là gồm sáu giai đoạn: Phân tích yêu cầu, Lập kế hoạch kiểm thử, Phát triển kịch bản kiểm thử, Thiết lập môi trường kiểm thử, Thực hiện kiểm thử và Kết thúc chu kỳ kiểm thử.
Mỗi giai đoạn đều có vai trò riêng biệt, từ việc hiểu rõ yêu cầu, lập kế hoạch đến thực hiện các kịch bản kiểm thử và đánh giá kết quả. Qua các bước này, nhóm kiểm thử có thể đảm bảo rằng phần mềm được phát triển đáp ứng các tiêu chí chất lượng và yêu cầu của khách hàng.
Với quy trình kiểm thử phần mềm này, việc đảm bảo chất lượng sản phẩm trở nên hiệu quả hơn và giúp tăng cường sự tin cậy từ phía người dùng.
Quy trình kiểm thử phần mềm giúp mang lại sản phẩm hoàn hảo đến tay khách hàng
Về cơ bản, quy trình kiểm thử phần mềm gồm 6 giai đoạn: Requirement Analysis (Phân tích yêu cầu), Test Planning (Lập kế hoạch kiểm thử), Test Case Development (Phát triển kịch bản kiểm thử), Environment Setup (Thiết lập môi trường kiểm thử), Test Execution (Thực hiện kiểm thử), Test Cycle Closure (Kết thúc chu kỳ kiểm thử).
1. Requirement Analysis (Phân tích yêu cầu)
Giai đoạn đầu tiên của quy trình kiểm thử phần mềm là Phân tích yêu cầu. Trong giai đoạn này, các nhà kiểm thử sẽ dành thời gian để nắm bắt và phân tích tài liệu Prototype (Tài liệu đặc tả yêu cầu) được tạo ra trong quá trình Phát triển Phần mềm. Mục tiêu là kiểm tra xem các yêu cầu từ phía khách hàng có được đáp ứng đúng cách hay không.
Các yêu cầu thường được chia thành hai loại: Chức năng (Functional) và Phi chức năng (Non-Functional). Yêu cầu chức năng tập trung vào việc mô tả các tính năng cụ thể của phần mềm, trong khi đó yêu cầu phi chức năng tập trung vào các khía cạnh như hiệu suất, bảo mật và tính sẵn sàng sử dụng của ứng dụng.
Trong quá trình phân tích, nếu có bất kỳ yêu cầu nào không rõ ràng, các nhà kiểm thử sẽ làm việc chặt chẽ với các bên liên quan để làm sáng tỏ vấn đề. Cuối cùng, họ sẽ xác định loại kiểm thử phù hợp và ưu tiên các hoạt động kiểm thử, cũng như xác định môi trường kiểm thử cần được chuẩn bị. Điều này giúp đảm bảo rằng quá trình kiểm thử được thực hiện một cách hiệu quả và có mục tiêu.
Phân tích yêu cầu là giai đoạn đầu tiên của quy trình phát triển phần mềm
2. Test Planning (Lập kế hoạch kiểm thử)
Sau giai đoạn một, tester tiến hành Lập kế hoạch kiểm thử để kiểm tra xem phần mềm có đáp ứng các yêu cầu hay không. Kế hoạch kiểm thử là một tài liệu tổng quan về việc kiểm thử dự án bao gồm những thông tin sau:
- Phạm vi kiểm thử, hướng tiếp cận, quy trình kiểm thử, tài nguyên và nhân lực test.
- Các chức năng/module cần được kiểm tra; các công cụ và môi trường kiểm thử cần có.
- Ai test chức năng nào? – Khi nào bắt đầu thực hiện viết và hoàn thành test case? – Khi nào bắt đầu thực hiện và hoàn thành test?
3. Test Case Development (Phát triển kịch bản kiểm thử)
Sau khi có Test Plan, người kiểm thử bắt đầu tạo ra các bộ Test Case dựa trên yêu cầu của phần mềm. Mỗi Test Case cần phải mô tả chi tiết về dữ liệu đầu vào, các hành động cần thực hiện, và kết quả mong đợi để đánh giá xem một chức năng của phần mềm hoạt động đúng hay không. Mẫu Test Case thường bao gồm nhiều trường hợp, nhưng cần có ít nhất 5 phần chính: ID, mục đích kiểm thử, các bước thực hiện, kết quả mong đợi và kết quả thực tế.
Nếu sử dụng công cụ để thực hiện kiểm thử tự động (Automation Testing) cho các chức năng và giao diện của sản phẩm, người kiểm thử sẽ tạo ra một loạt các Test Script. Test Script là các hướng dẫn chi tiết được viết dưới dạng mã code, giúp thực hiện kiểm thử một cách tự động. Điều này là cần thiết vì việc thử nghiệm thủ công sẽ rất khó khăn và tốn nhiều thời gian.
Các người kiểm thử trong cùng một nhóm sẽ thường xuyên xem xét Test Case của nhau để đảm bảo không bỏ sót các trường hợp kiểm thử quan trọng. Việc có một bộ Test Case chất lượng giúp đảm bảo chất lượng của sản phẩm, giảm thiểu lỗi và rủi ro đối với khách hàng.
Biểu mẫu Test Case cơ bản với 5 thành phần chính
4. Environment Setup (Thiết lập môi trường kiểm thử)
Thiết lập môi trường thử nghiệm 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ử. Môi trường kiểm thử sẽ do developers tạo ra để deploy sản phẩm đã được hoàn thiện về phần lập trình.
Sau khi thiết lập môi trường thử nghiệm, tester thực hiện nhanh Smoke Testing (Kiểm thử khói) để kiểm tra tính sẵn sàng của môi trường thử nghiệm đồng thời tính ổn định của bản build sản phẩm. Trường hợp xuất hiện lỗi như môi trường không ổn định hay bản build lỗi chức năng chính, tester sẽ báo lại developers sửa ngay. Nếu môi trường và bản build đã đủ ổn định để tiến hành test chi tiết, tester sẽ tiến hành giai đoạn tiếp theo – Thực hiện kiểm thử.
5. Test Execution (Thực hiện kiểm thử)
Khi các nhà phát triển đã hoàn thành mã code và triển khai sản phẩm lên môi trường kiểm thử, người kiểm thử sẽ thực hiện các bước kiểm thử dựa trên các Test Case đã được viết trước đó. Trong quá trình kiểm thử, nếu phát hiện lỗi, người kiểm thử sẽ ghi lại thông tin về lỗi trên các công cụ quản lý lỗi. Lỗi sẽ được giao lại cho nhà phát triển mà lỗi thuộc về để xử lý. Khi lỗi đã được sửa, người kiểm thử sẽ nhận lại và tiếp tục kiểm thử.
Nếu lỗi đã được sửa và tính năng hoạt động ổn định, người kiểm thử sẽ đóng lỗi bằng cách chuyển trạng thái của nó thành “Close Bug”. Tuy nhiên, nếu lỗi vẫn chưa được sửa thành công, trạng thái của nó sẽ được chuyển thành “Re-open” để nhà phát triển tiếp tục xử lý. Quá trình này sẽ tiếp tục cho đến khi lỗi được sửa thành công và được đóng lại, trước khi tiếp tục kiểm thử tính năng đó.
Trong suốt quá trình kiểm thử phần mềm, người kiểm thử thường ưu tiên kiểm tra các chức năng chính trước, sau đó mới là các chức năng phụ và giao diện. Đồng thời, việc kiểm thử phải tuân thủ thời gian đã được đề ra, và mọi thành viên trong nhóm cần phải hỗ trợ nhau để đảm bảo tiến độ của dự án. Cuối cùng, người kiểm thử sẽ tổng hợp và viết báo cáo theo yêu cầu của dự án để đánh giá quá trình kiểm thử và kết thúc quy trình một cách chính xác.
Mục đích của kiểm thử là tìm ra được lỗi của sản phẩm
6. Test Cycle Closure (Kết thúc chu kỳ kiểm thử)
Ở giai đoạn cuối cùng, tester chuẩn bị báo cáo kết thúc kiểm thử, tổng hợp lại các chỉ số trong quá trình test. Cả team phát triển sẽ ngồi họp để đánh giá toàn bộ các tiêu chí xác định kiểm thử đã đủ hay chưa. Những tiêu chí này khác nhau tùy theo từng dự án, thông thường bao gồm:
- Số lượng test case tối đa được thực thi Passed.
- Tỷ lệ lỗi giảm xuống dưới mức nhất định.
- Deadline được chốt từ giai đoạn làm kế hoạch kiểm thử.
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
Hy vọng bài viết trên đã giúp các bạn tester hiểu rõ hơn về quy trình phát triển phần mềm cũng như 6 giai đoạn quan trọng: Requirement Analysis, Test Planning, Test Case Development, Environment Setup, Test Execution, Test Cycle Closure. Tuân thủ theo quy trình này, tester sẽ làm việc một cách hệ thống và khoa học hơn, đảm bảo chất lượng đầu ra của sản phẩm. Điều này giúp tăng cơ hội thành công cho dự án và đem lại niềm tin từ khách hàng về sản phẩm cuối cùng.