软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch07

上传人:E**** 文档编号:89326001 上传时间:2019-05-23 格式:PPT 页数:31 大小:326KB
返回 下载 相关 举报
软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch07_第1页
第1页 / 共31页
软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch07_第2页
第2页 / 共31页
软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch07_第3页
第3页 / 共31页
软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch07_第4页
第4页 / 共31页
软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch07_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch07》由会员分享,可在线阅读,更多相关《软件工程——原理、方法和工具 教学课件 ppt 作者 李东生 Ch07(31页珍藏版)》请在金锄头文库上搜索。

1、软件工程 原理、方法和工具 Ch.7 软件测试,第7章 软件测试,7.1 软件测试的目标 7.2 软件测试的原则 7.3 软件测试方法 7.4 软件测试用例的设计 7.5 软件测试过程 7.6 调试,7.1 软件测试的目标,G.J.Myers给出的软件测试的目标或定义: 软件测试是为了发现错误而执行程序的过程; 一个好的测试用例能够发现至今尚未发现的错误; 一个成功的测试是发现了至今尚未发现的错误的测试。 测试阶段的基本任务应该是根据软件开发各阶段的文档资料和程序内部结构,精心设计一组“高产”的测试用例,利用这些用例执行程序,找出软件中潜在的各种错误缺陷。,7.2 软件测试的原则,1. 测试用

2、例既要有输入数据,又要有对应的输出结果 测试用例不仅要选用合理的输入数据,还应选择不合理的输入数据 除了检查程序是否做了它应该做的工作,还应该检查程序是否做了它不应该做的工作 应该远在测试开始之前就制定测试计划 测试计划、测试用例、测试报告必须作为文档长期保存 Pare to原理说明,测试发现的错误中80%很可能是由程序中20%的模块造成的 为了达到最佳的测试效果,程序员应该避免测试自己的程序,7.3 软件测试方法,软件测试的分类: 动态测试 静态分析 7.3.1 静态测试与动态测试 7.3.2 黑盒测试法与白盒测试法,7.3.1 静态测试与动态测试,静态测试: 人工测试 计算机辅助静态分析

3、动态测试: 黑盒测试法 白盒测试法,7.3.2 黑盒测试法与白盒测试法,黑盒测试,也称功能测试或数据驱动测试。它不考虑程序内部结构和处理过程。把被测程序看成一个黑盒子,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。 白盒测试,也称结构测试或逻辑驱动测试。测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对程序中的所有逻辑路径进行测试,并检验内部控制结构是否有错,确定实际的运行状态与预期的状态是否一致。 黑盒测试和白盒测试都不可能进行穷尽测试。,7.4 软件测试用例的设计,测试用例的设计人员必须努力以最少量的测试用

4、例来发现最大量的可能错误。 7.4.1 白盒技术 7.4.2 黑盒技术,7.4.1 白盒技术,逻辑覆盖 语句覆盖 判定覆盖 条件覆盖 判定条件覆盖 条件组合覆盖 路径覆盖 循环覆盖 单循环 嵌套循环,基本路径测试 使用基本路径测试技术设计测试用例的步骤 : 根据详细设计结果或源程序画出相应的程序图(也称为流图) ; 计算程序图G的环形复杂度V(G) ; 确定线性独立路径的基本集合; 导出测试用例 ; 准备测试用例,确保基本路径集中的每一条路径的执行,被测模块的流程图,程序流程图,程序图,7.4.2 黑盒技术,等价类划分法 有效等价类 无效等价类 边界值分析法 错误推测法 因果图法,7.4.2

5、黑盒技术,“招聘考试”输入条件的等价类表,7.4.2 黑盒技术,“招聘考试”边界值分析法测试用例,7.5 软件测试过程,软件测试过程,7.5 软件测试过程,软件测试过程中需要三类信息: 软件配置:指需求说明书、设计说明书和源程序等; 测试配置:指测试方案,测试用例和测试驱动程序等; 测试工具:指计算机辅助测试的有关工具。 7.5.1 单元测试 7.5.2 集成测试 7.5.3. 确认测试 7.5.4 系统测试,7.5.1 单元测试,单元测试的任务:模块接口测试、模块局部数据结构测试、模块出错处理通路测试、模块中重要的执行路径测试和模块边界条件测试。 单元测试的方法:在单元测试时,需要为被测试模

6、块设计驱动模块和桩模块。,7.5.2 集成测试,集成测试是用于组装软件的一种系统化的技术,有两种方法,渐增式测试和非渐增式测试。 渐增式测试的基本思想是:把下一个要测试的模块同已经测试好的模块结合起来进行测试。测试一个增加一个,即在组装过程中边组装边测试。 非渐增式测试的基本思想是:先分别测试各个模块,再把所有模块按设计要求组装在一起进行的测试。,7.5.2 集成测试,7.5.2 集成测试,自底向上结合集成测试示意图,7.5.3 确认测试,确认测试又称有效性测试,它和验收测试比较接近。 确认测试阶段首先要进行有效性测试和软件配置审查两项工作,之后经过管理部门的批准和专家的鉴定后,软件即可交付使

7、用。,7.5.4 系统测试,系统测试是将经过单元测试、集成测试、确认测试以后的软件,作为计算机系统中的一个组成部分,需要与系统中的硬件、外部设备、支持软件、数据及操作人员结合起来,在实际运行环境下对计算机系统进行一系列的严格有效的测试来发现软件的潜在问题,以保证个组成部分不仅单独的正常运行,而且在系统各部分统一协调下也能正常运行。,7.6 调试,调试是在测试发现错误之后排除错误的过程。 7.6.1 调试的目的 7.6.2 调试技术,7.6.1 调试的目的,软件测试的目的是为找出软件中存在的错误,即通过测试来发现错误,而调试的目的是为了解决存在的错误,即对错误定位、分析并找出原因改正错误,因此调

8、试也称为纠错。,7.6.2 调试技术,简单的调试技术 使计算机将存储器的全部内容,通过打印机打印出来。然后通过逐个数据进行查找,从中寻找确定错误位置。 在程序特定部位插入打印语句,其方法的优点是显示程序的动态过程,比较容易检查源程序的有关信息。 使用自动调试工具来分析程序的动态行为,纠正错误。 消去原因法 归纳法 演绎法,7.6.2 调试技术,归纳法纠错流程,7.6.2 调试技术,演绎法纠错流程,习题,7.1 软件测试的基本任务是什么?简述测试的目标和基本原则。 7.2 简述静态测试与动态测试的含义。它们之间有什么不同点和相同点。 7.3 白盒测试用例和黑盒测试用例设计的基本方法。 7.4 测

9、试用例设计、组织和测试过程组织之间的关系和实践过程。 7.5 简述测试和调试的含义,它们之间有什么区别? 7.6 软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系? 7.7 什么是单元测试,什么是集成测试,什么是确认测试? 7.8 一个C语言程序,读入三个正整数作为三角形的边长,要求程序打印如下信息:该三角形是等边的、等腰的或一般三角形。试设计一组测试用例,用来测试此程序。 7.9 某高校拟对参加计算机应用水平考试成绩好的学生进行奖励,成绩合格者奖励50元,成绩在80分以上者奖励100元,成绩在90分以上者奖励200元,并公布奖励成绩及所获奖金,编写程序流程图,设计测试用例,写出测试路径及所满足的覆盖条件。,习题,7.10 设某个程序用于求一元二次方程ax+bx+c=0的根, a,b和c为整数。试采用等价分类法和边界值分析法来设计测试用例。 7.11 Drikstra说:“程序测试只能证明+错误的存在,不能证明错误不存在”,Myers说:“测试是为了证明程序有错,而不是证明程序无错”。如何理解这两句话所蕴涵的意义。 7.12 一个折半查找程序可搜索按字母顺序排列的名字列表,如果查找的名字在列表中则返回真,否则返回假。为了对它进行功能测试,应该设计哪些测试用例?,Q & A,

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

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

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