Home Tester So sánh Manual Testing và Automation Testing

So sánh Manual Testing và Automation Testing

by Hoàng Tú

Đối với một dự án, có ba khía cạnh quan trọng cần chú ý đó là chi phí, thời gian và chất lượng. Bất kỳ dự án nào cũng có mục tiêu là có được một sản phẩm chất lượng cao nhưng giảm được chi phí và thời gian cần thiết để hoàn thành dự án. Vì thế mà kiểm thử phần mềm là một phần không thể thiếu của bất kỳ dự án nào. Kiểm thử phần mềm được phân loại gồm Manual testing và Automation Testing. Vậy để các bạn hiểu rõ hơn về 2 khái niệm này, chúng ta cùng so sánh Manual Testing và Automation Testing nhé.

Transforming from Manual Testing to Automation becomes a Need ...

Manual Testing là gì?

Manual testing là việc thử nghiệm một phầm mềm hoàn toàn được làm bằng tay bởi người tester. Nó được thực hiện nhằm phát hiện lỗi trong phầm mềm đang được phát triển. Trong manual testing, tester sẽ thực hiện các trường hợp kiểm thử và tạo báo cáo kiểm thử hoàn toàn thủ công mà không có bất kỳ sự trợ giúp của công cụ tự động nào.

Automation Testing là gì?

Automation testing là phương pháp kiểm thử tự động. Người tester sẽ phải viết các kịch bản kiểm thử sau đó sử dụng các tool hỗ trợ để thực hiện kiểm thử, phương pháp này sẽ giúp việc kiểm thử hiệu quả và tốn ít thời gian hơn. Automation testing giúp chạy các kịch bản kiểm thử lặp lại nhiều lần và các task kiểm thử khác khó thực hiện bằng tay như performance testing và stress testing.

So sánh giữa Manual Testing và Automation Testing

ParameterAutomation TestingManual Testing
DefinitionAutomation testing sử dụng các tool để thực hiện các trường hợp kiểm thửThực hiện kiểm thử hoàn toàn thủ công không có sự trợ giúp của bất kỳ công cụ tự động nào, được thực hiện bời tester
Processing timeThời gian kiểm thử rút ngắn hơn so với manual testingManual testing tốn nhiều thời gian và nguồn nhân lực
Exploratory TestingKhông cho phép kiểm thử khám pháCó thể kiểm thử khám phá trong manual testing
ReliabilityKết quả kiểm thử đáng tin cậy vì nó được thực hiện bằng các tool và các kịch bảnKết quả kiểm thử không đáng tin cậy vì có khả năng xảy ra lỗi của con người
UI changeChỉ là thay đổi nhỏ trong giao diện AUT nhưng các kịch bản kiểm thử tự động cần phải sửa đổi để hoạt động đúng như mong đợiNhững thay đổi nhỏ thư thay đổi về id, class sẽ không cản trở quá trình kiểm thử
InvestmentCần phải đầu tư cho các công cụ kiểm thửCần đầu tư về nguồn nhân lực
Test Report VisibilityTất cả các bên liên quan có thể đăng nhập vào hệ thống xem kết quả đã kiểm thửKết quả được lưu lại trong excel hoặc word
Performance TestingĐược thực hiện trong kiểm thử Load testing, stress testingKhông khả thi trong kiểm thử Load testing, stress testing
Parallel ExecutionCó thể thực hiện song song trên cấc nền tảng vận hành khác nhau và giảm thời gian thực hiện kiểm thửKiểm thử song song trên các nền tảng khác nhau sẽ phải tăng nguồn nhân lực
Programming knowledgeYêu cầu phải có kiến thức lập trìnhKhông cần có kiến thức lập trình vẫn có thể thực hiện
Ideal approachAutomation testing rất hữu ích khi thường xuyên thực hiện chạy lại một kịch bản nhiều nhiều lầnManual testing hữu ích khi chạy bộ test case một hoặc hai lần

Ưu, nhược điểm Manual Testing

Ưu điểm

  • Dễ dàng cho việc test giao diện, người tester sẽ có phản hồi nhanh và trực quan về giao diện ứng dụng
  • Mất ít chi phí cho các tool tự động và quy trình
  • Khi có thay đổi nhỏ manual testing manual testing không bị mất nhiều thời gian để thay đổi các trường hợp kiểm thử

Nhược điểm

  • Kết quả kiểm thử ít tin cậy hơn vì có thể sai xót do yếu tố con người
  • Qúa trình thực hiện các ca kiểm thử không được ghi lại, do vậy nó không có tính tái sử dụng
  • Với một số task khó thực hiện thủ công như performance testing và stress testing thì manual testing rất khó để thực hiện

Ưu, nhược điểm Automation Testing

Ưu điểm

  • Sử dụng tool tự động giúp tìm kiếm được nhiều lỗi hơn
  • Automation testing nhanh và hiệu quả
  • Qúa trình kiểm thử được ghi lại, điều đó giúp chạy lại kịch bản kiểm thử nhiều lần và thực hiện trên nhiều nền tảng khác nhau
  • Automation testing được thực hiện bằng các công cụ phầm mềm, do đó nó hoạt động không mệt mỏi không giống như người kiểm thử tester
  • Automation testing năng suất và chính xác
  • Phạm vi kiểm thử rộng vì kiểm tra tự động không quên kiểm tra ngay cả đơn vị nhỏ nhất

Nhược điểm

  • Rất khó có cái nhìn đúng và trực quan về giao diện người dùng như màu sắc, font chữ, vị trí, kích thước các button nếu như không có yếu tố con người
  • Chi phí cho các tool kiểm thử có thể tốn kém, có thể làm tăng chi phí trong khâu kiểm thử của dự án
  • Nếu có một thay đổi nhỏ cũng sẽ mất thời gian để update kịch bản kiểm thử

Kết luận

  • Manual testing là kiểm thử phần mềm trong đó các kiểm thử được thực hiện bởi QA
  • Automation testing người tester sẽ viết các kịch bản test bằng các tập lệnh và nhờ vào sự giúp đỡ của các tool tự động để thực hiện kiểm thử
  • Manual testing sẽ giúp có cái nhìn trực quan và chính xác về ứng dụng
  • Automation testing giúp tìm thấy nhiều lỗi hơn
  • Manual testing cho kết quả ít tin cậy hơn vì con người có thể mắc lỗi
  • Automation testing tiêu tốn chi phí cho các tool kiểm thử, làm tăng chi phí của dự án
  • Manual testing tiêu tốn thời gian và nguồn nhân lực
  • Automation testing nhanh hơn và hiệu quả hơn so với manual testing

Qua bài so sánh Manual Testing và Automation Testing trên, hi vọng các bạn sẽ phần nào hiểu được 2 khái niệm này.

Xem thêm

via viblo source guru99

Related Posts

Leave a Comment