当提到可接受的测试自动化,最重要的一步是在适当的位置有一个适当的测试自动化团队框架。这篇文章对一些不同的自动化测试适用场景有一些已证明的项目——由一个自动化或者回归团队主导,以敏捷的适应性——帮助组织享受长期的测试自动化的成功。

公司发起一项新的测试自动化倡议——任何销售人员设计销售相关的工具——倾向认为他们的成功取决于完美的上线。作为一个测试自动化顾问,我喜欢提供一个真实的基于我在领域里所见的检查。如果你没有准备好,最初的上线可能是坎坷崎岖的路,但是在长期中,那不是要制造而是破坏你的测试自动化倡议。

近来我亲眼看到一些公司没有准备就开始出现测试自动化。执行这个“策略”的风险是测试者们可能要因为这些原因坚持测试自动化:

  • 他们觉得没有它生活得很好
  • 他们不想要(或没有时间)学习新工具
  • 他们担心它太复杂而且需要获取跟上进度的努力超过了感知到的好处

一个不充分的计划——或者完全不计划——上线很明显不是最好的发起一个测试自动化倡议的最好方法。无论如何,我发现了从坚固的上线中恢复比没有一个恰当的测试自动化退队结构而去获得持续的测试自动化来得简单些。

我喜欢去为一些不同的测试自动化采用场景去分享一些已证明的实践,帮助了很多机构享受长期的成功——甚至当最初的上线不理想时。

自动化团队正一个接一个项目地上线我们的测试自动化

我能提供的最好一条建议是从小事开始,然后做大的。已证明的第一个实践是从创建自动化团队开始。

这个团队将从不同的项目迭代并且开始从最重要的测试用例起自动化。这让你证明在倡议中的进度并且让你看到了一些应用程序的改变如何影响主应用程序功能性。

我建议从最有影响力的测试用例开始:覆盖你的头等业务风险的那些。这创造了强有力的回归文件夹的建立,它提供了最快的应用程序变化是否先破坏了正在工作的功能的反馈。

自动化团队应该包含至少一位测试设计专家,他通过回顾需求并使用测试用例设计方法制定出应该被自动化的测试用例。然后,测试设计专家或者两个或三个自动化专家中的一位能评估是否需要测试数据管理,然后他们能合作指定测试用例。同时,测试设计专家将关注下一个项目。

取决于你想要测试的软件以及你定制它多少,一个自动化工程师是必要的。他们将确保常规的控制被创建然后被维护。

团队的大小将会随着扩大,取决于测试用例和团队处理的项目的数量。这些建议只是为了最初的上线。一旦上线开始进行,你们将会想开始招募尽可能多的人员。

一旦测试用例被自动化,他们能通宵在虚拟机上运行,然后在日常基础上报告执行结果。为使测试自动化加入与运转的最重要的事情是确实在执行测试用例!假如你不是正执行你的用例,你不会从它们得到任何价值,不论你的测试集设计得如何好并且它如何好地覆盖你的主要业务风险。

取决于你的公司架构(敏捷或不是,测试团队或者独立的测试员们),自动化团队可能主要以教导每个人关于上线自动化最佳实践的实施以及当他们开始他们自己的测试自动化时的需要考虑的项目多样性为主。

在测试人员开始采用测试自动化之前,必须做个决定:谁负责这些测试用例?这是主要的。假如自动化团队(或者后来回归团队)是负责的,然后他们不得不与测试人员们和商务方面做更多的沟通。假如它是测试员们的的责任,他们需要足够的时间去保证所有的测试用例在执行并且符合业务需求。每一个组织需要去决定什么是对他们最好的,取决于他们的架构和工作模式。

不管你负责哪个方向,确保节约足够的时间来沟通。一方面,新的测试用例需要被回归团队审核然后为执行而创建。另一方面,回归测试结果(尤其失败的测试用例)需要被共享使得负责的团队成员或者测试员们能审查它们并必要时更新测试。至少,确保测试员们独立地检查回归结果并做合适的调整,这样回归团队能从共享文件夹里推出新的测试用例,自己审核它们。

回归团队在每个项目上领导和指导测试员们

我所见过的最有效率的设置是建立一支初始的自动化团队,它包含一个回归团队,一旦测试自动化基金会被成立,其他就要准备驱动它向前。

回归团队仍然为在最初的项目里创建测试用例负责,维护存在的测试用例,执行测试用例,保护测试架构,并且监督拓宽的测试自动化建立和项目。你能把这个团队叫做优秀测试中心。

关于这个建立,可能有项目和更大的改变由测试设计专家指导着,他关注正确的格式并提供它应该看起来像什么的预览。他们就像软件艺术家(或者以我们为例,测试艺术家)。

回归团队是“定位群”,假如你有关于问题的疑问或者你想要引进新的创新。所有者和责任应该应该是回归团队的,因为他们有测试文件夹的最好概览。

从一个资源的角度,你在回归团队里需要高技能的人,但是你能侥幸逃离经验少的作为测试员的团队成员。假如测试员们需要比培训提供的更多的知识,他们能经常问回归团队,他们然后能通过共享他们建立起的知识提供帮助。

敏捷环境的适应

对于敏捷团队,测试自动化被团队里的敏捷测试员驱动。这个人应该比一个自动化专家更先进——他们需要理解测试用例设计、需求、测试用例创作和执行,以及核心的测试最佳实践,并且他们需要一个测试什么以及如何有效测试它的好的理解。

我建议一个开发和测试从一个Sprint到另一个Sprint持续的建立:

当开发结束了Sprint n-1的特性,测试开始。同时,开发能持续特性2(Sprint n),等等。只是确保为修复bug和更深入改进保留时间。

我们分离开发和测试吗?

最后,当谈到架构,我想要给频繁发生的一对问题增加我的两分钱:我们的开发需要测试吗,或者我们需要分离开发和测试吗?我们在测试中使用软件开发工程师(简称SDETs)吗?

理论上,你也可以通过有开发测试来节约时间和金钱因为开发最知道代码。但是实话实说:开发从没有足够的时间去完成每个人想要完成的开发任务。假如他们也为测试自动化负责,那意味着他们甚至没有时间去完成那些任务。而且即使开发们最知道代码,你确定他们能检查边界条件吗?预计风险并尝试询问合适的问题?探究系统并把它推向失败?

我的意见是有些人不写代码更适合做这个。那些其他人关注于通过应用程序获取实际的业务目标并尝试思考每一个能导向系统一个错误的指导的可能性。从我所在领域里见过的,那通常不是一个开发的强项。

旋转桌子

所有这些建议是基于我的帮助用户适应测试自动化的个人经验。我知道每个读者可能有关于这的不同观点——而且我鼓励你在下面去分享关于它的想法。什么帮助你最多了?你如何在你的公司建立测试自动化?你面对的挑战是什么?

转载于:https://www.cnblogs.com/fengye151/p/11519115.html

为了可持续的测试自动化,透过表面看本质(译)相关推荐

  1. 透过现象看本质 | GPT爆火的背后

    前言: 近年来,GPT(Generative Pre-trained Transformer)作为一种革命性的语言模型,以其强大的文本生成能力和广泛的应用领域引发了全球范围内的热议.然而,GPT爆火的 ...

  2. 透过现象看本质: 常见的前端架构风格和案例

    所谓软件架构风格,是指描述某个特定应用领域中系统组织方式的惯用模式.架构风格定义一个词汇表和一组约束,词汇表中包含一些组件及连接器,约束则指出系统如何将构建和连接器组合起来.软件架构风格反映了领域中众 ...

  3. 传统金融PK互联网 必须透过现象看本质

    传统金融PK互联网 必须透过现象看本质 面对越来越热的互联网金融,传统金融业内人士与互联网的发生激烈了冲突,中国近期的经济疲软似乎也变成了互联网金融的原罪之一,但事实真是如此吗? width=&quo ...

  4. 软件架构设计案例_透过现象看本质:常见的前端架构风格和案例

    所谓软件架构风格,是指描述某个特定应用领域中系统组织方式的惯用模式.架构风格定义一个词汇表和一组约束,词汇表中包含一些组件及连接器,约束则指出系统如何将构建和连接器组合起来.软件架构风格反映了领域中众 ...

  5. 透过现象看本质,如何针对用户做好需求分析

    对于刚入门的产品经理而言,很容易出现设计出来的产品功能不达用户预期的情况.这里面一部分原因是由于需求分析没做到位,忽略了事情背后的本质.那么下面我们看看如何做好需求分析. 透过现象看本质 我们只有透过 ...

  6. 黄金思维圈,养成透过现象看本质的能力

    loonggg 读完需要 3 分钟 速读仅需 1 分钟 大家好,我是你们的校长. 今天我想给大家聊一聊关于思考,关于黄金思维圈的问题.如果你有了黄金思维圈的思维,带着目的去做一件事情,不仅仅会养成透过 ...

  7. 大道至简之六:透过现象看本质

    大道至简:透过现象看本质 --投资(趋势)总结之六       时寒冰 "两个礼物,你要哪一个?"     面对诸如此类的问题,儿童会毫不犹豫地说:"我都要!" ...

  8. 大道至简之五:透过现象看本质

    大道至简:透过现象看本质 --投资(趋势)总结之五        时寒冰 影响趋势的因素有很多种(繁),但其中,最终能够决定趋势的关键性力量,往往源自一个最核心的因素(简).     所谓的化繁为简, ...

  9. 从ORA-01752的错误,透过现象看本质

    这几天开发同学反映了一个问题,有一个Java写的夜维程序,用于每天定时删除历史过期数据,3月10日之前经过了内测,但这两天再次执行的时候,有一条SQL语句一直报ORA-01752的错误,由于近期做过一 ...

最新文章

  1. 刷新UITableView
  2. Python ML环境搭建与学习资料推荐
  3. iphone电池怎么保养_怎么保持iPhone的电池健康?掌握这4个方面,3年不用换电池...
  4. mysql停电后无法启动不了_急求mysql 断电后无法启动解决方法!!!!
  5. C# 中的 ref 已经被放开,或许你已经不认识了
  6. appcan php图片上传,appcan文件上传php,asp通用
  7. java 股票 代码_Java中利用散列表实现股票行情的查询_java
  8. 一个volatile跟面试官扯了半个小时
  9. 《中国人工智能学会通讯》——4.32 数据包丢失
  10. 等高线生成地形_等高线一键变地形模型
  11. python发微信工资条_我帮公司财务写了个“群发工资条”的Python脚本!
  12. 家用无线漫游组网设置-亲测可用
  13. java gwt开发_GWT项目和开发总结
  14. Effective Approaches to Attention-based Neural Machine Translation
  15. Notepad++下载与安装教程
  16. VueJs中的reactive函数
  17. Open3D Mesh 网格
  18. 蓝桥杯备赛笔记-规律题
  19. bootstrap--模态框
  20. Python入门好书推荐

热门文章

  1. 基本数据类型和字符串类型的转换
  2. PyQt5 图形界面-基础准备:安装Qt Creater、Qt Designer工具,使用Qt Designer设计界面,安装PyQt5工具库
  3. CTFshow 命令执行 web61
  4. ones--创建全1矩阵
  5. Longest Common Prefix
  6. 选择纯种犬还是杂种犬?
  7. STM32F405的 ADC参考电压选择问题
  8. nginx相关知识点
  9. 架构设计的目标与衡量
  10. JavaScript之创建对象的模式