《软件测试新的》PPT课件.ppt

上传人:牧羊曲112 文档编号:5610151 上传时间:2023-08-02 格式:PPT 页数:117 大小:521KB
返回 下载 相关 举报
《软件测试新的》PPT课件.ppt_第1页
第1页 / 共117页
《软件测试新的》PPT课件.ppt_第2页
第2页 / 共117页
《软件测试新的》PPT课件.ppt_第3页
第3页 / 共117页
《软件测试新的》PPT课件.ppt_第4页
第4页 / 共117页
《软件测试新的》PPT课件.ppt_第5页
第5页 / 共117页
点击查看更多>>
资源描述

《《软件测试新的》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件测试新的》PPT课件.ppt(117页珍藏版)》请在三一办公上搜索。

1、请设计求解下列问题的算法,main()int i,j;float sum;sum=0.0;for(i=1;i=20;i+)for(j=1;j=3;j+)sum=sum+(i+1)*(i+1)*(j+2);printf(“sum=%dn”,sum);,内循环次数,20X4=80,外循环次数,21,总循环次数,101,main()int i,j;float sum;sum=0.0;for(j=1;j=3;j+)for(i=1;i=20;i+)sum=sum+(i+1)*(i+1)*(j+2);printf(“sum=%dn”,sum);,应把变化范围大的循环变量放在内层。,内循环次数,3X21=6

2、3,外循环次数,4,总循环次数,67,main()int i,j;float sum;sum=0.0;for(j=1;j=3;j+)for(i=1;i=20;i+)sum=sum+(i+1)*(i+1)*(j+2);printf(“sum=%dn”,sum);,j+2 共计执行了,3X20=60次,main()int i,j;float sum;sum=0.0;for(j=1;j=3;j+)k=j+2;for(i=1;i=20;i+)sum=sum+(i+1)*(i+1)*k;printf(“sum=%dn”,sum);,j+2 共计执行了,3次,减少了57次,应尽量把与循环变量无关的运算移到

3、循环外去。,main()int i,j;float sum;sum=0.0;for(j=1;j=3;j+)k=j+2;for(i=1;i=20;i+)sum=sum+(i+1)*(i+1)*k;printf(“sum=%dn”,sum);,i+1 共计执行了,60X60=120次,main()int i,j;float sum;sum=0.0;for(j=1;j=3;j+)k=j+2;for(i=1;i=20;i+)m=i+1;sum=sum+m*m*k;printf(“sum=%dn”,sum);,i+1 共计执行了,60次,第七章软件测试,7.1 软件测试的目的和原则7.2 软件测试方法7

4、.3 白盒测试的测试用例设计7.4 黑盒测试的测试用例设计7.5 软件测试策略7.6 软件测试的种类,在开发软件的过程中,我们使用了保证软件质量的方法分析、设计和实现软件,但难免还会在工作中 犯错误。这样,在软件产品中就会隐藏着许多错误和 缺陷。特别是对于规模大、复杂性高的软件更是如 此。在这些错误中,有些是致命性的错误如果不排除,就会导致生命与财产的重大损失。,DO 5 I=1,3,DO 5 I=1.3,1 美国航天,2 1999年 美国航天局的火星极地登陆飞船失踪,由于某一个数据位被意外的更改,3 金山词霸,软件测试是为了发现错误而执行程序的过程。或者 说,软件测试是根据软件开发各阶段的规

5、格说明和程序 内部结构而精心设计的一批测试用例(即输入数据及预 期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。,什么是软件测试,测试工具软件开发工程师(Software Development Engineer in Test,简称SDE/T),软件测试人员,软件测试工程师(Software Test Engineer,简称STE),SDE/T,负责写测试工具代码,并利用测试工具对软件进行测试;或者开发测试工具为软件测试工程师服务。,负责理解产品的功能要求,然后对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性,并写出相应的测试规范和测试案例。,STE,E

6、xchange 2000 和 Windows 2000 的人员结构,例如,,软件测试人员的任务很清楚,就是站在使用者的角度上,通过不断地使用和攻击刚开发出来的软件产品尽量多地找出产品存在的问题,也就是我们所称的 Bug。,7.1软件测试的基础,软件测试的目的软件测试的原则软件测试的对象测试信息流测试与软件开发各阶段的关系,7.1.1软件测试的目的,基于不同的立场,存在着两种完全不同的测试目的。从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们

7、对软件质量的信心。,Myers软件测试目的,(1)测试是程序的执行过程,目的在于发现错误;(2)一个好的测试用例在于能发现至今未发现的错误;(3)一个成功的测试是发现了至今未发现的错误的测试。,换言之,测试的目的是 想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。实施测试收集到的测试结果数据为可靠性分析提供了依据。测试不能表明软件中不存在错误,它只能说明软件中存在错误。,7.1.2软件测试的原则,1.应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。2.测试

8、用例应由测试输入数据和对应的预期输出结果这两部分组成。3.程序员应避免检查自己的程序。一个很残酷的事情。“无情”4.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。,5.充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。6.严格执行测试计划,排除测试的随意性。7.应当对每一个测试结果做全面检查。8.测试的真理:测试只能证明缺陷的存在,而不能证明缺陷的不存在。9.测试与质量的关系:测试有助于提高软件的质量,但是提高软件质量不能依赖于测试。,7.1.3 软件测试的对象,软件测试并不等于程序测试。软件测试应贯穿于软件定义与开发的整个期间。需求

9、分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象。,7.1.4测试信息流,建立可靠性模型,测试信息流,软件配置:软件需求规格说明、软件设计规格说明、源代码等;测试配置:测试计划、测试用例、测试程序等;测试工具:测试数据自动生成程序、静态分析程序、动态分析程序、测试结果分析程序、以及驱动测试的测试数据库等等。,测试结果分析:比较实测结果与预期结果,评价错误是否发生。排错(调试):对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档。修正后的文档再测试:直到通过测试为止。,通过

10、收集和分析测试结果数据,对软件建立可靠性模型利用可靠性分析,评价软件质量:软件的质量和可靠性达到可以接受的程度;所做的测试不足以发现严重的错误;如果测试发现不了错误,可以肯定,测试配置考虑得不够细致充分,错误仍然潜伏在软件中。,7.1.5测试与软件开发各阶段的关系,软件开发过程是一个自顶向下,逐步细化的过程软件计划阶段定义软件作用域软件需求分析建立软件信息域、功能和性能需求、约束等软件设计:编码阶段:把设计用某种程序设计语言转换成程序代码,测试过程是依相反顺序安排的自底向上,逐步集成的过程。,7.2 软件测试方法,两种常用的测试方法 黑盒测试 白盒测试,软件的测试设计与软件产品的设计一样,是一

11、项需要 花费许多人力和时间的工作,我们希望以最少量的时间和 人力,最大可能地发现最多的错误。,7.2.1黑盒测试,这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。黑盒测试又叫做功能测试或数据驱动测试。,黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:是否有不正确或遗漏了的功能?在接口上,输入能否正确地接受?能否输出正确的结果?是否有数据结构错误或外部信息(例如数据文件)访问错误?性能上是否能够满足要求?是否有初始化或终止性错误?,用黑盒测试发现程序中的错误,必须在所有可能的输入条件和

12、输出条件中确定测试数据,来检查程序是否都能产生正确的输出。但这是不可能的。,假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试:可能采用的 测试数据组:232232 264 如果测试一 组数据需要1毫秒,一年工作365 24小时,完成所有测试需5亿年。,黑盒测试的内容,7.2.2 白盒测试,此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。,软件人员使

13、用白盒测试方法,主要想对程序模块进行如下的检查:对程序模块的所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性,等。,对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。给出一个小程序的流程图,它包括了一个执行20次的循环。包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365 24小时,要想把所有路径测试完,需3170年。,7.3.1逻辑覆盖,7.3 白盒测试的测试用例设计,逻辑覆盖测试方法通常采用流程图来设计测试用例,它考察的重点是图中的判定框,

14、因为这些判定通常是与选择结构有关或是与循环结构有关,是决定程序结构的关键成分。,逻辑覆盖测试的5种标准,例,(1)语句覆盖,语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。在图例中,正好所有的可执行语句都在路径L1上,所以选择路径 L1设计测试用例,就可以覆盖所有的可执行语句。,b,d,a,输出的:A,B,X,c,e,输入的:A,B,X,2,0,4,2,0,3,满足语句覆盖的测试用例如下,a,c,e,-,-,ace(L1),abd(L2),abe(L3),acd(L4),L1,此方法发现不了判断中出现的逻辑运算中出现的错误。,(2)判定覆盖,判定覆盖就是设计若干个

15、测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。判定覆盖又称为分支覆盖。对于图例,如果选择路径L1和L2,就可得满足要求的测试用例:,2,0,42,0,3,取“真”分支测试用例如下,a,c,e,-,-,a,b,d,-,-,1,1,11,1,1,取“假”分支测试用例如下,L1,L2,2,1,12,1,2,取“真假”分支测试用例如下,a,b,e,-,-,L3,如果选择路径L3和L4,还可得另一组可用的测试用例:,3,0,33,0,1,取“真假”分支测试用例如下,a,c,d,-,-,L4,X1 错写成 X1,(3)条件覆盖,条件覆盖就是设计若干个测试用例,运行被测程序,使

16、得程序中每个判断的每个条件的可能取值至少执行一次。在图例中,我们事先可对所有条件的取值加以标记。例如,对于第一个判断:条件 A1 取真为,取假为 条件 B0 取真为,取假为,对于第二个判断:条件A2 取真为,取假为 条件X1 取真为,取假为测试用例 覆盖分支 条件取值【(2,0,4),(2,0,3)】L1(c,e)【(1,0,1),(1,0,1)】L2(b,d)【(2,1,1),(2,1,2)】L3(b,e)或,请判断这组用例的判定覆盖,测 试 用 例覆盖分支 条件取值【(1,0,3),(1,0,4)】L3(b,e)【(2,1,1),(2,1,2)】L3(b,e),请判断这组用例的判定覆盖,第

17、二组仅仅覆盖了第一个判定的取假分支和第二个判定的取真分支,不能满足判定覆盖的要求!,(4)判定条件覆盖判定条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断中的每个条件的可能取值至少执行一次。,测 试 用 例覆盖分支 条件取值【(2,0,4),(2,0,3)】L1(c,e)【(1,1,1),(1,1,1)】L2(b,d),但是仍然有些逻辑表达式中的错误不能检查出来!因为:0*a=a 1+a=1 因此要把复合判定拆分!,and,or,(5)条件组合覆盖,条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。记

18、A1,B0 作 A1,B0 作 A1,B0 作 A1,B0 作,A2,X1 作 A2,X1 作 A2,X1 作 A2,X1 作 测 试 用 例 覆盖条件 覆盖组合【(2,0,4),(2,0,3)】(L1),【(2,1,1),(2,1,2)】(L3),【(1,0,3),(1,0,4)】(L3),【(1,1,1),(1,1,1)】(L2),(6)路径测试,路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。测 试 用 例 通过路径 覆盖条件【(2,0,4),(2,0,3)】ace(L1)【(1,1,1),(1,1,1)】abd(L2)【(1,1,2),(1,1,3)】abe(L3)【(3,0

19、,3),(3,0,1)】acd(L4),7.3.2基本路径测试,基本路径测试方法把覆盖的路径数压缩到一定限度内,程序中的循环体最多只执行一次。它是在程序控制流图的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,设计测试用例的方法。设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。,1.程序的控制流图,符号为控制流图的一个结点,表示一个或多个无分支的PDL语句或源程序语句。箭头为边,表示控制流的方向。,在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。如果判断中的条件表达式是由一个或多个逻辑

20、运算符(OR,AND,NAND,NOR)连接的复合条件表达式,则需要改为一系列只有单个条件的嵌套的判断。,2.程序环路复杂性,程序的环路复杂性给出了程序基本路径集中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。从控制流图来看,一条独立路径是至少包含有一条在其它独立路径中从未有过的边的路径。,例如,在图示的控制流图中,一组独立的路径是path1:1-11path2:1-2-3-4-5-10-1-11path3:1-2-3-6-8-9-10-1-11path4:1-2-3-6-7-9-10-1-11路径 path1,path2,path3,path4组成了控制

21、流图的一个基本路径集。,3.导出测试用例,导出测试用例,确保基本路径集中的每一条路径的执行。根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到 用逻辑覆盖方法。,每个测试用例执行之后,与预期结果进行比较。如果所有测试用例都执行完毕,则可以确信程序中所有的可执行语句至少被执行了一次。必须注意,一些独立的路径(如例中的路径1),往往不是完全孤立的,有时它是程序正常的控制流的一部分,这时,这些路径的测试可以是另一条路径测试的一部分。,7.4 黑盒测试的测试用例设计,等价类划分 边界值分析 错误推测法 因果图,7.4.1等价类划分,等价类划分是一种典型的黑盒测试方法,使用这一方法时,完

22、全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。,使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。一划分等价类等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。,等价类的划分有两种不同的情况:有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。利用它可以检 验程序是否实现预先规定的功能和性能。无效等价类:是指对于程序的规格说明

23、来说,是不合理的,无意义的输入数据构成的集合。程序员 主要利用这一类测试用例来检查程序中功能和 性能的实现是否不符合规格说明要求。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。,划分等价类等价类的原则。(1)如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。,例如,在程序的规格说明中,对输入条件有一句话:“项数可以从1到999”则有效等价类是“1项数999”两个无效等价类是“项数1”或“项数999”。在数轴上表示成:,(2)如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。例如,在C语言中对变量

24、标识符规定为“以字母打头的串”。那么所有以字母打头的构成有效等价类,而不在此集合内(不以字母打头)的归于无效等价类。,(3)如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。,(4)、如果规定了输入数据是一组值,而且程 序要对每个输入值分别进行处理。这时可为每一 个输入值确立一个有效等价类此外再针对这组确 立一个无效等价类,它应是所有不允许输入值的 集合。,(5)如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。,例如,Pascal语言规定“一个语句必须以分号;结束”。这时,可以确定一个有效等价类“以;结束”,若干

25、个无效等价类“以:结束”、“以,结束”、“以 结束”、“以LF结束”等。,1、划分等价类不仅要要考虑代表“有效”输 入值的有效等价类,还需考虑代表“无效”输入 值的无效等价类。,采用这一技术要注意以下两点:,2、每一无效等价类至少要用一个测试用例,不然就可能漏掉某一类错误,但允许若干有 效等价类合用同一个测试用例,以便进一步减 少测试的次数。,二、确立测试用例,确立测试用例原则,为每一个等价类规定一个唯一的编号。,设计一个新的测试用例,使其尽可能地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。,设计一个新的测试用例,使其仅覆盖尚未被覆盖的无效等价类,重复这一步,直到

26、所有的无效等价类都被覆盖为止。,用等价类划分法设计测试用例的实例 在某一个PASCAL 语言版本中规定 1、标识符是由字母开头,后跟字母或数字 的任意组合构成。有效字符数为8个,最大 字符数为80 个;2、标识符必须先说明,后使用;3、在同一个说明语句中,标识符至少必须 有一个。,举例,用等价类划分的方法,建立输入等价类表:,下面选取了9个测试用例,它们覆盖了所有的等价类。VAR x,T1234567:REAL;BEGIN x:=3.414;T1234567:=2.732;.(1),(2),(4),(8),(9),(12),(14)VAR:REAL;(3)VAR x,:REAL;(5),VAR

27、 T12345678:REAL;(6)VAR T12345.:REAL;(7)多于80个字符 VAR T$:CHAR;(10)VAR GOTO:INTEGER;(11)VAR 2T:REAL;(13)VAR PAR:REAL;(15)BEGIN.PAP:=SIN(3.14*0.8)/6;,练习,某工厂公开招工,规定报名者年龄应在1635 周岁之间(到1995年6月30日为止),即出生年月不早于1960年7月,不晚于1979年6月。报名程序具有自动检验输入数据的功能。如出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。请试用等价分类法,设计出生年月的等价分类表。,二、请利用等价

28、分类法为以下提供的内容设计测试用例,假定已知出生年月是由 6 位数字字符表示,前4 位代表年,后2 位代表月,则可以划分为 3 个有效等价类和 7 个无效等价类。,1、划分出生年月等价分类表,2、设计有效等价类需要的测试用例,197011,输入有效,、,MAY,70,输入无效,有非数字字符,19705,输入无效,输入无效,少于6个数字字符,1968011,196008,195512,196200,197222,年龄不合格,年龄不合格,输入无效,输入无效,多于6个数字字符,196007,197906,等于“0”,12,3、为每一个无效等价类至少设计一个测试用例,等价类划分方法评价:优点:用少量有

29、代表性的例子代替大量测试目的系统的例子,有效提高了测试效率。缺点:没有注意某些高效的能够发现更多错误的测试用例,孤立考虑各个输入数据的测试功能。没有考虑多个输入数据组合引起的错误。,7.4.2边界值分析,边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。,这里所说的边界是指,相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取正好等于,刚刚大于,或刚刚

30、小于边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。,If(196007=value(birthdate)=197906)Then read(birthday)Else write“invalid age!”,为了接受年龄合格的报名者则程序中可能设有语句为:,1、等价分类法的测试数据是在各个等价类允许的值域内 任意选取的,而边界值分析法的测试数据必须在边界 值附近选取。,2、在公开招工的例子中,采用等价分类法设计了 8个测试 用例而边界值分析法则设计了13 个,所以,一般来说,用边界值分析法设计的测试用例要比等价分类法的代 表性更广,发现错误的能力也更强。但是对边界的分析

31、 与确定比较复杂,它要求测试人员具有更多的经验和长 找性。,等价分类法与边界值分析法的比较,7.4.3错误推测法,人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子。这就是错误推测法。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。,7.4.4因果图,因果图的适用范围如果在测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。,7.5 软件测试的策略,测试过

32、程按4个步骤进行,即单元测试、组装测试、确认测试和系统测试。开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。,组装测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。,7.6测试种类,软件测试是由一系列不同的测试组成。主要目的是对以计算机为基础的系统进行充分的测试。,功能测试功能测试又称正确性测试,它检查软件的功能是否符合规格说明。由于

33、正确性是软件最重要的质量因素,所以其测试也最重要。基本的方法是构造一些合理输入,检查是否得到期望的输出。这是一种枚举方法。,可靠性测试如果系统需求说明书中有对可靠性的要求,则需进行可靠性测试。平均失效间隔时间 MTBF(Mean Time Between Failures)是否超过规定时限?因故障而停机的时间 MTTR(Mean Time To Repairs)在一年中应不超过多少时间。,容错性测试容错性测试是检查软件在异常条件下的行为。容错性好的软件能确保系统不发生无法意料的事故。比较温柔的容错性测试通常构造一些不合理的输入来引诱软件出错,例如:(1)输入错误的数据类型,如“猴”年“马”月。

34、(2)输入定义域之外的数值,上海人常说的“十三点”也算一种。,性能测试性能测试是要检查系统是否满足在需求说明书中规定的性能。特别是对于实时系统或嵌入式系统。性能测试常常需要与强度测试结合起来进行,并常常要求同时进行硬件和软件检测。通常,对软件性能的检测表现在以下几个方面:响应时间、吞吐量、辅助存储区,例如缓冲区,工作区的大小等、处理精度,等等。,在获取测试的“绝对值”时,我们要充分考虑并记录运行环境对测试的影响。在获取测试的“相对值”时,我们要确保被测试的几个软件运行于完全一致的环境中。性能与效率测试中很重要的一项是极限测试,因为很多软件系统会在极限测试中崩溃。例如,连续不停地向服务器发请求,

35、测试服务器是否会陷入死锁状态不能自拔;给程序输入特别大的数据,看看它是否吃得消。,易用性测试 易用性测试没有一个量化的指标,主观性较强。调查表明,当用户不理解软件中的某个特性时,大多数人首先会向同事、朋友请教。要是再不起作用,就向产品支持部门打电话。只有30%的用户会查阅用户手册。一般认为,如果用户不翻阅手册就能使用软件,那么表明这个软件具有较好的易用性。,文档测试这种测试是检查用户文档(如用户手册)的清晰性和精确性、完备性。用户文档中所使用的例子必须在测试中一一试过,确保叙述正确无误。,注意:测试是软件开发最繁重的任务,也是保证软件可靠性最主要的手段。测试的目的是发现程序的错误,而不是证明程序没有错误设计测试用例和纠错,是搞好软件测试的两项关键技术。,测试方法的选用,测试策略,1、在任何情况下都应该使用边界值 分析的方法。,2、必要时用等价类划分法补充测试 方案。,3、必要时再用错误猜测法补充测试 方案。,4、对照程序逻辑,检查已经设计出 出的测试方案。可以根据对程序 可靠性的要求采用不同的逻辑覆 盖标准,如果现有测试方案的逻 辑程度没有达到要求的覆盖标准 则应再补充一些测试方案。,用黑盒设计基本的测试方案,再用白盒放补充一些必要的测试方案。,本章总结,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号