版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章要点一、软件测试基础
二、单元测试三、集成测试四、确认测试五、白盒测试技术六、黑盒测试技术七、调试八、软件可靠性
0chapter__7黑盒测试基于需求的测试1chapter__7黑盒测试法的概念黑盒测试被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。采用黑盒测试的目的主要是在已知软件产品所应具有的功能的基础上,进行:(1)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要求是否满足。(2)检测人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。(3)检测程序初始化和终止方面的错误。黑盒测试能不能取代白盒测试?2chapter__7黑盒测试法的概念黑盒法,力图发现下错误类型:①功能不正确或遗漏了功能;②界面(接口)错误;③数据结构错误或外部数据库访问错误;④性能错误;⑤初始化和终止错误。白盒测试在早期阶段进行,黑盒法主要在后期;3chapter__7等价分类法边值分析法错误推测法黑盒法测试常用的测试方法有:
4chapter__7一、等价类划分等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。注①:这样选取的测试数据最有代表性,可以用较少的测试数据,有效的发现程序中的错误注②:由于“穷尽”的黑盒测试是不现实的,等价划分是一种较好的策略,以期用较小的代价,暴露出较多的错误使用这一方法设计测试用例要经历下面二步:
1)划分等价类(列出等价类表)
2)选取测试用例。5chapter__7(一)、如何划分等价类
等价类的划分有两种不同的情况:
①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。
②无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
一、等价类划分(续)6chapter__7经验1:如果规定了输入值的范围,则可划分出:1个有效的等价类(输入值在此范围内),2个无效的等价类(输入值小于最小值、大于最大值);例,输入学生成绩,范围为0-100输入条件有效等价类无效等价类范围为0-1000≤成绩≤100成绩<0成绩>1007chapter__7经验2如果规定了输入数据的个数,则类似地也可以划分出1个有效的等价类和2个无效的等价类;例,要求输入三个数据输入条件有效等价类无效等价类输入三个数据1≤数据数≤3数据数=0个数据数>3个8chapter__7经验3:如果规定了输入数据的一组值,而且程序对不同输入值做不同处理。则每个允许的输入值是一个有效的等价类,此外还有一个无效的等价类(任一个不允许的输入值);例,可输入的教师职称包括:助教、讲师、副教授、教授输入条件有效等价类无效等价类输入教师职称助教讲师副教授教授助工9chapter__7经验4-6:4--如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从各种不同角度违反规则);5--如果规定了输入数据为整型,则可以划分出正整数、零和负整数等3个有效类;6--如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。10chapter__7划分等价类小结以上列出的启发式规则只是测试时可能遇到的情况中的很小一部分,实际情况千变万化,根本无法一一列出;为了正确划分等价类,一是要注意积累经验,二是要正确分析被测程序的功能;此外,在划分无效的等价类时还必须考虑编译程序的检错功能,一般说来,不需要设计测试数据用来暴露编译程序肯定能发现的错误;最后说明一点,上面列出的启发式规则虽然都是针对输入数据说的,但是其中绝大部分也同样适用于输出数据。11chapter__7(二)、确立测试用例
在确立了等价类之后,建立等价类表,列出所有划分出的等价类。
一、等价类划分(续)12chapter__7再从划分出的等价类中按以下原则选择测试用例:
(1)为每一个等价类规定一个唯一编号;
(2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
(3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。一、等价类划分(续)13chapter__7
例1:用户名是由字母开头,后跟字母或数字的任意组合构成。有效字符数为1-20个。”
一、等价类法----实例1用等价类划分的方法,建立输入等价类表:输入条件有效等价类无效等价类第一个字符字母(1)非字母(5)标识符组成字母(2),数字(3)非字母数字字符(6)标识符字符数1-8个(4)0(7),大于20(8)14chapter__7确定等价类输入数据:序号用户名覆盖等价类输出1(1),(2),(3),(4)有效用户名22345(5)无效用户名3U¥(6)4(7)5Y123456789abcdefghijk(8)一、等价类法----实例1
(续)T123a5c715chapter__7例2:根据输入判断三角形的形状测试场景:一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。一、等价类法----实例216chapter__7a<b+c?b<a+c?c<a+b?a=b?b=c?印出“不是三角形”印出“等边三角形”印出“等腰三角形”印出“不等边三角形”a=c?b=c?FTFFTTTTFFFFTT程序流程图a>0b>0c>0TTTFFF17chapter__7创建等价类表:输入条件有效等价类无效等价类是否三角形的三条边(A>0),
(1)(B>0),
(2)(C>0),
(3)(A+B>C),
(4)(B+C>A),
(5)(A+C>B),
(6)(A≤0),
(7)(B≤0),
(8)(C≤0),
(9)(A+B≤C),
(10)(B+C≤A),
(11)(A+C≤B),
(12)是否等腰三角形(A=B),
(13)(B=C),
(14)(C=A),(15)(A≠B)and(B≠C)and(C≠A)
(16)是否等边三角形(A=B)and(B=C)and(C=A)(17)(A≠B),
(18)(B≠C),
(19)(C≠A),
(20)一、等价类法----实例218chapter__7确定等价类输入数据:序号【A,B,C】覆盖等价类输出1【3,4,5】(1),(2),(3),(4),(5),(6)一般三角形2【0,1,2】(7)不能构成三角形3【1,0,2】(8)4【1,2,0】(9)5【1,2,3】(10)6【1,3,2】(11)7【3,1,2】(12)8【3,3,4】(1),(2),(3),(4),(5),(6),(13)等腰三角形9【3,4,4】(1),(2),(3),(4),(5),(6),(14)10【3,4,3】(1),(2),(3),(4),(5),(6),(15)11【3,4,5】(1),(2),(3),(4),(5),(6),(16)非等腰三角形12【3,3,3】(1),(2),(3),(4),(5),(6),(17)是等边三角形13【3,4,4】(1),(2),(3),(4),(5),(6),(14),(18)非等边三角形14【3,4,3】(1),(2),(3),(4),(5),(6),(15),(19)15【3,3,4】(1),(2),(3),(4),(5),(6),(13),(20)一、等价类法----实例219chapter__7边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。
二、边值分析法20chapter__7比如,在做三角形计算时,要输入三角形的三个边长:A、B和C。我们应注意到这三个数值应当满足
A>0、B>0、C>0、
A+B>C、A+C>B、B+C>A,才能构成三角形。但如果把六个不等式中的任何一个大于号“>”错写成大于等于号“≥”,那就不能构成三角形。问题恰出现在容易被疏忽的边界附近。二、边值分析法(续)21chapter__7这里所说的边界是指,相对于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。二、边值分析法(续)22chapter__7健壮性测试是边界值分析的一种简单扩展adcbx1x2二、边值分析法(续)23chapter__7最坏情况测试用例adcbx1x2二、边值分析法(续)24chapter__7二、边值分析法(续)
常见的边界值:
1)屏幕上光标在最左上、最右下位置
2)报表的第一行和最后一行
3)数组元素的第一个和最后一个
4)循环的第0次、第1次和倒数第2次、最后一次25chapter__7对边界值设计测试用例,应遵循以下几条原则:(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。例:程序规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”则作为测试用例,我们应选取9.99
、10、10.01、49.99、50、及50.01。二、边值分析法(续)26chapter__7对边界值设计测试用例,应遵循以下几条原则:2.如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。例:程序规格说明中规定:“某输入文件可包含1至255个记录……”则作为测试用例,我们应选取1、255、0及256。二、边值分析法(续)27chapter__7对边界值设计测试用例,应遵循以下几条原则:3、将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。例如,一程序属于情报检索系统,要求每次"最少显示1条、最多显示4条情报摘要",这时我们应考虑的测试用例包括1和4,还应包括0和5等。二、边值分析法(续)28chapter__7例1:分析以下代码段inta[10];for(i=1;i<=10;i++)
a[i]=0;很明显,这段代码的目的是创建包含10个元素的数组,并为数组中的每一个元素赋初值0。看看有什么问题?二、边值分析法(续)29chapter__7三角形的例子输入条件有效等价类无效等价类是否三角形的三条边(A>0),
(1)(B>0),
(2)(C>0),
(3)(A+B>C),
(4)(B+C>A),
(5)(A+C>B),
(6)(A≤0),
(7)(B≤0),
(8)(C≤0),
(9)(A+B≤C),
(10)(B+C≤A),
(11)(A+C≤B),
(12)是否等腰三角形(A=B),
(13)(B=C),
(14)(C=A),(15)(A≠B)and(B≠C)and(C≠A)
(16)是否等边三角形(A=B)and(B=C)and(C=A)(17)(A≠B),
(18)(B≠C),
(19)(C≠A),
(20)二、边值分析法(续)30chapter__7一个有趣的例子:美国通用汽车公司的客服收到一封客户抱怨的信:我们家有一个传统的习惯,就是每天晚饭后会吃冰激凌甜点,我开车去买。奇怪的是每当我买香草口味的冰激凌,车子就不发动。但如果我买其它口味,车子就发动得很顺。难道你们的车子对香草口味冰激凌过敏?客服经理派一位工程师去调查。工程师与这位客户上车,开车买香草口味冰激凌。上车后,车子发动不起来。之后这个工程师又来了三个晚上,第一晚买巧克力冰激凌,车子没事;第二晚买草莓口味的,车子也没事,第三晚买香草口味,车子又不动了。工程师记下了所有发生的详细资料。包括时间,用油等他发现一个问题,买香草冰激凌比其它口味所花时间少。为什么?蒸汽锁没足够的时间散热三、错误推测法31chapter__7错误推测法属于逆向思维方式,它是基于经验和直觉,推测软件中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。错误推测方法的基本思想是:列举出软件中所有可能的错误和容易发生错误的情况,并有针对性的设计测试用例。例如,没有获取到输入,系统如何处理。测试工作者总结的常见软件错误,以前产品测试中曾经发现的错误等等。
三、错误推测法32chapter__7
错误推测法是一种简单易行的黑盒法,但由于该方法有较大的随意性,主要依赖于测试者的经验,因此通常作为一种辅助的黑盒测试方法。例
对一个排序的程序,可能出错的情况有:
1、输入表为空的情况。
2、输入表中只有一个一行。
3、输入表中所有的行都具有相同的值。
4、输入表已经排好序。
像“愚笨”的用户那样做,随便点点鼠标,测试一下;借助2/8原则,在已经找到缺陷的地方再找找;凭直觉、经验和预感猜测一下。这些思路都可以帮助我们找到更多的软件缺陷。
三、错误推测法33chapter__7错误猜测-例子年龄:应该是大于0的数字输入:aaa,看是否出现错误性别:应该是男/女输入其它,看是否出现错误34chapter__7补充:基于判定表的测试桩123456789C1:a,b,c构成三角形?C2:a=b?C3:a=c?C4:b=c?N---YYYYYYYNYYNYYYNNYNYYYNYNYNNYYNNNA1:非三角形A2:不等边三角形A3:等腰三角形A4:等边三角形A5:不可能X
X
X
X
X
X
X
X
X35chapter__7四、场景法
场景法是将软件系统的某个流程看成路径,用场景法来设计测试用例。根据流程的顺序依次进行组合,使得流程的各个分支都能走到。目前的软件几乎都是由事件触发来控制流程的,事件触发的情景便形成了场景。这种测试思想是Rational公司刚提出的36chapter__7基本流和备选流在利用场景法测试一个软件的时候,如果软件按照正确的事件流而实现了一个流程,则称该流程为该软件的“基本流”。如果出现故障,不能用基本流来表示,那么就要用一个所谓的“备选流”来加以替代。一个备选流可从基本流开始,在某个特定条件下执行,执行完后重新加入到基本流中。例如,如果你从ATM机取款系统中顺利地取出一笔钱,那么ATM机取款系统就执行了一个基本流。反之,ATM机取款系统就要执行一个备选流。四、场景法
37chapter__7场景分析法中设计测试用例的参考步骤(1).根据说明书,描述出程序的基本流及各项备选流;(2).根据基本流和各项备选流生成不同的场景;(3).对每一个场景设计相应的测试用例;(4).对生成的所有测试用例重新复审,去掉多余的测试用例。测试用例确定后,对每一个测试用例确定测试数据,进行测试。四、场景法
38chapter__7五、涉及知识点总结场景的基本流和备选流39chapter__7右图有一个基本流和四个备选流。每个可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:场景1基本流场景2基本流备选流1场景3基本流备选流1备选流2场景4基本流备选流3场景5基本流备选流3备选流1场景6基本流备选流3备选流1备选流2场景7基本流备选流4场景8基本流备选流3备选流4四、场景法
40chapter__7四、场景法下面使用网上购物系统的购物场景举例说明。(1)场景描述用户进入网上购物系统网站进行购物,选好物品后进行购买,这时需要使用账号登录,登录成功后付款,交易成功后生成订单,完成此次购物活动。(2)使用场景法设计测试用例
①确定基本流和备选流事件41chapter__7四、场景法基本流登录网上购物系统网站,选择物品,登录帐号,付钱交易,生成订单备选流1账号不存在备选流2账号或密码错误备选流3用户账号余额不足备选流4用户账号没有钱备选流5用户退出系统42chapter__7四、场景法②根据基本流和备选流来确定场景场景1-成功购物基本流场景2-账号不存在基本流备选流1场景3-账号或密码错误基本流备选流2场景4-用户账号余额不足基本流备选流3场景5-用户账号没有钱基本流备选流443chapter__7③设计用例对每一个场景都要做测试用例,可以使用矩阵(表格)来管理用例。用行表示各个测试用例,列表示测试用例的信息。首先将测试用例的ID、条件、涉及的数据元素以及预期结果列在矩阵中,然后将这些数据确定下来,填写在表格中。下表中,“有效”表示这个条件必须是有效的才可执行基本流,而“无效”用于表示这种条件下将激活所需备选流。“不适用”表示这个条件不适用于测试用例。四、场景法44chapter__7测试用例信息表测试用例ID场景/条件账号密码用户账号余额预期结果1场景1:成功购物有效有效有效成功购物2场景2:账号不存在无效不适用不适用提示账号不存在3场景3:账号或密码错误(账号正确,密码错误)有效无效不适用提示账号或密码错误,返回基本流步骤34场景3:账号或密码错误(账号错误,密码正确)无效有效不适用提示账号或密码错误,返回基本流步骤35场景4:用户账号余额不足有效有效无效提示账号余额不足请充值6场景5:用户账号没有钱有效有效无效提示账号余额请充值四、场景法45chapter__7④设计上表测试用例数据,填入下表测试用例ID场景/条件账号密码用户账号余额预期结果1场景1:成功购物wangshPassw0rd193成功购物,用户账号余额正确2场景2:账号不存在song不适用不适用提示账号不存在3场景3:账号或密码错误(账号正确,密码错误)wangsh666666不适用提示账号或密码错误,返回基本流步骤34场景3:账号或密码错误(账号错误,密码正确)songpassw0rd不适用提示账号或密码错误,返回基本流步骤35场景4:用户账号余额不足wshpass0rd2提示账号余额不足请充值6场景5:用户账号没有钱sunxx8172170提示账号余额请充值四、场景法46chapter__7案例分析
下面以购物系统添加商品类别信息为例,说明功能测试的案例设计47chapter__7一、编写商品类别添加的测试用例集TestCase047:必添项是否允许为空Summary:检验系统是否对必填项为空的情况做了处理。Steps:1、点击【商品类别】\【添加】按钮2、什么都不输入,直接点击[添加]按钮;ExpectedResults:1、弹出“商品类别添加界面”2、提示“类别名称不能为空”
场景法Pass/Fail:TestNotes:
Authoradmin48chapter__7一、编写商品类别添加的测试用例集TestCase048:输入字符数等于域允许的最大字符数Summary:系统是否对域的输入长度进行了检验Steps:1、点击【商品类别】\【添加】按钮2、在“类别名称”中输入“国产电视机”,点击[添加]按钮ExpectedResults:1、弹出“商品类别添加界面”;2、提示“保存成功”边界值法Pass/Fail:TestNotes:
Authoradmin49chapter__7一、编写商品类别添加的测试用例集TestCase051:验证系统定义的域长度是否够用Summary:输入有现实意义且字符数比较多的类别名称,检验系统是否允许输入Steps:1、点击【商品类别】\【添加】按钮2、在“类别名称”中输入“国产电子元器件”,点击[添加]按钮ExpectedResults:1、弹出“商品类别添加界面”;2、提示“保存成功”错误推测法Pass/Fail:TestNotes:
Authoradmin50chapter__7二、编写类别修改的测试用例集TestCase055:输入字符数大于域允许的最大字符数Summary:检验系统是否对域输入长度进行了验证Steps:1、点击【商品类别】\【浏览】按钮;2、点击商品类别“国产电视机”后面的链接[修改]3、将类别名称改为“国产电子元器件”,点击[修改]按钮;ExpectedResults:1、弹出“商品类别浏览界面”2、
弹出“商品类别修改界面”3、提示“您输入的名称过长,请重新输入”边界值法Pass/Fail:TestNotes:
Authoradmin51chapter__7二、编写类别修改的测试用例集TestCase056:不修改直接保存Summary:不修改,直接点击[保存]按钮Steps:1、点击【商品类别】\【浏览】按钮;2、点击商品类别“国产电视机”后面的链接[修改]3、不修改直接点击[修改]按钮;ExpectedResults:1、弹出“商品类别浏览界面”2、
弹出“商品类别修改界面”3、提示“修改成功”,不应提示类别名称已存在。场景法Pass/Fail:TestNotes:
Authoradmin52chapter__7二、编写类别修改的测试用例集TestCase058:重名校验Summary:检验系统是否对类别名重名的情况做了校验Steps:1、点击【商品类别】\【添加】按钮2、在“类别名称”中输入“长虹电视”,点击[添加]按钮3、点击【商品类别】\【浏览】按钮;4、点击商品类别“国产电视机”后面的链接[修改]5、将类别名称改为“长虹电视”,点击[修改]按钮;ExpectedResults:1、弹出“商品类别添加界面”;2、提示“添加成功”3、弹出“商品类别浏览界面”4、
弹出“商品类别修改界面”5、提示“类别名称已存在”场景法Pass/Fail:TestNotes:
Authoradmin53chapter__7三、编写类别删除的测试用例集TestCase059:删除未被使用的类别Summary:未被使用的类别可以被删除Steps:1、点击【商品类别】\【浏览】按钮2、选择未被使用的类别,点击类别名称后面的链接文字【删除】ExpectedResults:1、打开商品类别浏览界面2、提示“删除成功”场景法Pass/Fail:TestNotes:
Authoradmin54chapter__7三、编写类别删除的测试用例集TestCase060:删除已被使用的类别Summary:已被使用的类别不可以被删除Steps:1、在添加商品类别“电脑”;2、添加商品“hp家用电脑”,商品类别选择“电脑”3、点击【商品类别】\【浏览】按钮4、选择已被使用的类别“电脑”,点击类别名称后面的链接文字【删除】ExpectedResults:1、商品类别添加成功;2、商品添加成功;3、打开商品类别浏览界面;4、提示“该商品类别已被使用不能删除”。场景法Pass/Fail:TestNotes:
Authoradmin55chapter__7四、编写类别浏览、查看的测试用例集TestCase061:查看信息显示是否完整Summary:所有已添加的类别均应显示出来Steps:点击【查看】(【浏览】)按钮,检查类别显示是否完整、类别内容是否正确ExpectedResults:所有添加的类别均可以显示出来;显示的类别名称与添加时所填写的内容一致。场景法Pass/Fail:TestNotes:
Authoradmin56chapter__7四、编写类别浏览、查看的测试用例集TestCase062:翻页Summary:点击翻页按钮可以正确跳转到相应的页面上Steps:1、点击类别【查看】(【浏览】)按钮2、点击【第一条】、【下一条】、【上一条】、【最后一条】ExpectedResults:1、弹出商品类别浏览界面2、可以正确跳转到对应的页面上,不存在部分信息重复显示,部分信息显示不出来的情况。场景法Pass/Fail:TestNotes:
Authoradmin57chapter__7黑盒测试的优点(1).应用面广。产品要至少经过黑盒测试才能发布,能够胜任黑盒测试工作的人员相对充足,黑盒测试方法的成本低见效快,几乎所有测试部门、测试人员,在产品(功能块,集成模块,系统)第一轮测试时,都会首选黑盒测试方法,该方法最符合企业实际开展测试工作的需要;(2).黑盒测试方法,不需要测试人员知道软件内部的逻辑结构和实现方法,熟悉软件需求分析规格说明书或用户需求报告相对容易些,准备工作时间相对短,同时对于一些不提供源代码的项目也同样适用。测试方法小结58chapter__7(3).可以借助自动化测试工具提高测试效率。黑盒测试的工作量很大,但是在产品(功能块,集成模块,系统)第二轮测试中,可以利用工具回放第一轮测试过程中录制的测试脚本,以进行自动化测试。典型的测试工具如MI公司的QTP。自动测试工具可以帮助完成大量重复的测试工作,这是很多人最初盲目热衷的理由,但是应该提醒读者,任何工具都有自己的优势和局限,不要在实际工作中草率的采用自动化测试工具,否则你会发现,它总是让你失望,往往学习使用工具,维护脚本就占用了你很多时间,测试时间快结束了,你可能还没开始执行任何有实际意义的测试工作,一般建议做产品的公司、做行业项目的公司,以及经常要做第二轮功能测试的情况下,可以考虑采用适合的自动化测试工具。测试方法小结59chapter__7黑盒测试的缺点(1).黑盒测试工作质量的好坏,取决于测试用例设计的质量。测试用例设计的质量,取决于测试者对行业业务的熟悉程度,很难要求测试人员对各种行业的业务都精通,很多时候都是具有计算机专业背景的人员,根据测试需要接受业务培训,然后进行测试,但是对业务的理解是很有限的,因此限制了黑盒测试工作的质量。(2).缺陷的定位有时不够准确,甚至误导开发人员。测试方法小结60chapter__7白盒测试的优点(1).白盒测试方法深入到了程序内部,测试粒度到达某个模块、某个函数甚至某条语句,能从程序具体实现的角度发现问题;(2).白盒测试方法是对黑盒测试方法的最有力补充,通过前面的讲解,我们清楚的了解了黑盒测试和白盒测试的思路,只有将二者结合才能将软件测试工作做到相对到位。测试方法小结61chapter__7测试方法小结测试人员在需求分析阶段,通过需求说明书了解用户需求,针对需求利用黑盒测试的思路设计测试用例,然后根据已有的编程和测试经验,补充一些白盒测试用例。在开发阶段,测试人员拿到代码后,一种方法是直接人工阅读代码(也称为静态测试),进行白盒测试。另一种方法是借助于白盒测试工具,实现各种覆盖测试。IT企业软件测试的基本方法是:宏观上用黑盒测试,微观上用白盒测试;全局用黑盒测试,局部用白盒测试;绝大部分测试人员用黑盒测试,极少数程序人员用白盒测试;以黑盒测试为主,以白盒测试为辅。62chapter__7本章要点一、软件测试基础
二、单元测试三、集成测试四、确认测试五、白盒测试技术六、黑盒测试技术七、调试八、软件可靠性
63chapter__7调试(debugging)
测试(testing)的目的与任务
目的:发现程序的错误
任务:通过执行程序,暴露潜在的错误
调试也叫纠错(debugging)的目的与任务
目的:定位和纠正错误
任务:消除软件故障,保证程序的可靠运行
软件测试的目的是发现错误,在发现错误后,则应按照一定的技术去纠正它,纠错的关键是“错误定位”。64chapter__7调试过程一、纠错的活动
1、确定程序中可疑错误的确切的位置和性质。
2、修改、排除错误。执行测试用例纠错结果错误现场测试用例猜测的原因已知原因改正
调试(纠错)活动65chapter__7二、纠错的原则
1、注意错误的“群集现象”。
2、不能只修改错误的征兆、表现,还应该修改错误的本质。
3、注意在修改一个错误的同时,又引入新的错误。调试过程66chapter__7几种主要的排错方法
调试的方法有:蛮干法(硬性纠错)回溯法对分查找法归纳法演绎法可根据个人经验和具体情况灵活应用。67chapter__7一、硬性纠错 又称为蛮干法,由于简单,是目前使用较多,但效率较低的方法。如:主存信息转储法将计算机存储器和寄存器的全部内容打印出来,然后在大量的数据中查错。关键部分设置打印语句
在出错源程序的各个关键变量改变位置、重要的分支、子程序的调用等位置,设置打印语句,跟踪程序执行和变量的改变。
使用自动调试工具
使用由某些语言提供的调试工具查错。几种主要的调试方法68chapter__7二、回溯法排错
适用于小程序,发现错误时,确定首先发现错误“症状”的位置,人工沿控制流追踪源代码程序,直到找出错误根源或确定错误范围为止。例如,程序中发现错误处是某个打印语句。通过输出值可推断程序在这一点上变量的值。再从这一点出发,回溯程序的执行过程,反复考虑:“如果程序在这一点上的状态(变量的值)是这样,那么程序在上一点的状态一定是这样...”,直到找到错误的位置。几种主要的排错方法69chapter__7本章要点一、软件测试基础
二、单元测试三、集成测试四、确认测试五、白盒测试技术六、黑盒测试技术七、调试八、软件可靠性
70chapter__7软件可靠性软件的可靠性是软件质量的一个重中指标,也是用户需求中一项重要内容。软件工程的目标,就是要开发出满足用户需求的,可靠性高软件产品。在需求分析、软件设计、编程等一系列活动中,软件工程都力求研究科学的方法和技术,以提高软件的可靠性。那么,这些努力的成果如何呢?当完成软件的测试以后,应该分析测试结果,对软件的可靠性进行一个评估。本节介绍软件可靠性相关的概念和评估方法。71chapter__7
软件可靠性的定义中多数人认可的一个定义是:软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定,成功地运行的概率。按照IEEE的规定:术语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运载工具用顶部行李箱市场发展现状调查及供需格局分析预测报告
- 2024年度外墙保温工程质量保修合同
- 纸制杯垫市场需求与消费特点分析
- 2024年度特色食材供应合同
- 探测器用接口市场发展现状调查及供需格局分析预测报告
- 2024年度建筑质量保证合同
- 2024年度技术合同:便利店智能化系统开发与实施
- 蛋白质补充剂市场发展现状调查及供需格局分析预测报告
- 2024年度化妆品销售代理合同
- 2024年度建筑行业材料采购合同
- JJF 1659-2017PM2.5质量浓度测量仪校准规范
- GB/T 40386-2021再生纯铝原料
- GB/T 3766-2001液压系统通用技术条件
- GB/T 25249-2010氨基醇酸树脂涂料
- GB/T 23114-2008竹编制品
- 松下panasonic-视觉说明书pv200培训
- 单县烟草专卖局QC课题多维度降低行政处罚文书出错率
- 【桌面推演】XX应急预案桌面推演方案
- 外研版五年级英语上册期末复习要点
- 手机摄影入门教程
- 《子路、曾皙、冉有、公西华侍坐》 课件46张
评论
0/150
提交评论