Quy trình kiểm thử gồm những bước nào

Bạn nghĩ rằng kiểm thử phần mềm chỉ bắt đầu 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, ứng dụng? Thực tế, quy trình kiểm thử gồm nhiều giai đoạn khác nhau, được các Tester thực hiện từ khi nhận được yêu cầu của khách hàng đến lúc phần mềm được triển khai. Trong bài viết này, Got It xin chia sẻ đến các bạn những giai đoạn chi tiết trong quá trình kiểm thử phần mềm.

  • Tìm hiểu thêm: Test Type là gì?

Mục lục

Requirement analysis – Phân tích yêu cầu

Giai đoạn đầu tiên của quy trình kiểm thử là phân tích các yêu cầu thông qua những tài liệu bao gồm: tài liệu yêu cầu của khách hàng, prototype của khách hàng, tài liệu đặc tả yêu cầu của phần mềm, tài liệu thiết kế hệ thống…

QA team có nhiệm vụ phân tích và xác định những yêu cầu của khách hàng, trong đó có yêu cầu về kiểm thử chức năng/phi chức năng của phần mềm. Trong quá trình phân tích, QA team có thể đặt ra câu hỏi để hiểu chính xác hơn về yêu cầu của sản phẩm, đồng thời hỗ trợ đưa ra giải pháp thích hợp cho khách hàng.

Quy trình kiểm thử bắt đầu với giai đoạn phân tích

Test planning – Lập kế hoạch kiểm thử

Test plan là gì? Dựa vào tài liệu nhận được trong giai đoạn đầu, Test Lead hoặc Test Manager sẽ lên kế hoạch kiểm thử phần mềm cho QA team để xác định một số yếu tố:

  • Phạm vi dự án: Thời gian thực hiện dự án bao lâu? Trong từng khoảng thời gian sẽ có những công việc gì?
  • Phương pháp tiếp cận: Dựa vào yêu cầu chất lượng của khách hàng, thời gian test, kỹ thuật phát triển ứng dụng, lĩnh vực của sản phẩm… Test Manager sẽ đưa ra phương pháp tiếp cận sao cho đảm bảo tiến độ và chất lượng sản phẩm. Sau khi kết thúc giai đoạn này, QA team cần nhận được test plan, test schedule, test estimation.

Test case development – Thiết kế kịch bản cho quy trình kiểm thử

Trong giai đoạn này, các Tester sẽ đọc hiểu tất cả các tài liệu, từ đó xác định những việc cần làm, chức năng nào cần test hoặc không. Sau đó, dựa vào kế hoạch và kỹ thuật thiết kế kịch bản kiểm thử, Tester sẽ bắt đầu viết test case. Yêu cầu của test case: 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 sản phẩm. Ngoài test case, Tester cũng cần chuẩn bị các dữ liệu cần thiết khác như test data, test script, test design, test automation script.

Thiết kế kịch bản cho quy trình kiểm thử

Test environment set up – Thiết lập môi trường kiểm thử

Đây là một trong những giai đoạn đóng vai trò rất quan trọng trong Software Testing Life Cycle [vòng đời phát triển phần mềm]. Dựa trên yêu cầu khách hàng và đặc thù của sản phẩm, môi trường kiểm thử sẽ được xác định. Tester cần chuẩn bị smoke test case để kiểm tra môi trường cài đặt đã đáp ứng yêu cầu và sẵn sàng cho giai đoạn kiểm thử tiếp theo hay chưa.

Test execution – Thực hiện kiểm thử

Theo test case đã thiết kế và môi trường kiểm thử đã hoàn tất cài đặt, Tester sẽ báo cáo bug lên tool quản lý lỗi và theo dõi đến khi fix bug thành công. Tiếp đó, Tester thực hiện retest để verify các fix bug và regression test trong trường hợp có sự thay đổi. Sau 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à defect reports [danh sách các lỗi tìm được].

Test cycle closure – Đóng chu trình kiểm thử

Để đóng 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, defect reports, test results… Tiếp đó, QA team sẽ tổng kết, báo cáo về quá trình kiểm thử, có bao nhiêu bug đã được fix, bug có nghiêm trọng hay không, chức năng nào còn lỗi, chức năng nào đã hoàn thành…

Mong rằng bài viết trên đã giúp bạn hiểu được toàn bộ các giai đoạn trong quy trình kiểm thử phần mềm. Hãy tham khảo cách tạo test plan hoàn chỉnh cho một tính năng hoặc một sản phẩm mới và góp ý qua bình luận cho Got It nhé!

sẽ giúp tester làm việc chuyên nghiệp và khoa học hơn. Đồng thời, khi tester tuân theo quy trình kiểm thử sẽ giúp tăng hiệu suất của đội nhóm. Từ đó, tester có thể đem đến chất lượng kiểm thử tốt nhất cho khách hàng của mình. Vậy quy trình kiểm thử phần mềm có những giai đoạn nào? Cùng VnSkills Academy đi tìm hiểu nhé.

Phân tích yêu cầu [Requirement Analysis]

Phân tích yêu cầu [Requirement Analysis] là giai đoạn đầu tiên trong quy trình kiểm thử phần mềm. Tester sẽ tiến hành phân tích tài liệu đặc tả yêu cầu [Prototype] được tạo trong vòng đời phát triển sản phẩm [Software Development Life Cycle], tài liệu thiết kế hệ thống,…để hiểu yêu cầu khách hàng đưa ra.

Thông qua hoạt động phân tích, nghiên cứu, tester sẽ hiểu hơn về các yêu cầu kiểm thử chức năng [Functional] và phi chức năng [Non-Functional] đưa ra. Nếu có vấn đề phát sinh, QA team sẽ đặt một số câu hỏi với các bên liên quan như BA [Business Analysis], PM [Project Manager], team leader, khách hàng để làm rõ vấn đề hơn.

Cuối cùng, tester sẽ xác định loại kiểm thử được sử dụng và môi trường test cần có. Chúng sẽ được phân tích cụ thể qua tài liệu nghiệp vụ hệ thống, tài liệu báo cáo tính khả thi, phân tích rủi ro,…

Lập kế hoạch kiểm thử [Test Planning]

Dựa vào các tài liệu được cung cấp từ việc phân tích và nghiên cứu, tester manager hoặc tester leader sẽ tiến hành lập kế hoạch kiểm thử cho đội ngũ. Kế hoạch kiểm thử là một dạng tài liệu tổng quan [test plan/test estimation/ test schedule] về kiểm thử bao gồm các thông tin:

  • Xác định phạm vi kiểm thử: Thời gian dự án thực hiện, timeline các công việc, lịch trình dự kiến thực hiện các công việc nhỏ.
  • Xác định hướng tiếp cận, quy trình kiểm thử, tài nguyên, nguồn nhân lực [con người, thiết bị]
  • Lên kế hoạch test: Các module cần kiểm tra, công cụ và môi trường, phân công và sắp xếp thứ tự kiểm thử, xác định điều kiện bắt đầu và kết thúc,…

Thiết kế kịch bản kiểm thử [Test Case Development]

Sau khi bước lập kế hoạch kiểm thử, tester sẽ căn cứ vào test plan để thiết kế kịch bản kiểm thử. Test case cần mô tả chi tiết các dữ liệu đầu vào, hoạt động và các kết quả mong đợi để xác định phần mềm có đáp ứng đúng yêu cầu hay không. Mẫu test case thường bao gồm: ID, mục đích kiểm thử, công việc cần thực hiện, kết quả mong đợi và thực tế.

Bên cạnh việc tạo ra test case, tester cần chuẩn bị trước các dữ liệu kiểm thử cho các trường hợp cần thiết như test script, test data. Test script được viết bằng mã code sử dụng khi thực hiện test tự động [Automation testing].

Sau khi hoàn thành test case, các thành viên trong nhóm cần review lại test case để có thể bổ sung nhằm tránh các rủi ro có thể gặp phải. Sau khi thiết kế kịch bản kiểm thử xong, ta sẽ có các tài liệu gồm test case, test design, checklist, test data, test automation script.

Xem thêm: Nguyên tắc kiểm thử phần mềm

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

Thiết lập môi trường kiểm thử trong quy trình kiểm thử phần mềm là một hoạt động độc lập. Do đó, tester có thể bắt đầu cùng lúc với giai đoạn phát triển kịch bản kiểm thử. Developers sẽ tạo ra môi trường kiểm thử để deploy sản phẩm đã hoàn thiện về phần lập trình. Môi trường kiểm thử sẽ được quyết định dựa trên các yêu cầu khách hàng, đặc thù sản phẩm như client, server, network,…

Sau khi môi trường kiểm thử được thiết lập, tester sẽ thực hiện nhanh kiểm thử khói [Smoke testing]. Chúng có tác dụng kiểm tra tính sẵn sàng của môi trường và tính ổn định của bản build sản phẩm. Nếu xuất hiện bản build lỗi, tester có thể báo lại với developers để điều chỉnh kịp thời. Khi môi trường và bản build đã ổn định, tester sẽ tiến hành thực hiện kiểm thử.

Thực hiện kiểm thử [Test Execution]

Tester sẽ tiến hành thực hiện các test case đã được thiết kế với mức độ ưu tiên khác nhau trên môi trường đã được cài đặt. Trong quá trình test, nếu phát hiện lỗi [bug] thì tester sẽ viết [log] lên các tool quản lý lỗi. Các developer sẽ nhận bug của mình và xử lý. Sau khi fix xong bug, tester sẽ tiến hành thực hiện kiểm thử lại một lần nữa.

Trong quy trình kiểm thử phần mềm, tester sẽ ưu tiên kiểm tra các tính năng chính trước. Các chức năng phụ và giao diện sẽ được thực hiện test sau đó. Khi các lỗi đã được fix xong, các tính năng bắt đầu ổn định thì tester sẽ bắt đầu đổi trạng thái thành Close Bug. Nếu lỗi chưa chưa được fix thành công, trạng thái sẽ đổi thành Re-open để developers sẽ tiến hành fix lại. Tester thực hiện Re-test để verify các bug đã được fix và regression test khi có sự thay đổi liên quan.

Trong suốt quá trình, kiểm thử viên cần hỗ trợ, đốc thúc nhau và đưa ra các giải pháp để công việc đạt hiệu quả cao. Tester cần kiểm soát chặt chẽ tiến độ công việc để có thể hoàn thành kế hoạch test đúng hạn. Bên cạnh đó, tester cần thường xuyên cho PM và khách hàng biết về tình hình của dự án. Sau khi hoàn tất quá trình thực hiện kiểm thử, tester sẽ đưa ra các kết quả kiểm thử [test results] và danh sách các lỗi tìm được [defect reports].

Kết thúc quy trình kiểm thử phần mềm [Test Cycle Closure]

Test Cycle Closure là giai đoạn cuối trong quy trình kiểm thử phần mềm. Lúc này, tester sẽ tiến hành thực hiện tổng kết, báo cáo kết quả kiểm thử có bao nhiêu case pass/fail, số lượng case đã được fix, mức độ nghiêm trọng của lỗi, dev nào nhiều lỗi,…Bên cạnh đó, tester cần công bố chức năng nào đã hoàn thành/chưa hoàn thành test, có đáp ứng đúng tiến độ bàn giao không.

Sau khi đã có được cái nhìn sơ bộ, tester sẽ đánh giá các tiêu chí hoàn thành như phạm vi kiểm tra, thời gian, chi phí,…Có những điểm tốt và chưa tốt nào, từ đó tester sẽ rút ra bài học kinh nghiệm cho các dự án sau để nâng cao chất lượng kiểm thử. Kết quả thu được sẽ là test report, test results [final].

Kiểm thử phần mềm không phải là hoạt động đơn lẻ, riêng biệt mà đó là cả một quy trình có sự kết hợp giữa nhiều người với nhau. Hy vọng rằng thông qua bài viết của

Chủ Đề