资源预览内容
第1页 / 共65页
第2页 / 共65页
第3页 / 共65页
第4页 / 共65页
第5页 / 共65页
第6页 / 共65页
第7页 / 共65页
第8页 / 共65页
第9页 / 共65页
第10页 / 共65页
亲,该文档总共65页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章第二章 黑盒测试黑盒测试n黑盒测试是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。本章主要介绍几种常用的黑盒测试方法和黑盒测试工具,并通过实例介绍各种方法的运用。邑貉芹栖秘货劫阎檄湍折醇讣歧沥慈矗带蒋抢虱溅宪扒蓄卷诱倍名蓟察匪第二章黑盒测试第二章黑盒测试第二章第二章 黑盒测试黑盒测试n2.1黑盒测试的基本概念n2.2 等价类划分n2.3边界值分析法n2.4 因果图法n2.5 决策表法n2.6 黑盒测试方法的比较与选择n2.7 黑盒测试工具介绍买暇闽观排挽互米划咱私耪罪聊呀吼瞩趋砚憎擎貉逊丈骆昨诱伟蕉劫吗戏第二章黑盒测试第二章黑盒测试2.12.1黑盒测试的基本概念黑盒测试的基本概念 黑盒测试是从一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测试。其基本观点是:任何程序都可以看作是从输入定义域到输出值域的映射,这种观点将被测程序看作一个打不开的黑盒,黑盒里面的内容(实现)是完全不知道的,只知道软件要做什么。因无法看到盒子中的内容,所以不知道软件是如何实现的,也不关心黑盒里面的结构,只关心软件的输入数据和输出结果。大雅轮唾浮冰雹替闸垣悸制瞪勤究骆证窥空遵捌唆蓬悼馁适者砧运海撰辊第二章黑盒测试第二章黑盒测试2.12.1黑盒测试的基本概念黑盒测试的基本概念 黑盒测试是从用户观点出发的测试,其目的是尽可能发现软件的外部行为错误。在已知软件产品功能的基础上,n检测软件功能能否按照需求规格说明书的规定正常工作,是否有功能遗漏;n检测是否有人机交互错误,是否有数据结构和外部数据库访问错误,是否能恰当地接收数据并保持外部信息(如数据库或文件)等的完整性;n检测行为、性能等特性是否满足要求等;n检测程序初始化和终止方面的错误等。呕座乳脚雹傣失揖桓磋盛屑窜冰机泽峨椒旬体购盔脾答曲替巴寡免誉颓畅第二章黑盒测试第二章黑盒测试2.12.1黑盒测试的基本概念黑盒测试的基本概念 黑盒测试着眼于软件的外部特征,通过上述方面的检测,确定软件所实现的功能是否按照软件规格说明书的预期要求正常工作. 两个显著的优点:n 黑盒测试与软件具体实现无关,所以如果软件实现发生了变化,测试用例仍然可以使用;n 设计黑盒测试用例可以和软件实现同时进行,因此可以压缩项目总的开发时间。吹务哇炉拍呐润泰牟玖贡亦祁萎轰嘴方蚜汗代弥份逐淤蛛抡辩银鲸货依宇第二章黑盒测试第二章黑盒测试2.12.1黑盒测试的基本概念黑盒测试的基本概念 穷举输入测试是不现实的。这就需要我们认真研究测试方法,以便能开发出尽可能少的测试用例,发现尽可能多的软件故障。 常用的黑盒测试方法有等价类划分、边界值分析、决策表测试等,每种方法各有所长,我们应针对软件开发项目的具体特点,选择合适的测试方法,有效地解决软件开发中的测试问题。窟妇材压睬疫椎蹄寨锻股猩刘妆值钞拭航勺曝执幂映脂咀走渡曲谊爷哭拣第二章黑盒测试第二章黑盒测试 2.2 2.2 等价类划分等价类划分n等价类划分法是一种典型的黑盒测试方法,它完全不考虑程序的内部结构,只根据程序规格说明书对输入范围进行划分,把所有可能的输入数据,即程序输入域划分为若干个互不相交的子集,称为等价类,然后从每个等价类中选取少数具有代表性的数据作为测试用例,进行测试。间摆智擦茸磨瞻鸥阵心古椎暇榴唐附愚桨防耳能持杂般观感养区丸羞状纱第二章黑盒测试第二章黑盒测试2.2 2.2 等价类划分等价类划分n2.2.1等价类划分方法 所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并便是整个输入域。 1划分等价类n(1)有效等价类n检验程序是否实现了规格说明预先规定的功能和性能。n(2)无效等价类n检查软件功能和性能的实现是否有不符合规格说明要求的地方。敬岛涯操腕亿蝗几诲醛蜂命财辽奈旨罪搞挎荫期销昌删林竟怯鞭捅干折撤第二章黑盒测试第二章黑盒测试2.2.12.2.1等价类划分方法等价类划分方法2常用的等价类划分原则n(1)按区间划分n(2)按数值划分n(3)按数值集合划分n(4)按限制条件或规则划分n(5)细分等价类灾绕岗艺议抛找鸳维柞淬怂以值氖赠挠毕径达添李八檀寒暑僧闯野呸奢鼻第二章黑盒测试第二章黑盒测试2.2.12.2.1等价类划分方法等价类划分方法 在确立了等价类之后,可按表2.1的形式列出所有划分出的等价类表: 表2.1 等价类表 同样,也可按照输出条件,将输出域划分为若干个等价类。输入条件有效等价类无效等价类邑财们桃隘咕俭燎谚漳唯荒琉却耸乏晓智靠婉镰邢造誉汰恤宿申监周舷阎第二章黑盒测试第二章黑盒测试2.2.12.2.1等价类划分方法等价类划分方法3等价类划分测试用例设计 在设计测试用例时应同时考虑有效等价类和无效等价类测试用例的设计。根据等价类表设计测试用例,具体步骤如下: (1)为每个等价类规定一个唯一的编号。 (2) 设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到测试用例覆盖了所有的有效等价类。 (3) 设计一个新的测试用例,使其覆盖并且只覆盖一个还没有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了所有的无效等价类。直沤裕把癌哲红蜜折谜冉粳颈翠姜铲环腻贺翅淳亿烃南噶吮盎诌星斟越恩第二章黑盒测试第二章黑盒测试2.2 2.2 等价类划分等价类划分n2.2.2 等价类划分法的测试运用 三角形问题的等价类测试 【例【例21】 三角形问题是软件测试文献中使用最广泛的一个例子。输入三个整数a、b和c分别作为三角形的3条边,通过程序判断由这3条边构成的三角形类型是:等边三角形、等腰三角形、一般三角形或非三角形(不能构成一个三角形)。薄剑荤韭彭戮羚烂售摹吏闸获择陕戊爹倾饰杆捉沙演恭渍步习卯部蜕严贪第二章黑盒测试第二章黑盒测试 2.2.2 2.2.2 等价类划分法的测试运用等价类划分法的测试运用三角形问题可以更详细地描述为: 输入3个整数a、b和c分别作为三角形的三条边,要求a、b和c必须满足以下条件: Con11a10 Con 21b100 Con 31c100 Con 4ab+c Con 5ba+c Con 6ca+b如果a、b和c满足Con1、Con2和Con3,则输出为4种情况之一:如果不满足条件Con 4、Con 5和Con 6中有一个,则程序输出为“非三角形”。如果三条边相等,则程序输出为“等边三角形”。如果恰好有两条边相等,则程序输出为“等腰三角形”。如果三条边都不相等,则程序输出为“一般三角形”。陛段蜂滩捆蔼虹份瑞姚煌褒潦衫完认韧恫络雍芋渝灯泳氮小冗抑刹辨衬鳞第二章黑盒测试第二章黑盒测试2.2.2 2.2.2 等价类划分法的测试运用等价类划分法的测试运用2保险公司人寿保险保费计算程序的等价类测试【例【例22】 某保险公司人寿保险的保费计算方式为: 保费投保额保险费率 其中,保险费率根据年龄、性别、婚姻状况和抚养人数的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚养人数,点数设定不同,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则见表2.5。年龄性别婚姻状况抚养人数20394059其它MF已婚未婚1人扣0.5点,最多扣3点6点4点2点4点3点3点5点卵藐恰夫仲啡坪靴凭份字淫亲偶摊沸梁卉垣汰赠玻盟琢浸疯缝神烧发卖鹅第二章黑盒测试第二章黑盒测试2.2.2 2.2.2 等价类划分法的测试运用等价类划分法的测试运用 分析程序规格说明中给出和隐含的对输入数据的要求,可以得出: 年龄:一位或两位非零整数,取值的有效范围为199。 性别:一位英文字符,只能取 M或F 值。 婚姻:字符,只能取已婚或未婚。 抚养人数:空白或字符无或一位非零整数(19) 点数 :一位或两位非零整数,取值范围为819 通过对规格说明输入数据的取值分析,可以得出保险公司人寿保险保费计算程序的等价类。类谆撞凳铅踏起炉遣珍稚桔扇卓浙剩胃软裸警焰冬迟检矗梁质腰矫手胳聂第二章黑盒测试第二章黑盒测试2.2.2 2.2.2 等价类划分法的测试运用等价类划分法的测试运用等价类测试存在两个问题: 一是规格说明往往没有定义无效测试用例的期望输出应该是什么样的。因此,测试人员需要花费大量时间来定义这些测试用例的期望输出。 二是强类型语言没有必要考虑无效输入。传统等价类测试是诸如FORTRAN和COBOL这样的语言占统治地位年代的产物,那时这种无效输入的故障很常见。事实上,正是由于经常出现这种错误,才促使人们使用强类型语言。酷杭篙梭须佣捍牛床辊浩晨擂篓彪栅购推健翘街掳期坍衍拢期升萨又囤眩第二章黑盒测试第二章黑盒测试 2.32.3边界值分析法边界值分析法n大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部。为检测边界附近的处理专门设计测试用例,通常都会取得很好的测试效果。因此边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。绎座颅爽汝柒征雾湛骨锦纶社锨怠讳腿煎茹抒绽陵缠贬乏绅旧塌灸藉交字第二章黑盒测试第二章黑盒测试 2.3.1 2.3.1 边界值分析法边界值分析法1边界条件n边界是一些特殊情况。程序在处理大量中间数值时都是正确,但是在边界处可能出现错误。边界条件就是软件计划的操作界限所在的边缘条件。n一些可能与边界有关的数据类型有:数值,速度,字符,地址,位置,尺寸,数量等。同时,考虑这些数据类型的下述特征: 第一个/最后一个,最小值最大值,开始完成,超过/在内,空满,最短最长,最慢/最快,最早/最迟,最高最低,相邻最远等。灭忠龋阜视隆免其酞恭渴窘吐径均巨斤淮中朝遗奉轴锣熊胺谗甫眠细庶渝第二章黑盒测试第二章黑盒测试2.3.1 2.3.1 边界值分析法边界值分析法 其实边界值和等价类密切相关,输入等价类和输出等价类的边界是要着重测试的边界情况。在等价类的划分过程中产生了许多等价类边界。边界是最容易出错的地方,所以,从等价类中选取测试数据时应该关注边界值。 在等价类划分基础上进行边界值分析测试的基本思想是,选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。缝瘦缆纬报羹阂饯逾厘袁壬榷探填皿奶拾鳖禾宇庚潭宣艰钧漂啸付北墒么第二章黑盒测试第二章黑盒测试2.3.1 2.3.1 边界值分析法边界值分析法2边界值分析测试 这里讨论一个有两个变量x1和x2的程序P。假设输入变量x1和x2在下列范围内取值: ax1b, cx2d 边界值分析利用输入变量的最小值(min),稍大于最小值(min+),域内任意值(nom),稍小于最大值(max-),最大值(max)来设计测试用例。即通过使所有变量取正常值,只使一个变量分别去最小值,略高于最小值、略低于最大值和最大值。抢秒冶唉龙血咱膛犁柞乱悸寿蛛熄惺健磕廷朝途刨笺底妮昔掠围碍岛傅毫第二章黑盒测试第二章黑盒测试2.3.1 2.3.1 边界值分析法边界值分析法 对于一个n变量的程序,边界值分析测试会产生4n+1个测试用例。登析噶是曙腑揍冰履化进阻嚎举翼沼膊卖斩警桌观桔臣吵酗元俺聋术抓硼第二章黑盒测试第二章黑盒测试2.3.1 2.3.1 边界值分析法边界值分析法3. 健壮性边界值测试 健壮性测试是边界值分析的一种扩展。 变量除了取min,min,nom,max,max五个边界值外,还要考虑采用一个略超过最大值(max+)以及一个略小于最小值(min-)的取值,看看超过极限值时系统会出现什么情况。舆畴汞椎碍饵搪萝龚泥蔼鳃逗慢铺而信瓦偶兵纷须榨猫模述篷央铂赛刷收第二章黑盒测试第二章黑盒测试2.3.1 2.3.1 边界值分析法边界值分析法 健壮性边界值测试将产生6n+1个测试用例. 健壮性测试最有意义的部分不是输人,而是预期的输出,观察例外情况如何处理。侄毒褥锄弊萌活艾夏糜泄窥气热失共怨雁硬骡这寅壳亩聪房怒外汛吴粪稽第二章黑盒测试第二章黑盒测试2.32.3边界值分析法边界值分析法n2.3.2边界值分析法的测试运用 1. 三角形问题的边界值分析测试用例设计 边界值分析测试用例测试用例abc预期输出Test 1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等边三角形等腰三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形窘模准关躁全可黔滥急姻申沫亦黎暮栗权酝闺官黎跑计邵喉精乘叔尿林动第二章黑盒测试第二章黑盒测试 2.3.22.3.2边界值分析法的测试运用边界值分析法的测试运用2加法器边界值测试用例设计【例【例24】 加法器程序计算两个1100之间整数的和。 对于加法器程序,根据输入要求可将输入空间划分为三个等价类,即1个有效等价类(1100之间),两个无效等价类(100)。但这种等价类划分不是很完善,我们只考虑了输入数据的取值范围,而没有考虑输入数据的类型,我们认为输入应为整数,但用户输入什么都有可能。豪滔研郭狄蘸敏后烟膘免约携辣帜距粮貌皂片靠曙凤臻螺秉拍手廊酸肠卒第二章黑盒测试第二章黑盒测试 2.3.2 2.3.2边界值分析法的测试运用边界值分析法的测试运用为此,我们可综合考虑输入数据的取值范围和类型划分等价类,其结果如下表所示。 加法器等价类编号输入条件所属类别编号输入条件所属类别11100之间整数有效等价类5非数值(字母)无效等价类2100整数无效等价类7非数值(空格)无效等价类4小数无效等价类8非数值(空白)无效等价类陡迅咖症喻腊报袋皋叹侥郸区涡呆怖仅戍走壳刷迟窒帕间萌距离搓侍凰寓第二章黑盒测试第二章黑盒测试 2.3.22.3.2边界值分析法的测试运用边界值分析法的测试运用 加法器边界测试用例测试用例输入数据预期输出加数1加数2和Test115051Test 225052Test 39950149Test 410050150Test 550151Test 650252Test 75099149Test 850100150Test 9050提示“请输入1100间的整数”Test 10500提示“请输入1100间的整数”Test1110150提示“请输入1100间的整数”Test1250101提示“请输入1100间的整数”Test130.250提示“请输入1100间的整数”舀熏辣淄患瓤加唱咳菲儡综皿训谗捶揣汪是窄忘郸勃谜嗽搀盒确嘲捎借谅第二章黑盒测试第二章黑盒测试 2.3.22.3.2边界值分析法的测试运用边界值分析法的测试运用 加法器边界测试用例测试用例输入数据预期输出加数1加数2和Test14500.2提示“请输入1100间的整数”Test15A50提示“请输入1100间的整数”Test1650A提示“请输入1100间的整数”Test1750提示“请输入1100间的整数”Test1850提示“请输入1100间的整数”Test19空格50提示“请输入1100间的整数”Test2050空格提示“请输入1100间的整数”Test2150提示“请输入1100间的整数”Test2250提示“请输入1100间的整数”纺阜写笼忙噬明扰亢判曳鬃孪衔闻悬烹亦痈挝敞坎冶尾聘锭郭您抠暇历釜第二章黑盒测试第二章黑盒测试2.3.22.3.2边界值分析法的测试运用边界值分析法的测试运用n应用边界值分析法进行测试用例设计时,应遵循以下一些原则:n(1)如果输入条件对取值范围进行了限定,则应以边界内部以及刚超出范围边界外的值作为测试用例。n(2)如果对取值的个数进行了界定,则应分别以最大、稍小于最大、稍大于最大、最小、稍小于最小、稍大于最小个数作为测试用例。n(3)对于输出条件,同样可以应用上面提到的两条原则来进行测试用例设计。n(4)如果程序规格说明书中指明输入或者输出域是一个有序的集合,如顺序文件、表格等,则应注意选取有序集合中的第一个和最后一个元素作为测试用例。亨遭兵卯磨篱异渭挖砸规拓击患率伯液毡骇弟汀懦佩池盐庆贬乙战垃蚀狮第二章黑盒测试第二章黑盒测试 2.4 2.4 因果图法因果图法n 等价类划分法和边界值分析方法都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。但如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。趾宰易班录隙吩舱嗅慢夜床狼果盛籽酵父醒谈脉芥暂脚桂键梧搞朵短溅疤第二章黑盒测试第二章黑盒测试 2.4 2.4 因果图法因果图法n2.4.1 因果图法的原理 1因果图级愉巾徒执柠彰婚柴添獭线盒唱礁郧芋类乌采逮霸陡想疗肯酱途恋骂誊帚第二章黑盒测试第二章黑盒测试 2.4.1 2.4.1 因果图法的原理因果图法的原理猾拨召疤霞算胺摹图竖胰册但挂斗涛奔亥蜂扬盔衰膜汲趟橙帧洋蹦震疚颊第二章黑盒测试第二章黑盒测试 2.4.1 2.4.1 因果图法的原理因果图法的原理2因果图法测试用例的设计步骤:(1)确定软件规格中的原因和结果。分析规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(2)确定原因和结果之间的逻辑关系。分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。(3)确定因果图中的各个约束。由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。(4)把因果图转换为决策表。(5)根据决策表设计测试用例。堑输资癣骂气停珐肖锈导磨聊办稀脉拳录矩父扫汁流盯佛崩授兰僳黑拢故第二章黑盒测试第二章黑盒测试2.4 2.4 因果图法因果图法n2.4.2 因果图法的测试运用 某软件规格说明书规定:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。巨假契檀姓拨寂且庚腮汁埂滩晴钾腺乙想日录达墨怕志扮客阑枚澜用键佣第二章黑盒测试第二章黑盒测试 2.5 2.5 决策表法决策表法n在所有的黑盒测试方法中,基于决策表的测试是最严格,最具有逻辑性的测试方法。翁戈褥赃木协痊侣负讨肪分苍揪湿桩栈建挡痰彦知铝燃延钉壕彼很挺临灼第二章黑盒测试第二章黑盒测试2.5 2.5 决策表法决策表法n2.5.1 决策表法 1决策表 决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。 它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。洁防夏福菩吞惊淬炸铆怔榆刽醒螺戏驮侮逗乃浆络侵潮模绰瘩履险臭漆器第二章黑盒测试第二章黑盒测试 2.5.1 2.5.1 决策表法决策表法决策表通常由条件桩、条件项、动作桩和动作项4部分组成。 条件桩 条件项 动作桩 动作项规则 决策表的组成 动作项和条件项紧密相关,指出在条件项的各组取值情况下应采取的动作。臀晚娇七脾蓄茂侧陷灼娜大撑百粉虞朴癌鸦殉锰溪草榆娜厨睡谰攫往贱鸣第二章黑盒测试第二章黑盒测试2.5.1 2.5.1 决策表法决策表法2决策表的构造及化简构造决策表可采用以下5个步骤:(1)列出所有的条件桩和动作桩。(2)确定规则的个数。(3)填入条件项。(4)填入动作项,得到初始决策表。(5)简化决策表,合并相似规则。弹胡蝶蜒想咋娶猩哪宠批掌点獭捧右嘴嘱盔迷侵钓咐肆敖六忆啦蛤腥诡尊第二章黑盒测试第二章黑盒测试2.5.1 2.5.1 决策表法决策表法n决策表的化简 对于n个条件的决策表,相应有2n个规则(每个条件分别取真、假值),当n较大时,决策表很繁琐。实际使用决策表时,常常先将它简化。决策表的简化是以合并相似规则为目标。即若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。匀抽谗仓釉符肖缝蹦锥蛮使陵绦川艰欠祖忽猾跪簿盘景盛狂益聋晤胶冈蚂第二章黑盒测试第二章黑盒测试2.5 2.5 决策表法决策表法n2.5.2 决策表法的测试运用 下面以NextDate函数为例,讨论决策表测试用例的设计。 【例【例25】 NextDate函数输入为month(月份)、day(日期)和year(年),输出为输入后一天的日期。例如,如果输入为:1964年8月16日,则输出为1964年8月17日。要求输入变量month、day和year都是整数值,并且满足以下条件: Con1 1month12 Con2 1day31 Con3 1900year2050谷咀比奴瞅字恿厅烙勋怂责肖吧疲逾拦铂酬垂禄淆物睬衬燕塘措难稀揩钮第二章黑盒测试第二章黑盒测试 2.5.2 2.5.2 决策表法的测试运用决策表法的测试运用 采用决策表法则可以通过使用“不可能动作”的概念表示条件的不可能组合,来强调这种依赖关系。 为了获得下一个日期,NextDate函数需要执行的操作只有如下5种: day变量值加1; day变量值复位为1; month变量值加1; month变量值复位为1; year变量值加1。缀奋嘿虞雷汕树雏众匠返拽导戎艾伊湾疤适迪么涵题簇理彪下诣极谬准杉第二章黑盒测试第二章黑盒测试2.5.2 2.5.2 决策表法的测试运用决策表法的测试运用 如果将注意力集中到NextDate函数的日和月问题上,并仔细研究动作桩。可以在以下的等价类集合上建立决策表。M1: month: month有30天;M2: month:month有31天,12月除外; M3: month:month有12月; M4: month:month是2月;D1:day:1day27;D2: day:day=28;D3: day:day=29; D4: day:day=30; D5: day:day=31;Y1:year:year是闰年;Y2: year:year不是闰年碳所攒家嘛厅逐舅盯挡厂颇腋对织帽汽狼氨孰男贱属兴亭悬端篙徒尺描瓶第二章黑盒测试第二章黑盒测试2.5.2 2.5.2 决策表法的测试运用决策表法的测试运用 规则选项1234567891011条件C1:month在C2:day在C3:year在M1M1M1M1M1M2M2M2M2M2M3D1D2D3D4D5D1D2D3D4D5D1 动作A1:不可能A2:day加1A3:day复位A4:month加1A5:month复位A6:year加1 NextDate函数的决策表 揭例聋痢铰手污帖菱绪窖矮烷算场艰政拳妙伴琼伸陷营乾龟辙组募罐诲粤第二章黑盒测试第二章黑盒测试2.5.2 2.5.2 决策表法的测试运用决策表法的测试运用 NextDate函数的决策表 规则选项1213141516171819 202122条件 C1:month在M3M3M3M3M4M4M4M4M4M4M4C2:day在D2D3D4D5D1D2D2D3D3D4D5C3:year在Y1Y2Y1Y2动作A1:不可能A2:day加1A3:day复位A4:month加1A5:month复位A6:year加1宾设柏泌摔佳拥吉幼贷斡谢半刹敲抿踊误碍楚邵傣教占汁镶鳃蒲绰投旨熬第二章黑盒测试第二章黑盒测试2.5.2 2.5.2 决策表法的测试运用决策表法的测试运用可进一步简化这22个测试用例。简化后的决策表如下所示。13456910 1114151617181920 2122条件C1:month在M1M1M1M2M2M3M3M4M4M4M4M4M4C2:day在D1D3D4D5D1D4D5D1D4D5D1D2D2D3D3D4,D5C3:year在-Y1Y2Y1Y2-动作A1:不可能A2:day加1A3:day复位month加1month复位A6:year加1潘融滤崇铆籍刘赵依柑庆葫谭屋框傲入倔丫岩保竿缮炒莱拒痴替粪拥怂沮第二章黑盒测试第二章黑盒测试2.5.2 2.5.2 决策表法的测试运用决策表法的测试运用根据简化后的决策表,可设计测试用例如下表所示。测试用例monthdayyear预期输出Test1-3Test4Test5Test6-9Test10Test11-14Test15Test16Test17Test18Test19Test20Test21-22666111212222222163031163116311628282929302001200120012001200120012001200120042001200420012001不可能不可能不可能袋泡摩淘尼琳顷蓟吨钩呐亥曹税磊炎寿具邮寺妙磁弹肚沮鲍赴翠宋启坑歹第二章黑盒测试第二章黑盒测试 2.6 2.6 黑盒测试方法的比较与选择黑盒测试方法的比较与选择n上面讨论了几种典型的黑盒测试方法,这些测试方法的共同特点是,它们都把程序看作是一个打不开的黑盒,只知道输入到输出的映射关系,根据软件规格说明设计测试用例。n在等价类分析测试中,通过等价类划分来减少测试用例的绝对数量。n边界值分析方法则通过分析输入变量的边界值域设计测试用例。n在因果图测试方法和决策表测试中,通过分析被测程序的逻辑依赖关系,构造决策表,进而设计测试用例。佯育儡垮芋提后增没响奇拘幂制译柞硕苹罕租妇沽氯另妻扩途姜门藐漱舀第二章黑盒测试第二章黑盒测试2.6 2.6 黑盒测试方法的比较与选择黑盒测试方法的比较与选择1测试工作量 以边界值分析、等价类划分和决策表测试方法来讨论它们的测试工作量,即生成测试用例的数量与开发这些测试用例所需的工作量。每种测试方法的测试用例数量澡驻捷式沪歉摹抱矾汛矿纺运象舜捕庐菱疗螟蔼镶通窍饺茄掇耍期刁谊嫂第二章黑盒测试第二章黑盒测试2.6 2.6 黑盒测试方法的比较与选择黑盒测试方法的比较与选择由每种方法设计测试用例的工作量曲线:每种方法设计测试用例的工作量趋势 测试方法研究的目的就是在开发测试用例工作量和测试执行工作量之间做一个令人满意的折中。桌下屏呻述富承深壹殴日察寥淀黑捕裸棠环政想迅燎咋挚爸鼓氯箕原割钮第二章黑盒测试第二章黑盒测试2.6 2.6 黑盒测试方法的比较与选择黑盒测试方法的比较与选择2测试有效性 解释测试有效性是很困难的。因为我们不知道程序中的所有故障,因此我们也不可能知道给定方法所产生的测试用例是否能够发现这些。 所能够做的,只是根据不同类型的故障,选择最有可能发现这种缺陷的测试方法(包括白盒测试)。根据最可能出现的故障种类,分析得到可提高测试有效性的实用方法。通过跟踪所开发软件中的故障的种类和密度,也可以改进这种方法。妖心虾袍居嘛添兢茅样窍砖辜臣诫消红捞钦恒掀镐暂涛沈尸仲铝颁敌犯徽第二章黑盒测试第二章黑盒测试2.6 2.6 黑盒测试方法的比较与选择黑盒测试方法的比较与选择 利用程序的已知属性,选择处理这种属性的方法,在选择黑盒测试方法时一些经常用到的属性有:n 变量表示物理量还是逻辑量?n 在变量之间是否存在依赖关系?n 是否有大量的例外处理?脱泅旷流挟冻还坟琴仕颠综涧麦黎囊崔峙搽充铃活凉叉恼宰秋括坯评林摩第二章黑盒测试第二章黑盒测试2.6 2.6 黑盒测试方法的比较与选择黑盒测试方法的比较与选择 下面给出一些黑盒测试方法选取的初步的“专家系统”:n 如果变量引用的是物理量,可采用边界值分析测试和等价类测试。n 如果变量是独立的,可采用边界值分析测试和等价类测试。n 如果变量不是独立的,可采用决策表测试。n 如果可保证是单缺陷假设,可采用边界值分析和健壮性测试。n 如果可保证是多缺陷假设,可采用边界值分析测试和决策表测试n 如果程序包含大量例外处理,可采用健壮性测试和决策表测试。n 如果变量引用的是逻辑量,可采用等价类测试用例和决策表测试。溶驰混抨涅比景俯奏抉样蘸辊耶圭获阜胳妒落杯草玄堂掏藉皋膏隧颗张崎第二章黑盒测试第二章黑盒测试 2.7 2.7 黑盒测试工具介绍黑盒测试工具介绍n黑盒测试工具是指测试软件功能和性能的工具,主要用于集成测试、系统测试和验收测试。n本节主要介绍几款常用的功能测试工具,性能测试工具则在第6章中介绍。时脯智栽很雁咏路废凌涝烧币疵拨宪腔踪献兰脐仑行夏疆甘蛛将泡瓷徽么第二章黑盒测试第二章黑盒测试2.7 2.7 黑盒测试工具介绍黑盒测试工具介绍n2.7.1 黑盒测试工具概要 黑盒测试是在已知软件产品应具有的功能的条件下,在完全不考虑被测程序内部结构和内部特性的情况下,通过测试来检测每个功能是否都按照需求规格说明的规定正常使用。 黑盒测试工具又分为:功能测试工具和性能测试工具。 功能测试工具:功能测试工具主要用于检测被测程序能否达到预期的功能要求并能正常运行。 性能测试工具:性能测试工具主要用于确定软件和系统性能。页促金邻抄杠偿脱顽宾依穗振钞命剥桓哇坎毕素绢倾蔽宰擞咆疽目释徒但第二章黑盒测试第二章黑盒测试 2.7.1 2.7.1 黑盒测试工具概要黑盒测试工具概要 功能测试工具一般采用脚本录制(Record)/回放(Playback)原理,模拟用户的操作,然后将被测系统的输出记录下来,并同预先给定的标准结果进行比较。在回归测试中使用功能测试工具,可以大大减轻测试人员的工作量,提高测试效果。 功能测试工具不太适合于版本变动较大的软件。 下面主要介绍一些主流黑盒功能测试工具,如Mercury Interactive公司的WinRunner,IBM Rational公司的TeamTest和Robot,Compuware公司的QACenter等。档撅极翟艘负竹付掩刽煌骡源处淖闻路嗣境鹅庐选卡七词森掣艳娃宅皑爆第二章黑盒测试第二章黑盒测试2.7 2.7 黑盒测试工具介绍黑盒测试工具介绍n2.7.2黑盒功能测试工具WinRunner 1. WinRunner的测试模式的测试模式 (1)上下文敏感模式(Context Sensitive model) (2)模拟模式(Analog mode) 2GUI对象识别和对象识别和GUI map文件文件 3WinRunner测试过程测试过程 可分为创建GUI map,创建测试,调试测试,执行测试,分析结果和测试维护六个阶段。项绣娥臆律镰商碱噬乍折即坤茹氦夏翠刚侯暮恰兽锈被姜伦迭矾内棘汞厩第二章黑盒测试第二章黑盒测试 2.7.22.7.2黑盒功能测试工具黑盒功能测试工具WinRunnerWinRunner 4WinRunner的使用的使用 WinRunner的主窗口如下所示,主要包括标题栏、菜单栏、标准工具栏、用户栏、状态栏和测试窗口。 骚宾硅祁者螟洲楞袄景频弓脓鞭门比晒版尸敝泡赏霉葛港呆洗讶阳勘迢接第二章黑盒测试第二章黑盒测试2.7.22.7.2黑盒功能测试工具黑盒功能测试工具WinRunnerWinRunnerWinRunner的测试窗口界面如下5WinRunner对样本软件对样本软件Flight1A的测试的测试颧烩蛇濒混萨畦屎页馏函墒蕾躁万衍极仪孜冈堑赛泅薛躬佳滤禾琉氦透度第二章黑盒测试第二章黑盒测试2.7 2.7 黑盒测试工具介绍黑盒测试工具介绍n2.7.3黑盒功能测试工具QTPnQTP属于新一代自动化测试解决方案,能够支持所有常用环境的功能测试。n QTP的主界面与WinRunner的主界面不同,界面中主要部分包括:文件工具栏、测试工具栏 、测试面、数据表格 、活动屏幕。筑商怨涣罪沪胚倚勿戚评恶雅汁拱欣膊柏荒饵宣咆洞蚤族货搜臆殃纫话搭第二章黑盒测试第二章黑盒测试 QTP的主界面2.7.32.7.3黑盒功能测试工具黑盒功能测试工具QTPQTP锄琢晒鼓素沿现塑鲁低吁烧脚涡诬溯毅拇刚靛碰釜撕押除暴避詹际备腻颧第二章黑盒测试第二章黑盒测试2.7.32.7.3黑盒功能测试工具黑盒功能测试工具QTPQTP QTP的测试流程1设计测试用例2创建测试脚本3编辑测试脚本4运行测试5分析测试 QTP适合测试版本比较稳定的软件产品,在一些界面变化不大的回归测试中非常有效,但对于界面变化频率较大的软件,则体现不出QTP的优势。映桐参厉睬正淘姚葡篱琴榷峡躁捏胳画肝沛汾片臂所描泣刷拣媒切肩擒啦第二章黑盒测试第二章黑盒测试2.7 2.7 黑盒测试工具介绍黑盒测试工具介绍n2.7.4 其他常用功能测试工具 1IBM Rational公司的功能测试工具Robot Robot是一个面向对象的软件测试工具,主要针对Web、ERP等进行自动功能测试。用Robot 可完成大多数软件的功能和性能测试,它主要通过编写脚本的方式提供自动化测试,可以开发三种测试脚本:用于功能测试的GUI脚本,用于性能测试的VU(虚拟用户)以及VB(VBScript)脚本。 此外,Rational TeamTest 是一个针对整个功能测试流程(从编写和维护需求,到创建有效的测试脚本,直至缺陷跟踪),提供全面解决方案的团队测试工具。翻酥脚念混匪掐棚旬赣反檬术预了冰惋琳忽敛麦绦桑拓滞陨礼包筛陨猛匡第二章黑盒测试第二章黑盒测试 2.7.4 2.7.4 其他常用功能测试工具其他常用功能测试工具Compuware公司的自动黑盒测试工具QACenter QACcenter这个主要包括应用测试产品的家族,能够自动地帮助管理测试过程,快速分析和调试程序,能够针对回归测试,强度测试,单元测试,并发测试,集成测试,移植测试,容量和负载测试建立测试用例,自动执行测试并产生相应的文档。 QACenter主要包括:功能测试工具QARun,性能测试工具QALoad,可用性管理工具EcoTools和性能优化工具EcoScope。喂湾泣区踏尘谬雄毒锄刨尿烟浴剥烃皿团肌饼狱膛厢棉良喊可槐婉萤沧凿第二章黑盒测试第二章黑盒测试n习题习题21分析黑盒测试方法的实质及测试用例设计的要点,掌握黑盒测试用例设计的主要思路。2试用等价类分析方法,对实例程序进行测试。3试用边界值分析方法,对实例程序进行测试。4试用决策表方法,对实例程序进行测试。5启动Word程序并从File菜单中选择Print命令,打开打印对话框,左下角显示的Print Range(打印区域)存在什么样的边界条件?6对三角形问题的一种常见补充是检查直角三角形。如果满足毕达哥拉斯(Pythagorean)关系(c2=a2+b2),则三条边构成直角三角形。试针对包含了直角三角形的扩展三角形问题来设计标准等价类测试用例。建掩喝急憨仓蝇钞赘沏陀钎钦墒代站病测因溃蜘泳句价午措暗诅藐扳象部第二章黑盒测试第二章黑盒测试试为三角形问题中的直角三角形开发一个决策表和相应的测试用例。注意,会有等腰直角三角形。8学习安装WinRunner或QTP,并通过操作实践其自带的“机票预定系统”,掌握该软件测试工具的基本使用方法和主要功能。9试编辑一个测试脚本,并进行测试实践。10用WinRunner或QTP来测试一个网上购物系统,要求:录制整个购物流程;练习插入各种检查点11运用WinRunner或QTP,对本校校园网站进行测试并分析测试结果。12从网上搜索一款免费黑盒测试工具,下载按照在计算机机上,学习其使用方法,并选一个被测程序进行测试实践。 舵捏才猾乙洼杉梭孩事循伙肮辅雁躬敝帝干婆漫障昧冻串灵搞茫拎异冻函第二章黑盒测试第二章黑盒测试
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号