Automation Test – Một hướng đi mới cho test teirei

14:56, 26/09/2022

Trong quá trình làm việc sẽ có những công việc lặp đi lặp lại, giống như kiểu test định kỳ các chức năng cơ bản của app, web. Vậy có cách nào để chúng ta cải thiện chúng mà không cần có sự can thiệp từ con người? Câu trả lời đó là: sử dụng Automation Test. 

Automation Test có thể hiểu đơn giản là thay vì test bằng tay, ta để máy tự thực hiện việc testing mà Tester phải làm (Khởi động hệ thống, nhập dữ liệu đầu vào, kiểm tra so sánh với dữ liệu đầu ra và ghi kết quả). Automation Testing đóng một vai trò quan trọng góp phần nâng cao năng suất kiểm thử, giảm thiểu lỗi cũng như sự nhàm chán với việc kiểm thử bằng tay trong một thời gian dài hoặc lặp đi lặp lại.

Có rất nhiều công cụ, các tool và framework có thể được sử dụng để làm Automation Test. Mọi người có thể dùng ngôn ngữ nào cũng có thể viết Automation Test như Java, Python…. Trong bài viết này tác giả lựa chọn Robot Framework.

  1. Tại sao lại lựa chọn Robot Framework?

Lý do đầu tiên là vì nó đơn giản, dễ học. Cụ thể, thay vì phải học quá nhiều ngôn ngữ để làm Automation Test thì ở đây chúng ta chỉ cần học 1 Framework cho tất cả. Và nó là ngôn ngữ hướng từ khoá nên cú pháp khá đơn giản dễ học giúp cho các Developer, Tester, QC không cần hiểu sâu về ngôn ngữ lập trình cũng có thể xây dựng được các kịch bản test.

Chúng ta có thể nhìn qua kiến trúc của Robot Framework bên dưới:

Cùng tìm hiểu một chút về Robot Framework 

Robot Framework được hiểu như sau:

  • Framework dùng để kiểm thử, cung cấp nền tảng kiểm thử cho tester dựa trên ngôn ngữ lập trình Python. Cách tiếp cận của nền tảng kiểm thử này là hướng từ khoá (keyword driven) và hướng dữ liệu (data driven) dành cho việc kiểm thử để nghiệm thu sản phẩm ngay từ đầu (end-to-end acceptance testing).
  • Để tiếp cận nền tảng kiểm thử này, tester chỉ cần viết kịch bản kiểm thử theo hướng từ khóa (keyword driven) và hướng dữ liệu (data driven).
  • Tester có thể tạo các từ khóa cấp cao mới từ những cái hiện có bằng cách sử dụng cú pháp tương tự được sử dụng để tạo ra các trường hợp thử nghiệm
  • Appium 

Đây là một công cụ dùng để viết automation Test trên mobile một cách dễ dàng, và người viết automation không cần biết bất kỳ dòng code cũng như phải tham gia vào quá trình phát triển phần mềm cũng có thể viết được. Các bạn có thể tham khảo ở đây 

https://appium.io/

Để sử dụng appium trong RobotFramework chúng ta cần 2 phần mềm chính

  1. Appium-Desktop là một server đơn giản giúp giữ kết nối giữa Appium-Client
  2.  App của chúng ta

https://github.com/appium/appium-desktop

Appium Inspector là một phần mềm giúp chúng ta có thể tìm các thẻ element, lấy thông tin trên một app bất kì một cách dễ dàng.

https://github.com/appium/appium-inspector

Sau khi tìm được các element. Từ đây chúng ta dễ dàng viết các testcase bằng RobotFramework

Về phần Web chúng ta sử dụng selenium kết hợp với RobotFramework để viết Automation. (Trong bài viết này, chúng ta chưa đề cập đến việc sử dụng selenium, quý độc giả hãy chờ đón ở những bài viết tiếp theo.)

https://www.selenium.dev/

Mobile:

Web:

Kết quả kháng cáo:

Từ đây chúng ta có thể biến một số testcase trong file teirei thành một TestCase trong Automation Test với Robot Framework một cách dễ dàng.

Kết luận:

Việc sử dụng Robot Framework giúp chúng ta giải quyết bài toán có thể áp dụng Automation Test một cách dễ dàng cho cả Android, iOS và Web mà không nhất thiết cần biết bất kỳ ngôn ngữ nào về các nền tảng này, hay cần phải tham gia vào quá trình phát triển để hiểu về code.

Ngoài ra bạn có thể sử dụng crontab để setup Automation Test định kỳ theo ngày, tuần, báo cáo, report giúp các quy trình tự động hơn trong quá trình kiểm thử phần mềm.

Để chuyển đổi từ 1 test case Manual Test sang Automation Test cần phải có những bước nào, hẹn các bạn ở những series tiếp theo.