聊聊自动化测试路上遇到的挑战(下)

发表于:2022-3-04 09:06

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:老_张    来源:博客园

  五、运行环境
  自动化测试脚本开发,也需要基于不同的环境,而环境的选择,需要考虑不同的情况,下面一一列举说说我个人的思路:
  1、SIT环境:
  SIT环境,也称为系统集成环境,就是我们常说的测试环境,如果测试脚本是基于SIT环境开发调试,那么就需要SIT环境相对来说比较稳定。
  但是大部分时候,SIT环境因为需要多次的提交测试,交叉影响较大,且SIT环境和生产环境还是有一定差异的(至于为什么,相信测试童鞋,都明白其中的痛点)。
  2、UAT环境:
  UAT环境,就是我们所说的验收环境,当然类似的,也有灰度环境等。UAT环境相对SIT环境来说,是比较稳定且和生产的一致性较高的,很适合进行自动化测试脚本开发和调试,以及日常的测试回归。
  但自动化测试的作用又不限于这点,还可以进行发布后的生产冒烟,定时轮询测试等。
  3、生产环境:
  如果在生产环境进行测试脚本开发和调试,以及测试执行,那么就需要解决以下几点问题:
  ①、网络问题
  一般我们的SIT和UAT环境都是部署在企业内部,网络环境也是走的内网,请求解析和外网有一定区别。在生产环境运行脚本进行回归冒烟的话,需要考虑真实的用户操作环境,不同的网络对测试结果影响。
  而且测试脚本中,sleep最好能不用就不用(特别是UI自动化,强制等待容易带来很多不可控的变数)。
  ②、数据污染问题
  生产环境进行自动化测试回归冒烟,需要对测试所产生的数据进行隔离处理,否则会导致业务受到影响,并且对生产的数据造成污染。常用的数据隔离方法如下:
  测试白名单账号、网络标记、线程标记、测试数据落入对应的测试库,某些业务还可以使用MOCK对象和挡板。
  关于数据隔离这几点,在性能测试中,也是需要考虑的一个重点,当然性能测试中也经常使用这些方法进行数据隔离,避免生产数据污染带来的影响。
   
  六、服务部署
  之前的博客做接口测试需要哪些技能有介绍过,自动化测试的核心是持续集成。那么一个独立的不受影响的持续集成环境是必须的。
  持续集成环境也叫作CI环境,类似的还有CD环境(持续交付)。
  这些应用,在敏捷测试中,应用的比较多,不过目前行业内,我个人了解到,越来越多的企业开始搭建持续集成环境,这样做的好处是很多的,比如:
  ①、版本迭代提测,可以通过CI服务一键提交,节省时间,提高效率;
  ②、如果需要造大量的测试数据,可以通过一个小脚本,只需要进行配置,点击启动按钮即可;
  ③、发布生产环境时候,可以通过CI服务自动化打包部署,避免了人手工打包配置时候的误操作等问题;
  ④、自动化测试脚本,部署在CI环境后,只需要点击启动,或者设置出发条件,定时任务的形式,来做到生产定时轮询,发布后冒烟等测试工作;
  CI环境如何部署?大家可以参考我之前的博客:linux环境:持续集成服务部署系列。
   
  七、测试策略
  这里的策略,可以从下面几个角度来说:
  1、任务拆分
  确认测试范围和需求指标后,将自动化测试任务进行粒度更小的拆分,将工作内容所需时间精确到人/天的范围,按时完成任务,有问题不断调整。
  2、优先级
  任务拆分后,对任务进行优先级排序,通过评审沟通,确认先完成哪些任务,然后完成哪些等。
  测试方案设计中,可以考虑分为第一期、第二期自动化测试任务,比如第一期实现自动化测试在一定程度上的覆盖率,先实现PC端的自动化测试,第二期可以考虑移动端的自动化测试覆盖,第三期可以考虑自动化测试平台的开发等等。有目标有计划,根据项目变化和进度不断调整。
  自动化任务的优先级排序,可以参考这几点:
  ①、用户使用频率越高的优先级应该最高;
  ②、系统基础功能应该排在优先级前列;
  ③、系统核心功能(比如支付、订单)应该较早的覆盖;
  ④、历史记录中生产出现问题叫多的功能点,应该考虑尽可能的覆盖。
  3、工时预估
  前期的准备工作(比如范围确认、需求分析、CI环境部署、测试方案设计、技术框架选型、文档整理等)完成后,需要针对具体的拆分后的任务进行工时预估,以确认工作阶段性的进展,方便随时调整。工时预估需要考虑以下几点:
  ①、自动化测试人员个人的技术能力,特点;
  ②、项目情况、流程管理、系统架构的变化程度;
  ③、测试方案技术实现的难易程度。
   
  八、解决问题
  自动化测试道路上,全是坑!!!
  工作中我们会遇到很多问题,有沟通问题、管理问题、技术难点、以及一些不可描述的问题,但只有想办法解决这些问题,我们才能在工作中不断提升,完成工作,获得该有的收获。
  不同的企业存在不同的各种各样的问题,没有完美的公司,因此工作中,学会适应环境,融洽沟通,也是工作中必须的一项内容。
  工作的本质就是拿钱消灾,解决问题,创造价值!!!
  所以,良好的心态,坚持不懈的态度,解决问题的思路,是需要自动化测试童鞋所具备的。。。
   
  以上就是我个人在自动化测试过程中遇到的一些问题,挑战,以及自己的一些思考和解决方法,希望能为看到的童鞋提供一定的思路和帮助,仅供参考。。。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号