《软件测试》课件第2章_第1页
《软件测试》课件第2章_第2页
《软件测试》课件第2章_第3页
《软件测试》课件第2章_第4页
《软件测试》课件第2章_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目二NextDate()函数的测试2.1问题情境2.2问题分析2.3任务设计与实施2.4知识总结2.5应用实践

NextDate()函数是有三个变量month、day和year的函数,输出的是输入日期后一天的日期。例如,输入2010年4月1日,则该函数的输出为2010年4月2日。对该函数的正确性、健壮性予以测试。2.1问题情境

NextDate()函数:输入三个参数year、month和day组合成一个日期,要求输入变量month、day和year均为整数值,并满足下列条件:

条件1:1≤month≤12;

条件2:1≤day≤31;

条件3:1912≤year≤2050。2.2问题分析

用边界值分析法对NextDate()函数进行正确性和健壮性测试。

步骤1:分析NextDate()函数的输入参数与输出参数(具体分析见2.2节)。

步骤2:设计该程序的测试用例。

通过边界值分析法,测试函数的健壮性,设计的测试用例如表2-1所示。2.3任务设计与实施表2-1测试用例的设计

续表步骤3测试程序并书写测试结果报告。

用测试用例完成对程序的测试并书写测试报告,测试结果如表2-2所示。表2-2测试结果

2.4.1黑盒测试方法——边界值分析法

1.边界值分析法的概念

边界值分析法是对输入或输出的边界值进行测试的一种黑盒测试方法。通常,边界值分析法可作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。在测试用例设计中,需要对输入的条件进行分析并且找出其中的边界值条件,通过对这些边界值的测试查找出更多的错误。提出边界值条件时,一定要测试临近边界的有效数据,同时测试刚超过边界的无效数据。2.4知识总结

2.边界值分析法的基本思想

边界值分析法的基本思想是:选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。边界值分析法是最有效的黑盒测试法,但在边界情况复杂的情况下,要找出适当的边界测试用例,还需要针对问题的输入域、输出域边界,耐心细致地逐个进行考察。

3.边界值分析法与等价类划分法的区别

(1)边界值分析法不是从某等价类中随便挑一个作为代表,而是要求这个等价类的每个边界都要作为测试条件。

(2)边界值分析法不仅要考虑输入条件,还要考虑输出结果的测试情况。

边界值分析法使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此利用等价类的边界以及两侧的情况设计测试用例。例1测试计算平方根的函数。

输入:实数。

输出:实数。

规格说明:当输入一个0或比0大的数时,返回其正平方根;当输入一个小于0的数时,显示错误信息“平方根非法—输入值小于0”并返回0。

用等价类划分法进行输入的等价类划分:

(1)可以考虑作出如下划分:

输入:(a)小于0;(b)大于等于0。

输出:(c)

Error;(d)大于等于0。

(2)根据(1)的等价类划分可以设计两个测试用例:

·输入4,输出2。对应于(b)和(d)。

·输入

-10,输出0和错误提示。对应于(a)和(c)。

用边界值分析法设计测试用例:

划分(b)的边界为0和最大正实数;划分(a)的边界为最小负实数和0。由此得到以下测试用例:

·输入{最小负实数};

·输入{绝对值很小的负数};

·输入0;

·输入{绝对值很小的正数};

·输入{最大正实数}。

4.常见的边界值及内部边界值条件

1)常见的边界值

对16bit的整数而言,32767和

-32768是边界;

屏幕上光标在最左上、最右下位置;

报表的第一行和最后一行;

数组元素的第一个和最后一个;

循环的第0次、第1次和倒数第2次、最后一次。

通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、质量、大小、速度、方位、尺寸、空间等。相应地,以上类型的边界值应该是在最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下的值,如表2-3所示。表2-3利用边界值作为测试数据

2)内部边界值条件

在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到,也是最终用户可以很容易就发现问题的条件。然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但它又确实属于检验范畴内的边界值条件,这样的边界值条件称为内部边界值条件或子边界值条件。内部边界值条件主要有下面几种:

数值的边界值检验;

字符的边界值检验;

其他边界值检验。

在实际的测试用例设计中,需要将基本的软件设计要求和程序定义的要求结合起来,即结合基本边界值条件和内部边界值条件来设计有效的测试用例。

(1)数值的边界值检验。计算机是基于二进制进行工作的,因此软件的任何数值运算都有一定的范围限制,如表2-4所示。例如对字节进行检验,边界值条件可以设为254、255、256。表2-4计算机数值运算的范围

(2)字符的边界值检验。在计算机软件中,字符也是很重要的表示元素,其中ASCII码和Unicode码是常见的编码方式。表2-5中列出了一些常用字符对应的ASCII码值。表2-5常见字符的ASCII码值在文本输入或者文本转换的测试过程中,需要非常清晰地了解ASCII码的一些基本对应关系,例如小写字母z和大写字母Z在表中的对应是不同的,同时还必须考虑数据区域的划分,从而定义有效等价类来设计测试用例。

(3)其他边界值检验,包括默认值、空值、空格、未输入值、零、无效数据、不正确数据和干扰数据等。

5.基于边界值分析方法选择测试用例的原则

(1)如果输入条件规定了值的范围,则应取刚达到这个范围边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

例2如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。作为测试用例,应取10及50,还应取10.01、49.99、9.99及50.01等。

(2)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。例3一个输入文件应包括1~255个记录,则测试用例除可取1和255外,还应取0及256等。

(3)将规则(1)和规则(2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。

例4某程序的规格说明要求计算出“每月保险金扣除额为0至1165.25元”,其测试用例可取0.00及1165.25,还可取

-0.01及1165.26等。

例5一个数据检索系统的程序,要求每次“最少显示1条、最多显示4条情报摘要”,这时我们应考虑的测试用例包括1和4,还应包括0和5等。

(4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

(5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。

(6)分析规格说明,找出其他可能的边界条件。2.4.2健壮性测试

健壮性测试(RobustnessTesting)又称为容错性测试(FaultToleranceTesting)或鲁棒性测试,用于测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。为了使系统具有良好的健壮性,要求设计人员在设计系统时必须周密细致,尤其要注意妥善地进行系统异常的处理。

实际上,很多开发项目的设计者在设计过程中很容易忽略系统关于容错方面的功能,这些多半是受到开发时间、人力、物力的限制。因此,系统容错性差也成为目前软件危机中的一个主要原因。不具备容错性能的系统不是一个优秀的系统,在市场上也很难被用户所接纳。一个好的软件系统必须经过健壮性测试之后才能最终交付给用户。

健壮性测试是作为边界值分析法的一个简单的扩充,它除了对变量的边界值分析取值外,还需要增加一个略大于最大值(max+)以及略小于最小值(min-)的取值,检查超过极限值时系统的情况。因此,对于有n个变量的函数,进行健壮性测试时需要6n

+

1个测试用例。

说明:如果程序规格说明中没有显式地给出边界值,则可以在设计测试用例前先设定取值的下限值和上限值。

1.对判断三角形类型的程序进行边界值分析法测试(程序由读者自行完成)。

(1)分析判断三角形类型的程序的输入参数与输出参数。

三个输入参数a、b和c分别作为三角形的三条边,要求a、b和c必须满足以下条件:

条件11≤a≤100

条件21≤b≤1002.5应用实践条件31≤c≤100

条件4a<b

+

c

条件5b<a

+

c

条件6c<a

+

b

程序输出的是由这三条边构成的三角形类型:等边三角形、等腰三角形、一般三角形或非三角形(不能构成三角形)。如果输入值不满足这些条件中的任何一个,则程序给出相应的提示信息。

(2)设计该程序的测试用例。

通过等价类划分法设计测试用例,如表2-6所示。

表2-6测试预期输出

(3)测试三角形程序并书写测试结果报告。

用测试用例完成对程序的测试并书写测试报告。将上述测试用例逐一输入到程序中,观察并记录结果,最后将其与预期输出结果进行对比,分析得出结论。测试结果如表2-7所示。通过等价类划分法的测试可知,该程序无明显错误。表2-7测试输出结果

2.现有一个学生标准化考试批阅试卷、产生成绩报告的程序。其规格说明如下。程序的输入文件由一些有80个字符的记录组成,所有记录分为三组,如图2-1所示。图2-1学生标准化考试批阅试卷、产生成绩报告程序的输入记录

(1)标题:只有一个记录,其内容为输出成绩报告的名字。

(2)试卷各题标准答案记录:每个记录均在第80个字符处标以数字“2”。该组的第一个记录的第1~3个字符为题目编号(取值为1~999),第10~59个字符给出第1~50题的答案(每个合法字符表示一个答案)。该组的第2,第3,…

个记录对应第51~100,第101~150,…题的答案。

(3)每个学生的答卷描述:每个记录的第80个字符均为数字“3”。每个学生的答卷在若干个记录中给出。如学生甲的首记录第1~9字符给出学生姓名及学号,第10~59字符列出的是学生甲所做的第1至第50题的答案。若试题数超过50,则第2,第3,…记录分别给出他的第51~100,第101~150,…题的解答。然后是学生乙的答卷记录。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论