app自动化测试方案

app自动化测试方案

1.定义:利用脚本以及相应的工具去完成现有app自动化测试,自动进行测试结果汇总,测试报告的生成,减轻手工测试的负担。

2.各种自动化测试的分析:

单元自动化测试(数据处理层):指对软件中最小的可测试单元进行检查和验证,一般需要借助单元测试框架,如java的Junit、TestNG,python的unittest,常见的手段是code review等;

接口自动化测试(业务逻辑层):主要检查验证模块间的调用返回以及不同系统、服务间的数据交换,常见的接口测试工具有postman、jmeter、loadrunner,自己写的接口测试框架等;

UI自动化测试(GUI界面层):UI层是用户使用产品的入口,所有功能通过这一层提供给用户,测试工作大多集中在这一层,常见的测试工具有UFT、Robot Framework、Selenium、Appium等;

3.测试工具的比较

3.1单元测试,需要会写代码,熟读内部逻辑,用于对功能某个单独模块的测试,比如某个类的测试。难度比较大,产出高,汇报高。需要测试者代码经验丰富,阅读代码能力高,实现比较困难。

3.2 接口测试:可以利用现成的测试工具进行测试,基于模块间的测试,有现成的接口测试工具,网上也有好的开源的接口自动化测试平台,可以拿过来修改后直接用。难度相对于单元测试简单,如果用工具,需要对工具有更好的熟悉度,如果利用开源的平台,需要简单的二次开发,投入产出比例相对较高。 实施起来也比较容易,难点在于测试接口的测试文档一定要完整。

3.3 UI自动化测试。

上面的图片来源于百度,对于app自动化来说,目前能够跨平台的,支持多语言的appium。

好处:1.跨平台,2,跨应用,3支持安卓和ios,4,支持多语言 。

难点:多平台需要相应的平台。有一定的语言成本,ui不稳定会导致维护成本比较大。
在一定的程度上,会增加测试成本。

目前市面上来说appium还算比较广泛的应用,搭建有成熟的中文文档,有论坛可以追查。

  1. 什么样的项目适合做自动化

如上图所示,真正工作中无法全部满足以上条件,所以需要作出权衡,一般来说,只需要满足以下几点 :
①需求稳定,不会频繁变更

自动化测试最大的挑战就是需求的变化,而自动化脚本本身就需要修改、扩展、debug,去适应新的功能,如果投入产出比太低,那么自动化测试也失去了其价值和意义;

折中的做法是选择相对稳定的模块和功能进行自动化测试,变动较大、需求变更较频繁的部分用手工测试;

②多平台运行,组合遍历型、大量的重复任务

测试数据、测试用例、自动化脚本的重用性和移植性较强,降低成本,提高效率和价值;

③软件维护周期长,有生命力

自动化测试的需求稳定性要求、自动化框架的设计、脚本开发与调试均需要时间,这其实也是一个软件开发过程,如果项目周期较短,没有足够的时间去支持这一过程,那自动化测试也就不需要了;

④被测系统开发较为规范,可测试性强

主要出于这几点考虑:被测试系统的架构差异、测试技术和工具的适应性、测试人员的能力能否设计开发出适应差异的自动化测试框架;

在上述4条满足的情况下,可以去开展自动化测试,在部门测试中落地生根。

5.部门如何做自动化测试?怎么推广下去?

目前,我们经常维护的app有两款app,分别有两个平台,ios平台和安卓平台。现有的web界面,主要的是官网和教师端,以及爱学云,整体上来说这些平台是适合做自动化的,相对于web界面来说,有较大的改动,app更新的频率也比较高,可以选择我们的app做自动化,根据功能来说的话,相对于来说我们来做学生端app自动化还有必要的。
对于接口自动化来说,我们现有的文档没有维护,还是之前的接口文档不是最新的,做起来需要研发的配合,甚至可能去查代码,所以说接口自动化的落地在本部门可能还需要一定的时间,不过有合适的框架可以稍微修改可以利用。

针对上述,我们可以现在app的ui自动化做实验,看我们这方面的产出比怎样,是否真正的去节省了我们的时间,提高了我们的测试效率。在app自动化的同时,我们也可以和接口测试协调起来,在后续的时候,我们在回归测试中,接口测试可以和app自动化测试互相弥补,也可以接口测试和app测试单独起来。搭建完整的可持续集成的自动化测试平台。
在市面上,不管是一些同类型的公司还是一些大的公司,都会有自己的一套成熟的自动化测试体系。

搭建完毕后,我们的自动化的测试平台只需要一个专门的人员去维护我们现有的测试平台,用两个人去完成新增功能测试就可以。自动化测试在本公司的推广,不仅可以节省我们的人力成本,提高我们的测试效率,还能促进我们内部团队的技术提升。

后期我们可以针对app和接口分开搭建不同的测试平台,利用网上现有的开源框架进行简单的二次开发,形成我们本公司内部的自动化持续集成测试平台。需要人去维护自动化平台。
远期,我们自动化测试平台完成后,只需要去补充里面的用例,修改相应的逻辑就可以进行我们的自动化测试平台,不管是对我们个人能力的提升,还是对测试效率还是对整个测试部门的提升都是有很大的帮助的。节省大量的人力物力成本。

目前先选择学生app进行自动化测试,分为接口和UI自动化测试,先做UI后做接口,看产出比和效率,前期会有一定人力投入的成本,平台落成后更加省时省力省成本,只需要定期的对测试平台进行维护,进行升级。就能满足日常测试工作。自动化测试会让我们的测试更加有效,更加节省人力物力,更加有效提升我们的效率,节省测试时间,减少线上bug。

所以我感觉我们公司有必要在现有阶段去开展我们的自动化测试。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值