欢迎来到天天文库
浏览记录
ID:1193701
大小:1.91 MB
页数:123页
时间:2017-11-08
《分享:测试用例设计方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、测试用例设计方法主要内容功能性测试设计结构性测试设计状态转换测试设计OO单元测试设计参考书《软件测试(原书第二版)(SoftwareTestingAcraftsman‘sApproachSecondEdition)美PaulC.Jorgensen著韩柯杜旭涛翻译,机械工业出版社《软件工程-实践者的研究方法》(SoftwareEngineeringApractitioner‘sApproachFifthEdition)RogerS.Pressman,黄伯素,梅宏翻译,机械工业出版社《嵌入式软件测试》(TestingEmbededSoftware)[美]BartBorekman
2、,EdwinNotenboom著,张君施,张思宇,周承平译,电子工业出版社测试用例设计方法概述测试用例设计方法主要分两大类:黑盒测试(功能性测试)和白盒测试(结构性测试),它们使用的测试用例在表现形式上一模一样,都是:(输入1,输入2,…….输入n,预期输出)这输入1,输入2,……..输入n就是程序的输入(可以理解为程序的输入参数,全局变量,触发事件),预期输出可以是程序的输出(可理解为程序的输出参数,返回值,全局变量,输出事件)如右图程序的规格说明(预期行为)和内部结构(决定实际行为)黑盒测试与白盒测试的区别在于,黑盒测试方法通过程序的规格说明来识别测试用例。白盒测试根据
3、程序的内部代码结构(分支,循环,条件)来识别测试用例.见右图图8程序的规格说明(预期行为)和内部结构(决定实际行为)黑盒测试与白盒测试的结合基于黑盒的测试(也就是基于规格说明测试)可能有些程序的内部路径(大多数是些异常处理路径)覆盖不到,往往是这里的代码会使程序表现出大家所不期望的行为(程序异常死机,或隐藏了恶意的代码,如特洛伊木马程序,还有内存泄漏,程序走飞,死循环等等)。所以有必要在黑盒测试结束后,检查一下程序内部的测试覆盖率,对没有覆盖到的路径或代码,根据代码结构信息,再设计一些测试用例覆盖这些没有覆盖到路径或代码,看看程序是否会出现异常的行为。这是我们所倡导的基本的
4、软件单元测试策略。两个示例程序三角形问题NextDate问题三角形问题陈述三角形问题接受三个整数a,b和c作为输入,用做三角形的的边。程序的输出是由这三条边确定的三角形类型:等边三角形,等腰三角形,不等边三角形或非三角形。NextDate问题NextDate是一个有三个变量(月份,日期和年)的函数。函数返回输入日期后面的那个日期。变量月份,日期和年都具有整数值,且满足下列条件:C1:1<=月份<=12C2:1<=日期<=31C3:1812<=年<=2012如果任意一个条件失败,则NextDate会出示一个消息,指示相应的变量超出范围功能性测试设计边界值测试等价类测试决策表测
5、试边界值测试任何程序都可以看做是一个函数,程序的输入构成函数的定义域,程序的输出构成函数的值域,输入定义域测试是最著名的功能性测试手段,它的重点是在输入定义域边界值分析健壮性测试最坏情况测试特殊值测试边界值分析大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。针对各种边界情况设计测试用例,可以查出更多的错误。边界值分析的基本思想是使用在最小值,略高于最小值,正常值,略低于最大值和最大值处取输入变量值边界值分析基于单缺陷假设:失效极少是由两个(或多个)参数同时取某一特定值引起的,基本是由单变量取某一特定值引起的.边界值测试用例的获得:通过所有变量取正常值,只有
6、一个变量取边界值。,,……共9个测试用例变量是离散有界值都可以用边界值分析,但逻辑布尔量不适用(如电话号码)X2abdc两变量函数边界值分析测试用例X1边界值分析举例在描述问题时,关于三角形的边,除了说明是整数外,没有给出其他条件.显然,低端边界都是1.我们任意取200做为高端边界,下表给出使用这些定义域产生的边界测试用例.健壮性测试健壮性测试是边界值分析的一种简单扩展:除了变量的五个边界值分析取值,还要通过采用一个略超过最大值(max+)的取值,和一个略小于最小值(m
7、in-)的取值如果程序执行显式的范围检查并适用例外处理机制解决“健壮值”问题,必须选择健壮性测试X2abdc两变量函数健壮性测试用例X1最坏情况测试最坏情况测试拒绝单缺陷假设,采用多缺陷假设:某些失效(Failure)是由两个或多个参数同时取某些特定值引起的.对每个变量首先进行包含最小值,略高于最小值,正常值,略低于最大值,最大值五元素测试然后对这集合进行笛卡尔儿积计算,生成测试用例X1abcb两变量函数最坏情况测试用例笛卡尔积两个集合A和B的笛卡尔积,是集合A×B={;xЄA^YєB}例1:集合A={1
此文档下载收益归作者所有