OOBDD如何在实际项目中的生根落地


自从敏捷开发被引入后,似乎一夜之间所有的软件活动都在围绕着敏捷展开,的确敏捷开发给软件生产带来了极大的效率提升,敏捷开发只是一种软件生产的方法论,它鼓励各相关方(如开发,测试,QA,客户,市场等等)积极参与,以目标为导向,逐一分解功能目标,最终达成需求的目的。围绕敏捷开发的实现,也产生了不同的作业形态和实践类型,如早前的TDD,BDD,所谓TDD,即以测试驱动开发,在先于编码之前实现单元测试用例代码,根据测试代码确定最终的编码方案,这种类型可以尽早的发现问题,提高代码开发质量;另一种是BDD,即行为驱动开发,就是在编码前先确定有哪些场景和行为需要实现,定义好各个需要实现的模块的颗粒度,然后在利用TDD的模式进入确定最终的编码方案,那么如何定义好BDD的颗粒度?在业界没有统一的标准,个人认为合适就好,当然这个合适前提是要得到各相关方认可的。下图是BDD实践框架流程图,图片来自网络仅供参考!

BDD架构流程图 -

BDD

这里我要介绍的是另一种敏捷实践OOBDD,这是一种更加符合敏捷思维的实践模式,尽管很早就有这种概念的提出,但市场是能提供OOBDD的产品少之又少,今天给大家介绍一款国内首家将OOBDD实践落地的产品SpecMap,个人认为这是迄今我看到的最好的OOBDD实践产品,真正做到了面向对象的开发和测试有机结合,又能基于需求原型的对象提取,打通了从需求到测试验收的全环节面向对象的过程分析。因为是初次接触,很多功能正在摸索阶段,为避免以偏概全,这里我就其原理做一个简单介绍,有兴趣的童鞋可以点击文章的最后下载试用,操作简便,上手很容易,相信您一定会有惊喜的发现。

SpecMap OOBDD Workflow -

  1. 新建项目,创建实体类别(entity)即需要测试的页面
  2. 在每个实体类别(entity)中直接载入需要测试的页面
  3. 识别测试对象,通常就是页面中的常见元素(如输入框,按钮,下拉框,组合框等常用元素)
  4. 分析对象属性
  5. 分析对象行为
  6. 分析行为之间的联系
  7. 创建测试集和生成测试用例(根据上面的对象行为自动生成测试用例)

**** 简要演示图如下 - ****
demo_pic01
demo_pic02
demo_pic03
demo_pic04
demo_pic05
demo_pic06
demo_pic07
demo_pic08

*** refer to the spec - ***
Specification document

下载SpecMap 提取码: eeyr


Author: Alan_Yuan
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Alan_Yuan !
  TOC