APP下载

浅析手机软件测试

2018-01-08袁海根

电脑知识与技术 2017年36期
关键词:自动化测试手机软件

袁海根

摘要:随着智能手机的不断发展,其操作系统以及应用软件的复杂度也在不断地提高,手机核心竞争力已经从硬件转变成软件。 手机软件进行测试来保证其软件质量该文主要从三个方面讨论手机软件测试,手机软件测试的不同,手机软件测试不同分类如何测试,手机不同自动化测试工具的如何测试。

关键词:手机软件;测试分类;自动化测试

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)36-0222-02

随着各种新型智能手机的推出,计算机软件测试和移动软件测试变得越来越重要[1]。智能手机是手机应用最广泛的手机,手机软件测试是测试行业发展的方向之一[2]。如何优化系统,提高产品质量,增强竞争力是手机软件测试的重要任务[3]。目前,中国手机软件测试还处于起步阶段。本文针对手机软件测试功能以及如何自动化测试进行探索。

1 手机软件特点

手机软件是通过分析,设计,编码,生成软件,而手机软件是一种特殊的软件。手机软件测试与电脑软件测试相比具有自身的特点:

1) 手机软件基于特定环境下的测试软件,具有很高的可靠性和有效性。 。

2) 为了满足高可靠性要求,手机软件产品不允许在操作过程中发生内存泄漏。因此,除了性能测试,测试和覆盖率分析之外,软件测试对于常见软件测试也是至关重要的。另外,我们还要测试内存。

3) 手机产品不同于一般的软件产品,手机软硬件一体化测试完成后,并不意味着整个测试已经完成。

2 手机软件测试分类

手机软件的测试功能和一般软件不同,主要有以下几个方面:

1) 功能测试:分析每个模块的功能,并测试每个模块项目是否可以实现相应的功能。基本上基于测试用例(Test Case)或软件本身来完成基本的功能测试(比较简单,容易找到故障解决方案)。

2) 交叉冲突测试:又称冲突测试或事件,是一个正在执行的模块,另一个模块干扰测试操作。例如,您在通话,被阻止和未插电的应用程序中收到短信或警报触发器。干扰冲突的执行不会导致严重的应用软件问题,电话崩溃或严重的视频墙问题。此外,还需要注意交叉事件的优先级,然后测试系统是否可以基于每个事件的优先级。由于优先级较高的事件,您不能挂起较低优先级的事件。

3) 网络压力测试:又称极限载荷测试或边界值容错测试。网络压力测试是指在测试过程中已经接近某个软件功能的网络的最大容量或最大负载限制,并且与其操作相对应。例如,不断发送和接收短信,存储超过SIM卡的最大数量,仍然发送或接收短消息,以测试软件的行为异常。

4) 存储压力:由于手机是一个堆栈存储,所以当堆栈满时,如果程序员处理不当,容易导致存储区域的删除。所以UI问题,其他功能都不能正常工作。

5) 反应压力:有时可能需要很长时间才能手术,在治疗过程中继续进行其他手术,然后检查问题。

6) 网络流量压力:执行较大的数据流量功能时,还会执行其他功能以保持网络流量较高,如视频呼叫期间的SMS消息,以验证功能是否仍在正常工作。是网络流量异常造成的瓶颈

压力测试手动测试可能很麻烦,并考虑自动测试。不幸的是,目前没有大规模使用的工具,通常由高级测试人员编写的开发人员或脚本编写。

3 手机软件自动化测试工具

目前的测试中,手机测试软件有很多种类,本文讨论每种手机自动测试工具的优缺点:

1) Robotium Android测试工具

Robotium是一个免费的Android UI测试工具。它适用于测试不同Android版本和子版本的自动化。软件开发人员经常将其描述为Android Selenium。 Robotium测试是用java编写的。实际上,Robotium是一个单元测试库。 Robotium自动化测试工具的缺点是修改源代码。它也不适合与系统软件交互。 Robotium也没有录音功能,也不提供截图。

2) MonkeyRunner Android应用程序测试

Monkeyrunner是比较流行的Android自动化测试工具,主要用于自动化功能测试。

这个工具比Robotium低。这不需要处理源代码来做自动化测试。这个测试可以用Python编写,也可以使用录制工具创建。

Monkeyrunner可以连接到计算机或模拟真实的设备操作测试。此工具具有一个界面,可让您控制智能手机,平板电脑或外部仿真器的Android代码。

这个测试工具的缺点是它必须为每个设备编写一个脚本。另一个问题是,每当测试程序改变其用户界面时,都需要调整测试脚本。

3) Ronaorex Android测试应用工具

Ranrex是早期版本和分支版本,不仅支持最新的Android版本,还支持Android 2.2。 Ranorex的优势是它有一个详细的屏幕截图报告。它可以通过Wifi连接智能手机和平板电脑。自动化测试工程师可以使用此Android工具编写深入的数据驱动测试,而不是使用XML数据格式。 Ranorex允许自动化测试通过点击鼠标来创建测试。它允许附加程序模块的详细声明,以便在以后的开发周期中测试更复杂的场景。这是一个商业移动应用程序,许可证价格是1990欧元。但是,Ranorex搜索相当慢,需要30秒才能完成。 Ranorex配备了所需的APK文件设备。

4) Appium的Android自动化框架

这是iOS和Android的自动测试框架。这是一个开源工具。它支持Android 2.3及更高版本。 Appium使用WebDriver界面运行测试。它在WebDriver库中的优点支持多种语言,如C#,Java,Ruby和其他语言。它控制移动设备上的Safari和Chrome。但一些自动化测试工程师抱怨说没有详细的报告。它的弱点还减少了对移动设备的XPath支持。

5) UI Automator Android测试自动化

这个工具最近由Google发布。它支持从4.1开始的Android版本。所以你必须选择另一个Android应用程序测试工具来执行早期版本的自动化测试。 UI Automator可以与各种Android软件产品进行交互,包括系统中的应用程序。这允许UI Automator锁定和解锁您的智能手机或平板电脑。使用此软件创建的脚本可以在大多数不同的Android平台上运行。它复制了复杂的用户操作。 UI Automator也可以使用设备的外部按钮,如播放按钮,音量控制按钮和开/关按钮。它可以集成测试框架TestNG。在这种情况下,UI Automator可以生成豐富而详细的报告,类似于Ranorex生成的报告。另外,这个工具搜索功能非常快。软件测试专家已经发现,UI Automator是一个在许多Android平台上的移动应用程序测试。它是Google专门为此操作系统发布的最适合Android应用程序测试的工具之一。在所有支持的平台上,大约80%的新软件缺陷通常都是可重现的。因此,可以在广泛使用的平台上实施的移动测试工具可以检测到高达80%的缺陷。余下的20%将在其他平台上找到。这意味着在大多数情况下,在较少的测试平台上测试比在许多平台上测试要好。这就是为什么许多自动测试工程师决定使用UI Automator作为最佳解决方案。

4 结束语

本文主要针对手机软件测试分类和手机自动化测试工具详细探讨,特别是对手机自动化测试工具探讨了每种测试工具的优点和缺点。本文对手机软件测试还有其他方面没有探讨,比如手机测试未来发展方向,手机软件测试具体执行过程等等。

参考文献:

[1] 丰彦. 软件测试的系统测试方法[J]. 海峡科学, 2005(3):32-34.

[2] 秦烨, 康伟, 韩佳. 浅谈黑盒测试技术在手机软件测试中的应用[J]. 图学学报, 2006, 27(1):143-148.

[3] 邹复春.基于模式的手机界面开发工具的研究与实现[D]. 西安: 西北大学, 2015.endprint

猜你喜欢

自动化测试手机软件
告诉你猫开不开心的手机软件
心血管病患者服药提醒手机软件的设计与应用
学习类手机软件岂能“藏污纳垢”
业务员手机软件如何用 更能提升效率
浅谈空调控制器自动化测试
“咕咚”手机软件中的“3S”技术——《地理信息技术在区域地理环境研究中的应用》(必修3·人教版)一节的教学设计