移动互联网在改变我们生活的同时,给各行各业都带来了翻天覆地的变化,就拿移动应用开发来说,传统软件的迭代周期往往以年、月计,而到了手机上,几乎每周都有新版本上线,一些“勤快”的应用甚至三五天就更新一个版本。如此频繁的迭代速度给软件测试带来了前所未有的压力,如何保障应用的发布质量,是每一个移动产品开发团队必须面对的,于是移动自动化测试就成了解决敏捷开发和持续交付的最佳方案。
今天,云智慧的iOS开发工程师龚彪同学就为您分享他在移动开发过程中积累的移动自动化测试经验心得。
自动化测试是什么
自动化测试是把以人为驱动的测试行为改成机器执行,通过精心设计的测试用例,由机器按照测试用例的执行步骤对应用进行自动操作,然后输出结果,由测试人员进行比较。自动化测试可以极大的节省人力、时间和硬件资源,提高测试效率。
对于功能比较完整和成熟的软件,每发布一个新的版本,其中大部分功能和界面都和上一个版本相似或完全相同,而这部分功能就最适合于自动化测试。
移动自动化测试的优点
1.对程序员来说,在提交代码之前,可以先进行回归测试,这样能提高代码质量,加快代码上线速度。
2.自动化测试能够很方便的自动完成安装/卸载、启动/运行、UI适配等枯燥的手工测试环节,节省很多时间,在准确编写测试脚本的前提下,能够帮助测试人员完成更多要求。
3.脚本和框架一般在iOS和Android平台是通用的,同一测试脚本适用于所有Android机型,可快速完成兼容性测试。
4.可以模拟产生数据。通过一些重复的操作,产生一些简单的数据。能够保存截图、输出log、输出错误信息。
5.可以长时间运行,并保证数据的正确性,避免人工测试的人为错误。
6.Android可以通过局域网,多设备多脚本多case连续测试。
7.可以借助透视宝对应用性能进行全面诊断。比如,用户提供安装有透视宝SDK的 apk/ipa的安装包,就可以对用户的APP进行一次整体测试,产生一份包括崩溃、内存泄漏、网络监控和UI性能测试的具有洞察力的详细报告。目前云智慧的很多客户在产品发布之前都要先绑定透视宝SDK,之后在 testin、百度云测、腾讯优测等平台进行测试之后才评估是否使用。
8.不需要重新编译APP。
移动自动化测试的缺点
1.需要借助Appium工具来录制脚本,而Appium是第三方的开源工具,需要布置环境。
2.可通过Xcode自带的Instruments或者Android自带的UIAutomator工具录制脚本,要会简单使用xcode和eclipse。
3.录制成功的脚本代码需要重新编写,来输出结果、进行截图、输出错误信息等,需要会编写简单的python或者JS脚本。
4.每次要测试一个新app的时候,都要重新设计测试用例,重新设计输出规范和记录内容,重新生成标准化的测试报告。
5.需要对结果进行逻辑处理,需要人工比较、分析。
6.没办法手机录脚本,需要配合客户端。
7.框架维护不易,复用率低。