Một testing framework hay cụ thể hơn là một môi trường thực thi để thực hiện việc test tự động. Đây là hệ thống tổng thể, trong đó việc test sẽ được tự động. Nó được định nghĩa là tập hợp các giả định, khái niệm và coi là một nền tảng công việc hoặc hỗ trợ cho kiểm tra tự động.

I. Mobile Testing – Android Frameworks
Có rất nhiều testing framework Android có sẵn trên thị trường. Dưới đây là 5 loại điển hình:

  • Robotium – Robotium là một framework kiểm tra mã nguồn mở để phát triển chức năng, hệ thống và các kịch bản nghiệm thu. Nó rất giống với Selenium.
  • UIAutomator – UIAutomator là framework của Google cung cấp kiểm tra giao diện người dùng trước các ứng dụng native Android và games. Nó có một thư viện chứa Java API để tạo ra các bài kiểm tra giao diện chức năng và cũng dùng để chạy thử nghiệm.
  • Appium là một công cụ mã nguồn mở được sử dụng để kiểm thử tự động (test automation) các native app, mobile web app, và hybrid app trên nền tảng iOS và Android.Đặc biệt là Appium hỗ trợ “đa nền tảng” (cross-platform) cho phép bạn sử dụng API giống nhau để viết test cho các nền tảng khác nhau (iOS và Android). Điều này khá là tiện lợi khi bạn muốn sử dụng lại các test suites của mình.
  • Calabash là một framework mã nguồn mở và miễn phí cho phép kiểm thử tự động các ứng dụng di động (hỗ trợ cả iOS và Android). Calabash tự động tương tác với giao diện người dùng trong một ứng dụng chẳng hạn như nhấn nút, nhập văn bản, xác nhận các tin nhắn hay thông báo…
  • Selendroid là một framework kiểm thử tự động để thử nghiệm các ứng dụng native và hybrid của Android. Kiểm tra Selendroid được viết bằng cách sử dụng API client Selenium Webdriver. Nếu trước đó bạn đã từng sử dụng Selenium, thì bạn có thể dễ dàng tiếp cận Seledroid hơn để có thể tạo ra các trường hợp kiểm thử.

II. Mobile Testing – IOS Frameworks

Giống như Android testing framework, có khá nhiều framework dành cho iOS trên thị trường. Dưới đây là một số loại phổ biến:

  • Appium là một công cụ mã nguồn mở được sử dụng để kiểm thử tự động (test automation) các native app, mobile web app, và hybrid app trên nền tảng iOS và Android.Đặc biệt là Appium hỗ trợ “đa nền tảng” (cross-platform) cho phép bạn sử dụng API giống nhau để viết test cho các nền tảng khác nhau (iOS và Android). Điều này khá là tiện lợi khi bạn muốn sử dụng lại các test suites của mình.
  • Calabash là một framework mã nguồn mở và miễn phí cho phép kiểm thử tự động các ứng dụng di động (hỗ trợ cả iOS và Android). Calabash tự động tương tác với giao diện người dùng trong một ứng dụng chẳng hạn như nhấn nút, nhập văn bản, xác nhận các tin nhắn hay thông báo…
  • Zucchini- Zucchini là một công cụ mã nguồn mở dùng để kiểm thử tự động các chức năng hình ảnh trên ứng dụng của iOS, dựa trên Apple UIAutomation.
  • UI Automation: UI Automation là một công cụ được phát triển bởi Apple dùng để kiểm tra các ứng dụng trên iOS. Nói cách khác, giao diện sẽ tự động hóa trên iOS cũng như dùng UIAutomator cho Android.
  • Frank- Frank là một mã nguồn mở của iOS dùng dể kiểm tra các tính năng kết hợp của Cucumber và JSON. Phù hợp nhất đối với các ứng dụng trên nền web và native app.

III. So sánh sự khác nhau giữa các testing framework

Nguồn tham khảo: https://www.tutorialspoint.com/mobile_testing/mobile_testing_frameworks_overview.htm