NỘI DUNG BÀI VIẾT
I. Khái niệm Manual Testing
Manual Testing (dịch ra tiếng Việt là Kiểm thử thủ công) là một phương thức kiểm thử phần mềm. Theo đó, người thực hiện kiểm thử (Tester) sẽ thực hiện thao tác, chức năng của ứng dụng một cách thủ công giống như end-user (người dùng) đang sử dụng sản phẩm, bao gồm cả những lỗi sai có thể gặp phải. Từ đó xác nhận phần mềm có vận hành theo đúng yêu cầu hay không và đảm bảo sản phẩm cuối cùng không còn lỗi (defects).

Kiểm thử thủ công có thể đòi hỏi nguồn nhân lực lớn. 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ử.
Manual Testing 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, Automation Testing 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à Manual Testing không phải là lựa chọn tối ưu.
II. Quy trình Manual Testing
Bước 1. Hiểu rõ các yêu cầu
Để 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ể.
Bước 2. Viết test case
Sau khi đọc và hiểu rõ các requirement, Tester 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.
Tester có thể 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 chuyên nghiệp 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ử.
Bước 3. Thực hiện kiểm thử – Testing
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 Manual Testing, 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.
Bước 4. Điều tra sâu hơ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 vấn đề quan trọng 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 đó. Điều này 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 hoàn toàn.
Bước 5. 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,…
6. Báo cáo kết quả kiểm
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,…
- So sánh Manual Testing với Automation Testing
Có hai loại kiểm thử phần mềm: Kiểm thử thủ công (Manual Testing) và kiểm thử tự động (Automation Testing). Mỗi loại kiểm thử đều có những điểm mạnh và điểm yếu riêng, nhưng tất cả đều chung một mục đích đảm bảo phần mềm đạt chất lượng cao. Dù kiểm thử tự động đang trở thành xu thế được nhiều tổ chức và lập trình viên – Dev lựa chọn, Manual Testing vẫn có một vị trí quan trọng trong và không thể thay thế trong nhiều trường hợp.
Mặc dù Manual Testing 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 đủ.
Đối với Tester mới vào nghề thường sẽ bắt đầu từ việc làm Manual Testing sau đó mới chuyển sang Auto Testing vì nhiều lí do:
- Học làm Manual Testing không nhất thiết phải có kiến thức IT (không cần được đào tạo chuyên sâu về IT) nên phù hợp với người muốn chuyển ngành nghề hoặc sinh viên mới ra trường. Vì vậy, khóa học Tester cho người mới bắt đầu tại CodeGym cũng được thiết kế cho người mới học trong 3 tháng và hoàn toàn đủ khả năng làm việc tại doanh nghiệp. Khóa học Tester này phù hợp với mọi đối tượng có nhu cầu học và yêu thích nghề Tester
- Học và làm Manual Testing là nên tảng cho Tester học tập, phát triển, nắm vững quy trình, kiến thức,…
- Tuyển dụng Manual Tester nhiều và phù hợp với người mới vào nghề.
Tham khảo: Khóa học Tester cho người mới bắt đầu