Quy trình kiểm thử phần mềm mới nhất 2022

Nhiều người nghĩ rằng phần mềm sẽ được đưa vào sử dụng ngay sau khi nó được lập trình xong.Nhưng thực tế các phần mềm sau khi được lập trình xong phải qua 1 bước vô cùng quan trọng đó là quy trình kiểm thử phần mềm, nó bao gồm có nhiều công đoạn khác nhau và công việc sẽ được bắt đầu từ khi tiếp nhận yêu cầu của khách hàng đến khi kiểm thử xong phần mềm tốt để giao cho khách hàng đem vào sử dụng.

quy trình kiểm thử phần mềm chuẩn nhất hiện nay

Kiểm thử phần mềm là gì?

Kiểm thử phần mềm hay còn gọi là Software Testing là quá trình tìm kiếm và tìm ra các lỗi tồn tại trong 1 phần mềm hoặc ứng dụng mới nào đó.

Quy trình kiểm tra này giúp cho giao diện và tính năng của phần mềm đảm bảo hơn với độ chính xác 100%. Từ đò mới đáp ứng và hoàn thành đầy đủ các yêu cầu đề ra của khách hàng.

Bên cạnh đó, quá trình kiểm thử này cũng giúp cho bạn có thể đánh giá và hiểu được các rủi ro có thể xảy ra với phần mềm và đưa ra các biện pháp khắc phục kịp thời nhất.

software testing

Hiện nay có 3 phương pháp kiểm thử phần mềm được sử dụng phổ biến nhất bao gồm:

  • Kiểm thử hộp trắng: Quá trình kiểm tra với cấu trúc mã mẫu, với cách kiểm thử này người dùng chỉ cần truy cập tới mã nguồn của dự án đang chạy là có thể kiểm tra nó bất kỳ lúc nào.
  • Kiểm thử hộp đen – Black box Testing: Dựa vào yêu cầu của hệ thống để có thể kiểm thử chức năng của hệ thống hoặc phần mềm nào đó.
  • Kiểm thử hộp xám – grey box testing: Đây là cách testing có sự kết hợp của kiểm thử hộp đen và hộp xám.

Tại sao cần test phần mềm?

Kiểm thử phần mềm là hoạt động quan trọng trước khi bàn giao dự án phần mềm tới khách hàng bởi những lý do cơ bản sau:

quy trình kiểm thử phần mềm

– Đưa ra được toàn bộ những chi tiết sai hoặc những khuyết điểm còn tồn tại trong dự án đó dặc biệt là đối với giao đoạn phát triển dự án.

– Giúp nâng cao độ tin cậy và giúp cho khách hàng hài lòng về chất lượng dự án sau khi đã hoàn thành

– Cam kết không có lỗi sai sót nào trong dự án trước khi bàn giao lại cho khách hàng.

– Giúp đánh giá được sự hoạt động ổn định của các chức năng có trong phần mềm từ đó hạn chế nguy cơ phần mềm bị lỗi hoặc gặp các lỗi tiềm ẩn khác.

– Sau khi trải qua quá trình kiểm thử chặt chẽ thì sản phẩm, dự án đó sẽ giúp khách hàng tiết kiệm được thời gian, công suất cũng như chi phí đã bỏ ra. Bởi chỉ cần bạn bỏ sót một chi tiết lỗi nào đó có thể nó sẽ gây ảnh hưởng tới cả dự án, điều này gây thiệt hại nhiều về kinh tế, con người…..

Phân loại kiểm thử phần mềm

Kiểm thử chức năng

Tương tự với kiểm thử Black Box thì kiểm thử chức năng cũng giúp người dùng kiểm tra chức năng của sản phẩm phần mềm mà không cần chú ý với thành phần, cấu trúc bên trong của nó.

Khi kiểm thử chức năng, người kiểm thử sẽ dựa vào tài liệu yêu cầu hoặc dựa trên tài liệu mô tả về sản phẩm để thực hiện test. Bên cạnh đó đây cũng là loại kiểm thử được thực hiện ở mọi giai đoạn kiểm thử. Đặc biệt, chúng thường xuyên được kiểm tra dưới 2 yếu tố là yêu cầu chức năng và quy trình nghiệp vụ.

quy trình kiểm thử phần mềm - kiểm thử chức năng là gì?

Thêm vào đó, quá trình kiểm thử chức năng sẽ trải qua 5 bước kiểm thử chính đó là:

  • Bước 1: Xác định các chức năng của sản phẩm phần mềm.
  • Bước 2: Dựa vào dữ liệu mô tả mẫu về thông tin của sản phẩm để lập ra các dữ liệu đầu vào.
  • Bước 3: Đưa ra dữ liệu đầu ra cho sản phẩm.
  • Bước 4: Thực hành các trường hợp có thể xảy ra trong khi tiến hành kiểm thử.
  • Bước 5: Đưa ra kết quả sau cả quá trình testing và so sánh kết quả đó dựa vào kết quả theo kế hoạch và kết quả thực tế đạt được.

Các loại kiểm thử chức năng phổ biến:

– Unit Testing: Là quá trình kiểm tra từng chi tiết nhỏ nhất trong hệ thống.

– Smoke Testing (Kiểm thử khói): Kiểm tra xem sự hoạt động trên hệ thống đã thực sự ổn định hay chưa.

– Sanity Testing : Kiểm tra các chức năng của hệ thống xem đã thực sự ổn định hay chưa.

– Kiểm thử Interface ( testing giao diện )

– Kiểm thử Systems ( hệ thống ): kiểm tra lại sự tích hợp các chức năng có trong hệ thống

– Kiểm thử tích hợp Integration Testing : Quá trình kiểm tra lại 1 nhóm các module được kết hợp thành 1 khối logic

quy trình kiểm thử phần mềm - KIểm thử hồi quy

– Kiểm thử hồi quy: Kiểm tra lại sự hoạt động của các chức năng cũ và chức năng mới trong hệ thống dự án

– Kiểm thử chấp nhận: Được sử dụng để kiểm tra xem hoạt động của dự án đó đã đúng theo mong muốn ban đầu hay chưa.

Kiểm thử phi chức năng

Khác so với kiểm thử chức năng là kiểm thử phi chức năng sẽ giúp người dùng kiểm tra các hoạt động bên ngoài của dự án phần mềm thay vì kiểm tra hoạt động bên trong của chúng.

Mục đích chính của việc thực hiện kiểm thử phi chức năng đó là kiểm tra lại hiệu suất hoạt động của hệ thống và xem lại phần hiệu năng của ứng dụng dựa trên những yêu cầu từ phía khách hàng.

Kiểm thử phi chức năng bao gồm 6 loại chính: kiểm thử hiệu năng, khả năng chịu tải, áp lực, bảo trì, độ tương thích và cuối cùng là kiểm thử khả năng sử dụng của sản phẩm đó.

test

Kiểm thử cấu trúc

Với quá trình kiểm thử giống với White Box Testing, với chức năng giúp cho người dùng kiểm thử được quá trình hoạt động bên trong của phần mềm.

Thông thường người ta sử dụng kiểm thử cấu trúc khi muốn đo lường phần trăm bao phủ của 1 tập hợp cấu trúc bất kỳ hoặc danh mục bao phủ. Chính vì thế, kiểm thử cấu trúc được dùng trong khi kiểm thử thành phần hoặc kiểm thử tích hợp của sản phẩm phần mềm nào đó.

Bên cạnh đó, nó cũng giúp đo lường thành phần bao phù của code và từ đó giúp đánh giá tỷ lệ phần trăm sau khi đã được kiểm tra thành công bởi 1 bộ bao phủ bất kỳ. Do đó, trong quá trình kiểm tra nếu như tỷ lệ này chưa đạt đủ 100% bao phù thì cần phải được bổ sung thêm các thành phần còn thiếu để lấp đầy phần trống đó.

quy trình kiểm thử phần mềm với kiểm thử cấu trúc

Quy trình test phần mềm

Quy trình test phần mềm

Tiếp nhận và phân tích yêu cầu – Requirement Analysis

Đầu tiên nhóm tester sẽ tiếp nhận thông tin và yêu cầu từ khách hàng: Tài liệu, 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… 

 Sau khi tiếp nhận yêu cầu QA team có nhiệm vụ phân tích và đưa ra những cầu hỏi đối với các bên liên quan như: BA ( Business Analysis), PM ( Project Manager), team leader và khách hàng để 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. Những câu hỏi này sẽ được lưu trữ vào file Q&A (Question and Answer).

Kết thúc bước này nhận được các kết quả như sau: tài liệu chứa các câu hỏi, câu trả lời liên quan đến nghiệp vụ của hệ thống và tài liệu báo cáo tính khả thi, phân tích rủi ro của việc kiểm thử phần mềm.

Giai đoạn này khá quan trọng bởi từ đó đánh giá xem các yêu cầu có kiểm tra được hay không? Nếu được thì sẽ bắt đầu đến các phần tiếp theo của quy trình kiểm thử phần mềm.

quy trình kiểm thử phần mềm

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

Dựa vào tài liệu nhận được trong giai đoạn đầu, Test Leader 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… 

quy trình kiểm thử phần mềm - giai đoạn lên kế hoạch testing plan

Các bước lập kế hoạch:

  • Xác định yêu cầu kiểm thử: Xác định những gì cần phải kiểm thử, đồng thời xác định phạm vi và rủi ro dựa theo yêu cầu từ khách hàng, đặc tả yêu cầu người sử dụng.

  • Xác định các chiến lược kiểm thử: Xác định phương thức, loại kiểm thử, mục tiêu, tổng thời gian, nguồn lực cần thực hiện và tiêu chí đầu ra.

  • Xác định tài nguyên, môi trường: Xác định nguồn nhân lực và môi trường thực hiện kiểm thử (số lượng người, yêu cầu về phần cứng, phần mềm, công cụ hỗ trợ…).

  • Lập thời gian cho các giai đoạn kiểm thử

  • Đánh giá kế hoạch: sau khi bản kế hoạch được lập xong test leader cùng với các thành viên đánh giá lại hiệu quả của bản kế hoạch chẳng hạn như tỉ lệ độ bao phủ của test case, số lượng bug tìm được, độ nghiêm trọng của những con bug tìm được. Nếu chưa thì sẽ phải thực hiện sửa lại theo yêu cầu.

  • Thông báo tới các bên liên quan: test leader sẽ gửi thông báo công việc đến các thành viên thực hiện dự án và các bộ phận liên quan.

Thiết kế test case cho quy trình kiểm thử phần mềm – Test Case Development

Bước này nhằm chỉ định các test case và các bước kiểm tra chi tiết cho mỗi phiên PM. Test cây phải thể hiện đầy đủ các tình huống lỗi có thể xảy ra để đáp ứng các yêu cầu của phần mềm. Giai đoạn này bao gồm các bước: 

Review tài liệu: Đầu tiên dựa vào tài liệu của khách hàng, tester cần xác định chức năng nào cần test, chức năng nào không cần test lại nữa để tiết kiệm thời gian mà vẫn có hiệu quả cao.

Viết test case/ checklist: Dựa vào kế hoạch đã đưa ra và vận dụng các kỹ thuật thiết kế kịch bản kiểm thử tiến hành viết test case.

Chuẩn bị dữ liệu kiểm thử: Cùng với việc tạo ra các test case chi tiết, đội kiểm thử cũng 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 (data, script).

Review test case/ checklist: Sau khi hoàn thành các test cây, các thành viên trong đội kiểm thử review lại test case đã tạo để bổ sung, hỗ trợ lẫn nhau nhằm tránh những sai sót, thiếu test case và rủi ro về sau.

quy trình kiểm thử phần mềm gồm mấy bước

 Sau quá trình thiết kế tester team đưa ra bộ tài liệu bao gồm: test design, test case, checklist, test data và test automation script.

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

Là hoạt động riêng lẻ có thể được kết hợp và sử dụng trong giai đoạn thành lập kịch bản kiểm thử. Các hoạt động chính trong giai đoạn này sẽ do deverlopers quản lý và nắm quyền, từ đó phần hoàn thiện về lập trình sẽ được bộ phần này tạo ra thông qua deloys sản phẩm.

Bên cạnh đó, sau khi môi trường kiểm thử được thiết lập thành công thì bộ phần tester sẽ nhanh chóng thực hiện bước Smoke Testing – kiểm thử khói để kiểm tra lại sự ổn định của sản phẩm cũng như việc sẵn sàng của môi trường kiểm thử.

Chính vì thế, trong quá trình kiểm thử nếu tester phát hiện ra các lỗi có liên quan tới build của sản phẩm hoặc lỗi về các chức năng thì có thể báo cáo tới bộ phận Dev để được khắc phục và chỉnh sửa kịp thời nhất.

Còn nếu như các bước kiểm thử không phát hiện ra lỗi sai nào thì các tester có thể tiếp tục đi tới bước kiểm thử tiếp theo là “Thực hiện kiểm thử”

quy trinh kiem thu phan mem

Thực hiện kiểm thử

Thiết lập môi trường và cài đặt: Trước khi tiến hành kiểm thử cần xác lập và khởi động môi trường kiểm thử. Đảm bảo tất cả các bộ phận liên quan (phần cứng, phần mềm, máy chủ, mạng, dữ liệu…) đã được cài đặt và sẵn sàng cho quá trình kiểm thử.

Phân loại các trường hợp kiểm thử dựa theo độ ưu tiên của từng trường hợp kiểm thử.

Tự động hóa cho các trường hợp kiểm thử nếu thấy cần thiết.

Chạy các test case theo các bước đã định ra trước đó.

So sánh với kết quả mong đợi sau báo cáo các bug xảy ra lên tool quản lý lỗi và theo dõi trạng thái của lỗi đến khi được sửa thành công.

Thực hiện retest để verify các bug đã được fix và regression test khi có sự thay đổi liên quan.

Đánh giá kết quả kiểm thử (Passed/Failed) cho các trường hợp kiểm thử.

quy trình kiểm thử phần mềm chuẩn và được nhiều người áp dụng nhất hiện nay

Viết báo cáo lỗi cho những trường hợp kết quả ghi nhận được và kết quả mong đợi không giống nhau.

Test leader kiểm tra chặt chẽ thời gian cũng như thực hiện công việc bằng cách so sánh thời gian thực hiện thực tế với thời gian theo kế hoạch để điều chỉnh cho phù hợp.

Thường xuyên báo cáo và cập nhật quá trình test phần mềm cho khách hàng đã được những chức năng nào và còn chức năng nào thực hiện, tỷ lệ hoàn thành công việc.

Thẩm định kết quả kiểm thử: Sau khi tiến hành kiểm thử, kết quả kiểm thử cần được xem xét để đảm bảo kết quả nhận được là đáng tin cậy. Xác định nguyên nhân gây ra các lỗi được phát hiện, nếu lỗi xảy ra do quá trình kiểm thử, cần phải sửa chữa và kiểm tra lại từ đầu.

Kết quả của giai đoạn này là test result (kết quả kiểm thử) và defect report (danh sách các lỗi tìm được).

Đánh giá quy trình test phần mềm

Bao gồm xem xét và đánh giá kết quả kiểm thử lỗi, chỉ định các yêu cầu thay đổi và tính toán số liệu liên quan đến quá trình kiểm thử. 

Các bước đánh giá quá trình kiểm thử:

Thống kê số lượng lỗi.

Từ kết quả kiểm thử đánh giá chất lượng của sản phẩm

Đối chiếu kết quả thực thi test case so với các tiêu chí kết thúc kiểm thử được định ra trong lúc lập kế hoạch kiểm thử.

Tổng hợp kết quả gửi thông tin yêu cầu sửa đến người có liên quan đến dự án

Viết báo cáo tóm tắt hoạt động kiểm thử cũng như kết quả kiểm thử cho các bên liên quan.

quy trình kiểm thử phần mềm

Đóng quy trình kiểm thử phần mềm:

Đây là giai đoạn kết thúc hoạt động kiểm thử và phần mềm sẵn sàng được giao cho khách hàng.

Kiểm tra lại các lỗi nghiêm trọng đã được fix tương ứng

Đánh giá mức độ hoàn thành tuyệt đối đối với các chỉ tiêu đặt ra từ đầu phạm vi kiểm tra, chất lượng, chi phí, thời gian và mục tiêu kinh doanh quan trọng.

Lưu trữ các tài liệu kiểm thử, kịch bản kiểm thử, môi trường test v.v để dùng cho những mục đích /dự án sau này.

Kiểm tra lại đã giao đầy đủ cho khách hàng những phần đã cam kết từ đầu

Đánh giá quá trình kiểm thử cũng như rút ra bài học kinh nghiệm cho những dự án trong tương lai.

Quy trình test phần mềm là một hệ thống bài bản mà tester team áp dụng để xác định công việc cần thực hiện, phân chia công việc, phản hồi thông tin để đem tới sản phẩm tốt nhất đến tay khách hàng hay thỏa mãn được nhu cầu của khách hàng.

5/5 – (5 bình chọn)