Nội dung
1. Manual test là gì?
Manual test là một loại kiểm thử phần mềm trong đó người kiểm tra thực hiện chạy test case một cách thủ công mà không dùng bất cứ một công cụ tự động nào. Manual Test là kiểu test truyền thống nhất trong các loại kiểm thử giúp tìm ra lỗi trong hệ thống phần mềm. Bất kì ứng dụng nào cũng đều phải được kiểm tra một cách thủ công trước khi có thể thực hiện test tự động. Manual Test đòi hỏi nhiều “effort” hơn nhưng nó là cần thiết để kiểm tra tính khả thi của tự động hóa.
Manual Test không đòi hỏi kiến thức về các công cụ kiểm thử. Và một trong những vấn đề cơ bản của kiểm thử phần mềm là “không thể tự động hóa 100%” Điều này làm cho Manual Test trở nên bắt buộc.
2. Mục tiêu của kiểm thử thủ công?
Mục tiêu chính của kiểm thử thủ công là đảm bảo rằng ứng dụng không có lỗi và nó đang hoạt động tuân theo các yêu cầu, chức năng được chỉ định. Test case sẽ liên tục được thiết kế trong giai đoạn thử nghiệm. Các Tester phải có phạm vi kiểm tra bao phủ 100% để không một lỗi nào xảy ra khi tới tay khách hàng. Về cơ bản, mục đích là kiểm tra chất lượng của hệ thống và cung cấp sản phẩm không có lỗi cho khách hàng.
3. Khi nào cần thực hiện Manual Testing?
Kiểm thử thủ công có thể đòi hỏi nguồn nhân lực lớn. Mặc dù chúng ta có thể dễ dàng nói với nhau “cứ bỏ qua phần này đi” hay “cứ chạy tự động phần này đi” nhưng kiểm thử thủ công vẫn là một yếu tố không thể thiếu, bởi không phải lúc nào cũng có thể thực hiện được kiểm thử tự động. Hơn hết, đối tượng sẽ sử dụng sản phẩm của bạn là người dùng, vì thế không có gì lạ khi chúng ta sử dụng yếu tố con người vào giai đoạn kiểm thử.
Kiểm thử thủ công giúp tester có thể linh hoạt hơn trong quá trình kiểm thử, giúp họ thử nghiệm được nhiều phương án khác nhau. Chính vì thế, nó cho phép tester phát hiện và xử lý các vấn đề liên quan đến thao tác sử dụng nhanh chóng hơn kiểm thử tự động, thường được dùng trong các trường hợp:
- Kiểm thử thăm dò
- Kiểm thử khả năng sử dụng (Usability Testing)
- Kiểm thử Ad-hoc
Ngược lại, kiểm thử tự động nhằm mục đích giúp kỹ sư kiểm thử hạn chế các công việc lặp lại nhàm chán, bao gồm cả việc chạy lại chương trình. Nó sẽ trở nên hữu ích trong nhiều phương diện mà kiểm thử thủ công không phải là lựa chọn tối ưu.
Tiếp theo, hãy cùng tìm hiểu các bước để thực hiện kiểm thử một cách hiệu quả.
4. Manual Test có mấy loại?
Dưới đây là sơ đồ mô tả các loại Manual Test. Bất kỳ đoạn mã nào được viết ra thì sẽ ứng với một chức năng nào đó. Việc kiểm thử tất nhiên sẽ tốn thời gian tương đương với độ lớn của dự án. Trong thực tế bên cạnh Manual test thì các kiểm thử viên vẫn sử dụng một số công cụ tự động hóa để tối ưu thời gian kiểm thử cho dự án.
- Black Box Testing
- White Box Testing
- Unit Testing
- System Testing
- Integration Testing
- Acceptance Testing
5. Quy trình kiểm thử phần mềm thủ công
5.1. Hiểu rõ các yêu cầu (Analyzing requirements)
Để thực hiện kiểm thử đạt hiệu quả cao, tester cần hiểu rõ các yêu cầu của phần mềm, cách mà phần mềm đó phải hoạt động. Phần tài liệu ghi chép toàn bộ thông tin liên quan đến sản phẩm đang được kiểm thử được gọi là Requirement, hoặc đôi khi được trình bày dưới dạng User story.
Những tài liệu này giúp tester hiểu được mục đích của sản phẩm, các phạm vi cần phải kiểm thử, các công việc cần phải làm, và những định nghĩa về defect.
Việc nắm rõ những thông tin này trước khi chuẩn bị kiểm thử là rất cần thiết, bởi mục tiêu của mọi hoạt động kiểm thử là giúp sản phẩm có ít lỗi nhất có thể.
Trong một số ít trường hợp mà tester không tiếp cận được với requirement hay user story, bạn sẽ cần phải trở nên linh hoạt và sáng tạo hơn một chút để hiểu cách hoạt động của sản phẩm thông qua các nguồn khác nhau.
5.2. Viết test case
Sau khi đọc và hiểu rõ các requirement, ta sẽ đi đến bước tạo test case.
Test case đóng vai trò là người dẫn đường cho các tester, đưa ra những bước chi tiết, hướng dẫn thực hiện kiểm thử các tính năng và bối cảnh khác nhau của phần mềm đó.
Viết một test case chi tiết là rất cần thiết bởi nó sẽ giúp công việc kiểm thử trở nên mượt mà hơn và đảm bảo bao quát được rộng nhất. Test case cũng cần phải đủ chi tiết để dễ dàng thực hiện lại phần kiểm thử nếu cần thiết. Điều này giúp những tester tham gia vào sau có thể nhanh chóng bắt kịp công việc, dễ dàng thực hiện kiểm thử hoặc chạy lại các phần kiểm thử cũ mà không cần quá nhiều thời gian hỏi lại.
Có nhiều tester vẫn sử dụng Excel để làm test case, tuy nhiên hiện nay có nhiều phần mềm quản lý test case như TestLodge có thể giúp sắp xếp test case hiệu quả hơn, từ đó có thể tăng năng suất khi thực hiện kiểm thử.
5.3. Thực hiện kiểm thử
Khi đã có test case và chuẩn bị xong môi trường test, ta sẽ bắt tay vào thực hiện kiểm thử.
Mỗi phần kiểm thử được thực hiện xong phải có ghi chú đã vượt qua (passed), thất bại (failed) hay bỏ qua (skipped).
Khi thực hiện kiểm thử thủ công, hãy nhớ ghi chép lại những gì đã làm cho việc kiểm thử thất bại để có thể dễ dàng tái hiện và lên kế hoạch xử lý chúng trong tương lai.
5.4. Điều tra sâu hơn
Không thể phủ nhận lợi ích của việc bám sát một test case chi tiết để thực hiện kiểm thử. Tuy nhiên trong vài trường hợp, thực hiện xen kẽ kiểm thử thăm dò (exploratory testing) có thể giúp khám phá ra những lợi ích to lớn mà trước đây chúng ta chưa phát hiện được.
Kiểm thử thăm dò cho phép các tester hoạt động không theo kịch bản cho sẵn, mà phụ thuộc hoàn toàn vào trí tưởng tượng của người đó. “Nghịch ngợm” một chút có thể giúp tester khám phá những phạm vi mới để bổ sung vào các giai đoạn kiểm thử về sau, tìm ra gợi ý để điều tra các phần kiểm thử thất bại, và bổ sung dữ liệu khi test case chưa bao quát được 100%.
5.5. Viết Báo cáo bug
Cùng với việc kiểm thử, tester còn có nhiệm vụ ghi chép lại chi tiết về các lỗi đã tìm được trong quá trình kiểm thử. Ghi chép một cách chi tiết thông tin về lỗi sẽ có ích rất nhiều cho đội phát triển về sau.
Hãy chuẩn bị sẵn bằng cách viết một báo cáo lỗi thật chi tiết để giúp team và chính bạn, đồng thời có thể tiết kiệm được rất nhiều thời gian nếu bạn phải giải trình về những lỗi bạn tìm được.
Báo cáo bug cần phải được đặt tên dễ nhận diện để giúp tìm kiếm dễ dàng hơn về sau.
Nội dung của báo cáo cần có chi tiết các bước để tái hiện lỗi (thường là các bước trong test case), kết quả trả về mong muốn, và kết quả trả về trên thực tế. Ngoài ra, cần đính kèm những tài liệu nhằm giúp team hiểu rõ vấn đề hơn như: ảnh chụp màn hình, video quay lại các bước thực hiện, hoặc các file trích xuất,…
5.6. Báo cáo về kết quả test
Sau khi thực hiện toàn bộ công việc test, chúng ta sẽ cần nhìn lại một cách tổng quan về kết quả của quá trình. Ví dụ như: Đã triển khai bao nhiêu test case? Bao nhiêu testcase đã thất bại? Bao nhiêu testcase đã bị bỏ qua?
Có một bản báo cáo tổng thể sẽ giúp chúng ta nhìn rõ được những con số này, từ đó có kế hoạch hợp lý để triển khai tiếp các công việc trong tương lai, ví dụ như có phải thực hiện lại test case nào không,…
6. Các tool hỗ trợ Manual Testing
Hiện nay có rất nhiều các chương trình nhằm tối ưu hóa công việc kiểm thử thủ công, từ đó có thể giúp các tester cải thiện được năng suất và hiệu quả công việc.
Dưới đây là một số phần mềm để bạn có thể tham khảo, được liệt kê thành các nhóm dựa trên phần công việc mà nó hỗ trợ hiệu quả nhất.
Quản lý Testcase:
Tìm kiếm và quản lý issue
Kiểm thử đa trình duyệt
Kiểm thử API
Chụp màn hình
7. Kết
Mặc dù kiểm thử thủ công có vẻ là một công việc đòi hỏi nhiều công sức, nó lại là một công việc then chốt để đảm bảo trải nghiệm người dùng tốt và chất lượng sản phẩm cao. Một người kiểm thử sẽ luôn tìm ra được những vấn đề mà kiểm thử tự động bằng máy móc không thể nhìn thấy được.
Có rất nhiều chương trình để hỗ trợ cho các tester quản lý và thực hiện manual testing một cách nhanh chóng. Tuy nhiên, những yếu tố then chốt để kiểm thử thủ công đạt hiệu quả cao là hiểu rõ yêu cầu của phần mềm, viết testcase thật tốt và ghi chép về báo cáo lỗi một cách đầy đủ.
Nguồn:
https://co-well.vn/nhat-ky-cong-nghe/huong-dan-manual-testing-tu-a-z/