测试用例设计白皮书.docx

上传人:b****4 文档编号:1436164 上传时间:2022-10-22 格式:DOCX 页数:41 大小:674.01KB
下载 相关 举报
测试用例设计白皮书.docx_第1页
第1页 / 共41页
测试用例设计白皮书.docx_第2页
第2页 / 共41页
测试用例设计白皮书.docx_第3页
第3页 / 共41页
测试用例设计白皮书.docx_第4页
第4页 / 共41页
测试用例设计白皮书.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

测试用例设计白皮书.docx

《测试用例设计白皮书.docx》由会员分享,可在线阅读,更多相关《测试用例设计白皮书.docx(41页珍藏版)》请在冰豆网上搜索。

测试用例设计白皮书.docx

测试用例设计白皮书

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

Author:

Vince      来源:

文斯测试技术研究中心

目 录

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.概述

   GrenfordJ.Myers在《TheArtofSoftwareTesting》一书中提出:

一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试,由此可见测试用例设计工作在整个测试过程中的地位,我们不能只凭借一些主观或直观的想法来设计测试用例,应该要以一些比较成熟的测试用例设计方法为指导,再加上设计人员个人的经验积累来设计测试用例,二者相结合应该是非常完美的组合。

本文所介绍的测试用例设计方法对于测试设计人员将是一个很好的方法指导,当然看完本文也未必能设计出好的测试用例,有了好的方法作为指导后需要更多的实践经验加以巩固和提炼。

只有将测试设计思想与丰富的实践经验相融合才能设计出高质量的测试用例,相信你行!

本文描述的范围:

测试用例基本概念、测试用例设计方法、测试用例设计综合策略。

   关键词:

测试用例、等价类划分、边界值分析、错误推测、因果图、判定表驱动分析、正交实验、功能图分析、场景设计

   

   读者对象:

测试设计人员、测试人员

   

   参考文献:

   1. 《计算机软件测试技术》                        郑人杰

   2. 《TheArtofSoftwareTesting》               GrenfordJ.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)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

如:

输入值是学生成绩,范围是0~100;

 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),则程序输出为"等腰三角形"。

  4)如果三条边都不相等,则程序输出为"一般三角形"。

  列出等价类表并编号

  覆盖有效等价类的测试用例:

   a     b     c             覆盖等价类号码

   3     4     5            

(1)--(7)

   4     4     5            

(1)--(7),(8)

   4     5     5            

(1)--(7),(9)   

   5     4     5            

(1)--(7),(10)

   4     4     4            

(1)--(7),(11)

  覆盖无效等价类的测试用例:

  

2.设有一个档案管理系统,要求用户输入以年月表示的日期。

假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。

现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。

 1)划分等价类并编号,下表等价类划分的结果

输入等价类

有效等价类

无效等价类

日期的类型及长度

①6位数字字符

②有非数字字符

③少于6位数字字符

④多于6位数字字符

年份范围

⑤在1990~2049之间

⑥小于1990

⑦大于2049

月份范围

⑧在01~12之间

⑨等于00

⑩大于12

 2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:

   测试数据   期望结果     覆盖的有效等价类

   200211     输入有效     ①、⑤、⑧

 3)为每一个无效等价类设计一个测试用例,设计结果如下:

   测试数据  期望结果    覆盖的无效等价类

   95June    无效输入         ②

   20036     无效输入          ③

   2001006   无效输入         ④

   198912    无效输入         ⑥

   200401    无效输入         ⑦

   200100    无效输入         ⑨

   200113    无效输入         ⑩

   

3.NextDate函数包含三个变量:

month、day和year,函数的输出为输入日期后一天的日期。

例如,输入为2006年3月7日,则函数的输出为2006年3月8日。

要求输入变量month、day和year均为整数值,并且满足下列条件:

 ①1≤month≤12

 ②1≤day≤31

 ③1920≤year≤2050 

 1)有效等价类为:

   M1={月份:

1≤月份≤12}

   D1={日期:

1≤日期≤31}

   Y1={年:

1812≤年≤2012}

 2)若条件①~③中任何一个条件失效,则NextDate函数都会产生一个输出,指明相应的变量超出取值范围,比如"month的值不在1-12范围当中"。

显然还存在着大量的year、month、day的无效组合,NextDate函数将这些组合作统一的输出:

"无效输入日期"。

其无效等价类为:

   M2={月份:

月份<1}

   M3={月份:

月份>12}

   D2={日期:

日期<1}

   D3={日期:

日期>31}

   Y2={年:

年<1812}

   Y3={年:

年>2012}

 弱一般等价类测试用例

 月份   日期      年              预期输出

  6      15       1912     

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1