乐趣区

关于测试:敏捷下的测试Cypress-IDCF

一、引言

在目前的软件开发畛域,麻利、DevOps 是最热门的‘词’了、当初大多数的公司都在进行着“麻利”转型。业界有很多所谓麻利开发流程,比方 Scrum,Kanban 等,然而其中测试相干的内容绝对较少,并且不够系统化和细节化,所以业界就呈现了很多测试人员,他们总结了测试人员应该在麻利开发中如何进行测试工作。因为很多测试人员也是公司或者团队在 Scrum 和 Kanban 的转型中接触和学习到麻利,而后通过无限的材料以及自悟在团队中进行麻利测试,又在只知其一; 不知其二上来宣传麻利测试或者去抵制麻利测试,导致麻利测试甚至麻利自身在国内乱象丛生。

首先麻利测试肯定是麻利开发方法的一部分,所以麻利开发方法论里应该须要包含麻利测试的相干内容,然而当初业界中所谓的一些规范的麻利开发流程里却很少蕴含系统化的测试实际。因为麻利测试实际或者说麻利实际的外围就是缩短反馈周期,逐渐优化整个零碎。并且因为每个团队的状况都是有差距的,所以 通过同一种规范的形式去要求所有的团队,会产生很多负面的成果。

当初业界曾经有不少通用的麻利测试实际,以及一些在特定条件下的经典流程 (前面会介绍一个经典的麻利测试治理流程)。其次 对于大规模麻利开发中的麻利测试来讲,其外围还是在开发团队里正当应用各种麻利测试实际,缩短测试反馈周期。

因而不论麻利开发还是麻利测试里的麻利都没有一个所谓对立的最终麻利,应该是须要越来越麻利的状态才是最好,而后 最终达到本人我的项目的一个稳固麻利状态就能够。【援用】“ThoughtWorks 的麻利测试”

二、实际

看完了他人的介绍,也要开始咱们本人的实际、就如上文中说到的“麻利中的测试是一个新开始、要致力尝试的过程”。

介绍一下背景。咱们是一家在数字化转型中的公司,公司 2019 年开始进行数字化转型,也是从那一刻开始、“麻利”从一个名词进入到大家的“工作中”。瀑布模型下的专职测试人员也要开始本人的转型了。通过一年的致力咱们播种到一些成绩,当初给大家分享一下。首先看看咱们的流程图,不是最规范,却是最适宜咱们现状的。

上面咱们针对流程中的每个阶段进行阐明,只解释和测试相干的,除此之外的不在本文做更多的论述。

2.1 需要分析阶段

这个阶段咱们次要定义二个事项:

  • 基于组织的“测试标准化文档“进行测试相干工作的相干追踪跟进机制的确认,并和相干人员达成共识,同时确认本次冲刺须要收集的度量数据。
  • 欠缺性能级的 DoD 验收规范,最终造成的一个在线查看清单,这个查看清单次要面对是用户或者 PO 层面、产品展现会议进行之前,会首先确认查看清单是否曾经实现,所有查看我的项目是否曾经全副通过。也是咱们麻利流程中品质内建第一把锁。

2.2 冲刺布局阶段

在冲刺布局会议测试人员会参加对用户故事的 DoD 探讨和制订、确保开发人员和测试人员能在后续的工作中放弃在同一个频道。

2.3 冲刺阶段

目前咱们的现状是有跨我的项目的测试人员,负责多个我的项目的测试工作。为了能最大化测试人员的效力,引入自动化测试工作必不可少(前面针对于自动化测试工具做对应介绍)。尽管麻利流程举荐是缩小文档,但测试用例从目前阶段来看是一个必须存在的文档信息。针对于测试用例咱们会应用走查的形式进行验证,例如导入导出相干的用户故事是开发 A 负责,当针对于这个用户故事的测试用例实现后,会同开发 A 进行第二次的确认,确认咱们还在同一个频道中。

测试人员会基于编写好的测试用例进行自动化测试脚本的编写,测试脚本会同开发的代码寄存在同一级的代码管制库中。

开发人员实现用户故事的开发后,通过 CICD 流水线进行部署,同一时间测试脚本会主动被执行。

测试人员会进行一次的测试报告的剖析确认,确认测试脚本是能够满足相干性能,同时针对于测试报告中的 bug 更新到我的项目管理系统中, 并指派对应人员进行修复。开发人员在进行修复后反复之前的公布流程, 而后通过自动化测试的报告确认问题曾经被修复。当然如果测试人员发现测试脚本不能满足测试的需要时,会同步更新测试脚本到代码库,以确保自动测试是能够被正确执行的。

2.4 回顾阶段

在产品演示阶段测试人员会收集到用户最新的需要及对于零碎目前应用中须要改善的 Bug,以便于在下阶段中进行改善的跟踪确认(需要实现对应的自动化测试流程)。

在冲刺回顾会议中测试人员会听取开发人员针对本冲刺中测试所提供性能及计划的反馈,某中水平来讲测试人员也是开发,只是咱们开发进去产品的使用者是开发人员而已。说完了咱们的流程,上面也分享一下咱们为什么采取 Cypress 做为测试框架。

三、技术栈

从技术角度,团队中的测试人员大多数是从前端开发转换过去,或者是一些非技术出身的人员来负责,当咱们面临应用 Selenium 还是 Cypress 的抉择时,最初大家还是抉择了 Cypress。绝对于 Selenium 来讲 Cypress 的学习曲线更平化、更容易让咱们在短期内达成指标。

3.1 所见即所得

能够在一个页面同时查看脚本执行日志信息及执行后果。

3.2 规范报告

反对内置的标准化的报告模板、间接生成测试报告进行展现。

3.3 同样的 TDD

作为一个测试框架怎么能少得了对于 TDD 反对呢。

3.4 最省心的存档

cypress 反对主动录制执行过程,主动截取运行后果图片。

四、总结

麻利开发过程是一个一直循环的过程、做为外围之一的品质内建也是一样,致力冲刺。

作者:IDCF 社区 FDCC 认证学员 李国有

退出移动版