百人计划--实例化需求、MFQ&PPDCS

(整理雨天号子的分享中提到的‘实例化需求’和‘MFQ&PPDCS’的概念,如下)

一、SBE:实例化需求

顾名思义就是要用例子的方式去阐述需求,这个概念是由Gojko Adzic提出的(《实例化需求》)。书中的实例化需求的主要流程图:


百人计划--实例化需求、MFQ&PPDCS_第1张图片

下图为整理后的中文图

百人计划--实例化需求、MFQ&PPDCS_第2张图片

主要包括以下重要环节:

-- 从目标中获取范围:要一直牢记商业价值,为什么要做。很多时候执行项目时太关注怎么做了。

-- 用例子来协作探讨需求:例子能更好得把需求描述清楚,不能含糊。

-- 提炼需求说明:通过例子了解需求后就可以提炼出需要的需求说明。

-- 执行需求说明并自动化:需求说明如果能执行并放入到持续集成后,信息就不会过期。

-- 活文档:文档要长久,就必须要容易维护,从需求说明中自动产生出的活文档是最有效的方式。

(参考:http://blog.sina.com.cn/s/blog_898868010102viv6.html,其中‘网上书店’的例子很清楚的描述了SBE的过程)


另外,这里记录下其它两个比较普遍的需求管理概念:

1)TDD:测试驱动开发

针对每个功能点抽象出接口代码,进行接口、单元测试,循环此过程直到所有单元测试通过。测试代码确定需要编写什么产品代码。优点是减少了底层逻辑错误从而大大降低bug数量。但并非所有项目适合TDD,需具备以下条件:1)项目需求必须足够清晰,2)业务流程及其复杂、模块间依赖性高的项目不适用。

2) BDD:行为驱动开发

在TDD中,我们并不能完全保证根据设计所编写的测试就是用户所期望的功能。BDD将这一部分简单和自然化,用自然语言来描述,让开发、测试、BA以及客户都能在这个基础上达成一致。BDD考虑它的行为,也就是说它应该如何运行,然后抽象出能达成共识的规范。BDD自动化测试工具:Cucumber


二、MFQ & PPDCS

参考链接:http://www.ltesting.net/ceshi/ceshijishu/csyl/2013/0822/206598_3.html

1. MFQ

MFQ针对大型系统开展测试分析和测试设计。大型嵌入式软件系统有三个明显的特征:多和复杂的功能,数量众多的功能交互,高质量特性要求,相应地,大型嵌入式软件系统的MFQ测试分析和设计框架包括三个部分:M-基于模型的简单功能测试分析和设计;F-功能交互测试分析和设计;Q-质量属性测试分析和设计。针对上述这3个部分的每个部分,基于4-step模型的测试分析和测试方法都会用到。

step1)为测试对象建模

有很多流行有效的测试规范技术例如等价类划分、边界值,决策表,业务流程图、基于状态的测试等等,测试分析者常常发现在建模的时候面对很多的选择,他们很快陷入不知道选择哪个的情形。很多模型可用被用来描绘一个测试对象,但是经常情况下只有其中一种最适合我们使用。PPDCS就是要解决这个问题的构想。

step2)设计基础测试用例(有时候叫做合逻辑的或者抽象的测试用例)来覆盖这个模型

step3)考虑测试数据的变化来敲定测试用例(有时叫做具体的测试用例)

step4)进一步测试

在低级别的测试,比如单元测试,简单功能(“M”Part)要彻底测试。在高级测试级别,比如系统测试、功能交互(“F”part)和质量属性(“Q”部分)需要彻底地测试。然后,这并不是绝对的。


2. PPDCS

第一个字母“P” 是“流程”的意思,第二个字母“P”是“参数”的意思,第三个字母“D”是“数据”的意思,第四个字母“C”是“组合”的意思,最后一个字母”S“是”状态”的意思。

1)如果在测试对象的设计规范中有存在相关“流程”的特征,“P-Process”方法可以用来建模。流程的特征包括:a.很多步骤构成一个流程,且步骤之间有顺序关系;b.涉及超过一个角色或者触发条件;c.P-Process特征的设计规范经常包括一系列的步骤或者用户场景。

2)如果在测试对象的设计规格中存在“变量或者参数”含义的特性,“P-Parameter”方法可以用来建模。“参数”特性包括:a. 设计规格中没有明显地流程,但是涉及“很多参数”。b. 设计规格中包含很多规则,每条规则有很多不同的变量和不同的值组成。c. 参数的数量是有限的。测试分析者可以容易地识别参数间的逻辑关系。

3)如果在测试对象的设计规范中存在“数据”特征,“D-数据”方法可以用来建模。“数据”特性包括:a. 每个数据有它特殊的范围值。b. 跟”参数“不一样,数据之间没有明显的”规则“或者逻辑关系。c. 不同的数据的范围可能存在限制。d. 涉及的数据个数是有限的

4)在“P-过程”和“D-数据”的案例中,如果参数或者数据的数量太多以致很难手工列出来,“C-组合”方法可以用上。“组合“特性包括:a. 存在大量的参数(数据)。b. 每个参数有很多值。c. 参数之间可能存在一些逻辑关系

5)如果测试对象的设计规格中存在”状态“特征,”S-状态“方法可以被用来建模。”状态“的特性包括:a. 测试对象的行为变化基于它内部的状态。b. 确定的事件触发测试对象的状态

你可能感兴趣的:(百人计划--实例化需求、MFQ&PPDCS)