现在的位置: 首页 > 综合 > 正文

测试用例设计白皮书

2013年10月01日 ⁄ 综合 ⁄ 共 2912字 ⁄ 字号 评论关闭

测试用例设计白皮书--测试用例基本概念

 
1. 
概述
2. 
测试用例基本概念
    2.1. 
测试用例的定义
    2.2. 
测试用例的特征
    2.3. 
测试用例组成元素
    2.4. 
测试用例设计原则
3. 
测试用例设计方法
    3.1. 
等价类划分方法
    3.2. 
边界值分析方法
    3.3. 
错误推测方法
    3.4. 
因果图方法
    3.5. 
判定表驱动分析方法
    3.6. 
正交实验设计方法
    3.7. 
功能图分析方法
    3.8. 
场景设计方发
4. 
测试用例设计综合策略

1.概述
    Grenford J. Myers在《The Art of Software Testing》一书中提出:一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试,由此可见测试用例设计工作在整个测试过程中的地位,我们不能只凭借一些主观或直观的想法来设计测试用例,应该要以一些比较成熟的测试用例设计方法为指导,再加上设计人员个人的经验积累来设计测试用例,二者相结合应该是非常完美的组合。本文所介绍的测试用例设计方法对于测试设计人员将是一个很好的方法指导,当然看完本文也未必能设计出好的测试用例,有了好的方法作为指导后需要更多的实践经验加以巩固和提炼。只有将测试设计思想与丰富的实践经验相融合才能设计出高质量的测试用例,相信你行!
本文描述的范围:测试用例基本概念、测试用例设计方法、测试用例设计综合策略。

    关键词:测试用例、等价类划分、边界值分析、错误推测、因果图、判定表驱动分析、正交实验、功能图分析、场景设计
   
   
读者对象:测试设计人员、测试人员
   
   
参考文献:
    1. 
《计算机软件测试技术》                         郑人杰
    2. 
The Art of Software Testing               Grenford J. Myers

2.测试用例基本概念
2.1.测试用例的定义
   
测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。测试用例是执行的最小实体。简单地说,测试用例就是设计一个场景,使软件程序在这种场景下,必须能够正常运行并且达到程序所设计的执行结果。
   
2.2.测试用例的特征
  1.最有可能抓住错误的;
  2.
不是重复的、多余的;
  3.
一组相似测试用例中最有效的;
  4.
既不是太简单,也不是太复杂。
 
2.3.测试用例组成元素
  1.用例ID
  2.
用例名称;
  3.
测试目的;
  4.
测试级别;
  5.
参考信息;
  6.
测试环境;
  7.
前提条件;
  8.
测试步骤;
  9.
预期结果;
  10.
设计人员。
 
2.4.测试用例设计原则
  1.
测试用例的代表性:能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。
  2.
测试结果的可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。
  3.
测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。

 

 

测试用例设计白皮书--等价类划分方法
.方法简介
1.
定义
 
是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。
   
2.
划分等价类:
 
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。
  1)
有效等价类
   
是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
  2)
无效等价类
   
与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。
 
设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
  
3.
划分等价类的标准:
  1)
完备测试、避免冗余;
  2)
划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;
  3)
并是整个集合:完备性;
  4)
子集互不相交:保证一种形式的无冗余性;
  5)
同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"

4.划分等价类的方法
  1)
在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0100



  2)
在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类;
  3)
在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
  4)
在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
   
例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。
  5)
在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);
  6)
在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
 
5.
设计测试用例
 
在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:
  1)
为每一个等价类规定一个唯一的编号;
  2)
设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
  3)
设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
 
.实战演习
1.某程序规定:"输入三个整数 a b c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 … "。用等价类划分方法为该程序进行测试用例设计。(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。)
 
分析题目中给出和隐含的对输入条件的要求:
 
1)整数    2)三个数    3)非零数   4)正数  
 
5)两边之和大于第三边     6)等腰     7)等边
  
如果 a b c 满足条件( 1 ~ 4 ),则输出下列四种情况之一:
   1)
如果不满足条件(5),则程序输出为 " 非三角形 "
   2)
如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 "
   3)
如果只有两条边相等、即满足条件(6),则程序输出为 "

抱歉!评论已关闭.