MFQ&PPDCS 大型嵌入式软件系统的测试分析和测试设计(4)

发表于:2013-08-23来源:wzhj132的个人博客作者:邰晓梅点击数: 标签:测试设计测试分析
测试设计的关键问题是所有可能的测试用例中哪些子集有最高可能性发现最多的错误?。熟悉如何选择合适的测试分析模型有助于解决这个问题。这个章节

  测试设计的关键问题是“所有可能的测试用例中哪些子集有最高可能性发现最多的错误?”。熟悉如何选择合适的测试分析模型有助于解决这个问题。这个章节阐述PPDCS方法,是一个在一个或者多个测试技术中选择的技术。

  一方面,当分析不同的测试设计技术,可以发现绝大多数的测试设计技术可以被归为主要的五大类,每类有一个明显的特点。比如:”商业流程图“技术是处理流程特性的。通常一个过程由很多步骤组成,这个技术可以使用活动图表或者流图来表示整个过程。

  另一方面,当分析不同的测试对象(经常通过需求规格说明书),可以发现测试对象有相似的特性。例如,关于ATM机器的规格会描述关于取钱的整个情形,“从插入银行卡,数据校验,检查密码,处理传输,退卡”。所以这种规格同样也是处理流程的特性。

  当这两个特性匹配,测试分析者可以使用特定的测试设计技术来为这个规则建模。这就是PPDCS最早的想法,每个字母代表一个特定的特性。第一个字母“P” 是“流程”的意思,第二个字母“P”是“参数”的意思,第三个字母“D”是“数据”的意思,第四个字母“C”是“组合”的意思,最后一个字母”S“是”状态”的意思。这些每一个特性和简单功能的基于模型的测试分析和设计在论文的接下去部分会详细讲述。

  B P-Process (P流程)

  1)应用条件

  如果在测试对象的设计规范中有存在相关“流程”的特征,“P-Process”方法可以用来建模。

  流程的特征包括:

  很多步骤构成一个流程,且步骤之间有顺序关系

  涉及超过一个角色或者触发条件

  P-Process特征的设计规范经常包括一系列的步骤或者用户场景。

  2)应用步骤

  Step1:建模

  “P-Process”特性可用流图或者活动流图,使用“商用流程图【2]”测试技术。

  在建模过程中,测试分析者需要跟产品设计者频繁交流。任何该流程中可能异常的分支都必须被考虑到。测试分析者要确保设计规格书已经被模型准确描述。如果流图已经在测试规格文档说明了,测试分析者需要仔细地审查甚至重新描绘它,因为建模的过程对完全理解整个测试对象很有帮助。下面流图使用”取钱”功能作为例子。

  Step2:设计基础测试用例

  使用基础测试用例 有两种方法可以覆盖模型。一种方法是流图比较简单的情况,设计基础用例来覆盖流图的每个路径。另一种方式是当流图很复杂的时候,设计基础用例覆盖“主要流程+重要的二选一流程”。每条路径或者流程都是使用一个基础用例表示。

  ATM取钱的简单功能的基础用例如下表:

  Step3:补充测试数据

  针对每个基础测试用例,识别相关的变量,通过等价类划分和边界值增加更多的测试数据,获得最终的可执行性测试用例。

  Step4:拓展测试

  有其他流程的可能性?除了流图显示的,还有其他需要的考虑的吗?

  C. P参数

  1)应用条件

  如果在测试对象的设计规格中存在“变量或者参数”含义的特性,“P-Parameter”方法可以用来建模。

  “参数”特性包括:

  设计规格中没有明显地流程,但是涉及“很多参数”。

  设计规格中包含很多规则,每条规则有很多不同的变量和不同的值组成。

  参数的数量是有限的。测试分析者可以容易地识别参数间的逻辑关系。

  2)应用步骤

  Step1:建模

  带有“P参数”特性的测试对象可以使用表格、树图和坐标图建模,可参看决策表、决策树或域测试【2】测试技术。

  Step2:设计基础测试用例

  使用基础测试用例覆盖模型有两种方法。一种是100%规则覆盖,例如为决策表的每条规则设计一个基础用例。在决策表较简单的情况下(没有涉及太多参数),这个方法很有效。另外一种方法是,转换决策表到决策树,为树的每个叶设计一个基础用例。这个方法在决策表比较复杂的时候有效。将决策表转换为决策树的另一个好处是在转换过程中可以比较容易地发现遗留或者错误的需求。

  当在一个决策里包含很多条件的时候,ECT【2】(初级对照决策覆盖)可以被用来生成基础测试用例。

  Step3:填充测试数据

  针对每个基础测试用例,识别相关的变量,使用等价类划分和边界值填充数据。

  Step4:拓展测试

  基于经验补充特殊的测试用例。

  D. D-数据

  1)应用条件

  如果在测试对象的设计规范中存在“数据”特征,“D-数据”方法可以用来建模。

  “数据”特性包括:

  每个数据有它特殊的范围值

  跟”参数“不一样,数据之间没有明显的”规则“或者逻辑关系

  不同的数据的范围可能存在限制

  涉及的数据个数是有限的

  例如,在这样规格描述“当建造建筑物的时候,一个房间最多4个窗户”,可以识别2种数据,就是“房间数量”和“窗户数量”。

  2)应用步骤

  Step1: 建模

  带有“D-数据”特征的测试对象可以使用表格建模,等价类划分和边界值测试技术可以提供帮助。

  Step2:设计基础测试用例

  设计基础测试用例覆盖每个有效和无效地组,同时考虑有效边界值和无效边界值。

  Step3:补充测试数据

  针对每个测试用例,针对每个数据标识特定的值。

  Step4:拓展测试

  基于经验补充特殊的测试用例。

  E C-组合

  1)应用条件

  在“P-过程”和“D-数据”的案例中,如果参数或者数据的数量太多以致很难手工列出来,“C-组合”方法可以用上。

原文转自:http://hejiajie.cn/archives/472