自动化用例移植

由于要从老版本拉出一个分支做新产品研发提升,因此想要移植老版本的ZTP自动化用例做质量保证,但是在移植的过程中遇到不少问题,在此做个总结。

先说一下被移植用例的背景,原用例是测试团队创建并维护的,用例很多大约有1500个,用例执行慢完整跑一遍要8个小时左右,由于部分用例设计不合理或环境等因数每次都无法保证用例100%执行通过,需要二次甚至多次执行没通过的用例,最后人工介入排查没通过的原因,因此这些用例只能用于每次发版本执行一次做回归,第二天再投入一个测试团队分析失败原因。而我们团队主要是开发构成,希望移植后的用例可以在开发每次提交代码后尽快发现问题,可以比单元测试慢一点,但是最好不要超过1小时。

开始移植,一开始我们新建了环境发现问题很多,后来直接复制了所有机器的虚拟机,只通过修改IP等必要配置把老版本自动化环境复制过来,版本也保持不变,希望先把移植过来的用例保证稳定的100%执行通过,再更新版本检查新版本的问题。

在移植了一定数量的用例后,有很多用例单独执行可以通过,批量执行就不行,结果不太稳定,并且执行一遍的用例要5个小时左右,调试反馈周期太长。

于是开始优化时间,首先优化CD流程,把开发团队不需要关注的QMDB等产品检测去掉,用dbug并行编译,shell脚本去掉不必要的sleep和备份,优化脚本确保环境可以稳定执行不受磁盘等系统资源限制,其次ZTP用例执行按业务和时间拆成四个job,每个job执行时间控制在50分钟以内。经过以上几个步骤一个CD流程执行下来基本控制在1小时左右,这样调试整个流程反馈就快了很多。

接着开始分析失败或不稳定的用例,首先把重启平台重启进程等影响并行的脚本改掉,识别出这些用例移到非并行job中,其次大概分析失败的用例并修复,需要深度分析耗时较长的先记录挂起执行后续再处理,经过多伦这样的处理后基本可以保证用例稳定的运行并在较短的时间内得到反馈。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 22,282评论 7 278
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,119评论 25 709
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 11,703评论 5 101
  • 20170723,第一次在国外开启童子军统筹工作,感觉有使命也有期待,早晨的阳光开启了绚烂的一天!……… 外国人的...
    情商教育章佳灵阅读 3,757评论 0 0

友情链接更多精彩内容