Kiểm thử thủ công được thực hiện bởi con người, ngay tại chỗ ngồi và trước máy tính, cẩn thận thực hiện các bước kiểm tra. Automation Testing nghĩa là sử dụng một công cụ tự động để thực hiện các test case.

Các phần mềm tự động hóa cũng có thể nhập dữ liệu thử nghiệm vào System Under Test, so sánh kết quả mong đợi và kết quả thực tế và tạo các báo cáo kiểm tra chi tiết.

Kiểm tra tự động đòi hỏi khoản đầu tư đáng kể tiền bạc và nguồn lực. Chu kỳ phát triển kế tiếp sẽ đòi hỏi phải thực hiện lặp lại test suite nhiều lần. Sử dụng một công cụ kiểm thử tự động (test automation tool) nó có thể ghi lại các test suite này và re-play lại như yêu cầu. Các test suite này là tự động, không cần sự can thiệp của con người. Điều này cải thiện ROI của Automation Testing.

ROI là tỷ lệ lợi nhuận ròng so với chi phí. ROI = (Doanh thu – Chi phí) / Chi phí

Mục tiêu của tự động hóa là để giảm số testcase và giảm thiểu loại bỏ kiểm tra thủ công.

1. Tại sao sử dụng Automate Testing?

Kiểm tra tự động là rất quan trọng vì những lý do sau:

  • Kiểm thử bằng tay cho tất cả các flow, field và scenario là tốn thời gian/chi phí
  • Khó để kiểm tra các trang web đa ngôn ngữ bằng tay
  • Tự động hóa không đòi hỏi sự can thiệp của con người. Có thể chạy automated test mà không cần giám sát
  • Tự động hóa làm tăng tốc độ thực hiện kiểm tra
  • Manual testing có thể trở nên nhàm chán và do đó dễ bị sót lỗi

2. Những Test case nào để chạy Automate?

Test case dùng để test tự động có thể được lựa chọn bằng cách sử dụng các tiêu chí sau đây để tăng automation ROI

  • Rủi ro cao (high risk) – Business Critical test case
  • Những Test case mà được thực hiện lặp lại
  • Những Test case rất tẻ nhạt hoặc khó thực hiện bằng tay
  • Test case tốn thời gian

Các loại sau đây của các Test case không phù hợp để tự động hóa:

  • Test case được thiết kế mới và chưa được thực hiện bằng tay ít nhất một lần
  • Test case mà yêu cầu được thay đổi thường xuyên
  • Test case được thực hiện trên nền tảng add-hoc

3. Quy trình tự động hóa

Sau đây là các bước tiếp theo trong một quá trình tự động Untitled.png

4. Lựa chọn công cụ kiểm tra

Công cụ kiểm tra lựa chọn chủ yếu phụ thuộc vào các công nghệ mà Application Under Test được xây dựng trên. Ví dụ QTP không hỗ trợ Informatica. Vì vậy, QTP không thể được sử dụng để test các ứng dụng Informatica.

5. Xác định phạm vi của Automation

Phạm vi của tự động hóa là những khu vực mà Application Under Test sẽ được test tự động hóa. Những điểm sau đây giúp xác định phạm vi:

  • Tính năng rất quan trọng cho các doanh nghiệp
  • Kịch bản có số lượng lớn dữ liệu
  • Chức năng phổ biến trên các ứng dụng
  • Tính khả thi
  • Mức độ mà các thành phần được tái sử dụng
  • Độ phức tạp của test case
  • Khả năng sử dụng các test case tương tự để test trình duyệt chéo

6. Lập kế hoạch, thiết kế và phát triển

Trong giai đoạn này, tạo Automation strategy và plan chi tiết

  • Công cụ Automation tool
  • Thiết kế framwork và các tính năng cho nó
  • Các item in-scope và out of scope
  • Schedule và Timeline cho kịch bản và thực hiện
  • Phân phối các automation test

7. Test Execution

Automation Scripts được thực hiện trong giai đoạn này. Các kịch bản cần nhập test data trước khi thiết lập để chạy. Sau khi thực hiện nó sẽ cho ra các test report

Execution có thể được thực hiện bằng cách sử dụng automation tool trực tiếp hoặc thông qua các Test Management tool và sẽ gọi các automation tool.

Khi chức năng mới được bổ sung vào System Under Test với các chu kỳ liên tiếp, Automation Scripts cần phải được bổ sung, xem xét và duy trì cho mỗi release cycle. Bảo trì là cần thiết để cải thiện hiệu quả của các Automation Scripts. Automation tools sau đây là các công cụ kiểm tra phổ biến nhất:

testingtools.png

QTP: Quick Test Professional của HP (đuợc biết đến như là HP Functional Test) đứng đầu trong các Functional Testing Tool. Công cụ này hỗ trợ rất nhiều các môi trường bao gồm cả SAP, Java, Delphi. QTP có thể được sử dụng kết hợp với Quality Center, được khuyên dùng cho web hoặc ungứ dụng client / server.

Rational Robot: Là một IBM tool sử dụng để tự động hóa kiểm tra hồi quy, chức năng và cấu hình cho client server, thương mại điện tử cũng như các ứng dụng ERP. Nó có thể được sử dụng với Rational Test Manager- hỗ trợ các hoạt động quản lý.

Selenium: một mã nguồn mở của Web Automation Tool. Nó hỗ trợ tất cả các loại trình duyệt web.

8. Làm thế nào để chọn một công cụ tự động hóa (Automation Tool)?

Lựa chọn đúng công cụ có thể là một nhiệm vụ khó khăn. Tiêu chí sau sẽ giúp bạn chọn công cụ tốt nhất yêu cầu của bạn:

  • Environment Support
  • Dễ sử dụng
  • Database
  • Xác định đối tượng
  • Kiểm tra hình ảnh
  • Error Recovery Testing
  • Object Mapping
  • Ngôn ngữ kịch bản sử dụng
  • Hỗ trợ cho nhiều loại hình kiểm tra – bao gồm functional, test management, mobile, etc…
  • Hỗ trợ cho nhiều testing frameworks
  • Dễ dàng để debug các automation software scripts
  • Khả năng nhận biết objects trong nhiều môi trường
  • Mở rộng cho Test reports và test results
  • Giảm thiểu chi phí hướng dẫn đào tạo sừ dụng tool

Công cụ lựa chọn là một trong những thách thức lớn nhất phải được giải quyết trước khi đi cho tự động hóa. Đầu tiên, xác định các yêu cầu, tìm hiểu các công cụ khác nhau và khả năng của mình, thiết lập những kỳ vọng từ tool.

Framework trong Automation:
Một framework được thiết lập cho automation guidelines giúp cho:

  • Duy trì tính nhất quán của Testing
  • Cải thiện kiểm tra cấu trúc
  • Sử dụng tối thiểu code
  • Ít bảo trì code
  • Cải thiện khả năng tái sử dụng
  • Tester không có kiến thức kĩ thuật cũng có thể thực hiện
  • Giảm thời gian đào tạo sử dụng tool

Có bốn loại framework được sử dụng trong software automation testing:

  • Data Driven Automation Framework
  • Keyword Driven Automation Framework
  • Modular Automation Framework
  • Hybrid Automation Framework

9. Cách chọn Automation tốt nhất:

Để có được tối đa ROI tự động hóa, quan sát những điều sau đây

  • Phạm vi của tự động hóa cần phải được xác định cụ thể trước khi bắt đầu dự án. Điều này đặt ra những kỳ vọng trong Automation
  • Chọn công cụ tự động hóa phù hợp: Một công cụ không được lựa chọn dựa trên tính phổ biến mà nó cần phù hợp với yêu cầu
  • Chọn framework phù hợp
  • Tiêu chuẩn Scripting phải được tuân theo trong khi viết kịch bản cho automation. Một vài tiêu chuẩn như sau:
    • Tạo kịch bản thống nhất, scripts, comment, code
    • Có thể xử lý ngoại lệ
    • Làm thế nào lỗi hoặc hành vi người dùng có thể đuợc kiểm soát
  • Measure metrics – thành công của tự động hóa không thể được xác định bằng cách so sánh hiệu quả thực hiện bằng tay với thực hiện tự động, nhưng nó có thể đuợc thể hiện thông qua số liệu sau đây.
    • % của các defects tìm thấy
    • Thời gian cần thiết để thử nghiệm tự động hóa cho mỗi chu kỳ phát hành
    • Thời gian tối thiểu để thực hiện automation testing cho mỗi cycle và toàn bộ cycle
    • Chỉ số hài lòng của khách hàng
    • Nâng cao năng suất

Các hướng dẫn ở trên nếu được quan sát sẽ có thể trợ giúp trong việc automation test của bạn thành công.

10. Lợi ích của việc kiểm tra tự động

Sau đây là những lợi ích của automated testing:

  • 70% nhanh hơn so với kiểm tra thủ công
  • Test coverage rộng hơn
  • Kết quả đáng tin cậy
  • Đảm bảo tính nhất quán
  • Tiết kiệm thời gian và chi phí
  • Cải thiện độ chính xác
  • Không cần sự can thiệp của con người
  • Tăng hiệu quả
  • Tái sử dụng test scripts
  • Kiểm tra thường xuyên và triệt để
  • Đưa ra thị trường được sớm hơn

11. Kết luận

Lựa chọn chính xác automation tool, testing process, team là yếu tố giúp automation testing thành công. Phương pháp thủ công và tự động hóa nên được thực hiện kết hợp với nhau.

Nguồn:

1 – Viblo – https://viblo.asia/Thanh/posts/157G5oolRAje
2 – Guru – http://www.guru99.com/