大家好,我是阿萨。随着手机被越来越多人使用,移动自动化也是趋势所在。
测试的时间是至关重要的,尤其是移动测试,软件测试生命周期中的手工测试的时间已经影响到了手机抢占最佳市场先机。因此自动化是不可避免的需求。
什么是手机自动化测试?
要回答这个问题,我们首先需要澄清“手机自动化测试”与“手机应用程序自动化测试”是不同的——后者关注的是在设备内测试移动应用程序。然而,前者与测试移动设备的硬件和软件单元有关。我们知道,移动设备由硬件和软件组成,而移动应用程序只是简单的软件。测试移动设备还关系到评估硬件组件和软件部分。
手机硬件
硬件部分由主板、触摸板、摄像头镜头、天线、充电口、电源按钮、音量按钮、发光二极管、屏幕、扬声器、麦克风、电池、sim卡插槽、记忆卡插槽、听筒端口、光传感器等组成。
手机软件
值得注意的是,软件部分并不仅仅由移动应用程序组成。软件部分由主板和所有其他硬件组成
- RAM随机存取存储器
- 内存,
- 操作系统
- 蓝牙,
- 无线网络,
- 便携式热点,
- 内核,
- 证书,
- 操作系统的安全性
- 处理器,
- 使移动设备可用的各种应用程序等等。
自动化测试中的软硬件同步
在手机自动化测试期间,硬件和软件都要贯穿整个测试过程,几乎不需要人工干预。硬件部分通过将移动设备连接到自动化测试系统或远程访问自动化测试模块进行测试。自动化系统通过激活其内部/软件功能,一个接一个地通过硬件。换句话说,因为所有的硬件都有相应的软件功能,自动化测试系统启动与每一个硬件相关的每一个软件功能。例如,为了测试发光二极管,自动化系统会激活软件,让灯亮起来。硬件自动化测试系统还用于确保硬件与相应软件之间的连接,以便在使用设备时控制硬件。另一个例子是,你可以通过硬件按钮或通过点击设备屏幕上的音量图来控制移动设备的音量。像相机镜头这样的硬件只能通过激活设备上的软件来使用。
系统诊断模块
另一个用于描述移动设备自动化测试的术语是手机诊断。许多手机系统诊断模块要么要求移动设备实际存在,要么不需要进行测试。前面列出的所有硬件和软件(除了各种应用程序)都在两种技术中依次进行测试,如电池健康状况、音频控制、端口灵敏度、连接性(蓝牙、WiFi)、操作系统安全性、RAM、内部存储等。简单地说,系统诊断模块用于对组成移动设备的硬件和软件(应用程序除外)进行自动化测试。
如何进行移动应用程序自动化测试
在成功地测试了构成移动设备的硬件和软件之后,移动自动化测试的下一部分将是测试使设备可用的应用程序。应用程序在数字环境(也称为测试平台或自动化测试工具)中单独自动测试。每个工具都依赖于试图简化自动化的特定测试自动化框架。
可以在移动应用程序上进行各种自动化测试,如中断测试、兼容性测试、渗透测试等。 中断测试是一种自动化测试过程,用于确定一个应用程序在另一个设备应用程序同时运行时继续运行的能力。例如,当调用或消息进来时,应用程序如何作出反应。一些应用程序一旦被最小化,或者当另一个应用程序接收或发送通知,暂时掩盖它时,它们就不能正常工作。 另一种类型的自动化测试是兼容性测试,用于确定应用程序在特定操作系统中的工作情况。大多数应用程序都带有描述在移动设备中使用的最低系统要求的规范。这些规范帮助最终用户了解应用程序是否与他们的移动设备兼容。 兼容性测试确定应用程序与同一设备或不同设备上的一个或多个其他应用程序同步的程度。相同或不同移动设备上的两个或多个应用程序之间的连接对于某些传输或其他网络需求几乎是不可避免的。他们必须相互兼容,才能建立有效的联系。 渗透测试是在简单软件和复杂软件上进行的一种流行的自动化测试类型。应用程序必须通过由专业的、有道德的黑客执行的渗透测试。这将提高应用程序的安全性,并确保它不容易被渗透。如果黑客获得了对应用程序的未经授权的访问权限,他/她也可以从最初被黑客攻击的地方转移到移动设备的其他区域。渗透测试为最终用户提供了使用、重用和推荐应用程序的保证和信心。
移动应用程序自动化测试工具
一些最常用的移动应用程序自动化测试工具有: Kobiton,Test project,Squish By Froglogic, Apptim, TestingBot, 21, Appium, selendoid, MonkeyRunner, Calabash, KIF, Testdroid等。这些工具就像数字环境,在整个测试过程中应用程序都被执行。 测试人员必须利用这些工具和正确的自动化测试框架来执行有效的测试。
测试自动化框架
测试框架可以被看作是组成工具的整个结构,或者仅仅是支撑测试环境的骨架。
自动化测试框架包括;
- 线性的,它以结构化的、较不灵活的方法执行测试。
- 模块化通过将应用程序划分为各种功能并单独测试它们来执行测试。
- 库架构架构通过根据相似度进一步对孤立函数进行分组来执行测试
- 数据驱动,通过允许包含与应用程序关联的数据的外部存储连接到测试环境来执行测试。
- 关键字驱动,通过相似的单词对应用程序的功能进行分类。例如,术语“处理数据”可以组织上传照片,接收文件等。
- 混合测试框架包含了所有其他框架的所有特性。这个框架是最复杂的,但使用起来也最灵活。它可以用于测试任何应用程序,是测试混合应用程序的理想选择。
总之,移动自动化测试是相当广泛的;然而,移动设备制造商和移动应用程序开发人员不能忽视这一点。
它应该在以下场景中被执行
- 在移动设备的制造过程中,
- 在移动应用的开发过程中,
- 经过该装置的制造工艺,
- 经过应用程序的开发过程,
- 在设备启动之后,在应用程序启动之后。
在市场发布后,持续的移动自动化测试有助于确定哪些领域需要改进,从而导致移动设备版本、操作系统和更新的移动应用程序的升级。