Automation testing có thể thay thế manual testing không?
Có rất nhiều ý kiến cho rằng automation testing dần sẽ thay thế được manual testing. Thử nghĩ xem, tại sao phải chịu chi phí của việc manual testing khi bạn có thể viết được các đoạn automation code. Nó nhanh hơn, rẻ hơn và cung cấp kết quả tương tự như manual testing...đúng chứ?
Câu trả lời là sai rồi. Sự thật là manual testing không bao giờ biến mất. Nó sẽ không bao giờ bị automation thay thế và sau đây là một vài lý do để minh chứng cho điều đó.
1.Usability testing không thể test tự động được
Không thể test tự động khi test usability (kiểm tra khả năng sử dụng). Kiểm tra khả năng sử dụng đòi hỏi con người phải thực hiện. Bạn không thể đào tạo một máy tính để xác định khả năng sử dụng "tốt" và "không tốt". Có lẽ bạn đang nghĩ "Được thôi, chúng ta sẽ bỏ qua Usability Testing". Đừng mắc sai lầm. Làm vậy bạn đang có một lượng lớn rủi ro.
Bước này trong quá trình đảm bảo chất lượng là rất quan trọng để đảm bảo sự tự tin trong việc release sản phẩm, và không có cách nào để tham gia vào việc kiểm tra khả năng sử dụng ngoài con người.
2. Automation testing chỉ có thể test những gì có thể dự đoán trước
Các bài kiểm tra tự động cho thấy rằng những gì chúng ta mong đợi thực sự được xảy ra. Chúng ta gọi đó là "happy path" . Tự động hóa tập trung vào các chức năng đã tồn tại.
Phạm vi của nó là rộng lớn, nhưng nó không sâu. Automation testing là rất tốt cho các bài kiểm tra hồi quy, đặc biệt là khi nguồn lực được giới hạn. Nhưng Automation testing chắc chắn sẽ còn một số thất bại và lỗ hổng trong quá trình thử nghiệm.
3. Tất cả chúng ta đều là Exploratory Testers
Exploratory nghĩa là thăm dò hay khám phá. Sự thật là tất cả chúng ta là Tester thì làm kiểm thử phần mềm và là người khám phá xem phần mềm có những tính năng gì và rủi ro gì tiềm ẩn để xử lý. Ngay cả khi bạn không phải là "Tester" hoặc "QA", có thể bạn đã tham gia vào một số cuộc thử nghiệm thăm dò phám phá nào đó.
Kiểm thử khám phá cho phép chúng ta lấy các phần chính của ứng dụng và soi tìm các case ngõ ngách để khám phá những điều mà kiểm tra tự động sẽ không bao giờ tìm thấy. Thử nghiệm thăm dò là một quá trình thủ công, và không thể thay đổi được.
4. Kiểm tra tự động có thể chứa bugs/errors
Giống như phần mềm ứng dụng của bạn có thể chứa lỗi thì các bài test tự động cũng có thể. Nếu bạn viết các bài test tự động bị lỗi, bạn sẽ có các kết quả sai. Điều này có thể dẫn đến các vấn đề nghiêm trọng cho khách hàng và nhóm của bạn. Yếu tố con người trong kiểm tra thủ công có thể xác định những lỗi này và đảm bảo rằng bạn đang kiểm tra đúng.
5. Các hạn chế kỹ thuật có thể được đưa vào
Một số kịch bản thử nghiệm chỉ là quá phức tạp hoặc thật sự không thể tự động hóa. Một lập luận chung là "thử nghiệm tự động rẻ hơn". Nhưng không tốn nhiều thời gian và tiền bạc cho việc tự động hoá phức tạp.
Ví dụ: thử nghiệm một loạt các thiết bị màn hình cảm ứng. Làm thế nào để bạn áp dụng test tự động với các công việc là "Tap" (lắc nhẹ, chấm nhẹ) và một "swipe" (vuốt, kéo). Vì đó là trải nghiệm thực tế với chính bàn tay con người, bạn không thể làm điều đó theo cách nào khác ngoài việc sử dụng của con người.
=> Tổng kết:
Sự tồn tại của cả kiểm tra thủ công và kiểm tra tự động buộc chúng ta phải suy nghĩ về sự lựa chọn của chúng ta về các công cụ, chi phí và lợi ích mà chúng sẽ đáp ứng. Có cả thời gian và địa điểm cho cả hai phương pháp thử nghiệm.
Kiểm tra thủ công giúp chúng ta hiểu được toàn bộ vấn đề và khám phá những góc độ khác của các bài test một cách linh hoạt. Kiểm tra Tự động giúp tiết kiệm thời gian bằng cách hoàn thành một số lượng lớn các bài kiểm tra mức cơ bản trong một thời gian ngắn. Vấn đề là Bạn phải quyết định thời điểm và cách thức thử nghiệm được sử dụng cho phù hợp nhé.
Tham khảo: https://blog.testlodge.com/is-automated-replacing-manual-testing/