用户名: 密  码:
老版网站 / 英达社区 / 加入收藏 / 设为首页
网站首页 | 学校简介 | 就业中心 | 软件测试 | 企业外包 | 单片机开发 | ARM开发 | DSP开发 | 英达社区 | 在线咨询 | 在线报名 | 联系我们
   高新:029-88259409,88278304   小寨:029-85399057, 85268103
您所在的位置:首页 >> 软件测试技术 >> 正文
设计测试用例
http://www.yd-itedu.com/  添加日期:08-04-01 15:19:14  来源:    进入论坛
4 .1.1   设计测试用例的原则

l          测试用例的代表性:能够代表各种合理和不合理的、合法的和非法的、边界和越界的 , 以及极限的输入数据、操作和环境设置等;

l          测试结果的可判定性:即测试执行结果的正确性是可判定的或可评估的;

l          测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。

4.1.2   测试用例的组成

   测试用例应该由以下两部分组成

1) 输入数据

2) 处理(如计算、合并等)

3) 预期的输出结果

这就是说,在执行系统之前应该对期望的输出有很明确的描述,这样,测试后就可将系统的输出同它仔细对照检查。否则,如果不是先确定输出,就可能把似乎是正确而实际是错误的结果当成是正确的结果。

4.1.3   设计测试用例应注意的事项

l 不仅要选用合理的输入数据作为测试用例(即肯定测试用例),还应选用不合理的输入数据作为测试用例(即否定测试用例)。许多人往往只注意前者而忽略了后者。为了提高系统的健壮性,输入数据不合理的各种情况是应该认真检查的(在开发过程中,正常业务处理的代码量只占有效代码量的 10% ,而例外处理的代码量要占有效代码量的 90% ),所以测试工作量也是如此,即肯定测试用例占总用例的 10% ,否定测试用例占总用例的 90% )。

l        除了检查系统是否做了它应该做的工作之外,还应检查系统是否做了它不应该做的事情。

l        应该长期保留所有的测试用例,直至这个系统被废弃不用为止。这是因为:设计测试用例是很费人工的,如果将用过的测试用例丢弃了,以后一旦需要再测试这个系统(例如因为系统内部作了某些修改)就需要再花很多人工,人们往往懒得再次认真地设计测试用例,因而“再测试”很少像初次测试那样“彻底”。如果系统的修改使得前面已测试过的部分产生了错误,“再测试”往往就不能发现这些错误。

4 . 1.4   设计测试用例

测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。)

4.1.4 .1   白盒法

    白盒法是以系统内部的逻辑为基础设计测试用例,所以又称为逻辑覆盖法。白盒法考虑的是测试用例对系统内部的覆盖程度,最彻底的白盒法是覆盖系统中的每条路径,但是由于系统中一般含有循环,所以路径的数目极大,要执行每条路径是不可能的,所以只能希望覆盖的程度尽可能高些。我们可以从以下几点考虑:

1 )语句覆盖

     “语句覆盖”是一个很弱的测试覆盖,它的含义是:选择足够的测试用例,使代码中每个有效语句(即注释语句除外)至少都能被执行一次。顺序语句覆盖率是 100%

2 )分支覆盖

     比“语句覆盖”稍强的测试覆盖是“分支覆盖”。这个标准是执行足够的测试用例,使代码中每个分支至少都获得一次“真”值和“假”值,或者说使得代码中的每个分支至少都通过一次。分支覆盖率是 80%

3 )循环覆盖

     “循环覆盖”的含义是:执行足够的测试用例,使得循环中的每个条件都得到验证。循环语句覆盖率是 80%

4.1.4 .2   黑盒法

    设计测试用例的另一种方法是黑盒法。与白盒法不同,黑盒法不关心系统内部的逻辑,而只是根据系统的功能说明、预期结果、数据流程或业务流程等来设计测试用例。黑盒法测试的依据是需求说明书或功能说明书。我们常常采用的方法是:

A 、划分等价类

  这一步是:先从系统的需求规格说明中找出所有的输入条件,然后为每个输入条件划分两个或多个等价类,此时可以使用下表:

 

 

输入条件

 

合理等价类 ( 合理输入数据 )

 

不合理等价类 ( 非法输入数据 )

 

 

 

 

 

 

 

l          划分等价类在很大程度上是试探性的,下面几点可供参考:

如果某个输入条件说明了输入的范围(如“数据值”是从 1 999 ),则可划分一个合理等价类(大于等于 1 而小于等于 999 的数)和两个不合理等价类(小于 1 的数,以及大于 999 的数)。

如果某个输入条件说明了输入数据的个数(如每个学生可以选修 1 3 门课程),则可划分一个合理等价类(选修 1-3 门课程)和两个不合理等价类(没选修课程,以及超过 3 门课程)。

如果一个输入条件说明了一个“必须成立”的情况(如标识符的第一个字符必须是字母),则可以划分一个合理等价类(第一字符是字母),和一个不合理等价类(第一字符不是字母)。

如果某个输入条件说明了输入数据的一组可能的值,而且认为系统是用不同的方式处理每一种值的(如职称的输入值可以是助教、讲师、副教授和教授 [FS:PAGE] 4 种),则可为每一种值划分一个合理等价类(如助教、讲师、副教授和教授 4 种),并划分一个不合理等价类(上述 4 钟职称之外的等价类)。

l          设计测试用例

. 设计测试用例,使它包括尽可能多的、尚未被包括的合理等价类;重复做这一步,直至这些测试用例包括所有的合理等价类。

. 设计测试用例,使它包括一个(而且仅仅一个)尚未被包括的不合理等价类;重复做这一步,直至测试用例已包括所有的不合理等价类。

必须注意的是 ,这一步应使每个例子仅包括一个不合理等价类。这样做的原因是:系统中的某些错误检测往往会抑制其它错误检测,例如某个系统的功能说明中指出:输入数据是书的“类型”(它可以是“精装”、“平装”和“线装”)和书的“数量”(其允许值是 1-999 ),如果某个测试用例中,书的“类型”是“活页”,书的“数量”是 0 ,他包括了两个不合理的条件(“类型”和“数量”都不合理),系统在发现“类型”不合理之后,可能不会再去检查“数量”是否合理,因此这一部分系统实际上并没有测试到。

  这里采用等价类划分法具个例子:

1.   对一个输入 1-100数字的输入提交功能设计测试用例
划分等价类:其测试用例为

a.      输入数字为空;

b.      输入数字为 0

c.      输入数字为 -1

d.      输入数字为 101

e.      输入数字为 1-100中间的任何数;

f.      输入数字为小数; 7.输入为字母;

g.      输入为控制字符。

2.   免费电子邮件系统:

a)   新用户注册页面

数据项取值

USER NAME :长度为 3-19 ;以字母开头 ; 非空

姓名:非空

密码:非空

确认密码:值和密码值相同

出生年份:年——四位数字;月—— 1-12 ;日—— 1-31

其余项:不要求

等价类的划分

数据项

有效等价类

无效等价类

USER NAME

1 )长 3-9 ;( 2 )以字母开头 ;

(1) 长度 <3 ;( 2 )非字母开头( 3 )长度 >19

3 )非空

4 )为空

 

5 )为空

认密码

 

6 )值和密码值不同

生年份

6 )月— 1-12 ;( 7 )日— 1-31

 

4 )非空

余项

8 )都填( 9 )都不填

5 )值和密码值相同

b). 忘记密码部分

数据项取值

登录用户名:已存在的用户名

用户的回答:和注册值相同

密码: >=5

确认密码:值和密码值相同

等价类的划分

数据项

有效等价类

无效等价类

登录用户名

1) 已存在

(1) 不存在

用户的回答

2 )和注册值相同

2 )和注册值不同

密码

3 >=5

3 <5

密码确认

(4) 值和密码值相同

(4) 和密码值不同

 

B 边界值分析法

“边界情况”是指输入等价类或输出等价类边界上的情况。

边界值分析法与等价分类法的差别在于:

边界值分析法不是从一个等价类中任选一个例子作代表,而是选一个或几个例子,使得该等价类的边界情况成为测试的主要目标。

边界值分析不仅注意输入条件,它还根据输出的情况(即按输出等价类)设计测试用例。

运用边界值分析法,需要有一定的创造性,以下几点供使用时参考:

如果某个输入条件说明了值范围,则可选择一些恰好取到边界的例子,另外,再编写一些代表非法输入数据的例子,它们的值恰好越过边界。

如果一个输入条件指出了输入数据的个数,则为最小个数、最大个数、比最小个数少 1 、比最大个数多 1 、分别设计例子。

为每个输出条件使用上面第①点。

④为每个输出条件使用上面第②点。

如果系统的输入和输出是有序集合(如顺序文件、线性表等),则应特别注意集合的第一个或最后一个元素。

 

C 、因果图法

 

D 、错误推测法

人们也可以通过经验或直觉推测系统中可能存在的各种错误,从而有真对性地编写检查这些错误的例子,这就是错误推测法。错误推测法没有确定的步骤,很大程度上是凭经验进行的。
上一篇:
下一篇:
 
最新动态
就业明星 更多>>
技术文章
推荐论坛
英达概况 | 在线报名 | 在线咨询 | 联系我们
版权所有: 西安英达科技培训学校
电话:029-88259409 88278304 传真:88259409 E_mail:tukx@21cn.com
高新校区:西安市太白南路263号新一代国际公寓C座1508室(太白南路与科技路什字东南角)
小寨校区:西安市雁塔西路161号 世纪经典大厦A座1906室(小寨南纬二街什字东50米)