0

Các công cụ test tự động tốt nhất dành cho ứng dụng Android

1. Giới thiệu chung

Ngày nay, việc test tự động được sử dụng trong hầu như tất cả quá trình test. Đây không phải điều ngạc nhiên vì quá trình thực hiện test tự động một cách có tổ chức giúp giảm đáng kể thời gian cần để thực hiện quá trình test, giúp loại bỏ những lỗi và thiếu sót trong quá trình thực hiện test gây ra bởi lỗi con người.

Có nhiều sự lựa chọn cho những công cụ test tự động. Một vài trong số chúng là miễn phí, một vài thì lại khá đắt đỏ. Một vài công cụ đã xuất hiện nhiều năm trước, một vài thì vừa xuất hiện trên thị trường. Mỗi công cụ là duy nhất và có những đặc điểm riêng biệt về những quá trình thực hiện bên trong.

Việc có nhiều sự lựa chọn cho những công cụ test tự động tạo ra khó khăn trong việc lựa chọn công cụ nào là phù hợp nhất cho một dự án cụ thể. Vấn đề là khó có một công cụ nào có thể đảm bảo đầy đủ tất cả các yêu cầu của dự án.

Để thực hiện việc test tự động thực sự hiệu quả và mang lại lợi ích, chúng ta nên thực hiện lần lượt theo các bước sau:

  • Nghiên cứu các sản phẩm phần mềm liên quan đến test và hữu ích cho dự án của bạn.
  • Xác định rõ các bài test sẽ được tiến hành tự động.
  • Xây dựng các yêu cầu cho các bài test tự động và các công cụ test tự động.
  • Thực hành ít nhất một vài công cụ có sẵn và phù hợp cho việc test tự động.
  • Lựa chọn một hoặc một vài công cụ phù hợp nhất dựa trên các nghiên cứu đã thực hiện.
  • Thảo luận các công cụ đã lựa chọn với các đồng nghiệp ở các dự án khác, giải thích tại sao bạn lựa chọn các công cụ đó và được họp chấp nhận.
  • Thực hiện việc test tự động.

Đây chính là cách thức hay một chuỗi những bước thực hiện nên được chấp nhận bởi hầu hết những chuyên gia về QA.

Nhiều loại máy tính khác nhau đã xuất hiện thời gian gần đây và chúng đã khởi đầu cho sự phát triển nhanh của những sản phẩm phần mềm. Điều gây bất ngờ nhất là việc phát minh ra những thiết bị di động, chúng có những khác biệt đáng kể so với những máy tính cá nhân trước đây về cả đặc điểm, cách thức và cả điều kiện tương tác với chúng. Như một hệ quả, những điện thoại và máy tính bảng yêu cầu những ứng dụng di động đặc biệt và khác với những ứng dụng desktop.

Hệ điều hành của hầu hết máy tính cá nhân là Windows. Trong khi đó, những hệ điều hành phổ biến cho các thiết bị di động là Android, Apple iOS, Blackberry OS, Windows Phone, Symbian, và một số hệ điều hành khác. Các bạn có thể chọn vào đây để tham khảo hướng dẫn test ứng dụng di động cơ bản cho những người mới bắt đầu.

2. Các Công cụ test hàng đầu cho các ứng dụng trên Android

Trong phần này, chúng ta sẽ cùng khám phá những công cụ test hiện đại nhất cho việc test tự động trên một trong những hệ điều hành phổ biến nhất hiện nay - Android.

Dưới đây là danh sách 6 công cụ test tốt nhất:

  • Experitest
  • Robotium
  • MonkeyRunner
  • Ranorex
  • Appium
  • UI Automator

Chúng ta hãy cũng đi vào chi tiết bên trong từng công cụ này.

2.1. Experitest

Hỗ trợ việc tăng tốc các chu kỳ test di động của bạn và tăng chất lượng các bản release dựa trên việc thực hiện test tự động với số lượng lớn.

  • Hỗ trợ tạo và thực hiện song song hàng trăm bài test tự động trên các thiết bị Android thực và dựa trên trên đám mây.
  • Dễ dàng tạo ra bài test Appium đầu tiên của bạn.
  • Chạy tự động việc test nâng cao trực tiếp từ giao diện phát triển ứng dụng (IDE) của bạn.
  • Hỗ trợ tự động hóa mọi loại ứng dụng, cử chỉ và kịch bản.
  • Hỗ trợ tích hợp với các công cụ CI/CD và quy trình làm việc của bạn.
  • Hỗ trợ kiểm tra trên thiết bị di động một cách tự động trong điều kiện thực tế.
  • Hỗ trợ tích hợp vào tất cả các IDE, test framework hoặc quá trình CI để đảm bảo ứng dụng được phát triển nhanh chóng.
  • Hỗ trợ truy cập vào các báo cáo test một cách trực quan và hỗ trợ các phân tích nâng cao.

Các bạn có thể tải bản dùng thử tại đây.

2.2. Robotium

Robotium là một trong những công cụ test tự động đầu tiên và thường xuyên được sử dụng cho phần mềm chạy trên Android.

Robotium là một công cụ kiểm tra giao diện người dùng (UI) dành cho Android và hoàn toàn miễn phí. Nó phù hợp để test tự động cho các phiên bản Android khác nhau. Các nhà phát triển phần mềm thường mô tả nó như một Selenium cho Android. Những bài test được tạo ra bởi Robotium được viết bằng Java. Trong thực tế, Robotium là một thư viện cho các bài kiểm tra đơn vị (unit test).

Nhưng phải mất nhiều thời gian và công sức để tạo ra các bài test bằng Robotium, bởi chúng ta sẽ phải làm việc với mã nguồn để tự động hóa các bài test. Công cụ này cũng không phù hợp để tương tác với phần mềm hệ thống; nó không thể khóa và mở khóa điện thoại hoặc máy tính bảng. Cũng không có chức năng Ghi và Phát trong Robotium và nó không cung cấp ảnh chụp màn hình

2.3. MonkeyRunner

MonkeyRunner là một trong những công cụ test trên Android phổ biến được sử dụng để tự động kiểm tra chức năng cho phần mềm Android.

Công cụ này ở cấp độ thấp hơn Robotium. Chúng ta sẽ không phải lo lắng đến với mã nguồn để tự động hóa các bài test. Các bài test được viết bằng Python, chúng ta cũng có thể sử dụng một công cụ recording để tạo các bài test. MonkeyRunner có thể chạy các bài test trên các thiết bị thực được kết nối với PC hoặc các trình giả lập. Công cụ này có một API cho phép nó điều khiển điện thoại, máy tính bảng hoặc các trình giả lập từ bên ngoài hệ điều hành Android.

Một nhược điểm đáng kể của công cụ này là cần phải viết tập lệnh (scripts) cho từng thiết bị. Một vấn đề khác của MonkeyRunner là các bài test yêu cầu điều chỉnh mỗi lần khi giao diện người dùng (UI) của chương trình hay phần mềm sẽ được test bị thay đổi.

2.4. Ranorex

Ranorex là một công cụ tốt để tự động hóa quá trình test không chỉ cho phiên bản mới nhất mà còn cho các phiên bản đầu tiên và các phiên bản phụ của Android, bắt đầu từ Android 2.2.

Một trong những lợi thế của Ranorex là các báo cáo chi tiết với ảnh chụp màn hình. Nó có thể kết nối điện thoại hoặc máy tính bảng với Internet thông qua WiFi.

Với công cụ Android này, Một kỹ sư test tự động có thể xây dựng các bài test dựa trên dữ liệu, ngoại trừ định dạng dữ liệu XML. Ranorex Studio cũng cho phép một kỹ sư test tự động có thể tạo các bài test một cách dễ dàng với việc chỉ cần nhấp chuột. Nó cho phép xây dựng các module chương trình bổ sung. Các module có thể được sử dụng trong các chu kỳ phát triển sau hoặc cho các kịch bản test phức tạp hơn.

Ranorex là một công cụ test ứng dụng di động được thương mại hóa; giá giấy phép của nó là 1990 EUR. Tuy nhiên Ranorex tìm kiếm các thành phần khá chậm; phải mất đến 30 giây để thực hiện một thao tác như vậy. Chúng ta sẽ phải cung cấp các tệp định dạng APK cho Ranorex. Nếu không thể cung cấp file APK, chúng ta sẽ không thể tự động hóa các bài test bằng công cụ này, vì nó chỉ hoạt động với các tệp APK được cung cấp.

2.5. Appium

Appium là một framework để tạo các bài test tự động cho iOS và Android. Nó là một công cụ miễn phí. Nó hỗ trợ các phiên bản Android từ 2.3 trở lên. Appium sử dụng giao diện WebDriver để chạy thử. Nó hỗ trợ nhiều ngôn ngữ lập trình như Java, C #, Ruby và các ngôn ngữ khác có trong thư viện WebDriver.

Nó có thể điều khiển các trình duyệt web như Safari và Chrome trên thiết bị di động. Điều này cho phép test các trang web di động với việc sử dụng Appium kết hợp với các trình duyệt này.

Nhưng một số kỹ sư test tự động phàn nàn rằng nó cung cấp các báo cáo có chất lượng kém, không đủ thông tin. Ngoài ra, điểm yếu của nó là việc hỗ trợ XPath bị giảm trên những thiết bị di động.

2.6. UI Automator

Công cụ này gần đây đã được Google xây dựng. Nó hỗ trợ các phiên bản Android bắt đầu từ 4.1. Bạn nên chọn một công cụ test ứng dụng Android khác để tự động kiểm tra cho các phiên bản trước. UI Automator có thể tương tác với tất cả các loại phần mềm cho Android, bao gồm cả các ứng dụng hệ thống. Điều này cho phép UI Automator có thể khóa và mở khóa điện thoại hoặc máy tính bảng.

Các tập lệnh (Scripts) được tạo bằng các chức năng của công cụ này có thể được thực thi trên nhiều nền tảng Android khác nhau. Nó cho phép tái tạo các chuỗi phức tạp của hành động người dùng.

UI Automator cũng có thể sử dụng các nút bên ngoài của thiết bị, chẳng hạn như các nút để quay lại, điều chỉnh âm lượng, bật và tắt thiết bị.

Nó có thể được tích hợp với framework TestNG. Trong trường hợp này, UI Automator có thể tạo ra các báo cáo thông tin và chi tiết, tương tự như các báo cáo được tạo bởi Ranorex. Công cụ này cũng hỗ trợ việc tìm kiếm các vấn đề rất nhanh.

Các chuyên gia test phần mềm nhận thấy UI Automator thực hiện rất tốt việc kiểm tra ứng dụng di động trên nhiều nền tảng Android. Đây là một trong những công cụ tốt nhất cho các ứng dụng Android, vì nó được Google xây dựng đặc biệt cho hệ điều hành này.

Thông thường, khoảng 80% lỗi phần mềm mới có thể được tái hiện trên tất cả các nền tảng được hỗ trợ. Vì vậy, người ta có thể thực hiện việc test trên nền tảng di động trên một trong những nền tảng đang được sử dụng rộng rãi và sẽ phát hiện tới 80% lỗi, với 20% lỗi còn lại sẽ được tìm thấy trên tất cả các nền tảng khác nhau. Điều đó có nghĩa là trong hầu hết các trường hợp, tốt hơn hết là kiểm tra kỹ các sản phẩm phần mềm trên một số ít nền tảng hơn là vội vàng trên nhiều nền tảng.

Hiện tại Android 4.1 được cài đặt trên khoảng 66% tất cả các thiết bị sử dụng hệ điều hành Android. Đó là lý do tại sao nhiều kỹ sư test tự động thường quyết định rằng UI Automator là giải pháp phù hợp nhất.

Ranorex thường được sử dụng để thử nghiệm tạo cho các phiên bản Android đầu tiên (trước 4.1).

3. Kết luận Test tự động là một nhiệm vụ phức tạp. Nó đòi hỏi sự chuẩn bị và nghiên cứu kỹ lưỡng. Chúng ta cũng nên bắt nhịp với tất cả những điều mới trong lĩnh vực công nghệ thông tin, ứng dụng và các công cụ test tự động. Tất cả kiến thức này là cần thiết để tạo ra các bài test hiệu quả nhất.

4. Liên kết tham khảo

https://www.softwaretestinghelp.com/beginners-guide-to-mobile-application-testing/

https://www.softwaretestinghelp.com/5-best-automation-tools-for-testing-android-applications/


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.