软件工程导论7软件测试课件_第1页
软件工程导论7软件测试课件_第2页
软件工程导论7软件测试课件_第3页
软件工程导论7软件测试课件_第4页
软件工程导论7软件测试课件_第5页
已阅读5页,还剩309页未读 继续免费阅读

下载本文档

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

文档简介

第七章软件测试引言软件系统的开发体现了人们智力劳动的成果。在软件开发过程中,尽管人们利用了许多旨在改进、保证软件质量的方法去分析、设计和实现软件,但难免会在工作中犯这样那样的错误。这样,在软件产品中就会隐藏许多的错误和缺陷。对于规模大、复杂性高的软件更是如此。在这些错误中,有些甚至是致命的错误,如果不排除,就会导致财产以至生命的重大损失。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/20221软件工程导论第七章软件测试引言测试基础用例设计白盒测试黑盒测试本章小第七章软件测试引言例如,1963年美国发生了这样一件事:一个FORTRAN程序的循环语句:DO5I=1,3被误写成:DO5I=1.3由于空格对FORTRAN编译程序没有意义,误写的语句被当作了赋值语句:DO5I=1.3这里“,”被误写为“.”,一点之差致使飞往火星的火箭爆炸,造成1000万美元的损失。这种情况迫使人们必须认真计划、彻底地进行软件测试。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/20222软件工程导论第七章软件测试引言测试基础用例设计白盒测试黑盒测试本章小第七章软件测试7.1软件测试的基础7.2测试用例设计7.3白盒测试的测试用例设计7.4黑盒测试的测试用例设计7.5软件测试的策略7.6人工测试7.7调试(Debug,排错)7.8本章小结测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/20223软件工程导论第七章软件测试7.1软件测试的基础测试基础用例设计白7.1软件测试的基础7.1.1软件测试的概念7.1.2软件测试的目的和原则7.1.3软件测试的对象7.1.4测试信息流7.1.5测试与软件开发各阶段的关系测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/20224软件工程导论7.1软件测试的基础7.1.1软件测试的概念测试基础7.1.1软件测试的概念概述:软件测试是在软件投入生产性运行之前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/20225软件工程导论7.1.1软件测试的概念概述:测试基础用例设计白盒测试黑7.1.1软件测试的概念定义:软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例取运行程序,以发现程序错误的过程。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/20226软件工程导论7.1.1软件测试的概念定义:测试基础用例设计白盒测试黑7.1.1软件测试的概念软件测试在软件生存期中横跨两个阶段:通常在编写出每一模块后就对它作单元测试。模块的编写者与测试者是同一个人。在每个模块都完成单元测试后,对软件系统还要进行各种综合测试,通常由专门的测试人员承担这项工作。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/20227软件工程导论7.1.1软件测试的概念软件测试在软件7.1.2软件测试的目的和原则概述:从用户角度出发:希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可以接受该产品;从软件开发者的角度出发:希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/20228软件工程导论7.1.2软件测试的目的和原则概述:测试基础用例设计白盒7.1.2软件测试的目的和原则测试目的:测试是程序的执行过程,目的在于发现错误;一个好的测试用例在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。也就是说,设计测试的目标是想以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/20229软件工程导论7.1.2软件测试的目的和原则测试目的:测试基础用例设计7.1.2软件测试的目的和原则测试原则:应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭;测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成;程序员应避免检查自己的程序;在设计测试用例时,应当包括合理的输入条件和不合理输入条件;测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202210软件工程导论7.1.2软件测试的目的和原则测试原则:测试基础用例设计7.1.2软件测试的目的和原则测试原则:充分注意测试中的群集现象;严格执行测试计划,排除测试的随意性;应当对每一个测试结果作全面检查;妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202211软件工程导论7.1.2软件测试的目的和原则测试原则:测试基础用例设计7.1.3软件测试的对象软件测试并不等于程序测试。软件测试应贯穿于软件定义与开发的整个期间。因此,需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档资料,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象。软件测试不应仅限在程序测试的狭小范围内,而置其它阶段的工作于不顾。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202212软件工程导论7.1.3软件测试的对象软件测试并不等于程序测试。软件测7.1.3软件测试的对象软件测试包括确认和验证工作:确认(validation),是一系列的活动和过程,其目的是想证实在一个给定的外部环境中软件的逻辑正确性。静态确认:通过人工分析或程序正确性证明来确认程序的正确性;动态确认:通过动态分析和程序测试来检查程序的执行状态,以确认程序是否正确。验证(verification):视图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202213软件工程导论7.1.3软件测试的对象软件测试包括确认和验证工作:测试7.1.3软件测试的对象软件生存期各个阶段之间需要保持的正确性测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错用户要求用户:我要什么?运行结果计算机:程序运行得到的结果设计说明书设计原:我要让程序做什么?源程序程序员:我要让计算机怎么做?需求说明书分析员:我可以提供什么?12345相符吗?理解正确性

表达正确性运行正确性

输入正确性理解正确性

编码正确性理解正确性

设计正确性

表达正确性12/22/202214软件工程导论7.1.3软件测试的对象软件生存期各个阶段之间需要保持的7.1.4测试信息流测试过程需要三类输入:软件配置:包括软件需求规格说明、软件设计规格说明、源代码等;测试配置:包括测试计划、测试计划、测试驱动程序等;测试工具:包括测试数据自动生成程序、静态分析程序、动态分析程序、测试结果分析程序以及驱动测试的测试数据库等。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202215软件工程导论7.1.4测试信息流测试过程需要三类输入:测试基础用例设7.1.4测试信息流测试信息流测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错可靠性分析结果分析测试排错错误改正的软件预测的可靠性果

测预

果软件配置测试配置测试工具出

据12/22/202216软件工程导论7.1.4测试信息流测试信息流测试基础用例设计白盒测试黑7.1.5测试与软件开发各阶段的关系软件开发过程是一个自顶向下、逐步细化的过程,而测试过程则是依相反的顺序安排的、自底向上、逐步集成的过程。低一级测试为上一级测试准备条件。当然不排除两者平行地进行测试。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202217软件工程导论7.1.5测试与软件开发各阶段的关系软件开发过程是一个自7.1.5测试与软件开发各阶段的关系软件测试与软件开发过程的关系测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错需求分析确认测试设计集成测试编程单元测试需求分析

说明书概要设计

说明书详细设计

说明书源程序

代码确认

测试集成

测试单元

测试12/22/202218软件工程导论7.1.5测试与软件开发各阶段的关系软件测试与软件开发过7.2测试用例设计任何工程产品都可以使用以下两种方法之一进行测试:黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求;白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202219软件工程导论7.2测试用例设计任何工程产品都可以使黑盒测试黑盒测试主要根据软件的外部特性进行,主要为了发现:是否有不正确或遗漏了的功能?在接口上输入能否正确地接受?能否输出正确的结果?是否有数据结构或外部信息访问错误?性能上是否能够满足要求?是否有初始化或终止性错误?测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7.2测试用例设计12/22/202220软件工程导论黑盒测试测试基础用例设计白盒测试黑盒测试本章小结测试策略人工白盒测试白盒测试是对软件的过程性细节作细致的检查,主要对程序模块进行检查:对程序模块的所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测试一次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7.2测试用例设计12/22/202221软件工程导论白盒测试测试基础用例设计白盒测试黑盒测试本章小结测试策略人工但对一个具有多种选择和循环体嵌套的程序,不同的路径数据可能是天文数字。而且即使精确地实现了白盒测试,也不能断言测试过的程序完全正确。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7.2测试用例设计12/22/202222软件工程导论但对一个具有多种选择和循环体嵌套的程序,不同的路径数据可能是例如,100行源代码,包括一个执行达20次的循环,共包含不同执行路径数高达520(=1013),如进行穷举测试,假设测试需要1毫秒/条,一天工作24小时,一年工作365天,则测试完成需要3170年。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错7.2测试用例设计循环≤20次12/22/202223软件工程导论例如,100行源代码,包括一个执行达20次的循环,共包含不同7.3白盒测试的测试用例设计7.3.1逻辑覆盖7.3.2语句覆盖7.3.3判定覆盖7.3.4条件覆盖7.3.5判定-条件覆盖7.3.6条件组合覆盖7.3.7路径覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202224软件工程导论7.3白盒测试的测试用例设计7.3.1逻辑覆盖测试基7.3.1逻辑覆盖逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。它属于白盒测试。这一方法要求测试人员对程序的逻辑结构有清楚的了解,甚至要能掌握源程序的所有细节。由于覆盖测试的目标不同,又可分为:语句覆盖判定覆盖判定-条件覆盖条件组合覆盖路径覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202225软件工程导论7.3.1逻辑覆盖逻辑覆盖是以程序内部的逻辑结构为基础的7.3.1逻辑覆盖测试用例设计参考实例4条路径:L1:aceL2:abdL3:abeL4:acd测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错(A>1)∧(B=0)(A=2)∨(X>1)X=X/AX=X+1FFTTabcde12/22/202226软件工程导论7.3.1逻辑覆盖测试用例设计参考实例测试基础用例设计白7.3.1逻辑覆盖各路径逻辑式:L1(ace)L2(abd)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202227软件工程导论7.3.1逻辑覆盖各路径逻辑式:测试基础用例设计白盒测试7.3.1逻辑覆盖各路径逻辑式:L3(abe)L4(acd)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202228软件工程导论7.3.1逻辑覆盖各路径逻辑式:测试基础用例设计白盒测试7.3.2语句覆盖概述:所谓语句覆盖就是设计若干个测试用例,运行被测程序,使得每一个可执行语句至少执行一次。实例中正好所有的可执行语句都在路径L1上,所以选择路径L1设计测试用例,就可以覆盖所有可执行语句。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202229软件工程导论7.3.2语句覆盖概述:测试基础用例设计白盒测试黑盒测试7.3.2语句覆盖测试用例设计格式:【输入的(A,B,X),输出的(A,B,X)】实例的测试用例:【(2,0,4),(2,0,3)】覆盖ace【L1】测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202230软件工程导论7.3.2语句覆盖测试用例设计格式:测试基础用例设计白盒7.3.3判定覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述:所谓判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。故又称分支覆盖。实例中选择路径L1和L2,或者L3和L4设计测试用例,均可以覆盖所有判定分支。12/22/202231软件工程导论7.3.3判定覆盖测试基础用例设计白盒测试黑盒测试本章小7.3.3判定覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错实例的测试用例:选择L1和L2得到测试用例:【(2,0,4),(2,0,3)】覆盖ace【L1】【(1,1,1),(1,1,1)】覆盖abd【L2】选择L3和L4得到测试用例:【(2,1,1),(2,1,2)】覆盖abe【L3】【(3,0,3),(3,1,1)】覆盖acd【L4】12/22/202232软件工程导论7.3.3判定覆盖测试基础用例设计白盒测试黑盒测试本章小7.3.4条件覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述:所谓条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。实例中记:判断条件取真取假第一个判断A>1T1B=0T2第二个判断A=2T3X>1T412/22/202233软件工程导论7.3.4条件覆盖测试基础用例设计白盒测试黑盒测试本章小实例的测试用例:选择L1、L2、L3得到测试用例:选择L3得到测试用例:7.3.4条件覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错测试用例通过路径条件取值覆盖分支【(2,0,4),(2,0,3)】ace(L1)c,e【(1,0,1),(1,0,1)】abd(L2)b,d【(2,1,1),(2,1,2)】abe(L3)b,e测试用例通过路径条件取值覆盖分支【(1,0,3),(1,0,4)】abd(L3)b,e【(2,1,1),(2,1,2)】abe(L3)b,e12/22/202234软件工程导论实例的测试用例:7.3.4条件覆盖测试基础用例设计白盒测7.3.5判定-条件覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述:所谓判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。12/22/202235软件工程导论7.3.5判定-条件覆盖测试基础用例设计白盒测试黑盒测试实例的测试用例:实例中只须设计两个测试用例即可覆盖8个条件取值及4个判断分支:从表面上看,判定-条件覆盖测试了所有条件的取值,但实际上有些条件并没有检查到。如第一个判断中的(B=0)和第二个判断中的(X>1)。7.3.5判定-条件覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错测试用例通过路径条件取值覆盖分支【(2,0,4),(2,0,3)】ace(L1)c,e【(1,1,1),(1,1,1)】abd(L2)b,d12/22/202236软件工程导论实例的测试用例:7.3.5判定-条件覆盖测试基础用例设计7.3.5判定-条件覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错为彻底检查所有条件的取值,可以将实例图中的多重判定分解,形成由多个基本判断组成的流程图,这样可以有效地检查所有的条件是否正确。(A>1)X=X/AX=X+1(B=0)(A=2)(X>1)12/22/202237软件工程导论7.3.5判定-条件覆盖测试基础用例设计白盒测试黑盒测试7.3.6条件组合覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述:所谓条件组合覆盖就是设计足够的测试用例,运行被测程序,使得程序中每个判断的所有可能的取值组合至少执行一次。实例中有两个判断,每个判断各有两个条件,所以各有4个条件取值的组合,可用4个测试用例覆盖8个条件取值的组合。12/22/202238软件工程导论7.3.6条件组合覆盖测试基础用例设计白盒测试黑盒测试本7.3.6条件组合覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错实例中各判断条件取值组合标记:标记条件覆盖条件判断分支①第一个取真②取假③取假④取假⑤第二个取真⑥取真⑦取真⑧取假12/22/202239软件工程导论7.3.6条件组合覆盖测试基础用例设计白盒测试黑盒测试本7.3.6条件组合覆盖测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错实例测试用例:测试用例通过路径覆盖条件覆盖组合号【(2,0,4),(2,0,3)】ace(L1)①,⑤【(2,1,1),(2,1,2)】abe(L3)②,⑥【(1,0,3),(1,0,4)】abe(L3)③,⑦【(1,1,1),(1,1,1)】abd(L2)④,⑧12/22/202240软件工程导论7.3.6条件组合覆盖测试基础用例设计白盒测试黑盒测试本7.3.7路径测试测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述:所谓路径覆盖就是设计足够的测试用例,运行被测程序,使得程序中所有可能的路径至少执行一次。实例中设计4个测试用例即可覆盖该程序段的所有路径L1、L2、L3和L4。12/22/202241软件工程导论7.3.7路径测试测试基础用例设计白盒测试黑盒测试本章小7.3.7路径测试测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错实例测试用例:测试用例通过路径覆盖条件【(2,0,4),(2,0,3)】ace(L1)【(1,1,1),(1,1,1)】abe(L2)【(1,1,2),(1,1,3)】abe(L3)【(3,0,3),(3,0,1)】abd(L4)12/22/202242软件工程导论7.3.7路径测试测试基础用例设计白盒测试黑盒测试本章小7.4黑盒测试的测试用例设计7.4.1等价类划分7.4.2边界值分析7.4.3错误推测法7.4.4因果图测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202243软件工程导论7.4黑盒测试的测试用例设计7.4.1等价类划分测试7.4.1等价类划分概述等价类划分是一种典型的黑盒测试方法,也是一种非常实用的重要测试方法。使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202244软件工程导论7.4.1等价类划分概述测试基础用例设计白盒测试黑盒测试7.4.1等价类划分步骤1)划分等价类首先将数目极多的输入数据(有效的和无效的)划分为若干等价类。所谓等价类是指某个输入域的子集合。在该子集中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价的代表值等价于对这一类其它值的测试。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202245软件工程导论7.4.1等价类划分步骤1)划分等价类测试基础用例设计白7.4.1等价类划分步骤1)划分等价类等价类划分有两种情况:有效等价类:是指对于程序的规格来说,是合理的、有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的、无意义的输入数据构成的集合。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202246软件工程导论7.4.1等价类划分步骤1)划分等价类测试基础用例设计白7.4.1等价类划分步骤1)划分等价类划分等价类的原则:如果输入条件规定了取值范围或值的个数,则可以确立一个有效等价类和两个无效等价类。如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,则可确立一个有效等价类和一个无效等价类。如果输入条件是一个布尔值,则可以确立一个有效等价类和一个无效等价类。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202247软件工程导论7.4.1等价类划分步骤1)划分等价类测试基础用例设计白7.4.1等价类划分步骤1)划分等价类划分等价类的原则:如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。则可为每一个输入值确立一个有效等价类,针对这组值确立一个无效等价类。如果规定了输入数据必须遵守的规则,则可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。如果我们确知已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202248软件工程导论7.4.1等价类划分步骤1)划分等价类测试基础用例设计白7.4.1等价类划分步骤2)确立测试用例在确立了等价类之后,建立等价类表,列出所有划分出的等价类:再从划分出的等价类中选择测试用例。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错输入条件有效等价类无效等价类………………………………12/22/202249软件工程导论7.4.1等价类划分步骤2)确立测试用例测试基础用例设计7.4.1等价类划分步骤2)确立测试用例测试用例选择原则:为每一个等价类规定一个唯一的编号;设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202250软件工程导论7.4.1等价类划分步骤2)确立测试用例测试基础用例设计7.4.1等价类划分设计实例在某一PASCAL语言版本中规定:“标识符是由字母开头、后跟字母或数字的任意组合构成。有效字符数为8个,最大字符数为80个。”并规定:“标识符必须先说明,再使用。”“在同一说明语句中,标识符至少必须有一个。”测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202251软件工程导论7.4.1等价类划分设计实例测试基础用例设计白盒测试黑盒7.4.1等价类划分实例等价类表测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错输入条件有效等价类无效等价类标识符个数1个(1),多个(2)0个(3)标识符字符数1~8个(4)0个(5),>8个(6),>80个(7)标识符组成字母(8),数字(9)非字母数字字符(10),保留字(11)第一个字符字母(12)非字母(13)标识符使用先说明后使用(14)未说明已使用(15)12/22/202252软件工程导论7.4.1等价类划分实例等价类表测试基础用例设计白盒测试7.4.1等价类划分实例测试用例①VARx,T1234567:REAL;}(1),(2),(4),(8),(9),(12),(14) BEGINx:=3.414;T1234567:=2.732;……②VAR:REAL;}(3)③VARx,:REAL;}(5)④VART12345678:REAL;}(6)⑤VART12345……:REAL;}(7) 多于80个字符测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202253软件工程导论7.4.1等价类划分实例测试用例测试基础用例设计白盒测试7.4.1等价类划分实例测试用例⑥VART$:CHAR;}(10)⑦VARGOTO:INTEGER}(11)⑧VAR2T:REAL;}(13)⑨VARPAR:REAL;}(15) BEGIN…… PAP:=SIN(3.14*0.8)/6;测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202254软件工程导论7.4.1等价类划分实例测试用例测试基础用例设计白盒测试7.4.2边界值分析概述边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入等价类与输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选择等价类中的典型值或任意值作为测试数据。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202255软件工程导论7.4.2边界值分析概述测试基础用例设计白盒测试黑盒测试7.4.2边界值分析选择测试用例的原则(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。(2)如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1、比最小个数少1的数作为测试数据。(3)根据规格说明的每个输出条件,使用前面的原则(1)。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202256软件工程导论7.4.2边界值分析选择测试用例的原则测试基础用例设计白7.4.2边界值分析选择测试用例的原则(4)根据规格说明的每个输出条件,使用前面的原则(2)。(5)如果程序的规格说明给出的输入域或输出域实有序集合(如有序表、顺序文件等),则应选取集合的第一个元素和最后一个元素作为测试用例。(6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。(7)分析规格说明找出其它可能的边界条件。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202257软件工程导论7.4.2边界值分析选择测试用例的原则测试基础用例设计白7.4.2边界值分析设计实例(阅卷给出成绩报告)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错(试题部分)标题180试题数标准答案第1~50题213491059607980标准答案第51~100题2191059607980标准答案第101~150题2191059607980...12/22/202258软件工程导论7.4.2边界值分析设计实例(阅卷给出成绩报告)测试基础7.4.2边界值分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错(学生答卷部分)某甲学号标准答案第1~50题3191059607980标准答案第51~100题3191059607980...某乙学号标准答案第1~50题3191059607980标准答案第51~100题3191059607980...12/22/202259软件工程导论7.4.2边界值分析测试基础用例设计白盒测试黑盒测试本章7.4.2边界值分析记录分组①标题②各题的标准答案③学生的答卷输出报告①按学号排列的成绩单,列出每个学生的成绩、名次;②按学生成绩排列的成绩单;③平均分数及标准偏差的报告;④试题分析报告。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202260软件工程导论7.4.2边界值分析记录分组测试基础用例设计白盒测试黑盒7.4.2边界值分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错输入条件测试用例输入文件[空输入文件]标题[没有标题记录][标题只有一个字符][标题有80个字符]试题数[试题数为1][试题数为50][试题数为51][试题数为100][试题数为999][试题数为0][试题数含有非数字字符]标准答案记录[没有标准答案记录,有标题][标准答案记录多一个][标准答案记录少一个]12/22/202261软件工程导论7.4.2边界值分析测试基础用例设计白盒测试黑盒测试本章7.4.2边界值分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错输入条件测试用例学生人数[0个学生][1个学生][200个学生][201个学生]学生答题[某学生只有一个回答记录,但有两个标准答案记录][该学生是文件中的第一个学生][该学生是文件中的最后一个学生(记录数出错的学生)]学生答题[某学生有两个回答记录,但只有一个标准答案记录][该学生是文件中的第一个学生(记录数出错的学生)][该学生是文件中的最后一个学生]12/22/202262软件工程导论7.4.2边界值分析测试基础用例设计白盒测试黑盒测试本章7.4.2边界值分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错输出条件测试用例学生成绩[所有学生成绩都相等][每个学生的成绩都互不相同][部分(不是全体)学生的成绩相同(检查是否按成绩排名次)][有个学生得0分][有个学生得100分]输出报告①②[有个学生的学号最小(检查按学号排列是否正确)][有个学生的学号最大(检查按学号排列是否正确)][适当的学生人数,使产生的报告刚好印满一页(检查打印页数)][学生人数比刚才多1人(检查打印换页)]12/22/202263软件工程导论7.4.2边界值分析测试基础用例设计白盒测试黑盒测试本章7.4.2边界值分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错输出条件测试用例输出报告③[平均成绩为100分(所有学生都得满分)][平均成绩为0分(所有学生都得0分)][标准偏差为最大值(有一半学生得0分,其他100份)][标准偏差为0(所有学生成绩都相等)]输出报告④[所有学生都答对了第一题][所有学生都答错了第一题][所有学生都答对了最后一题][所有学生都答错了最后一题][选择适当的试题数,使第四个报告刚好打满一页][试题数比刚才多1题,使报告打满一页后,刚好剩下一题未打]12/22/202264软件工程导论7.4.2边界值分析测试基础用例设计白盒测试黑盒测试本章7.4.3错误推测法概述错误推测法的基本想法是:列举出程序中所有可能由的错误和容易发生错误的特殊情况,根据它们选择测试用例。对于模块中常见的错误和程序中容易出错的情况,已有一些经验总结出来。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202265软件工程导论7.4.3错误推测法概述测试基础用例设计白盒测试黑盒测试7.4.3错误推测法实例(阅卷给出成绩报告)错误推测法可以补充一些测试用例:程序是否把空格作为回答;在回答记录中混有标准答案记录;除了标题记录外,还有一些记录的最后一个字符既不是“2”也不是“3”;有两个学生的学号相同;试题数是负值。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202266软件工程导论7.4.3错误推测法实例(阅卷给出成绩报告)测试基础用例7.4.4因果图因果图的适用范围因果图适用于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例的情况。因果图方法最终生成的是判定表。它适合于检查程序输入条件的各种组合情况。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202267软件工程导论7.4.4因果图因果图的适用范围测试基础用例设计白盒测试7.4.4因果图用因果图生成测试用例的基本步骤(1)分析软件规格说明描述中,哪些是原因,哪些是结果,并给每个原因和结果赋予一个标识。(2)分析软件规格说明描述中的语义,找出原因和结果之间、原因与原因之间对应的是什么关系?根据这些关系,画出因果图。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202268软件工程导论7.4.4因果图用因果图生成测试用例的基本步骤测试基础用7.4.4因果图用因果图生成测试用例的基本步骤(3)由于语法或环境限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为了表明这些特殊情况,在因果图上用一记号标明约束或限制条件。(4)把因果图转换成判定表。(5)把判定表的每一列拿出来作为依据,设计测试用例。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202269软件工程导论7.4.4因果图用因果图生成测试用例的基本步骤测试基础用7.4.4因果图在因果图中出现的基本符号(a)恒等:C1E1(b)非:C1E1(c)或:C1C2(d)与:C1C2测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错∨E1∧E112/22/202270软件工程导论7.4.4因果图在因果图中出现的基本符号测试基础用例设计7.4.4因果图表示约束条件的符号测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错EIORMababababacb唯一a和b中必须有一个,且仅有一个成立互斥·排他a、b两个原因不会同时出现包含·或a、b、c三个原因中至少有一个必须成立屏蔽当a是1是b必须是0,而当a为0是b的值不定要求当a出现时b也必须出现12/22/202271软件工程导论7.4.4因果图表示约束条件的符号测试基础用例设计白盒测7.4.4因果图设计实例——自动售货机软件若投入5角钱或1元钱的硬币,押下〖澄汁〗或〖啤酒〗的按钮,则送出相应的饮料。若售货机没有零钱找,则显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出且退出1元硬币;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退出5角硬币。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202272软件工程导论7.4.4因果图设计实例——自动售货机软件测试基础用例设7.4.4因果图设计实例——原因和结果分析测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错原因1.售货机有零钱找结果21.售货机零钱找完灯亮2.投入1元硬币22.退还1元硬币3.投入5角硬币23.找回5角硬币4.押下澄汁按钮24.送出澄汁饮料5.押下啤酒按钮25.送出啤酒饮料12/22/202273软件工程导论7.4.4因果图设计实例——原因和结果分析测试基础用例设7.4.4因果图设计实例——因果图测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错售货机有零钱找投入1元硬币

投入5角硬币押下澄汁按钮

押下啤酒按钮售货机“零钱找完”灯亮退还1元硬币

找回5角硬币送出澄汁饮料

送出啤酒饮料12345212223242511121314EE∨∨∧∧∧∧∧中间结点:11.投入1元硬币且押下饮料按钮12.押下〖澄汁〗或〖啤酒〗按钮13.应当找5角零钱并且售货机有零钱找14.钱已付清12/22/202274软件工程导论7.4.4因果图设计实例——因果图测试基础用例设计白盒测设计实例——判定表序号12345678910123456789201234567893012条件1111111111111111000000000000000011111111000000001111111100000000111100001111000011110000111100001100110011001100110011001100110010101010101010101010101010101010中间结果110000000110000000110110110110110110110000000000000000110111000000111000结果000000000111111111000000000110000000110000000000000000100100000000100000010010000000010000测试用例YYYYYYYYYYYYYYYY1234511121314212223242512/22/202275软件工程导论设计实例——判定表序号12345678910123456787.5软件测试的策略测试过程按4个步骤进行:单元测试组装测试确认测试系统测试测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202276软件工程导论7.5软件测试的策略测试过程按4个步骤进行:测试基础用例7.5软件测试的策略软件测试的过程测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错单元测试单元测试单元测试集成测试确认测试系统测试被测模块被测模块被测模块设

息软

求系

素已经过

测试的

模块已集成的软件已确认的软件可交付的软件12/22/202277软件工程导论7.5软件测试的策略软件测试的过程测试基础用例设计白盒测7.5软件测试的策略7.5.1单元测试(unittesting)7.5.2组装测试(integratedtesting)7.5.3确认测试(validationtesting)7.5.4系统测试(systemtesting)7.5.5测试的步骤及相应的测试种类测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202278软件工程导论7.5软件测试的策略7.5.1单元测试(unitt7.5.1单元测试(unittesting)概述单元测试又称模块测试,是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以并行地独立进行单元测试。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202279软件工程导论7.5.1单元测试(unittesting)概述测试基7.5.1单元测试(unittesting)单元测试的工作测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错模块模块接口出错处理局部数据结构边界条件独立路径12/22/202280软件工程导论7.5.1单元测试(unittesting)单元测试的7.5.1单元测试(unittesting)单元测试的内容单元测试主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,是指对任何合理的输入和不合理的输入,都能鉴别和相应。这要求对所有的局部的和全局的数据结构、外部接口和程序代码的关键部分,都要进行桌前检查和严格的代码审查。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202281软件工程导论7.5.1单元测试(unittesting)单元测试的7.5.1单元测试(unittesting)单元测试的内容(1)模块接口测试:调用本模块时的输入参数与模块的形式参数的匹配情况;本模块调用子模块时,它输入给子模块的参数与子模块中的形式参数的匹配情况;是否修改了只作为输入用的形式参数;全局量的定义在各模块中是否一致;限制是否通过形式参数来传送。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202282软件工程导论7.5.1单元测试(unittesting)单元测试的7.5.1单元测试(unittesting)当使用外设输入/输出时应附加测试:文件属性是否正确;OPEN语句与CLOSE语句是否正确;规定的I/O格式说明与I/O语句是否匹配;缓冲区容量与记录长度是否匹配;在进行读写操作前是否打开了文件;在结束文件处理时是否关闭了文件;正文书写/输入错误以及I/O错误是否检查并作了处理。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202283软件工程导论7.5.1单元测试(unittesting)当使用外设7.5.1单元测试(unittesting)单元测试的内容(2)局部数据结构测试:不正确或不一致的数据类型说明;使用尚未赋值或尚未初始化的变量;错误的初始值或错误的缺省值;变量名拼写错或书写错;不一致的数据类型。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202284软件工程导论7.5.1单元测试(unittesting)单元测试的7.5.1单元测试(unittesting)单元测试的内容(3)路径测试:选择适当的测试用例,对模块中重要的执行路径进行测试。应当设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的错误。对基本执行路径和循环进行测试可以发现大量的路径错误。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202285软件工程导论7.5.1单元测试(unittesting)单元测试的7.5.1单元测试(unittesting)常见的不正确计算:运算的优先次序不正确或误解了运算的优先次序;运算的方式错,即运算的对象彼此在类型上不相容;算法错;初始化不正确;运算精度不够;表达式的符号表示不正确。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202286软件工程导论7.5.1单元测试(unittesting)常见的不正7.5.1单元测试(unittesting)常见的比较和控制流错误:不同数据类型量的相互比较;不正确的逻辑运算符或优先级;因浮点数运算精度问题而造成的量值比较不等;关系表达式中不正确的变量和比较符;差“1”错,即不正确地多循环一次或少循环一次;不适当地修改了循环变量。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202287软件工程导论7.5.1单元测试(unittesting)常见的比较7.5.1单元测试(unittesting)单元测试的内容(4)错误处理测试:比较完善的模块设计要求能预见出错的条件,并设置适当的出错处理,以便在一旦程序出错时,能对出错程序重作安排,保证其逻辑上的正确性。若出现下列情况之一,则表明模块的错误处理功能包含有错误或缺陷:测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202288软件工程导论7.5.1单元测试(unittesting)单元测试的7.5.1单元测试(unittesting)若出现下列情况之一,则表明模块的错误处理功能包含有错误或缺陷:出错的描述难以理解;出错的描述不足以对错误定位,不足以确定出错的原因;显示的错误与实际的错误不符;对错误条件的处理不正确;在对错误处理之前,错误条件已经引起系统的干预。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202289软件工程导论7.5.1单元测试(unittesting)若出现下列7.5.1单元测试(unittesting)单元测试的内容(5)边界测试:在边界上出现错误时常见的。要特别注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202290软件工程导论7.5.1单元测试(unittesting)单元测试的7.5.1单元测试(unittesting)单元测试的步骤通常单元测试是在编码阶段进行的。在源程序代码编制完成,经过评审和验证,确认没有语法错误之后,就开始进行单元测试的测试用例设计。利用设计文档,设计可以验证程序功能、找出程序错误的多个测试用例。对于每一组输入,应有预期的正确结果。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202291软件工程导论7.5.1单元测试(unittesting)单元测试的7.5.1单元测试(unittesting)模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。这些辅助模块分为两种:驱动模块:相当于被测模块的主模块。桩模块:用以代替被测模块调用的子模块。测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错12/22/202292软件工程导论7.5.1单元测试(unittesting)模块并不是7.5.1单元测试(unittesting)单元测试的测试环境测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错驱动模块被测模块桩模块桩模块桩模块测试用例测试结果12/22/202293软件工程导论7.5.1单元测试(unittesting)单元测试的7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述组装测试也叫做集成测试或联合测试。通常,在单元测试的基础上,需要将所有的模块按照设计要求组装成为系统。在单元测试的同时可进行组装测试,发现并排除在模块连接中可能出现的问题,最终构成要求的软件系统。12/22/202294软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错在系统组装时要考虑的问题是:在把各个模块连接起来时穿越模块接口的数据是否会丢失;一个模块的功能是否会对另一个模块的工程产生不利的影响;各个子功能组合起来,能否达到预期要求的父功能;全局数据结构是否有问题;单个模块的误差积累起来,是否会放大,从而达到不能接受的程度。12/22/202295软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错概述选择什么方式把模块组装起来形成一个可运行的系统,直接影响到模块测试用例的形式、所用测试工具的类型、模块编号的次序和测试的次序、以及生成测试用例的费用和调试的费用。把模块组装成系统的方式有两种:一次性组装方式和增殖式组装方式。12/22/202296软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错1)一次性组装方式它是一种非增殖式组装方式。也叫做整体拼装。使用这种方式,首先对每个模块分别进行测试,然后再把所有模块组装在一起进行测试,最终得到要求的软件系统。12/22/202297软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错单元测试和组装顺序ABCDEFABDCEFd1d2d3d4d5s1s2s3s4s5ABCDEF12/22/202298软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错2)增殖式组装方式这种组装方法又称渐增式组装,首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统,在组装过程中边连接边测试,以发现连接过程中产生的问题。最后通过增殖逐步组装成为要求的软件系统。12/22/202299软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错自顶向下的增殖方式这种组装方式将模块按系统程序结构,沿控制层次自顶向下进行组装。其步骤如下:①对主模块进行测试;②采用深度优先或宽度优先策略逐个加入其它模块;③进行回归测试;④判断是否所有的模块都已组装到系统中,是则结束测试,否则转到②。12/22/2022100软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错自顶向下的增殖方式(深度优先)

As4s1s2s3ABCDEFABs2s3EABs2s3EABCs3EABCD加入B测试A加入E加入C加入D加入Fs512/22/2022101软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错桩模块的几种选择

桩模块stubA表示传递的数据信息桩模块stubB桩模块stubC桩模块stubD显示跟踪信息显示传递的信息从一个表(或外部文件)返回一个值进行一项表查询以根据输入参数返回输出参数12/22/2022102软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错自底向上的增殖方式这种组装方式是从程序模块结构的最底层的模块开始组装和测试。其步骤如下:①由驱动模块控制最底层模块的并行测试;②用实际模块代替驱动模块,与其它已测试的直属模块组装成子系统;③为子系统配备驱动模块进行新的测试;④判断是否已组装到达主模块,是则结束测试,否则转到②。12/22/2022103软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错自底向上的增殖方式

Bd4EDd5FCd2Ed1Fd3ABCDEF12/22/2022104软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错驱动模块的几种选择

桩模块driverA表示传递的参数信息调用从属模块从表(或外部文件)中传送参数显示参数兼有驱动程序B、C的功能桩模块driverB桩模块driverC桩模块driverD12/22/2022105软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错混合增殖式测试自顶向下增殖方式的缺点是需要建立桩模块。自底向上增殖方式的缺点是程序一直未能作为一个实体存在,直到最后一个模块加上去后才形成一个实体。鉴于此,通常把以上两种方式结合起来进行组装和测试。12/22/2022106软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错混合增殖式测试常见的综合的增殖方式:衍变的自顶向下的增殖测试;自底向上-自顶向下的增殖测试;回归测试。12/22/2022107软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测试本章小结测试策略人工测试调试排错3)组装测试的组织和实施组装测试是一种正规测试过程,必须精心计划,并与单元测试的完成时间协调起来。12/22/2022108软件工程导论7.5.2组装测试(integratedtesting7.5.2组装测试(integratedtesting)测试基础用例设计白盒测试黑盒测

温馨提示

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

评论

0/150

提交评论