Hiện nay xu hướng automation test ngày càng phát triển mạnh mẽ, cùng với sự phát triển của AI. Ngành công nghệ thông tin đang thay đổi với một tốc độ chóng mắt, kiến chúng ta không thể không đặt ra một câu hỏi: liệu có thể dùng Automation test để thay thế hoàn toàn Manual test hay không ? trong bài viết hôm nay chúng ta sẽ cùng làm rõ nhé.
Auto thay thế Manual ư ?
Có rất nhiều ý kiến cho rằng kiểm thử tự động đang thay thế kiểm thử thủ công. Lập luận được đưa ra là: tại sao phải chịu chi phí kiểm thử thủ công khi bạn có thể chỉ cần viết các bài kiểm thử tự động thay thế? Nó nhanh hơn, rẻ hơn và mang lại kết quả tương tự như kiểm thử thủ công… đúng không? Câu trả lời luôn luôn là không. Sự thật là kiểm thử thủ công vẫn chưa biến mất. Nó sẽ không bao giờ biến mất, và đây là lý do.
Không thể automated Usability test
Automated các bài test usability là điều không thể. Usability test cần có con người tham gia. Bạn không thể huấn luyện một máy tính / một tool nào hay một đoạn code để phân biệt “tính khả dụng tốt” và “tính khả dụng kém”. Ok mọi người có thể bỏ qua usability testing, nhưng có thể nó sẽ là một sự lựa chọn vô cùng rủi ro. Đừng mắc sai lầm đó. Bằng cách bỏ qua kiểm thử khả dụng, trong tương lại gần sản phẩm có thể sẽ phải đối mặt với rất nhiều risk. Bước này trong quy trình đảm bảo chất lượng là rất quan trọng để đảm bảo sự tự tin khi golive sản phảm và không có cách nào để thay thế việc con người tham gia vào kiểm thử khả dụng.
Người ta chỉ có automated những gì có thể dự đoán được trước
Automation test chỉ kiểm tra những gì có thể dự đoán được. Automation test giúp chúng ta yên tâm rằng những gì chúng ta mong đợi xảy ra thực sự sẽ xảy ra. Chúng ta gọi đây là “đường đi hạnh phúc” (happy path). Automation test tập trung vào các chức năng đã tồn tại. Phạm vi của nó rất rộng, nhưng độ sâu lại không cao. Automation test rất hữu ích cho regression tests, đặc biệt khi resource ( con người, thiết bị ) bị hạn chế. Tuy nhiên, chỉ thực hiện Automation test chắc chắn sẽ dẫn đến việc lọt bug miss issue và khoảng trống trong quy trình kiểm thử của bạn.
Exploratory testing sẽ ở đâu ?
Loại kiểm thử “phá” này không thể thực hiện bằng tự động hóa. Exploratory testing cho phép chúng ta đi sâu vào các khu vực của ứng dụng và lật mở các lớp để khám phá những điều mà các bài kiểm thử tự động không bao giờ tìm thấy. Nó giúp chúng ta đặt ra những câu hỏi như “nếu làm theo cách này thì sao?”. Kiểm thử khám phá là một quá trình thủ công và không thể thay đổi điều đó.
Code automation lỗi thì sao ?
Cũng giống như code của ứng dụng có thể chứa lỗi, code automation test cũng có thể như vậy. Nếu bạn viết testscript có lỗi, bạn sẽ gặp phải test result pass giả. Điều này có thể dẫn đến các vấn đề nghiêm trọng cho khách hàng và sản phẩm của bạn. Yếu tố con người trong manual testing có thể phát hiện những lỗi này và đảm bảo rằng bạn đang kiểm thử đúng cách.
Giới hạn về mặt kĩ thuật
Một số kịch bản kiểm thử quá phức tạp hoặc hoàn toàn không thể tự động hóa. Một lập luận phổ biến là automation test sẽ tiết kiệm chi phí hơn. Nhưng thực tế không khó để ví dụ để chứng minh trong rất nhiều trường hợp auto còn tốn kém hơn. Lấy ví dụ như kiểm thử trải nghiệm “tap, scroll and swipe”. Làm thế nào bạn có thể tự động hóa “trải nghiệm” đó bằng testscript auto? Bạn không thể thực hiện điều đó theo cách tương đương với việc có một tester thật sự trải nghiệm tính năng đó.
Kết luận
Automation test có thay thế manual test hay không? Không, vì mỗi phương pháp đều có ưu nhược điểm riêng. Manual test giúp chúng ta hiểu toàn bộ vấn đề và khám phá các góc độ kiểm thử khác nhau một cách linh hoạt. Kiểm thử tự động giúp tiết kiệm thời gian về lâu dài bằng cách thực hiện các testcase regression test. Quyết định dùng cái gì còn phải tuỳ thuộc vào nhiều yếu tố, hoàn cảnh, yêu cầu của dự án.
Nguồn tham khảo: https://blog.testlodge.com/is-automated-replacing-manual-testing/