测试方法之边界值测试_第1页
测试方法之边界值测试_第2页
测试方法之边界值测试_第3页
测试方法之边界值测试_第4页
测试方法之边界值测试_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

软件测试方法一般分为两种:白盒测试(WhiteBoxTesting)黑盒测试(Black-boxTesting)软件测试方法

1黑盒测试(Black-boxTesting)软件输入输出又叫功能测试,数据驱动测试或基于规格说明的测试。它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性,如图所示。黑盒测试不深入代码细节2黑盒测试过程需求说明产生被测程序测试结果输出3黑盒测试的目标黒盒测试试图发现以下类型的错误:

功能错误或遗漏;界面错误,不美观;外部信息访问错误;性能错误;初始化和终止错误;在接口上,能否正确地接受输入数据,能否产生正确地输出信息;4黑盒测试有两种基本类型,即通过测试和失败测试。在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何。软件测试员只运用最简单,最直观的测试案例。在设计和执行测试案例时,总是先要进行通过测试。在进行破坏性试验之前,看一看软件基本功能是否能够实现。这一点很重要,否则在正常使用软件时就会奇怪地发现,为什么会有那么多的软件缺陷出现?在确信了软件正确运行之后,就可以采取各种手段通过搞“垮”软件来找出缺陷。纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试或迫使出错测试。黑盒测试的类型5黑盒测试的难点黒盒测试的难点在于如何构造有效的输入。

由于输入空间通常是无限的,穷举测试显然行不通。寻找最小最重要的用例集合以精简测试复杂性。黑盒测试的优点有:1)比较简单,不需要了解程序内部的代码及实现;2)与软件的内部实现无关;3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;5)在做软件自动化测试时较为方便。黑盒测试的缺点有:1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;2)自动化测试的复用性较低。6黑盒测试方法黑盒测试的测试用例设计方法.边界值分析.等价类划分.因果图.错误推测.基于决策表的测试.功能图分析方法7边界值测试(内容)边界值分析健壮性测试最坏情况测试特殊值测试随机测试

81.边界值分析边界值分析的原理边界值分析的思想边界值分析测试用例设计方法9(1)边界值分析的基本原理边界值分析(BoundaryValueAnalysis)基本原理错误更可能出现在输入变量的极值附近。边界值分析关注输入空间的边界,并从中标识测试用例。10常见的边界值举例).对16-bit的整数而言32767和-32768是边界).屏幕上光标在最左上、最右下位置).报表的第一行和最后一行).数组元素的第一个和最后一个

C++语言中,intA[10]:A[0]…A[9]

).循环的第0次、第1次和倒数第2次、最后一次

11边界值分析的基本思想在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值表示方法min、min+、nom、max-、和max例如:涉及两个变量的函数x1,x2X1的取值x1min,x1min+,x1nom,x1max-,x1maxX2的取值x2min,x2min+,x2nom,x2max-,x2max12边界值分析的取值13“单缺陷”假设“单缺陷”假设

失效极少是由两个或多个缺陷的同时发生引起的

“单缺陷”假设是边界值分析的关键假设14(3)边界值分析测试用例边界值分析获得测试用例的方法:使所有变量取正常值,只使一个变量取极值;对于一个n变量函数,边界值分析会产生4n+1个测试用例。

15X1取值:x1min,x1min+

,x1nom,x1max-,x1maxX2取值:x2min,x2min+,x2nom,x2max-,x2max两个变量函数的边界值分析测试用例{<x1nom,x2min>,<x1nom,x2min+>,<x1nom,x2nom>,<x1nom,x2max->,<x1nom,x2max>,<x1min,x2nom>,<x1min+,x2nom>,<x1max-,x2nom>,<x1max,x2nom>}

两个变量函数边界值分析测试用例16X2两个变量函数边界值分析测试用例17举例:三角形问题三角形问题描述三条边a,b,c取整数值,且各边的取值范围是:[1,200]边界值分析设计测试用例每条边的取值:

1,2,100,199,200测试用例数目:4n+1三角形问题(n=3):用例数为131819练习:NextDate函数输入条件1≤月份≤121≤日期≤311812≤年≤2012请用边界值分析设计测试用例20(4)边界值分析优缺点边界值测试分析采用了可靠性理论的单缺陷假设。优点:简便易行;生成测试数据的成本很低;

局限性:测试用例不充分;不能发现测试变量之间的依赖关系;不考虑含义和性质;结论:只能作为初步测试用例使用212.健壮性测试健壮性是指在异常情况下,软件还能正常运行的能力。健壮性有两层含义:

容错能力

恢复能力

22容错性测试通常构造一些不合理的输入来引诱软件出错,例如:

(1)输入错误的数据类型。如“猴”年“马”月。

(2)输入定义域之外的数值。粗暴一些方式俗称“大猩猩”测试法。除了不能拳打脚踢嘴咬外,什么招术都可以使出来。例如在测试客户机-服务器模式的软件时,把网络线拔掉,造成通信异常中断。恢复测试重点考察一下几项:

(1)系统能否重新运行;

(2)有无重要的数据丢失;

(3)是否毁坏了其它相关的软件硬件。23健壮性测试的基本思想健壮性测试是边界值分析的一种简单扩展,除了使用五个边界值分析取值,还要过采用:一个略超过最大值(max+)的取值一个略小于最小值(min-)的取值

24X2两个变量函数的健壮性测试用例25健壮性测试的讨论健壮性测试最有意思的部分不是输入而是预期的输出健壮性测试的主要价值是观察异常情况的处理软件质量要素的衡量标准:软件的容错性软件容错性的度量:从非法输入中恢复

26健壮性测试的测试用例个数

一个变量个数为n的函数的健壮性测试会产生多少个测试用例?

6n+1?思考:273.最坏情况测试最坏情况测试的基本思想边界值测试分析采用了可靠性理论的单缺陷假设最坏情况测试拒绝这种假设,关心当多个变量取极值时会出现什么情况?28最坏情况测试用例设计方法对每一个变量首先进行包含最小值、略高于最小值、正常值、略低于最大值、最大值五个元素集合的测试,然后对这些集合进行笛卡尔积计算,以生成测试用例。一个变量个数为n的函数的最坏情况测试会产生5n个测试用例。

29两变量函数的最坏情况测试用例X230最坏情况与边界值分析的比较基本边界值分析测试用例是最坏情况测试用例的真子集。最坏情况测试显然更彻底最坏情况测试工作量大得多n变量函数的最坏情况测试会产生5的n次方个测试用例,边界值分析只产生4n+1个测试用例。31最坏情况测试举例(1)三角形问题三条边a,b,c取整数值,且各边的取值范围是:[1,200]最坏情况测试用例每条边的取值:1,2,100,199,200测试用例数目:5n三角形问题(n=3):用例数为125测试用例:见教材76页。32NextDate的测试用例输入条件1≤月份≤121≤日期≤311812≤年≤2012最坏情况测试用例设计月份取值:1,2,6,11,12日期取值:1,2,15,30,31年取值:1812,1813,1912,2011,2012最坏情况测试举例(2)33NextDate的测试用例测试用例数目

n=3,5n=125测试用例见教材79-82页错误的测试用例第41行:1812年2月30日遗漏重要的测试用例日期取28或29闰年:2000年最坏情况测试举例(2)34健壮最坏情况测试对于确实极端的测试,会采用健壮最坏情况测试,这种测试使用健壮性测试的7个元素集合。对每一个变量,首先进行包含最小值、略高于最小值、正常值、略低于最大值、最大值五个元素集合的测试,还要采用一个略超过最大值的取值,以及一个略小于最小值的取值。然后对这些集合进行笛卡尔积计算以生成7的n次方个测试用例。35两变量函数的健壮最坏情况测试用例364.特殊值测试边界值分析假定n个变量是相互独立的,没有考虑这些变量之间的相互依赖关系;特殊值测试使用领域知识、使用类似程序的经验开发测试用例的特殊值。37特殊值测试特点:最直观、最不一致、具有高度主观性。特殊值测试特别依赖测试人员的能力虽然特殊值测试是高度主观性的,但是能更有效地发现缺陷例如:2月28日、2月29日385.随机测试随机测试的基本思想不是永远选取有界变量的最小值、略高于最小值、正常值、略低于最大值和最大值,而是使用随机数生成器选出测试用例值。39随机测试的一种实现方法有界变量a≤x≤b值的一个VisualBasic应用程序生成的x,满足下式:

x=Int(b-a+1)*Rnd+a函数Int返回浮点数的整数部分函数Rnd生成区间[0,1]内的随机数

40选择测试用例原则

1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。例如,如果程序的规格说明中规定:"重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……"。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。41选择测试用例原则

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。比如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。42选择测试用例原则3)将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。例如,某程序的规格说明要求计算出"每月保险金扣除额为0至1165.25元",其测试用例可取0.00及1165.24、还可取一0.01及1165.26等。

再如一程序属于情报检索系统,要求每次"最少显示1条、最多显示4条情报摘要",这时我们应考虑的测试用例包括1和4,还应包括0和5等。43选择测试用例原则

4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。

6)分析规格说明,找出其它可能的边界条件。44在用到边界值得方法得时候,会看到这样得描述或者听到这样得描述,那么究竟什么是上点,内点和离点呢?上点:就是指得边界上得点,无论此时得域是开区间还是闭区间,开区间得话,上点就是在域外,闭

温馨提示

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

评论

0/150

提交评论