6 giai đoạn cơ bản trong quy trình kiểm thử phần mềm

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.

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é!

Tìm hiểu thêm: Những câu hỏi thường gặp khi phỏng vấn Test Engineer

Đọc thêm về quy trình tuyển dụng tại đây.

https://d1iv5z3ivlqga1.cloudfront.net/wp-content/uploads/2021/04/29235048/1_QAG9RXQyyMAY7i9OYo84FA.png
Got It Vietnam
February 03, 2021
Share this post to:
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback
Chi tiết cách viết test plan theo 7 bước đúng chuẩn IEEE 829
3 years ago

[…] 6 giai đoạn cơ bản trong quy trình kiểm thử phần mềm […]

Các bài viết liên quan
Got It Phát Hành MathGPT Miễn Phí Cho Tất Cả Các Tiểu Bang Và Trường Cao Đẳng Cộng Đồng Ở Mỹ

Got It Phát Hành MathGPT Miễn Phí Cho Tất Cả Các Tiểu Bang Và Trường Cao Đẳng Cộng Đồng Ở Mỹ

Mục lụcMathGPT – Công Nghệ Vượt Trội Cải Tiến Cách Dạy Và Học Truyền ThốngÝ tưởng đột pháCông nghệ tiên tiếnMathGPT Miễn Phí Cho Tất Cả Các Tiểu Bang và Trường Cao Đẳng Cộng Đồng Ở MỹKỳ Vọng Vào Tương Lai Của MathGPT MathGPT – Công Nghệ Vượt Trội Cải Tiến Cách Dạy Và Học […]
Tổng quan về Prompt Engineering

Tổng quan về Prompt Engineering

Tác giả: Công Anh (Software Engineer | Got It AI) Trong tech blog số này, Got It sẽ cùng bạn tìm hiểu về Prompt Engineering cũng như một số kỹ thuật cơ bản giúp đầu ra của Large Language Models (LLMs) tối ưu nhất có thể! Mục lụcChatGPT là gì? Hoạt động như thế nào?Prompt […]
Top 3 bộ phim về trí tuệ nhân tạo hay  nhất bạn không nên bỏ lỡ (Phần 2)

Top 3 bộ phim về trí tuệ nhân tạo hay nhất bạn không nên bỏ lỡ (Phần 2)

Trí tuệ nhân tạo đã trở thành một chủ đề hấp dẫn trong ngành điện ảnh, mang đến cho khán giả những câu chuyện đầy cảm xúc và suy ngẫm về tương lai của con người và công nghệ. Dưới đây là danh sách Top 3 phim về trí tuệ nhân tạo không nên bỏ […]
Các bước tạo một thư viện Python

Các bước tạo một thư viện Python

Tác giả: Minh (Software Engineer | CAI) Trong Tech Blog số này, Got It sẽ cùng bạn tìm hiểu về 6 bước để tạo và phân phối một thư viện Python. Cụ thể, chúng ta sẽ viết một CLI command tương tự cowsay cùng với một function để các package khác có thể import và […]
GPT là gì? Các ứng dụng của GPT trong thực tế

GPT là gì? Các ứng dụng của GPT trong thực tế

Trong lĩnh vực Trí tuệ Nhân tạo, GPT (Generative Pre-trained Transformer) đã nhanh chóng trở thành một khái niệm quan trọng và đột phá. Trong bài viết này, chúng ta sẽ khám phá GPT là gì, cách nó hoạt động, và những ứng dụng tuyệt vời mà nó mang lại trong lĩnh vực công nghệ. […]
Phân biệt trí tuệ nhân tạo và học máy

Phân biệt trí tuệ nhân tạo và học máy

Trong thời đại số hóa hiện nay, trí tuệ nhân tạo (AI) và học máy (Machine Learning) đang trở thành hai thuật ngữ phổ biến trong lĩnh vực công nghệ. Mặc dù có sự tương đồng, nhưng chúng không phải là hai khái niệm hoàn toàn tương đương. Bài viết này sẽ giúp bạn hiểu […]