第3节软件测试方法_第1页
第3节软件测试方法_第2页
第3节软件测试方法_第3页
第3节软件测试方法_第4页
第3节软件测试方法_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

软件测试技术主讲人:秦文上海微创软件解决方案事业部

测试用例的定义:(1)测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。(2)测试用例是执行的最小实体。测试用例的特征:(1)最有可能抓住错误的;(2)不是重复的、多余的;(3)一组相似测试用例中最有效的;(4)既不是太简单,也不是太复杂。测试用例的定义和特征在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。测试用例的使用令软件测试的实施重点突出、目的明确。在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。使用测试用例的好处等价类划分边界值分析因果图判定决策表错误猜测法测试用例的设计方法等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。等价类划分如果输入条件规定了取值的范围或值的个数,则可确定一个有效等价类和两个无效等价类;如果一个输入条件说明了一个“必须成立”的情况,则可划分一个有效等价类和一个无效等价类;如果输入条件规定了输入数据的一组可能的值,而且程序是用不同的方式处理每一种值,则可为每一种值划分一个有效等价类,并划分一个无效等价类;如果我们确知,已划分的某等价类中的各元素(例子)在程序中的处理方式是不同的,则应据此将此等价类进一步划分成更小的等价类。在确立了等价类之后,建立等价类表,列出所有划分出的等价类:怎样划分等价类(一)为每个等价类规定一个惟一的编号;设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖;设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。确定等价类测试用例的步骤第一步:在本案例中我们根据测试需求可以把两位数加法分为如图的三个等价类:一个有效数据的等价类,两个无效数据等价类(有效数据等价类就是:由那些对程序的规格说明有意义的、合理的输入数据所构成的集合;无效数据等价类就是:那些对程序的规格说明不合理的或无意义的输入数据所构成的集合)。等价类划分第二步:在实际工作中,我们通常在确立了等价类以后,把程序中所有的等价类建立等价类表,以便在编写测试用例的时候有所依据。等价类划分第三步:根据上面的等价类表,我们就可以确定测试用例了,步骤为:为等价类表中的每一个等价类分配一个唯一的编号。设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这一步骤,从而使所有有效等价类均被测试用例所覆盖。与上一步类似,设计一个新的测试用例,使它只覆盖一个无效等价类。重复这一步骤,从而使所有无效等价类均被测试用例所覆盖。等价类划分第四步:细化等价类划分在测试“-99<=数值<=99”的这个等价类区间的时候,我们会发现如10+40,-20+30和-30+(-30)这类的正数相加,正数负数相加,负数相加也是不同的等价区间。因此我们可以使用更多的等价类划分:等价类划分根据以上等价类划分的结果,得出下表的等价类表第五步:根据上面划分的4个等价类,我们至少需要有5个测试用例等价类划分边界值分析法是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。实践证明,在设计测试用例时,对边界附近的处理必给予足够的重视,为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果。边界值分析法不仅重视输入条件边界,而且也从输出域导出测试用例。边界值分析如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界外的值作为测试用例。如以a和b为边界,测试用例应当包含a和b及略大于a和略小于b的值;若规定了值的个数,分别以最大、最小个数及稍小于最小、稍大于最大个数作为测试用例;针对每个输出条件使用前面的第1)和2)条原则;如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件、表格等),就应注意选取有序集的第一个和最后一个元素作为测试用例;分析规格说明,找出其他的可能边界条件。边界值设计遵守的几条原则由于允许输入的数值在-99到99之间,所以我们可以把-99和99看作两个边界值。我们测试的时候可以取紧邻边界值的数值和边界值本身作为输入。边界值等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。因果图法因果图法定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况因果图设计测试用例思想首先从程序规格说明书的描述中,找出因(输入条件)和果(输出结果或者程序状态的改变);然后通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例.因果图法(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符;(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图;(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件;(4)把因果图转换成判定表;(5)把判定表的每一列拿出来作为依据,设计测试用例。因果图测试步骤因果图画法如图1中所示,ci表示原因,一般置于图左部;ei表示结果,一般置于图右部。ci和ei都可以取值0或1,0表示某状态不出现,1表示某状态出现。(1)恒等:若c1为1,则e1也为1;否则,e1为0。(2)非:若c1为1,则e1为0;否则e1为1。(3)或:若c1或c2或c3为1,则e1为1;否则e1为0;“或”可有任意个输入。(4)与:若c1和c2都为1,则e1为1;否则e1为0。“与”也可有任意个输入因果图中基本图形介绍因果图中使用了简单的逻辑符号,以直线连接左右结点,左结点表示输入状态(或称原因),右结点表示输出状态(或称结果),而在实际问题中,输入条件相互之间还可能存在某些依赖关系,我们称之为“约束”,比如某些输入条件本身不可能同时出现,输出状态间也往往存在约束。在因果图中用特定符号表明这些约束,见下图:因果图中基本图形介绍因果图中基本图形介绍(1)E约束(异):a、b中至多有一个可能为1,即a、b不可能同时为1。(2)I约束(或):a、b、c中至少有一个必须为1,即a、

b、c不能同时为0。(3)O约束(唯一):a、b中必须有一个,且仅有一个为1。(4)R约束(要求):a是1时,b必须是1,即不可能出现a

是1时,b是0。(5)M约束(强制):如果结果a为1,则结果b强制为0。a为零时,b值不定.注意:1—5中只有5是对结果的约束。因果图中基本图形介绍有一个处理单价为5角的盒装饮料的自动售货机软件。若投入5角硬币,按下“可乐”,“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是1元硬币,在送出饮料的同时退还5角硬币。因果图测试(例子)第一步分析原因及结果因果图测试(例子)第二步画出因果图因果图测试(例子)第三步判定表因果图测试(例子)第四步设计测试用例因果图测试(例子)优点:(1)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。(2)能够帮助测试人员按照一定的步骤,高效率的开发测试用例。(3)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。缺点:输入条件的组合数2ª随a的上升急剧增长,当a较大时,因果图的结构将变得十分复杂,而把因果图转换为判定表则更为麻烦。因果图测试优缺点在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。决策表:是分析和表达多逻辑条件下执行不同操作的情况的工具。它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。决策表测试法决策表组成决策表通常由4部分组成,分别是:

(1)条件桩—列出问题的所有条件,除特别说明,列出的条件的先后次序无关紧要。

(2)条件项—针对条件桩给出的条件列出所有可能的取值。

(3)动作桩—列出问题规定的可能采取的操作,这些操作的顺序一般没有约束。

(4)动作项—与条件项紧密相关,指出在条件项的各组取值情况下应采取的动作。

决策表测试法(续)决策表测试法(续)条件桩动作桩

条件项

动作项规则规则:是指任何一个条件组合的特定取值及其相应要执行的操作。在决策表中贯穿条件项和动作项的一列就是一条规则。建立决策表的步骤:

(1)确定规则的个数。假如有n个条件,每个条件有两个取值(0,1),则有2n种规则。

(2)列出所有的条件桩和动作桩。

(3)填入条件项。

(4)填入动作项,得到初始决策表。

(5)简化决策表,合并相似规则。若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示与取值无关,称为无关条件。决策表测试法(续)适合使用决策表设计测试用例的条件:(1)规格说明以决策表形式给出,或较容易转换成决策表。(2)条件的排列顺序不会也不应影响执行的操作。(3)规则的排列顺序不会也不应影响执行的操作。(4)当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。(5)如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。决策表测试法(续)通常,在确定测试方法时,应遵循以下原则:

(1)根据程序的重要性和一旦发生故障将造成的损失来确定测试等级和测试重点。

(2)认真选择测试策略,以便能尽可能少的使用测试用例,发现尽可能多的程序错误。因为一次完整的软件测试过后,如果程序中遗留的错误过多并且严重,则表明该次测试是不足的,而测试不足则意味着让用户承担隐藏错误带来的危险,但测试过度又

温馨提示

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

评论

0/150

提交评论