自动化测试框架的选用

一、自动化测试

       众所周知,软件测试按照不同的分类方式,可以划分成多种。如果按照是否执行手工划分,可划分为手工测试、自动化测试。自动化测试进一步细分的话,从软件开发周期的角度可分为:单元自动化测试、接口自动化测试、UI自动化测试(web自动化、移动端自动化);从测试目的的角度可划分为:功能自动化测试、性能自动化测试、安全自动化测试。

二、预期收益

维护自动化会花费一定量的时间及人力成本,预期换来的收益效果是什么?

1.冒烟准入:自动化测试结果,作为准入冒烟case的参照标准,以确保老业务功能的畅通

2.全量回归:协助上线前的全量回归,提高测试效率,节约手工测试时间、人力成本

3.生产回归:线上环境全功能回归,监控线上功能畅通

4.额外收益:测试环境执行自动化测试,检测排查测试环境的问题

三、自动化适用领域

切记:不是所有的系统都适合做自动化测试!!!

如果不能做自动化测试的系统,没必要硬上,毕竟强扭的瓜不甜,否则有可能竹篮打水一场空~

什么样的系统适合自动化测试呢?且看下图所示:

项目中,接口测试的ROI(产出投入比)要比UI测试高,因为接口层相比于UI层的稳定性高、可复用性好、存在周期长。

四、现有框架

1.无需写代码的自动化框架

  • JMeter + Ant+ Jenkins

3.需写代码的自动化框架

  • python版:requests + unittest
  • java版:httpclient + testng

4.其他框架:

  • pytest版接口自动化测试框架
  • Robot framework接口、ui自动化测试框架
  • web端ui自动化测试框架
  • app端ui自动化测试框架
  • 性能自动化测试框架

五、框架对比

RF框架:

  • 属于半懂代码,懂接口的结构体就易上手的测试框架,测试人员使用成本低
  • 关键字驱动测试,扩展性高
  • 功能完善,支持跨平台
  • 有界面,交互体验好
  • 可生成测试报告及清晰的Log报告
  • 用例编写类似填写Excel表格的易上手,但操作起来并不够友好
  • 尤业务层系统的接口自动化测试,参数设置过多,业务逻辑复杂,响应结果校验偏多,设置编写会存在诸多的填写工作量

TestNG框架:

  • 需懂代码的测试框架,对于测试人员要求高一些
  • 涵盖单元测试、功能测试、集成测试等,覆盖面广
  • 基于Annotation(注解)机制,测试方法更灵活
  • 支持多线程,效率高
  • 自动生成html、xml格式的测试报告
  • 可以测试依赖性,又可以任意顺序运行测试用例

六、框架选择

       公司项目采用的微服务架构体系,后端方向主要由java代码实现,对于搞起自动化方面,测试团队结合自身状况及项目业务状况,对于框架选择做了如下考量:

  1. 业务版本迭代快,导致UI层面稳定性差、变化快、可复用场景不多,暂不考虑UI自动化测试
  2. 业务系统主要对外输出接口,考虑到整体测试人员的能力水平以及易于上手、易用性方面,进行接口自动化测试优选RF框架
  3. 中台系统逻辑较为复杂、场景较多,为了提高测试颗粒度,进行单元自动化测试优选testNG框架
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值