Các bước trong quy trình kiểm thử phần mềm
Quy trình kiểm thử phần mềm là một phần không thể thiếu trong quá trình phát triển sản phẩm phần mềm. Để đảm bảo chất lượng tốt nhất của sản phẩm, các kiểm thử viên cần phải thực hiện đầy đủ các bước trong quy trình kiểm thử. Bài viết này sẽ giúp bạn hiểu rõ hơn về các bước trong quy trình kiểm thử phần mềm, cũng như các phương pháp và nguyên lý cần thiết để đạt được kết quả tốt nhất. Hãy cùng Test Mentor khám phá nhé!
Nội Dung Bài Viết
Một số phương pháp kiểm thử
Trong các phương pháp kiểm thử phần mềm, kiểm thử hộp trắng, kiểm thử hộp đen và kiểm thử hộp xám là ba loại kiểm thử phổ biến nhất.
Bạn có thể xem thêm những chia sẻ về kiểm thử hộp trắng, hộp đen để biết thêm chi tiết. Dưới đây là những định nghĩa về ba loại kiểm thử căn bản này.
1. Kiểm thử hộp trắng
Kiểm thử hộp trắng (White Box Testing): Là một phương pháp kiểm thử phần mềm, trong đó người kiểm thử có kiến thức về cấu trúc và logic bên trong của mã nguồn hoặc hoạt động của một ứng dụng. Đặc biệt, cần tập trung vào các đoạn code, cấu trúc dữ liệu để đảm bảo tính đúng đắn của chúng.
Trong kiểm thử hộp trắng, phối cảnh bên trong của hệ thống được sử dụng để thiết kế các trường hợp thử nghiệm. Người kiểm tra chọn đầu vào để thực hiện các đường dẫn thông qua mã và xác định đầu ra mong đợi. Thông thường kiểm thử hộp trắng sẽ trong giai đoạn Unit testing, người test là Developer, người biết code.
2. Kiểm thử hộp đen
Kiểm thử hộp đen (Black-Box Testing): Là một phương pháp kiểm thử chức năng của một ứng dụng mà không xem xét cấu trúc hoạt động bên trong của nó, trong đó người kiểm thử chỉ tập trung vào các kết quả đầu ra của hệ thống để kiểm tra xem chức năng hoạt động đúng và đầy đủ theo yêu cầu nghiệp vụ bài toán từ khách hàng hay không. Phương pháp này có thể áp dụng cho mọi cấp độ kiểm thử như unit testing, integration testing, system testing, acceptance testing.
Phương pháp kiểm thử hộp đen phổ biến gồm có:
- Phân vùng tương đương (Equivalence partitioning)
- Phân tích giá trị biên (Boundary value analysis)
- Bảng quyết định (Decision Tables)
- Đoán lỗi (Error Guessing)
3. Kiểm thử hộp xám
Kiểm thử hộp xám (Gray-box Testing): Là một phương pháp kiểm thử phần mềm kết hợp giữa 2 phương pháp nêu trên là Kiểm thử hộp đen và kiểm thử hộp trắng.
Quy trình kiểm thử phần mềm
1. Xác định yêu cầu kiểm thử
Đây là bước đầu tiên trong quy trình kiểm thử phần mềm, để chúng ta có thể kiểm tra đúng cần phải nắm chắc yêu cầu bài toán, mong muốn người dùng. Và tập trung vào việc xác định định nghĩa yêu cầu và tiêu chuẩn kiểm thử, đảm bảo rằng các kết quả kiểm thử đáp ứng được các yêu cầu và tránh được các rủi ro có thể xảy ra.
2. Kiểm soát và lập kế hoạch kiểm thử phần mềm
Bước tiếp theo là lập kế hoạch kiểm thử, khi bạn đã nắm được yêu cầu, chúng ta cần lên kế hoạch kiểm thử phần mềm. Việc lên kế hoạch bao gồm xác định có bao nhiêu nguồn lực, tiến hành kiểm thử như thế nào, chọn phương pháp kiểm thử phù hợp, lên lịch cho việc thực hiện kiểm thử.
Tạo kế hoạch kiểm thử bao gồm xác định scope, mục tiêu, cách tiếp cận, lịch trình, định nghĩa và nguồn gốc của hoạt động kiểm thử. Ngoài ra, so sánh hoạt động test thực tế với kế hoạch, tạo các báo cáo tiến độ kiểm thử, báo cáo tóm tắt liên tục hoặc thường xuyên và đánh giá tiêu chí kết thúc testing.
3. Phân tích và thiết kế kịch bản kiểm thử
Ở bước này, Tester tiến hành thiết kế các ca kiểm thử (test cases) và bộ dữ liệu kiểm thử phù hợp. Việc thiết kế các ca kiểm thử phải đảm bảo bao phủ tất cả các chức năng, tính năng của phần mềm. Để làm được điều đó, các Tester cần nắm rõ yêu cầu bài toán, áp dụng các kỹ thuật kiểm thử để đảm bảo bộ kiểm thử chất lượng và bao quát được các rủi ro quan trọng có thể xảy ra.
Mục tiêu nhằm phân tích, đánh giá các tài liệu test (test basic) bao gồm: Tài liệu đặc tả yêu cầu, tài liệu thiết kế, báo cáo rủi ro, tài liệu cấu trúc thành phần hệ thống. Từ đó có câu hỏi liên quan và xác định những tính năng có thể test được, thứ tự ưu tiên, môi trường và công cụ kiểm thử tương ứng.
Hoạt động phân tích và thiết kế thường bao gồm đọc, phân tích tài liệu, ghi ra những thông tin như câu hỏi, lỗi trong tài liệu, thống kê những cái có thể test và thứ tự ưu tiên, môi trường và công cụ test.
4. Thực hiện kiểm thử phần mềm
Sau khi chúng ta đã thiết kế xong các ca kiểm thử và bộ dữ liệu kiểm thử, Tester sẽ tiến hành thực hiện kiểm tra các trường hợp kiểm thử, bộ dữ liệu kiểm thử đã thiết kế để kiểm tra tính năng của phần mềm. Ở giai đoạn này Tester có thể tham gia vào test API nếu chưa có xây dựng hoàn thiện giao diện. Hoặc vào kiểm tra các chức năng nếu đã lập trình lên giao diện phần mềm.
Mục tiêu là tìm ra lỗi của phần mềm khi chạy theo testcase đã chuẩn bị trước đó. Hoạt động kiểm thử bao gồm:
- So sánh kết quả thực tế test với kết quả mong đợi
- Ghi lại IDs và phiên bản của các mục tiêu test, của tools
- Báo cáo lỗi dựa trên những lỗi quan sát được lên công cụ, ví dụ Jira
- Đánh kết quả kiểm thử Passed/Failed với từng trường hợp test trong testcase
- Test lại những case bị lỗi sau khi developer đã cập nhật, sửa đổi.
5. Đánh giá và báo cáo kết quả kiểm thử
Khi đã hoàn thành kiểm tra các trường hợp kiểm thử, nhóm tester cần phải ghi nhận kết quả kiểm thử, bao gồm các lỗi (bugs), các kết quả kiểm thử chính xác, các vấn đề liên quan đến các chức năng của phần mềm. Sau đó, nhóm kiểm thử sẽ tạo báo cáo về kết quả kiểm thử, bao gồm các báo cáo chi tiết và tổng quan về kết quả kiểm thử. Trong quá trình kiểm thử phần mềm, nếu phát sinh lỗi cần báo lại để dev kịp thời chỉnh sửa, tránh phát sinh vấn đề khi tới tay khách hàng.
Mục tiêu là khi đánh giá rủi ro, chất lượng của phần mềm ta sẽ đưa ra được các tiêu chí tương ứng với hoạt động test phần mềm để từ đó xác định rằng liệu kiểm thử đã đủ hay chưa. Mỗi dự án sẽ có đặc điểm khác nhau do đó tiêu chí đánh giá kết thúc kiểm thử cũng sẽ khác nhau.
Hoạt động đánh giá và báo cáo gồm có:
- Số lượng test case thực hiện tối đa có kết quả Passed
- Tỷ lệ lỗi giảm xuống dưới mức nhất định
- Kết thúc deadline
6. Kiểm tra lại và hoàn tất, đóng kết quả kiểm thử
Cuối cùng, Test leader (nếu có) sẽ đánh giá và kiểm tra lại kết quả kiểm thử để đảm bảo rằng các lỗi đã được khắc phục, lỗi nào chưa được khắc phục hay để lại sửa sau và phần mềm đã đáp ứng được các yêu cầu chức năng. Nếu cần thiết, nhóm kiểm thử sẽ cần tiếp tục tiến hành kiểm thử để đảm bảo tính đúng đắn và ổn định của phần mềm. Và phải báo cáo với PM quyết định có cần sửa luôn hay không hay có thể tiếp tục sửa sau khi deploy.
Các hoạt động kiểm thử thường chỉ được kết thúc khi tất cả các lỗi của phần mềm đã được kiểm tra, deliverable, đặc biệt là các lỗi có mức độ ảnh hưởng nghiêm trọng tới phần mềm. Phần mềm được bàn giao cho các đội bảo trì, các đội dự án khác hoặc các bên liên quan sử dụng nó đi kèm với báo cáo tóm tắt test để truyền đạt cho họ. Chúng ta cần có những bài học rút ra từ hoạt động test, thu thập thêm feedback, thông tin để cải thiện chất lượng phần mềm. Ngoài ra, hoạt động kiểm thử có thể kết thúc trong một số trường hợp như khách hàng hủy bỏ, các mục tiêu chính đã hoàn thành,…
Một số nguyên lý trong kiểm thử phần mềm
1. Kiểm tra toàn diện
Kiểm thử phần mềm phải bao phủ toàn bộ chức năng và tính năng của phần mềm, để đảm bảo rằng tất cả các khía cạnh của phần mềm đều được kiểm tra và đáp ứng yêu cầu của khách hàng. Chúng ta cần nắm rõ được yêu cầu từ khách hàng, nếu chưa rõ hãy hỏi BA/lead hay những người liên quan để đảm bảo rằng bạn kiểm tra hệ thống không sai yêu cầu, gây mất thời gian và tốn nguồn lực.
2. Kiểm tra từng bước
Việc kiểm thử phần mềm cần tiến hành một cách có hệ thống và có kế hoạch, không được để lại các lỗ hổng hoặc các lỗi ít nhất có thể (nếu quá gấp). Ngoài ra, việc kiểm thử cũng cần phải được kiểm tra tiến hành theo từng bước và từng giai đoạn, bao gồm kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống và kiểm thử chấp nhận.
3. Kiểm tra lặp đi lặp lại
Quá trình kiểm thử phần mềm nên được tiến hành sớm nhất có thể trong quá trình phát triển phần mềm, để giảm thiểu chi phí sửa chữa và tăng hiệu quả kiểm thử. Đặc biệt sau mỗi lần dev chỉnh sửa, cần retest chức năng hay hệ thống đảm bảo rằng lỗi đó đã không xuất hiện lại hay sinh ra lỗi khác. Việc kiểm thử cần phải được lặp đi lặp lại để đảm bảo tính đúng đắn của phần mềm.
4. Kiểm tra trên nhiều môi trường
Kiểm thử phần mềm nên được tiến hành bởi nhiều người và kiểm thử trên nhiều môi trường để đảm bảo sự phát hiện được nhiều lỗi và vấn đề khác nhau. Và nhằm xác định nguyên nhân lỗi đó do đâu, xảy ra khi nào, xảy ra ở môi trường nào hay có thể xử lý được hay không?
Xem thêm: Các lỗi phổ biến trong quy trình kiểm thử phần mềm và cách khắc phục
Kết luận
Kiểm thử phần mềm phải mang lại hiệu quả, giúp cải thiện tính đúng đắn và độ tin cậy của phần mềm và đáp ứng yêu cầu của khách hàng. Để việc kiểm thử đạt hiệu quả, chúng ta nên có kế hoạch, hiểu bài toán, biết phương pháp kiểm tra và nắm bắt được quy trình làm việc trong mỗi giai đoạn chúng ta nên làm gì.
Đạt.Nđ
Leave a Comment