美文网首页
用产品思维去构建自动化测试

用产品思维去构建自动化测试

作者: 渡己成茧 | 来源:发表于2022-03-21 20:00 被阅读0次

    今日观点:不要把自动化测试能力当成一个任务,要当成一个产品去交付。

    今天听了测试团队汇报的自动化测试工作,包括自动化测试环境、自动化测试效果、自动化测试能力演示等等。好像有点效果,但却无法让人激动。

    公司一直在尝试使用自动化测试去提高测试效率和提高产品质量,目前情况大抵是这样的:

    为了减少人工操作界面的时间,基于开源或商用自动化测试工具进行二次开发,实现界面的自动化测试。

    为了提高接口测试效率,开发一个接口自动化测试工具。

    为了快速批量交付硬件产品(如一块硬件板卡),开发一个硬件自动化测试工具。

    这些工具大部分情况下都是应对专属场景的自动化测试,针对新产品或者架构变化较大的产品升级,自动化测试工具可能就不适用了。随着团队领导或者团队成员的更换,由于上述测试工具的局限性,再有类似产品面临需要采用自动化测试时,大概率又会重复新一轮的工具开发,毕竟人底层都有一种重复制造轮子的冲动,好像这样才会更有成就感一些。

    如此循环......老的工具束之高阁,新的工具应运而生。

    今天的自动化测试汇报,在我看来也是在重复着昨天的故事。因为我也曾要求进行界面自动化测试和接口自动化测试能力的构建,事后也用让人好看的对比数据证明了自己的眼神。可在岗位职责调整后也就没有再关注,曾经引以为豪的自动化测试工具现在也就无人问津了。

    不知道我现在能不能说:我胡汉三又回来了?由于职责再次被调整,自动化测试又成了我的一个关注点,今天的汇报让我想起以前的阶段性成果。

    这个例子也说明了一个道理,能力积累也取决于人和制度的双重因素。要么从制度上能够让被认可的关注点被传承,要么避免责任人频繁更换,能力还是需要被沉淀的。

    所以公司的自动化测试能力可以用这句话来形容:一直在开始,却从来未结束。

    上述的自动化测试都是基于任务驱动和触发的,即使做得好也暂时只是一个树木,很难形成一片森林,无法达到影响气候的目的。在我看来自动化测试要成气候,实现能力积累和逐步演进,可以用产品化思维去思考。下面主要从战略背景层面和产品实施层面进行归纳一下。

    第一,从战略背景上来看,始终需要围绕公司的使命和目标,因为任何产品都需要贡献于公司的使命和目标。公司使命和目标是在以客户为中心的同时提高公司的经营利润,提高测试工作人效就能够为之服务。以此为基础确立自动化测试的产品愿景、明确产品原则、制定产品策略。如下面是我YY的内容:

    产品愿景:解放测试人员的双手,能机器自动化的绝不浪费人工,让测试人员每天睡够8小时,使能公司自动化测试用例占比80%。

    产品原则:以对公司经营贡献度高、测试工作量大的产品优先进行自动化测试,一次性交付且无需迭代演进的产品不需要考虑自动化测试......逐个构建自动化测试能力。

    产品策略:根据公司业务类型和自动化测试可行性,分类选取不同产品通过界面自动化测试解决界面变更频繁且测试耗时长的问题;通过接口自动化测试解决接口标准化遵循的问题;通过硬件能力自动化测试解决硬件批量交付的验证问题。先小范围试点后确定应用效果、优化产品后再进行大范围推广......同时需要分析以前已经研发的自动化测试工具解决问题的差异,站在以前成果的基础上,避免重复造轮子。

    第二,从产品实施层面,首先需要遵循产品策略明确产品解决的问题域,进行产品定义,制定产品目标和产品交付。其实,这里其实包含三个产品,考虑到并不是再论述自动化测试,所以就混在一起来说了。当然,产品定义需要包括用户及应用场景,在这里就不再展开。下面也是我YY的内容:

    产品目标:界面自动化测试覆盖某类型产品手工测试用例80%,测试效率提升50%;接口自动化测试100%覆盖某规范定义的组件间接口,产品迭代升级不需要人工参与接口测试;硬件测试.....等等。交付件:界面自动化测试平台、接口自动化测试平台、硬件测试自动化测试平台。

    界面自动化测试平台:角色、目标、场景都应该明确说明,以及产品研发和上市节奏。这是一个需要分析的过程。

    ......

    其实还有落地上述产品的产品团队、如何交付和进行产品部署等等,这些也都是产品思维中需要考虑的重要因素。

    基于上述产品化思维进行自动化测试这个产品规划之后,再回到汇报的中来,这种汇报也就是为了寻求投资。投资讲什么,投入产出比,包括现在和未来。那么汇报什么?

    一是,成果或者预期成果展示。如果产品没有做出来就讲预期,如果已经有测试样本就呈现结果。而是是从客户视角的结果,技术成果此时并不重要。如能够体现自动化测试应用之后,目前已经有50%以上的测试用例不需要手工执行了。

    二是,应用场景展示和评估。包括哪些产品,理想状态会带来多少好处。等等

    三是,对资源的需求或要求。包括如需要投入的人力和机器资源等资源要求,如需要产品遵循哪些接口规范的要求,这些要求都是对投入的影响,领导需要判断这种投入是否值得。

    四是,实现原理和技术体制。即是如何通过产品的哪些能力达成上述目标的,以及产品的扩展性等等。譬如为了支持用户量或者提高更高效率,如何部署master和slave等服务器节点,如何运行等等。这是给投资者或者领导以信心,技术是可行的,未来是光明的。

    五是,建议和计划。如何通过自动化测试能力的逐步构建,形成公司的自动化测试一系列产品体系,未来如何迭代演进发展等等。

    按照产品思维的逻辑,构建的不是自动化测试能力的一棵树,而是自动化测试能力逐步蔓延的森林。

    最后想说的是,这是我思考的一个过程,其实我不懂自动化测试,需要本着如有必要就需研究的精神,来逐步进行论证。

    相关文章

      网友评论

          本文标题:用产品思维去构建自动化测试

          本文链接:https://www.haomeiwen.com/subject/zopidrtx.html