很多同学在面临测试的职业发展的时候,会去选择业务方向,其中有比较大的一部分同学都是认为自己技术能力不够,没有办法走自动化方向,才走的业务方向,那么在很多业务方向同学认为业务测试工程师,就能够理解业务,对业务比较熟悉就可以了,没有什么方法论的东西。其实不然,每个项目的业务是不同的,不总结方法去做事情,只能依靠经验去积累能力,是事倍功半的。
本篇介绍的就是测试工作中业务分析的一种方法-业务建模
什么是业务建模:业务建模(Business Modeling)是以软件模型方式描述企业管理和业务所涉及的对象和要素、以及它们的属性、行为和彼此关系,业务建模强调以体系的方式来理解、设计和构架企业信息系统。(来源百度)
先说一下为什么会需要这种方法来分析业务。这个其实不是测试独有的方法,实际上在软件开发的初期架构师们就会针对业务进行模型的设计。那么对于测试工程师来说要显得不那么被动就需要依据自己对业务的认知进行相应建模后对照开发架构师们模型进行对比与更加深入的了解。再根据了解去设计我们的测试。
下面来说下业务测试的几个阶段:
助理阶段:这个时候的一般是刚刚介入测试工作的同学。这个时期主要是由一些对业务比较熟悉的老员工来带领,向同学来介绍项目业务,比如A跟B之间存在关联,在测试的时候需要去注意。比较被动。
初级阶段:这个阶段的同学,往往是已经介入项目测试一段时间以后,凭借经验积累能够知道A和B模块之间存在关联,以及知道部分功能的流程实现。在评估测试范围的时候能够 比较主观的去确认关联。
中级阶段:能够站在比较宏观的基础上去看整个项目的业务,以体系的方式来理解整个项目的业务需求。能够总结出主要的一些对象与元素以及他们之间的关联。
高级阶段保留。
对应几个阶段的案例。 助理阶段:刚刚来到某个移动app项目组的时候,比如说要测试一个名为商城的模块,然后在导师的指导下说明商城和背包、支付系统之间的关联以及相互的影响。然后在测试的时候去测试相应的地方。这个阶段就像捡芝麻一样东捡一个西捡一个。比较容易出现遗漏。
初级阶段:基于上面一个阶段积累了一定经验以后我们来到了这个阶段。后来笔者进入了一个IM项目组。在了解了相当一段时间的业务以后,梳理与总结了整个功能模块以后,对业务进行的归类,例如消息的来源有几种,消息类型有几种,展示方式有几种。并且凭借经验去补充之间的关联。但是在这个阶段的关联也是属于比较细节和混乱的阶段。
中级阶段:后来进入了一个类似编辑器的软件项目组以后(可以设置命令来驱动模型做出某种动作),在接触业务不到一个月,比较快速和准确的抓住了业务的核心。对业务进行拆解以后提炼共性,评估整个项目业务具备几种能力(或者说模型具备几种能力),每种能力的本质上是在操作模型的哪些属性(例如模型的位置、朝向、表面的材质等),每个命令实际上是操作这些属性的逻辑组合。从而分析出当本质同时是在对同一种属性进行改变,那么就是出现了冲突,如果是一读一写那么就是存在关联。然后建立这样一个模型,让每种命令按照这样的模式去拆解那么业务内在的联系也就不难发现了。
这条路才刚刚开始先写到这里,未来有更多心得了再来补充,有兴趣的同学也可以去了解一下领域模型。