前面多篇文章介绍了ExcelBDD,得到了反馈,其中有2个问题:
-
ExcelBDD整体上使用场景是什么样?
-
Excel在Git里面的文件冲突如何解决?
从BDD理论上,已经回答了第1个问题,要点在于业务人员直接提供样例数据,这些样例数据能够驱动自动化测试,验证业务场景得到准确实现。
但结合到ExcelBDD,可能之前文章没有充分展现,本文试图再来回答下。而Excel的文件冲突,前面提过在线上文档工具支持下,是可以规避的,本文以Confluence为例来说明下为什么可以规避Excel文件冲突,而且拥有更高的协同效率。
01
—
在Confluence里面设置起始的故事表格
起始时,老手要给新手,尤其是业务人员,设置好起始表格,样例如下
需求在Step和Sub-Step栏当中进行说明,按照一般的需求描述方式进行,如果是简单情况,Sub-Step可以去除,不过一般建议保留,以方便扩充。
同样的老手值得写起头,然后留给距离业务最近的人员去补充。典型情况就是,让业务人员去做填空题。
02
—
在场景表格里面设置参数名称
根据需求步骤,在“ParameterName”栏识别参数名称,参数识别不受Sub-Step限制,也就是说对于一个Sub-Step可以不设置参数,也可以设置1个,也可以设置多个,可以利用表格合并功能来处理以上不同的对应关系。
根据实际的输入和输出来设置参数。这些参数都是可以被自动化测试使用,典型的逻辑是什么样的输入,对应有什么样的期望输出。这就是BDD的典型设置,如果原来使用Cucumber,那么这里的设置是对等的,而且对比于Cucumber通过StepDefinition来获取数据,在ExcelBDD当中,多设置参数,不需要定义诸如StepDefinition的更多代码,只需直接按参数名称直接提取。
这个步骤应当说偏技术些,尤其是参数名称后面是开发人员使用,因此本步骤推荐由开发人员来执行,当然如果有些参数本身来自于业务,那么业务人员就有足够信息直接来设置参数名称
03
—
在场景表格里面添加和调整参数值
在参数名称确定之后,接着设置第1组样例数据,结合业务场景来设置,不会有多少困难,当然在后面开发自动化测试时不排除会发现缺少参数,需要添加新参数,这是很正常的来回更新。
在第1组数据设置后,值得先把这场景表格运行起来,也就是开发自动化测试并且运行,具体如何?请看下一步
04
—
把Confluence里的场景表格复制到Excel文件
这步骤就是著名的Ctrl C和Ctrl V得到使用,后面同步时还将多次使用,初次进行整体表格的复制。这里有个注意的地方是Confluence当中表格复制到Excel时,当表格里面有换行时,会加入多行,在当前ExcelBDD版本里面,最多允许连续3行没有参数设置,也就是说,在Confluence表格里面的文字,尽量不要使用换行符,如果要换行,不如使用新的表格行。尤其要避免大段文字在同一个格子里面。
05
—
利用Excel开发自动化测试
这部分在前面的文章当中有说明,参见
06
—
扩充样例数据,同步数据
在首个样例数据跑通之后,就可以方便地扩充数据了,这时涉及到Confluence和Excel之间数据的双向同步,有时业务人员先在Confluence上修改或者补充数据,有时开发人员测试人员在Excel上先修改,那么为了保持信息同步,需要手工同步,这是有可能出偏差的环节,不过,由于Excel是可以运行的,而且高频运行,错误是能够及时捕捉的。
无论业务人员和测试人员,在这时就能比较容易的扩充样例测试数据,以实现对业务场景的更全面覆盖。当然如果新样例数据破坏了测试,那么就是发现缺陷优化完善的机会。
07
—
把Excel提交到Git
由于Confluence是各方信息交换的平台,因此Excel文件的更新可以是由单个专门开发人员进行更新到Git,这样就没有二进制文件冲突的问题。当然极端情况下,不排除出现冲突,但是有Git版本和Confluence表格,冲突解决也并不困难。
08
—
小结
1,前面按照顺序说明了从Confluence到Excel,在实际当中,来回迭代,出错并解决,并且双向同步,会发生多次。
2,业务人员,开发人员,测试人员在以上场景当中交互,业务人员能够直接参与到自动化测试开发当中,不再是只仅仅只提供需求。
3,以上既可以说是获得了可运行检验的需求,也可以说是获得了带有需求陪伴的自动化测试用例。ExcelBDD文件既是需求文档,也是带有数据的测试用例,也可以是测试报告。
----全文完,以下欣奔敏捷星球介绍----
笔者自2018年12月开启欣奔敏捷星球,到现在有800多天,在这里记录敏捷教练一线实战情况,记录最真实的具体实例,积累达700多条内容,覆盖了IT敏捷+业务敏捷+DevOps的诸多细节。
本星球展示了更快交付的敏捷方法:在百人级规模,采用需求流模式,让创意从选择启动到上线只需要一个月时间,快速响应市场变化,更快捕捉市场机会。欢迎朋友们来看看:)
欣奔敏捷星球记录了从IT到业务的敏捷实践以及DevOps建设实战情况,提供最鲜活的真实案例。也有成员基于实践情况的提问和解答,星主提供远程教练咨询服务。
目前积累内容包括全套敏捷项目管理教材,ScrumBan欣奔版,需求流模式,DevOps具体解决方案。
文章评论