![软件测试技术课件_第1页](http://file4.renrendoc.com/view/95250fa5c1b435e75836b9c28e0288be/95250fa5c1b435e75836b9c28e0288be1.gif)
![软件测试技术课件_第2页](http://file4.renrendoc.com/view/95250fa5c1b435e75836b9c28e0288be/95250fa5c1b435e75836b9c28e0288be2.gif)
![软件测试技术课件_第3页](http://file4.renrendoc.com/view/95250fa5c1b435e75836b9c28e0288be/95250fa5c1b435e75836b9c28e0288be3.gif)
![软件测试技术课件_第4页](http://file4.renrendoc.com/view/95250fa5c1b435e75836b9c28e0288be/95250fa5c1b435e75836b9c28e0288be4.gif)
![软件测试技术课件_第5页](http://file4.renrendoc.com/view/95250fa5c1b435e75836b9c28e0288be/95250fa5c1b435e75836b9c28e0288be5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第17章 软件测试技术软 件 工 程第1页,共62页。第17章 软件测试技术17.1 软件测试基础 17.1.1 测试目标 17.1.2 测试原则 17.1.3 可测试性17.2 测试用例设计17.3 白盒测试17.4 基本路径测试 17.4.1 流图符号 17.4.2 环复杂度 17.4.3 导出测试案例 17.4.4 图矩阵第2页,共62页。第17章 软件测试技术17.5 控制结构测试 17.5.1 条件测试 17.5.2 数据流测试 17.5.3 循环测试17.6 黑盒测试 17.6.1 基于图的测试方法 17.6.2 等价划分 17.6.3 边界值分析 17.6.4 比较测试 17.6
2、.5 正交数组测试第3页,共62页。第17章 软件测试技术17.7 针对专门环境、体系结构和应用的测试 17.7.1 测试GUI 17.7.2 客户/服务器体系结构的测试 17.7.3 测试文档和帮助设施 17.7.4 实时系统测试17.8 小结第4页,共62页。第17章 软件测试技术软件开发过程必须伴有质量保证活动软件测试是软件质量保证的关键元素,代表了规约、设计和编码的最终检查。第5页,共62页。17.1.1 测试目标1.测试是为了寻找错误而运行程序的过程。2.一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试。3.一个成功的测试是揭示了迄今为止尚未发现的错误的测试。第6页,共62
3、页。17.1.2 测试原则(1)所有的测试都应追溯到用户需求,程序中的问题根源可能在开发前期的各阶段解决、纠正错误也必须追溯到前期工作。第7页,共62页。测试与开发前期工作的关系决定软件与系统的配合关系需求分析概要设计详细设计 编 码单元测试集成测试确认测试系统测试第8页,共62页。开发前期出现错误的扩展计划需求分析设计编码测试AAB第9页,共62页。软件生存期各阶段间需保持的正确性用户要求用户:我要什么?运行结果计算机:程序运行得到的结果源程序程序员:我要让计算机什么做?设计说明书设计员:我要让软件做什么?需求说明书分析员:我可以提供什么?12345理解正确性表达正确性理解正确性设计正确性表
4、达正确性理解正确性编码正确性运行正确性输入正确性相符吗?第10页,共62页。17.1.2 测试原则(2) 测试工作真正开始前较长时间就进行测试 计划 (3)pareto原则可应用于软件测试(4)测试应从“小规模”开始,逐步转向“大规模”(5)穷举测试是不可能的。(6)应由独立的第三方来构造测试第11页,共62页。 17.1.3 可测试性 可测试软件的特征:可操作性可观察性可控制性可分解性简单性稳定性易理解性第12页,共62页。 “好”测试的属性: 发现错误的可能性高不冗余在目的相似的测试中,应使用最可能找到所有错误的测试一个好测试不会太简单,也不会太复杂。每一个测试应独立执行第13页,共62页
5、。软件测试有关概念测试中用到的模型元素(UML类图)测试组测试用例故 障组 件测试存根测试驱动程序误 差错 误改 正由修改由引起由引起找出使用修改1n*第14页,共62页。 17.2 测试用例设计选择测试用例是软件测试员最重要的一项工作。测试用例的属性:属性 描述name 测试用例的名称 location 可执行的完全路径名 input 输入数据或命令oracle 与测试输入相比较的期待测试结果log 测试生产的输出第15页,共62页。17.3 白盒测试又称:开盒测试、结构测试、玻璃盒测试、基于覆盖 的测试。根据被测程序的逻辑结构设计测试用 例,力求提高测试覆盖率。使用白盒测试,产生的测试案例
6、可以:保证一个模块中的所有独立路径至少被使用一次;对所有逻辑值均需测试真和假;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。第16页,共62页。白盒测试的测试用例设计逻辑覆盖法(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定/条件覆盖(5)条件组合覆盖(6)路径覆盖(7)点覆盖(8)边覆盖第17页,共62页。例:PROCEDURE SAMPAL (A,B:REAL; VAR X:REAL); BEGIN IF (A1) AND (B=0) THEN X:=X/A IF (A=2) OR (X1) THEN X:=X+1 END; 第18页,共62页。开始(A1) A
7、ND (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdce第19页,共62页。(1)语句覆盖使程序中每个语句至少执行一次第20页,共62页。语句覆盖开始(A1) AND (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdce第21页,共62页。只需设计一个测试用例:输入数据:A=2,B=0,X=4即达到了语句覆盖;语句覆盖是最弱的逻辑覆盖第22页,共62页。(2) 判定覆盖(分支覆盖) 使每个判定的真假分支都至少执行一次第23页,共62页。判定覆盖开始(A1) AND (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdc
8、e第24页,共62页。例:可设计两组测试用例:A=3,B=0 ,X=3 可覆盖c、d分支 A=2,B=1 ,X=1 可覆盖b、e分支 两组测试用例可覆盖所有判定的真假分支语句覆盖仍是弱的逻辑覆盖第25页,共62页。(3)条件覆盖 使每个判定的每个条件的可能取值至少执行一次第26页,共62页。第一判定表达式:设条件 A1 取真 记为 T1 假 T1 条件 B=1 取真 记为 T2 假 T2第二判定表达式:设条件 A=2 取真 记为 T3 假 T3 条件 X1 取真 记为 T4 假 T4第27页,共62页。条件覆盖开始(A1) AND (B=0)(A=2) OR (X1)返回X=X/AX=X+1F
9、FTTabdce满足条件: T1,T1, T2,T2 T3,T3 T4,T4第28页,共62页。测试用例 通过 满足的 覆盖A B X 路径 条件 分支1 0 3 abe T1,T2,T3,T4 b,e2 1 1 abe T1,T2,T3,T4 b,e 两个测试用例覆盖了四个条件八种可能取值。未覆盖c、d分支,不满足判定覆盖的要求.条件覆盖不一定包含判定覆盖判定覆盖也不一定包含条件覆盖第29页,共62页。(4)判定/条件覆盖 选取足够多的测试用例,使判断中的每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次.第30页,共62页。判定/条件 覆盖开始(A1) AN
10、D (B=0)(A=2) OR (X1)返回X=X/AX=X+1FFTTabdce满足条件: T1,T1, T2,T2 T3,T3 T4,T4第31页,共62页。测试用例 通过 满足的 覆盖A B X 路径 条件 分支2 0 4 ace T1,T2,T3,T4 c,e2 1 1 abd T1,T2,T3,T4 b,d 能同时满足判定、条件两种覆盖标准的取值。第32页,共62页。测试用例 通过 满足的 覆盖A B X 路径 条件 分支2 0 3 ace T1,T2,T3,T4 c,e2 1 1 abe T1,T2,T3,T4 b,e1 0 3 abe T1,T2,T3,T4 b,e1 1 1 a
11、bd T1,T2,T3,T4 b,d第33页,共62页。(5)条件组合覆盖 所有可能的条件取值组合至少执行一次 A1, B=0 A1, B0 A1, B=0 A1, B0 A=2, X1 A=2, X1 A2, X1 A2, X1第34页,共62页。测试用例 通过 满足的 覆盖A B X 路径 条件 分支2 0 4 ace T1,T2,T3,T4 c,e2 1 1 abe T1,T2,T3,T4 b,e1 0 2 abd T1,T2,T3,T4 b,d1 1 1 abd T1,T2,T3,T4 b,d 第35页,共62页。(6)路径覆盖 覆盖每一个可能的路径测试用例 通过 满足的 覆盖A B
12、X 路径 条件 分支1 1 1 abd T1,T2,T3,T4 b,d1 1 2 abe T1,T2,T3,T4 b,e3 0 1 acd T1,T2,T3,T4 c,d2 0 4 ace T1,T2,T3,T4 c,e第36页,共62页。17.4 基本路径测试法 通过分析由控制构造的环路的复杂性,导出基本路径集合,从而设计测试用例,保证这些路径至少通过一次。 基本路径测试步骤: 导出程序流程图的拓扑结构-流图(程序图) 计算流图G的环路复杂度V(G) 确定只包含独立路径的基本路径集 设计测试用例第37页,共62页。导出程序流程图的拓扑结构-流图12,364,571011a节点边R4区域123
13、45876911程序流程图89R1R2R310第38页,共62页。 在上图中,每一个圆称为流图的节点,它代表一个或多个过程语句。一个处理方框序列和一个菱形决策框可被映射为一个节点,流图中的箭头称为边或连接,它代表控制流,类似流程图中的箭头。一条边必须终止于一个节点,即使该节点并不代表任何语句。由边和节点限定的区称为区域。计算区域时应包括图外部区,将其作为一个区域。第39页,共62页。计算流图G的环路复杂度V(G) V(G)=区域个数=4 V(G)=边的条数-节点个数+2=4 V(G)=判定节点个数+1=4V(G)的值提供了组成基本集的独立路径的上界,并由此得出覆盖所有程序语句所需的测试数量的上
14、界。独立路径指程序中至少引进一个新的处理语句集合或一个新条件的任一路径。即独立路径必须至少沿一条在定义该路径之前不曾用到的边移动。17.4.2 环复杂度第40页,共62页。确定只包含独立路径的基本路径集path1:1-11path1:1-2-3-4-5-10-1-11path1:1-2-3-6-8-9-10-1-11path1:1-2-3-6-7-9-10-1-11 一条新路径必须包含一条新边。 这4条路径组成了一个基本路径集。4(环路复杂度V(G)是构成这个基本路径集的独立路径数的上界,也是设计测试用例的数目。 设计测试用例,保证基本路径集中每条路径的执行。第41页,共62页。17.4.4
15、图矩阵图矩阵是一个正方形矩阵,其大小(即列数和行数)等于流图的节点数。aedcbfg12345 1 2 3 4 5 1 2 3 4 5 a b d c f g e节点连接到节点对每个矩阵项加入连接权值,图矩阵即可用于在测试中评估程序的控制结构。连接权值为控制流提供了附加的信息。最简单的情况:连接权值是1(存在连接)或0(不存在连接)。第42页,共62页。17.5 控制结构测试条件测试:检查程序模块中所包含逻辑条 件的测试案例设计方法。数据流测试:按照程序中的变量定义和使 用的位置来选择程序的测试 路径。循环测试:注重于循环构成元素的有效性。第43页,共62页。17.5.1 条件测试可能的条件的
16、成分类型包括:布尔运算符、布尔变量、布尔括弧、关系运算符或算术表达式。条件测试策略有多种:分支测试:对于复合条件C,C的真分支和假分支 以及C中的每个简单条件都需要至少执行一次。域测试:要求从有理表达式中导出三个或四个测 试,有理表达式的形式:E1E2,需 要三个测试分别使E1的值大于、等于或小于E2的 值。第44页,共62页。17.5.1 条件测试分支与关系运算符(BRO)测试:保证检测布尔 变量和关系运算符只出现一次而且没有公共变量 的条件中的分支和关系运算符错误。 BRO策略利用条件C的条件约束。有n个简单条件 的条件C的条件约束定义为(D1,D2,Dn), 其中Di刻画条件C中第I个简
17、单条件的输出约束。 如果C的执行过程中C的每个简单条件的输出都满 足D中对应的约束,则称条件C的条件约束D由C的 执行所覆盖。第45页,共62页。BRO测试举例:例1:C1:B1&B2 B1,B2为布尔变量。C1的条件约束形如(D1,D2),其中D1和D2的值是t或f。BRO测试策略要求约束集(t,t),(f,t),(t,f)由C1的执行所覆盖,如果C1由于布尔运算符错误而不正确,该约束集中至少有一个约束强制C1失败。例2:C2:B1&(E3=E4)(t,=),(f,=),(t,),此约束集的覆盖率将保证检测C2的布尔运算符和关系运算符错误。第46页,共62页。17.5.2 数据流测试设程序的
18、每条语句都赋予了独特的语句号而且每个函数都不改变其参数和全局变量。对于语句号为S的语句,DEF(S)=X|语句S包含X的定义USE(S)=X|语句S包含X的使用若语句S是if或循环语句,它的DEF集为空而USE集取决于S的条件。如果存在从S到S的路径并该路径不含X的其他定义,则称变量X在语句S处的定义在语句S仍有效。变量X的定义-使用链(DU链)形如X,S,S,X在DEF(S)和USE(S)中,而且语句S定义的X在语句S有效。第47页,共62页。17.5.2 数据流测试DU测试策略:要求覆盖每个DU链至少一次。数据流测试策略可用于为包含嵌套if和循环语句的程序选择测试路径。它能有效地发现错误,但它的覆盖率的测量和路径选择比条件测试更为困难。第48页,共62页。17.5.3 循环测试四种循环如下:简单循环:下列测试集可用于简单循环。1) 整个跳过循环;2) 只
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经营酒吧合同
- 股份制改革流程文书模板与指导
- 汽车美容店合作协议书年
- 委托培训协议书
- 质量管理体系培训指导书
- 2025年青海货运从业资证孝试模似题库
- 小学三年级数学加减乘除混合口算
- 2025年黔东南道路货运驾驶员从业资格证考试题库
- 2025年上海货车丛业资格证考试题
- 2025年汕头货运从业资格证怎么考试
- (一模)宁波市2024学年第一学期高考模拟考试 数学试卷(含答案)
- 摄影入门课程-摄影基础与技巧全面解析
- 冀少版小学二年级下册音乐教案
- 【龙集镇稻虾综合种养面临的问题及优化建议探析(论文)13000字】
- 父母赠与子女农村土地协议书范本
- 《师范硬笔书法教程(第2版)》全套教学课件
- 中国联通H248技术规范
- 集团母子公司协议书
- 孙权劝学省公共课一等奖全国赛课获奖课件
- DL-T-692-2018电力行业紧急救护技术规范
- 2024年杭州钱塘新区建设投资集团有限公司招聘笔试冲刺题(带答案解析)
评论
0/150
提交评论