HƯỚNG DẪN MANUAL TESTING TỪ A-Z

06/11/2021 07:11:40 PM

    A. Manual Testing là gì?

    Manual Testing (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ử (sau đây gọi là 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 cuối) đ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). 

    Có hai loại kiểm thử phần mềm: Kiểm thử thủ công và kiểm thử tự động. 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 lựa chọn, kiểm thử thủ công vẫn có một vị trí quan trọng trong và không thể thay thế trong nhiều trường hợp.

    Khám phá những kiến thức cơ bản nhất về Manual Testing qua bài viết này.

    manual testing a z 1

    B. 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ả.

     

    C. Quy trình Manual Testing

    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ể.

    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.

     

    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ử.  

     

    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.

     

    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. 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,…

     

    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,…

    manual testing a z 2

    D. 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

     

    E. 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 đủ.