




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件软件测试测试技术技术Te s t i n g AND Developing软件测试过程与测试模型广东岭南职业技术学院上节回顾 测试模型 黑盒测试概念和优缺点第3章 黑盒测试及其用例的设计3.2 黑盒测试法的概念3.3 三角形问题与NextDate函数3.4 等价类划分法3.5 边界值分析法3.6 因果图法3.7 决策表法3.8 错误推测法3.9 测试方法的选择本章教学目标理论环节 学习理解黑盒测试方法的基本概念 学习理解黑盒测试的两个典型问题 学习掌握黑盒测试的等价类划分法 学习掌握黑盒测试的边界值分析法 学习掌握黑盒测试的因果图测试法和决策表法实践环节 通过案例运用学习掌握运用方法解决实
2、际问题的能力 运用等价类划分法与边界值分析法进行实际程序测试 运用因果图测试法与决策表法进行实际程序测试2022-3-23软件输入黑盒测试不深入代码细节输出3.2 黑盒测试概述 在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性,如图所示。2022-3-231黑盒测试主要用于发现以下情况是否有不正确或遗漏了的功能在接口上,能否正确地接受输入数据,能否产生正确地输出信息访问外部信息是否有错性
3、能上是否满足要求界面是否错误,是否不美观初始化或终止错误2022-3-232“黑盒”的两种基本方法 黑盒测试有两种基本方法,即通过测试和失败测试。 在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何。软件测试员只运用最简单,最直观的测试案例。 在设计和执行测试案例时,总是先要进行通过测试。在进行破坏性试验之前,看一看软件基本功能是否能够实现。这一点很重要,否则在正常使用软件时就会奇怪地发现,为什么会有那么多的软件缺陷出现? 在确信了软件正确运行之后,就可以采取各种手段通过搞“垮”软件来找出缺陷。纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试或迫使出错测试。2022-3-
4、233黑盒测试的优、缺点黑盒测试的优点有:1)比较简单,不需要了解程序内部的代码及实现;2)与软件的内部实现无关;3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;5)在做软件自动化测试时较为方便。黑盒测试的缺点有:1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;2)自动化测试的复用性较低。2022-3-234黑盒测试的测试用例设计方法1、等价类划分方法;2、边界值分析方法;3、错误推测方法;4、因果图方法;5、决策表驱动分析方法;6、正交试验设计方法;7、功能图分析方法3.3 三角形问题与N
5、extDate函数 1、三角形问题 输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及构不成三角形。 现在要求输入三个整数a、b、c,必须满足以下条件: 条件1 1a100 条件4 ab+ c 条件2 1b100 条件5 ba+ c 条件3 1c100 条件6 ca+ b 三角形问题与NextDate函数(续) 如果输入值a、b、c不满足条件1、条件2和条件3中的任意一个,程序给出“边的取值超出允许范围”的信息。 如果输入值a、b、c 满足条件1、条件2和条件3,则输出下列四种情况之一:(1
6、)如果不满足条件4、条件5和条件6中的任意一个,则程序输出为“非三角形”。(2)如果三条边相等,则程序输出为“等边三角形”。(3)如果恰好有两条边相等,则程序输出为“等腰三角形”。(4)如果三条边都不相等,则程序输出为“一般三角形”。 三角形问题的复杂之处在于输入与输出之间的关系比较复杂。三角形问题与NextDate函数(续) 2、NextDate函数 NextDate函数说明另一种复杂的关系,即输入变量之间逻辑关系的复杂性。 NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。 要求输入变量month、day和year均为整数值,并且满足下列条件:
7、 条件1 1 month 12 条件2 1 day 31 条件3 1912 year 2050 在NextDate函数中有两种复杂性的输入来源,一是输入域的复杂性,二是确定闰年的规则并要增加“额外天”。3.4 等价类划分法n计算两个1100之内的整数之和n如何测试?等价类划分法n等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。n举例:设计这样的测试用例,来实现一个对所有实数进行开平方运算( y = sqrt(x) )的程序的测试。思考方向: 由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域x)进行划分,
8、可以分成:正实数、0 和 负实数。假设我们选定+1.4444代表正实数,-2.345代表负实数,则为该程序设计的测试用例的输入为+1.4444、 0 和 -2.345。等价类划分法(续)n等价类划分法是把所有可能的输入数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。n等价类是指某个输入域的子集合。所有这些子集合(即等价类)并不相交,且并集为输入域。n在一个子集合中的各个输入数据,对于揭露程序中的错误都是等效的,因此它们具有等价特性。即每一个该子集的代表性数据在测试中的作用都等价于这一类中的其它数据。n这样,只选取某个等价类中的一个或几个代表性
9、的数据来测试,则等效于对于这一类所有值的测试。n因此,问题划转化为如何分等价类,而不需要考虑穷尽测试了3.4.1 等价类的划分原则 等价类的特征: 完备性所有等价类的并集为整个输入域 无冗余性等价类互不相交 如何划分?等价类的划分原则(续) 划分等价类可分为两种情况:(1)有效等价类 是指对软件规格说明而言,是有意义的、合理的输入数据所组成的集合。利用有效等价类,能够检验程序是否实现了规格说明中预先规定的功能和性能。(2)无效等价类 是指对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合。利用无效等价类,可以鉴别程序异常处理的情况,检查被测对象的功能和性能的实现是否有不符合规格说明要
10、求的地方。 等价类的划分原则(续) 进行等价类划分的依据:(1)按照区间划分 在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。程序输入x取值于一个固定的枚举类型1,3,7,15,且程序 中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、 x=7、x=15,无效等价类为x1,3,7,15的值的集合。(2)按照数值划分 在规定了一组输入数据(假设包括 n个 输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定 n 个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。(3)按照数值集合划分 在输入条件规定了输入
11、值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类(该集合有效值之外)。(5)细分等价类 在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类表。 (4)按照限制条件或规则划分 在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。等价类的划分原则思考:如何考虑下面问题的等价类划分?1、一个类似超级玛丽的游戏,游戏的快捷键有:四个方向键、跑、攻击、防御,如何划分等价类进行测试?2、银行系统的数据库要求用户账户密码必须为6位数字,如何划分等
12、价类?等价类划分法的测试用例设计 在设计测试用例时,应同时考虑有效等价类和无效等价类测试用例的设计。 根据划分好的等价类表可确定测试用例,具体过程如下:(1)列出可能首先为等价类表中的每一个等价类(2)分别规定一个唯一的编号。(3)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖(尽量一对多)。(4)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖(必须一对一)。例1:游戏快捷键测试第一步:划分有效和无效等价类并编号输入条件输入条件有效等价类有效等价类无效等价类无效等价
13、类指定的指定的单个按键单个按键 跑跑(a) 攻击攻击(z) 防御防御(x) 非指定的单个按键非指定的单个按键 多个按键多个按键第二步:依次设计测试用例,直到所有有效等价类被覆盖测试用例:键 键 键 键 a键 z键 x键第三步:依次设计测试用例,直到所有无效等价类被覆盖q键 a键+s键 s键+d键例2:银行账户密码测试第一步:划分有效和无效等价类并编号输入条件输入条件有效等价类有效等价类无效等价类无效等价类6位位19字字符符 6位任意数字位任意数字 少于少于6位数字字符位数字字符 多于多于6位数字字符位数字字符 任意长度的含有非数任意长度的含有非数字字符的字符串字字符的字符串第二步:依次设计测试
14、用例,直到所有有效等价类被覆盖测试用例:123456第三步:依次设计测试用例,直到所有无效等价类被覆盖123 1234567 a123常见等价类划分测试形式 针对是否对无效数据进行测试,可以将等价类测试分为 标准等价类测试和健壮等价类测试。标准等价类测试不考虑无效数据值,测试用例使用每个等价类中的一个值。健壮等价类测试主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值; 对无效输入,一个测试用例有一个无效值,其他值均取有效值。 标准等价类例如,输入变量x1的范围是:ax1d输入变量x2的范围是: cx2g 假设我们把x1的合理输入范围划分为3个等价类:a,b,(b,
15、c),c,d 假设把x2的合理输入范围划分为2个等价类:e,f,(f,g 标准等价类划分不考虑无效值,测试用例在每个等价类中选择一个值,测试用例的总数等于输入域等价类划分的最大数目因此,我们每次依次在x1和x2的等价类中选取对应的值设计测试用例,以最终完全覆盖x1和x2的等价类。测试用例的总数等于输入域等价类划分的最大数目,即max3, 2=3个健壮等价类 主要的出发点是考虑了无效等价类。 对无效输入,一个测试用例有一个无效值,其他值均取有效值。cbadefg3.4.4 使用等价类划分法测试的实例 实例1 三角形问题的等价类划分 比较简单的方法是从被测程序的输出域反过来定义等价类。 在三角形问
16、题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。R1 = : 边为a,b,c的等边三角形 R2 = : 边为a,b,c的等腰三角形 R3 = : 边为a,b,c的一般三角形 R4 = : 边为a,b,c不能组成三角形 3.4.4 使用等价类划分法测试的实例 实例1 三角形问题的等价类划分输入条件输入条件有效等价类有效等价类无效等价类无效等价类a,b,c介于介于1100的整数,且的整数,且a,b,c能组成三角形能组成三角形组成等边三角形组成等边三角形组成等腰三角形组成等腰三角形组成一般三角形组成一般三角形不能组成三角形不能组成三角
17、形(注:上述四种情(注:上述四种情况况a,b,c的取值都在的取值都在指定范围)指定范围)a的值不在指定范围的值不在指定范围b的值不在指定范围的值不在指定范围c的值不在指定范围的值不在指定范围标准等价类测试用例健壮等价类测试用例三角形问题测试用例测试用例abc预期输出预期输出Test1101010等边三角形等边三角形Test210105等腰三角形等腰三角形Test3345一般三角形一般三角形Test4412非三角形非三角形三角形问题的4个标准等价类测试用例测试用例测试用例abc预期输出预期输出Test1567一般三角形一般三角形Test2-155a值超出输入值定义域值超出输入值定义域Test35
18、-15b值超出输入值定义域值超出输入值定义域Test455-1c值超出输入值定义域值超出输入值定义域Test510155a值超出输入值定义域值超出输入值定义域Test651015b值超出输入值定义域值超出输入值定义域Test755101c值超出输入值定义域值超出输入值定义域三角形问题的7个健壮等价类测试用例使用等价类划分法测试的实例(续) 实例2 保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为: 投保额保险费率 其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:这个例子更适合根据输入域来设计等价类计算保费费率的程序(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。 年龄:一位或两位非零整数,值的有效范围为199 性别:一位英文字符,只能取值M或F 婚姻:字符,只能取值已婚或未婚 抚养人数:空白或一位非零整数(19) 点数 :一位或两位非零整数,值的范围为199(2)根据(1)中的等价类表,设计能覆盖所有等价类的 测试用例。等价类表测试用例输入条件输入条件有效等价
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租农村厂房合同范本
- 付款委托合同范本
- 上半年电工工作总结
- 三年级下册语文教学工作计划
- 各种工程合同范本
- 人防工程物业管理合同范例
- 单位简易装修合同范本
- 买房单合同范本
- 化肥质保合同范本
- 《轮椅上的霍金》读书心得体会
- 10 摩擦力 教学设计-2023-2024学年科学四年级上册苏教版
- 2024-2025学年广东佛山顺德区高三高考适应性月考(二)数学试题含解析
- 2024-2030年锂离子电池隔膜行业市场发展分析及发展趋势与投资管理策略研究报告
- 110kV线路大开挖基础施工方案
- CJJ101-2016 埋地塑料给水管道工程技术规程
- 流动儿童基本情况登记表
- GB/T 43868-2024电化学储能电站启动验收规程
- 2024年时政试题库(综合卷)
- Unit7ArtLesson2BeijingOpera课件高中英语北师版
- 人教版七年级数学下册 第五章 相交线与平行线5.4 平移(课件)
- 数学之美:欣赏数学的优雅与美丽
评论
0/150
提交评论