自考本科教材课件NO06软件测试.ppt

上传人:b****2 文档编号:2619478 上传时间:2022-11-03 格式:PPT 页数:44 大小:386KB
下载 相关 举报
自考本科教材课件NO06软件测试.ppt_第1页
第1页 / 共44页
自考本科教材课件NO06软件测试.ppt_第2页
第2页 / 共44页
自考本科教材课件NO06软件测试.ppt_第3页
第3页 / 共44页
自考本科教材课件NO06软件测试.ppt_第4页
第4页 / 共44页
自考本科教材课件NO06软件测试.ppt_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

自考本科教材课件NO06软件测试.ppt

《自考本科教材课件NO06软件测试.ppt》由会员分享,可在线阅读,更多相关《自考本科教材课件NO06软件测试.ppt(44页珍藏版)》请在冰豆网上搜索。

自考本科教材课件NO06软件测试.ppt

软件测试主讲:

段智敏考试大纲本章要求掌握基于程序路径的白盒测试、基于需求规约的事务流测试和等价类划分三种软件测试技术,并能运用这些技术开展软件测试工作,包括用例设计、测试执行和结果比较。

识记软件测试测试过程模型领会路径测试的被测试对象模型及创建测试覆盖及基本关系事务流与控制流之间的区别及为测试带来的影响事务流测试步骤等价类划分技术进行测试的步骤软件测试的基本步骤软件测试目标定义按照特定规程发现软件错误的过程使用人工或自动手段,运行或测定某个系统的过程目的发现错误,减少错误带来风险的过程检验是否满足规定的需求,或清楚了解预期结果和实际结果的差异目标测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。

软件测试目标错误(error)与所期望的设计之间的偏差,该偏差可能会产生不期望的系统行为或失效。

故障(fault)导致错误或失效的不正常的条件,故障可以是偶然性的或是系统性的。

失效(failure)与所规约的系统性能之间的偏差,失效是系统的故障或错误的后果.软件测试过程软件测试是一个有程序的过程,包括测试设计、测试执行、测试结果比较等。

测试设计分为:

环境模型被测对象模型错误模型软件测试技术测试任何产品都有两种方法:

如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用,即黑盒测试;如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行,即白盒测试。

黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。

黑盒测试又称为功能测试。

白盒测试是按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。

白盒测试又称为结构测试。

白盒测试依据程序的逻辑结构,黑盒测试依据软件行为的描述。

软件测试技术路径测试依据程序逻辑结构白盒测试技术采用控制流程图来表达被测程序模型,揭示程序中的控制结构;通过合理选择一组穿过程序的路径,达到某种测试的度量。

控制流程图表示程序控制结构的图形化工具,基本元素包括:

节点分支过程块链路径1236457X5andY1错写成X1,B=0,A=2,X1条件A1取真值标记为T1,取假值标记为F1条件B=0取真值标记为T2,取假值标记为F2条件A=2取真值标记为T3,取假值标记为F3条件X1取真值标记为T4,取假值标记为F4在设计测试用例时,要考虑如何选择测试用例实现T1、F1、T2、F2、T3、F3、T4、F4的全部覆盖。

软件测试技术路径测试例如,可设计如下测试用例实现条件覆盖:

上面测试用例组虽然实现了判定中各条件的覆盖,但该组测试用例只覆盖了第一个判断的取假分支和第二个判断的取真分支,没有实现分支覆盖,为此,进一步提出了条件组合覆盖技术。

在该例子中,前一个判定有4种条件组合:

(1)(A1),(B=0),标记为T1、T2;

(2)(A1),(B0),标记为T1、F2,;(3)(A1),(B=0),标记为F1、T2;(4)(A1),(B0),标记为F1、F2;后一个判定又有4种条件组合:

(5)(A=2),(X1),标记为T3、T4;(6)(A=2),(X1),标记为T3、F4;(7)(A2),(X1),标记为F3、T4;(8)(A2),(X1),标记为F3、F4。

测试用例通过路径条件取值覆盖分支【(1,0,3),(1,0,4)】L3F1T2F3T4b,e【(2,1,1),(2,1,2)】L3T1F2T3F4b,e软件测试技术路径测试因此,要满足条件组合覆盖,设计的测试用例必须满足以下16种条件组合:

(1)(A1),(B=0),(A=2),(X1),可标记为T1、T2、T3、T4;

(1)(A1),(B=0),(A=2),(X1),可标记为T1、T2、T3、F4;

(1)(A1),(B=0),(A2),(X1),可标记为T1、T2、F3、T4;

(1)(A1),(B=0),(A2),(X1),可标记为T1、T2、F3、F4。

(2)(A1),(B0),(A=2),(X1),可标记为T1、F2,T3、T4;

(2)(A1),(B0),(A=2),(X1),可标记为T1、F2、T3、F4;

(2)(A1),(B0),(A2),(X1),可标记为T1、F2、F3、T4;

(2)(A1),(B0),(A2),(X1),可标记为T1、F2、F3、F4。

(3)(A1),(B=0),(A=2),(X1),可标记为F1、T2、T3、T4;(3)(A1),(B=0),(A=2),(X1),可标记为F1、T2、T3、F4;(3)(A1),(B=0),(A2),(X1),可标记为F1、T2、F3、T4;(3)(A1),(B=0),(A2),(X1),可标记为F1、T2、F3、F4。

(4)(A1),(B0),(A=2),(X1),可标记为F1、F2、T3、T4;(4)(A1),(B0),(A=2),(X1),可标记为F1、F2、T3、F4;(4)(A1),(B0),(A2),(X1),可标记为F1、F2、F3、T4;(4)(A1),(B0),(A2),(X1),可标记为F1、F2、F3、F4。

软件测试技术路径测试可以采用以下四组测试数据,从而实现条件组合覆盖。

这组测试用例实现了分支覆盖,也实现了条件的所有可能取值的组合的覆盖。

测试用例覆盖条件覆盖组合号通过路径【(2,0,4),(2,0,3)】T1T2T3T41、5L1【(2,1,1),(2,1,2)】T1F2T3F42、6L3【(1,0,3),(1,0,4)】F1T2F3T43、7L3【(1,1,1),(1,1,1)】F1F2F3F44、8L2【(3,0,3),(3,0,1)】T1T2F3F41、8L4软件测试技术路径测试循环测试循环是绝大多数软件算法的基础,但是,在测试软件时却往往未对循环结构进行足够的测试。

循环测试是一种白盒测试技术,它专注于测试循环结构的有效性。

在结构化的程序中通常只有3种循环,即简单循环、串接循环和嵌套循环。

简单循环。

使用下列测试集来测试简单循环,其中n是允许通过循环的最大次数。

跳过循环。

只通过循环一次。

通过循环两次。

通过循环m次,其中mn-1。

通过循环n-1,n,n+1次。

软件测试技术路径测试嵌套循环。

如果把简单循环的测试方法直接应用到嵌套循环,可能的测试数就会随嵌套层数的增加按几何级数增长,这会导致不切实际的测试数目。

B.Beizer提出了一种能减少测试数的方法:

从最内层循环开始测试,把所有其他循环都设置为最小值。

对最内层循环使用简单循环测试方法,而使外层循环的迭代参数(例如,循环计数器)取最小值,并为越界值或非法值增加一些额外的测试。

由内向外,对下一个循环进行测试,但保持所有其他外层循环为最小值,其他嵌套循环为“典型”值。

继续进行下去,直到测试完所有循环。

串接循环。

如果串接循环的各个循环都彼此独立,则可以使用前述的测试简单循环的方法来测试串接循环。

但是,如果两个循环串接,而且第一个循环的循环计数器值是第二个循环的初始值,则这两个循环并不是独立的。

当循环不独立时,建议使用测试嵌套循环的方法来测试串接循环。

软件测试技术功能测试黑盒测试技术黑盒测试是一种基于软件规约的测试,力图发现以下错误:

功能不正确或遗漏了功能;界面错误;数据结构错误或外部数据库访问错误;性能错误;初始化和终止错误。

白盒测试在测试过程的早期阶段进行,而黑盒测试主要用于测试过程的后期。

应用黑盒测试技术,能够设计出满足下述标准的测试用例集:

所设计出的测试用例能够减少为达到合理测试所需要设计的测试用例的总数;所设计出的测试用例能够告诉我们,是否存在某些类型的错误,而不是仅仅指出与特定测试相关的错误是否存在。

软件测试技术事务流测试事务流测试技术事务:

以用户的角度所见的一个工作单元。

一个事务由一系列操作组成。

其中某些操作可含有系统执行成分,或含有设备执行成分。

事务处理流程(图):

系统行为的一种表示方法,为功能测试建立了软件动作模式。

其中使用了白盒测试中的一些概念,例如:

分支,结点,链等。

与程序控制流程图的比较:

事务流图是一种数据流图,即从操作应用的历史,观察数据对象。

事务流图存在“中断”,把一个过程等价地变换为具有繁多出口的链支。

事务流图中的判定;“抽象”了一个复杂的过程。

软件测试技术事务流测试1AA:

Path1继续继续A:

Path2继续继续2AA继续继续B3ABC1A:

Path1A:

Path2A:

继续继续1ABA1BAC并生并生丝分裂丝分裂吸收吸收结合结合分支分支汇集汇集软件测试技术事务流测试测试步骤第一步:

获取事务流程图,即建立被测对象模型;第二步:

浏览与复审,主要对事务进行分类,为设计用例奠定基础;第三步:

用例设计,涉及:

覆盖策略,事务选取,路径敏化等;第四步:

测试设备开发:

路径分析器,测试用例数据库,测试执行调试器等;第五步:

测试执行;第六步:

测试结果比较。

软件测试技术等价类划分等价类划分技术等价划分是一种黑盒测试技术,这种技术把程序的输入域划分成若干个数据类,据此导出测试用例。

一个理想的测试用例能独自发现一类错误。

选取少量最有代表性的输入数据作为测试数据,以期用较小的代价暴露出较多的程序错误。

使用等价划分法设计测试方案首先需要划分输入数据的等价类,为此需要研究程序的功能说明,从而确定输入数据的有效等价类和无效等价类。

等价类:

输入域的一个子集,在该子集中,各个输入数据对于揭示程序中的错误都是等效的。

即:

以等价类中的某代表值进行的测试,等价于对该类中其他取值的测试。

有效等价类:

指那些对于软件的规格说明书而言,是合理的、有意义的输入数据所构成的集合。

用于实现功能和性能的测试。

无效等价类:

指那些对于软件的规格说明书而言,是不合理的、无意义的输入数据所构成的集合。

用于测试那些所实现的功能和性能不符合规格说明书的要求。

软件测试技术等价类划分等价类的划分的几条启发式规则:

如果规定了输入值的范围,则可划分出一个有效的等价类(输入值在此范围内),两个无效的等价类(输入值小于最小值或大于最大值);例如:

输入条件:

“.项数可以是1到999”如果规定了输入数据的个数,则类似地也可以划分出一个有效的等价类和两个无效的等价类;如果规定了输入数据的一组值,而且程序对不同输入值做不同处理,则每个允许的输入值是一个有效的等价类,此外还有一个无效的等价类(任一个不允许的输入值);无效等价类无效等价类有效等价类有效等价类无效等价类无效等价类1999软件测试技术等价类划分如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从各种不同角度违反规则);例如:

“标识符是一字母打头的串。

”则字母打头的为一个有效等价类,而其余的为一个无效等价类如果规定了输入数据为整型,则可以划分出正整数、零和负整数等3个有效类;如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。

如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。

软件测试技术等价类划分划分出等价类以后,根据等价类设计测试方案时主要使用下面两个步骤:

设计一个新的测试方案以尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步骤直到所有有效等价类都被覆盖为止;设计一个新的测试方案,使它覆盖一个而且只覆盖一个尚未被覆盖的无效等价类,重复这一步骤直到所有无效等价类都被覆盖为止。

注意,通常程序发现一类错误后就不再检查是否还有其他错误,因此,应该使每个测试方案只覆盖一个无效的等价类。

软件测试技术边界值分析边界值分析处理边界情况时程序最容易发生错误。

许多程序错误出现在下标、取值范围、数据结构和循环等的边界附近。

使用边界值分析方法设计测试方案首先应该确定边界情况,这需要经验和创造性,通常输入等价类和输出等价类的边界,就是应该着重测试的程序边界情况。

选取的测试数据应该

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

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1