设备平台被用于在多个类型的设备上模拟iOS和
Android应用的
测试过程。通过使用一些最佳的设备平台进行测试,你可以降低劳动力成本并节省所需时间。因此,它有助于你实现更高的测试覆盖率,并简化你的DevOps移动开发流程。
近年来,移动设备的类型范围逐渐扩大。我们看到了具有不同功能、
操作系统、屏幕尺寸等的设备。因此,我们自然需要在每种设备上投入更多精力来测试我们的应用。我们希望我们的应用能够在用户可能使用的任何设备上都能完美运行。
随着所有这些新版Android和iOS设备的出现,手动测试将会对你的预算和劳动力时间造成负担。因此,需要一个平台,能够让你在一个地方对大量设备进行模拟手动测试。
设备平台是什么?
早期,当设备数量增多时,
诺基亚启动了一项计划,以使测试人员的工作变得稍微轻松一些。他们允许测试人员在远程控制的模式下,在租赁的设备上运行他们的应用程序。然而,当时的规模还无法适应我们现在所拥有的如此多样的移动设备。
随着进一步发展,现在的操作系统本身已经能够提供工具,允许测试人员在应用程序上模拟用户操作。因此,他们可以编写能在处于开发者模式的
手机上执行的脚本。这些脚本可以轻松模拟用户在设备上的操作。
随后,他们开发了DevOps工具,这些工具可以自动在成千上万的移动设备上构建和运行这些脚本。这些设备上会安装目标应用程序,并处于开发者模式。
在远程云实验室中运行着各种不同类型设备的这样一组设备集合,被称为设备平台(也称设备农场)。
设备平台进行移动应用测试的优势
如果你在大规模开展产品测试工作,那么在多个设备上测试你的移动应用将变得非常昂贵且耗时。而在设备平台上,你可以访问到数千台配置各异的设备。
你可以利用模拟器和仿真器来进行测试。基于云的测试还允许你捕获性能问题。以下是使用设备平台进行移动应用测试的一些最重要的优势。
● 你拥有大量运行不同操作系统平台、屏幕方向、显示尺寸、内存、网络等配置的设备。这大大降低了整体维护和基础设施成本。
● 你可以进行并行测试,这将为你节省大量时间。
● 基于云的环境通常很安全,并且可以从任何地方访问。
● 你可以获得以图表、视频录制、屏幕截图等形式呈现的详细报告。
● 借助所有这些报告,发现并修复
漏洞将变得更加容易。
● 你可以轻松地将它们集成到你的持续集成/持续部署(CI/CD)流水线中,使团队协作更加便捷。
最佳移动设备测试平台介绍
从基础层面上看,所有设备平台都使用某种特殊脚本。该脚本由操作系统启动,用于模拟手势、按钮按压、触摸等动作。
这些设备平台在执行这些脚本时所使用的子系统是主要区别所在。一些流行的子系统包括Espresso、
Appium、Calabash、UI Automator、Robotium、XCTest等。
在本文中,让我们讨论一些免费和专业设备平台及测试实验室的组合。
1. Testsigma
Testsigma不仅是一个设备平台,更是一个基于云的、无需编写代码的
自动化测试平台。它允许用户在云端托管的真实设备上进行并行的自动化测试。它可以协助你快速创建
测试用例,并且无需设置任何复杂的基础配置。
以下是Testsigma的特点:
● Testsigma学习成本较低,凭借其简单的脚本功能,使每个人都能随时进行测试。
● 你可以在3000多台iOS和Android设备上远程执行自动化移动应用测试场景。
● 支持并行的自动化测试,能够快速获得测试结果,节省测试时间。
● 使用Testsigma可以轻松创建用于UI/UX测试的详细测试用例。
● 平台提供详细的测试报告,包括视频录制和屏幕截图。
● 漏洞共享、CI/CD集成和其他功能使报告结果更快、更容易。
2. AWS Device Farm
这是目前使用最广泛且最佳的移动设备测试平台。它允许用户在多个设备上同时进行测试,以加快测试套件的执行速度。此外,它还会生成日志和视频,以便进行深入的调试。
提供大量设备,并可选择内存、CPU使用率、位置、运营商等选项。
通过视频和日志,可以快速复现漏洞。通过设置位置、网络、语言等,可以微调真实环境。提供多个插件和API,可与你的CI/CD(如Jenkins、Android Studio等)集成。
可以设置私有设备实验室,以避免长时间的等待队列。对于脚本执行器,你可以使用Appium(适用于iOS和Android)、Espresso和Robotium(适用于Android),以及UIAutomation和XCTest(适用于iOS)。
3. Sauce Labs
Sauce Labs 允许用户在公共和私有设备云上实时自动化执行移动应用测试。你可以使用高度可靠、经济实惠、可扩展且针对你特有的CI/CD管道优化的Android模拟器和iOS模拟器。
通过使用大量真实设备测试,并以最低的错误率,可以轻松实现Beta版、自动化和API接口测试。你将能够使用诸如无限截图和视频、一次性虚拟机、安全本地隧道、REST API访问、大量调试工具等功能。
与AWS设备平台类似,Sauce Labs也允许用户访问最佳的脚本执行器,包括Appium、Espresso和XCUITest。
4. Firebase Test Lab
这是由
谷歌开发的,专为Android应用程序测试而设计,但同样可以测试iOS应用程序。它使用位于谷歌数据中心的真实生产设备进行应用程序测试。
Firebase Test Lab提供了可定制的本地化设置和更新的API。用户可以通过配置硬件和软件配置轻松地对应用程序进行测试。其主要功能包括:
Firebase Test Lab与Android Studio、Firebase控制台和gCloud CLI集成。甚至可以将其与你的持续集成(CI)管道集成。为了执行脚本,你还可以使用Espresso、Robotium、UI Automator 2.0和Robo工具。
平台提供了测试功能和包含在Blaze和Spark测试计划中的云API配额。Spark计划是免费的,每天可以进行15次测试运行。而Blaze计划则根据测试运行所花费的时间来确定费用。
5. Samsung Remote Test Lab
毋庸置疑,
三星在全球
智能手机和Android市场中占据了一大块份额。因此,三星提供的远程测试实验室值得你关注。
其设备平台包含了所有三星的旗舰智能手机。此外,测试人员甚至可以在这些创新产品上市之前就接触到它们。这将使你能够在尚未发布的设备上测试你的应用程序的运行情况。
不仅如此,你甚至还可以在基于Tizen的设备(如Galaxy智能手表和Tizen手机)上进行测试。
这里有超过30种智能手机和平板电脑型号供你进行测试。它允许你手动记录所有想要测试的事件和步骤,并按相同的顺序来反复进行回归测试。此外,它还可以支持远程调试。
三星设备平台完全免费使用。然而,唯一的缺憾是你只能在三星智能手机上测试应用程序。
6. Xamarin Test Cloud
Xamarin设备平台是微软Visual Studio App Center的一部分。用户可以在超过2500台移动设备上运行测试。还可以使用Visual Studio将应用程序和测试上传到Xamarin云,这将自动在相应环境中安装应用程序并准备测试运行。
Xamarin提供了如Appium、Calabash、Espresso和Xamarin.UITest等框架来执行测试脚本。测试运行完成后,它会向所有注册用户发送包含详细测试报告的通知。
7. Kobiton
使用Kobiton,用户可以访问云中的数百台真实设备。在性能方面,这些设备模拟了手中的实际设备。它拥有众多功能,且无需任何复杂的设置程序。
无论你运行的是手动测试还是自动化测试,它都能以截图和视频等格式捕获详细、丰富的测试日志,以及内存和电池性能等指标。你还可以轻松重放场景以进行根本原因分析。
还可以并行执行所有测试脚本,并快速将其集成到你的CI/CD管道中。借助ADB调试,你可以直接从开发人员工作站获取云(或本地)设备。可以从IDE直接原生访问移动设备。
可以使用私有Kobiton云中的VPN来确保灵活性,但这不会以牺牲安全性为代价。Kobiton支持开放标准框架,这意味着用户的脚本受到安全保护。其中一些框架包括Appium、Espresso、Selenium、XCUI等。
结论
在本文中,我们回顾了一些可用于测试iOS和Android移动应用程序的最佳设备平台。毫无疑问,当大规模测试时,使用基于云的设备平台带来的好处是巨大的。
这可以帮助测试人员摆脱了多设备UI/UX测试的繁琐工作,节省大量的测试时间,并降低劳动力成本。如果你是一位希望在几台设备上测试应用的独立开发者,可以尝试Firebase Test Lab、Samsung Remote Test Lab等免费解决方案。
如果你的公司正在开发一款潜在目标受众非常广泛的应用,那么最好在尽可能多的设备配置上进行彻底测试。在这种情况下,你可以尝试AWS Device Farm、Kobiton等平台。
但如果你正在寻找一种完全无忧且自动化的解决方案,那么可以尝试一下像Testsigma这样的自动化测试平台。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理