软件工程实用教程 第2版 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 郭宁 第7 章 软件测试技术

上传人:E**** 文档编号:89494353 上传时间:2019-05-25 格式:PPT 页数:25 大小:95.50KB
返回 下载 相关 举报
软件工程实用教程 第2版  普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  郭宁 第7 章 软件测试技术_第1页
第1页 / 共25页
软件工程实用教程 第2版  普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  郭宁 第7 章 软件测试技术_第2页
第2页 / 共25页
软件工程实用教程 第2版  普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  郭宁 第7 章 软件测试技术_第3页
第3页 / 共25页
软件工程实用教程 第2版  普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  郭宁 第7 章 软件测试技术_第4页
第4页 / 共25页
软件工程实用教程 第2版  普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  郭宁 第7 章 软件测试技术_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《软件工程实用教程 第2版 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 郭宁 第7 章 软件测试技术》由会员分享,可在线阅读,更多相关《软件工程实用教程 第2版 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 郭宁 第7 章 软件测试技术(25页珍藏版)》请在金锄头文库上搜索。

1、第7 章 软件测试技术,本章学习内容: 1明确软件测试目的和原则 2掌握软件测试步骤 3掌握设计测试用例的方法 4掌握黑盒测试和白盒测试的方法 5掌握软件调试策略,第7 章 软件测试技术,7.1 软件测试概述 7.1.1 软件测试目的 Grenford J. Myers认为测试的目的是: 软件测试是为了发现错误而执行程序的过程; 测试是为了证明程序有错,而不是证明程序没有错误; 一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。,第7 章 软件测试技术,7.1.2 软件测试原则 应早并不断地进行测试 程序员应尽可能避免检查自己的程序 测试用例应当包

2、括合理的输入条件和不合理的输入条件 测试用例应包括输入数据和预期的输出结果两部分 全面检查每个测试结果 严格按照测试计划来测试 充分注意测试中的集群现象 注意遵守“经济性”的原则,第7 章 软件测试技术,7.1.3测试步骤 制定测试计划。该计划被批准后转向第二步; 设计测试用例。该用例被批准后转向第三步; 如果满足“启动准则”,那么执行测试; 撰写测试报告; 消除软件缺陷。如果满足“完成准则”,那么正常结束测试。,第7 章 软件测试技术,7.2 软件测试技术 7.2.1 测试用例设计 1定义 测试索引,测试环境,测试输入,测试操作,预期结果,评价标准 2使用测试用例的好处,第7 章 软件测试技

3、术,7.2.2 黑盒测试方法 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。 1等价类划分法 (1)等价类:有效等价类 、无效等价类 (2)划分等价类的方法 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。 在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。,第7 章 软件测试技术,在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有

4、效等价类和一个无效等价类。 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类。 在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。,第7 章 软件测试技术,(3)设计测试用例: 为每一个等价类规定一个唯一的编号; 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止; 设计一个新的测试用例,使其覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。,第7 章 软件测试技术,2边界值分析法 (1)边界值分析方法的考虑 (2

5、)基于边界值分析方法选择测试用例的原则 1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。 2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少1,比最大个数多1的数作为测试数据。,第7 章 软件测试技术,3)根据规格说明的每个输出条件,使用前面的原则1)。 4)根据规格说明的每个输出条件,应用前面的原则2)。 5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。 6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。 7)分析规

6、格说明,找出其它可能的边界条件。,第7 章 软件测试技术,3错误推测法 错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。,第7 章 软件测试技术,4因果图方法 (1) 分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。 (2) 分析软件规格说明描述中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系,画出因果图。 (3) 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。

7、 (4) 把因果图转换为判定表。 (5) 把判定表的每一列拿出来作为依据,设计测试用例,第7 章 软件测试技术,7.2.3 白盒测试方法 白盒测试也称结构测试或逻辑驱动测试。在使用白盒测试方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,对所有逻辑路径进行测试,得出测试数据。 1逻辑覆盖法:以程序内部的逻辑结构为基础的测试用例设计技术。 (1)语句覆盖 (2)判定覆盖 (3)条件覆盖,第7 章 软件测试技术,(4)判定-条件覆盖 (5)条件组合覆盖 2基本路径法 (1)程序的控制流图:描述程序控制流的一种图示方法。 (2)程序环境复杂性:McCabe复杂性度量;从程序的环路复杂性可导

8、出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行依次所必须的测试用例数目的上界。 (3) 导出测试用例。 (4)准备测试用例,确保基本路径集中的每一条路径的执行。 (5)图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。,第7 章 软件测试技术,7.3 软件调试技术 7.3.1 软件调试过程,第7 章 软件测试技术,隐藏在程序中的错误具有下列特殊的性质: (1)错误的外部征兆远离引起错误的内部原因,对于高度耦合的程序结构此类现象更为严重; (2)纠正一个错误造成了另一错误现象(暂时)的消失; (3)某些错误征兆只是假象; (4)因

9、操作人员一时疏忽造成的某些错误征兆不易追踪; (5)输入条件难以精确地再构造(例如,某些实时应用的输入次序不确定); (6)错误征兆时有时无,此现象对嵌入式系统尤其普遍; (7)错误是由于把任务分布在若干台不同处理机上运行而造成的。,第7 章 软件测试技术,7.3.2 软件调试策略 (1)试探法:分析错误征兆,猜测故障的大致位置,然后检测程序中被怀疑位置附近的信息,由此获得对程序错误的准确定位。 (2)回溯法:分析错误征兆,确定最先发现“症状”的位置,然后人工沿程序的控制流程往回追踪源程序代码,直到找出错误根源或确定故障范围为止。 (3)对分查找法:如果已经知道每个变量在程序内若干个关键点的正

10、确值,则可以用赋值语句或输入语句在程序中点附近“注入”这些变量的正确值,然后检查程序的输出。如果输出结果是正确的,则故障在程序的前半部分;反之,故障在程序的后半部分。对于程序中有故障的那部分再重复使用这个方法,直到把故障范围缩小到容易诊断的程度为止。,第7 章 软件测试技术,(4)归纳法:归纳错误信息的发生因果特性,提出假设的错误原因,用这些数据来证明或反驳,从而查出错误所在。其步骤如下: 收集有关资料; 组织数据; 导出假设; 证明假设。 (5)演绎法 :根据测试结果,列出所有可能的错误原因。分析已有的数据,排除不可能和彼此矛盾的原因。对余下的原因,选择可能性最大的,利用已有的数据完善该假设

11、,使假设更具体。其步骤如下: 列出所有可能的原因; 用已有的数据排除不正确的假设; 精化剩余的假设; 证明剩余假设。,第7 章 软件测试技术,7.4 系统测试 7.4.1 单元测试 1单元测试工作内容 (1)模块接口测试 (2)局部数据结构测试 (3)路径测试 (4)错误处理测试 (5)边界测试,第7 章 软件测试技术,2单元测试过程 (1)拟定测试计划 (2)编制测试大纲 (3)设计和生成测试用例 (4)实施测试 (5)生成测试报告,第7 章 软件测试技术,7.4.2. 集成测试 集成测试的目的是确保各单元组合在一起后能够按既定意图协作运行,并确保增量的行为正确。它所测试的内容包括单元间的接

12、口以及集成后的功能。使用黑盒测试方法测试集成的功能,并且对以前的集成进行回归测试。 1自顶向下的增量方式 2自底向上的增量方式,第7 章 软件测试技术,7.4.3 确认测试,第7 章 软件测试技术,7.4.3 确认测试 1确认测试标准 2配置复审 3、测试,第7 章 软件测试技术,7.4.4 系统测试 1系统测试需求获取 规则: 测试需求必须是可观测、可测评的行为。如果不能观测或测评的测试需求,就无法对其进行评估,以确定需求是否已经满足。 在每个用例或系统的补充需求与测试需求之间不存在一对一的关系。用例通常具有多个测试需求;有些补充需求将派生一个或多个测试需求,而其他补充需求(如市场需求或包装需求)将不派生任何测试需求。 在需求规格说明书中每一个功能描述将派生一个或多个测试需求,性能描述和安全性描述等也将派生出一个或多个测试需求。,第7 章 软件测试技术,2系统测试策略 (1)系统测试类型和目标 ; (2)采用的测试技术 ; (3)用于评估测试结果和测试是否完成的标准; (4)对测试策略所述的测试工作存在影响的特殊事项。 3系统测试 (1)恢复测试 (2)性能测试 (3)安全测试 (4)强度测试 (5)安装测试,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号