软件测试技术交流课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件测试技术交流课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 技术交流 课件
- 资源描述:
-
1、软件测试技术交流深圳市中兴通讯股份有限公司2003年2月软件测试软件测试的重要性和必要性软件测试的重要性和必要性软件测试的目的和原则软件测试的目的和原则软件测试的基本概念软件测试的基本概念软件测试的基本技术和策略软件测试的基本技术和策略软件测试阶段软件测试阶段软件测试流程软件测试流程软件测试工具软件测试工具 1.1 软件测试软件测试保证软件质量的重要手段保证软件质量的重要手段系统的、严密的软件测试能最大限度的发现软系统的、严密的软件测试能最大限度的发现软件中的错误,从而件中的错误,从而通过软件测试可以通过软件测试可以、容量、容量、约束、限制约束、限制等指标是否满足规定的需求等指标是否满足规定的
2、需求软件可靠性测试可得到软件可靠性指标软件可靠性测试可得到软件可靠性指标软件测试为软件质量定量评定提供依据软件测试为软件质量定量评定提供依据高层次的软件测试可以发现系统级错误高层次的软件测试可以发现系统级错误 软件测试的重要性和必要性 软件测试的重要性和必要性1.2 软件测试局限性软件测试局限性被测系统存在故障敏感性和巧合被测系统存在故障敏感性和巧合正确性正确性获得预期结果困难,甚至不可能获得预期结果困难,甚至不可能测试本身也可能存在错误测试本身也可能存在错误 1.2 软件测试局限性软件测试局限性(续续)完全的软件测试是不现实的完全的软件测试是不现实的软件测试不能保证发现软件中所软件测试不能保
3、证发现软件中所有的错误有的错误软件测试不能取代其它质量保证软件测试不能取代其它质量保证手段手段软件测试:软件测试:软件测试的重要性和必要性软件测试的重要性和必要性软件测试的重要性和必要性软件测试的目的和原则软件测试的目的和原则软件测试的基本概念软件测试的基本概念软件测试的基本技术和策略软件测试的基本技术和策略软件测试阶段软件测试阶段软件测试流程软件测试流程软件测试工具软件测试工具软件测试 软件测试的目的和原则2.1 软件测试的目的软件测试的目的 软件测试的目的和原则2.2 软件测试目的软件测试目的 软件测试的目的和原则2.3 简而言之,软件测试的最终目的是:简而言之,软件测试的最终目的是:软件
4、测试的目的和原则2.4 2.4 软件测试原则之一软件测试原则之一 :Good-enough 软件测试的目的和原则2.5 2.5 软件测试原则之二:软件测试原则之二:bugbug的的80%原则原则一般情况下,在分析、设计、实验阶段的一般情况下,在分析、设计、实验阶段的复审和测试工作能够发现和避免的复审和测试工作能够发现和避免的bugbug,而系统的软件测试能够找出其余,而系统的软件测试能够找出其余bugbug中中的。最后约的。最后约5%5%的的bugbug只有在用户大范只有在用户大范围、长时间的使用后才会暴露出来。围、长时间的使用后才会暴露出来。软件测试的目的和原则2.6 软件测试的其他原则软件
5、测试的其他原则一一段程序中存在错误的概率与在这段程序中已段程序中存在错误的概率与在这段程序中已发现的错误数成比例发现的错误数成比例。软件测试的目的和原则2.6 软件测试的其他原则(续)软件测试的其他原则(续)软件测试的目的和原则2.7 软件测试的完成准则软件测试的完成准则完成测试计划规定的测试项完成测试计划规定的测试项使用规定的测试用例设计方法使用规定的测试用例设计方法查出一定数目的错误查出一定数目的错误标出单位时间查出的错误量,进行曲线分析标出单位时间查出的错误量,进行曲线分析某一测量值达到预期目标(如可靠性测试)某一测量值达到预期目标(如可靠性测试)考查测试充分性考查测试充分性软件测试的重
6、要性和必要性软件测试的重要性和必要性软件测试的目的和原则软件测试的目的和原则软件测试的基本概念软件测试的基本概念软件测试的基本技术和策略软件测试的基本技术和策略软件测试阶段软件测试阶段软件测试流程软件测试流程软件测试工具软件测试工具软件测试 软件测试的基本概念3.1 什么是软件测试什么是软件测试 GB/T 11457-1995 的定义的定义 由人工或自动方法来执行或评价系统或系由人工或自动方法来执行或评价系统或系统部件的过程统部件的过程,以验证它是否满足规定的需以验证它是否满足规定的需求求;或识别出期望的结果和实际结果之间或识别出期望的结果和实际结果之间的差别的差别.该定义也就是该定义也就是I
7、EEE 1983IEEE 1983中软件测试的定义中软件测试的定义 软件测试的基本概念3.2 软件测试认识的变迁和发展软件测试认识的变迁和发展历史上的一些历史上的一些错误认识=测试和调试没有什么区别,除了支持调试外,测试没测试和调试没有什么区别,除了支持调试外,测试没有别的目的有别的目的 (错误错误)=测试的目的在于证明软件正确测试的目的在于证明软件正确(错误错误)当前软件测试工作中的认识当前软件测试工作中的认识=测试的目的在于证明软件错误测试的目的在于证明软件错误(实际实际)=测试的目的不是证明任何事情,仅是为了将已察觉的测试的目的不是证明任何事情,仅是为了将已察觉的故障的风险程度减小到一个
8、可接受的值故障的风险程度减小到一个可接受的值 (度量度量)=测试是检验软件是否满足规定的需求测试是检验软件是否满足规定的需求 (全面全面)3.2 软件测试认识的变迁和发展(续)软件测试认识的变迁和发展(续)软件测试的发展方向软件测试的发展方向=测试不是一种行为,它是不需要更多的测试工作测试不是一种行为,它是不需要更多的测试工作即可以产生低风险的软件的一种认识上的训练即可以产生低风险的软件的一种认识上的训练(预防)(预防).软件测试的基本概念 3.3 什么是什么是“错误错误”?软件测试的基本概念 软件测试的基本概念3.3 什么是什么是“错误错误”?(续)?(续)软件测试的基本概念3.4 测试是需
9、要设计的测试是需要设计的测试是一项具有很大创造性的工作,其工测试是一项具有很大创造性的工作,其工作量一点也不比代码设计小作量一点也不比代码设计小 测试是需要设计的,一个好的测试计划或测试是需要设计的,一个好的测试计划或方案往往能达到事半功倍的效果方案往往能达到事半功倍的效果 测试设计即利用测试工具提供的脚本语言测试设计即利用测试工具提供的脚本语言进行测试用例设计进行测试用例设计 测试设计可以是自动的,半自动的或手工测试设计可以是自动的,半自动的或手工编写编写 软件测试的基本概念3.5 测试和调试是不同的测试和调试是不同的测试是查找潜在的错误,调试是定位已知的错测试是查找潜在的错误,调试是定位已
10、知的错误误测试贯穿于整个软件生存期,调试主要是在软测试贯穿于整个软件生存期,调试主要是在软件开发过程中件开发过程中测试是发现问题,调试解决问题测试是发现问题,调试解决问题测试与调试不能相互替代,但可相互支持,相测试与调试不能相互替代,但可相互支持,相辅相成辅相成 软件测试的基本概念3.6 软件的生命周期软件的生命周期V字模型字模型用户需求定义需求分析预设计详细设计代码单元测试集成测试确认测试系统测试 软件测试的基本概念3.7 软件软件测试的分类测试的分类按功能分类按功能分类 白盒测试(白盒测试(White box testing)黑盒测试(黑盒测试(Black box testing)按测试阶
11、段分类按测试阶段分类 单元测试(单元测试(Unit testing)集成测试(集成测试(Integrated testing)确认测试(确认测试(Validation testing)系统测试(系统测试(System testing)按运行状态分类按运行状态分类 动态测试(动态测试(Dynamic testing)静态测试(静态测试(Static testing)软件测试的基本概念3.8 软件软件测试的流程测试的流程 3.9 软件测试的工程化软件测试的工程化软件生命周期软件测试方法软件测试规程软件测试文档软件测试工具 软件测试的基本概念软件测试的重要性和必要性软件测试的重要性和必要性软件测试的
12、目的和原则软件测试的目的和原则软件测试的基本概念软件测试的基本概念软件测试的基本技术和策略软件测试的基本技术和策略软件测试阶段软件测试阶段软件测试流程软件测试流程软件测试工具软件测试工具软件测试 软件测试基本技术和策略4.1 软件测试的总体方略与软件设计的各阶段相对应,从单元测试 开始,然后集成测试、确认测试、系统测 试主要测试技术:静态分析、动态测试、覆盖测试主要方法:白盒法、黑盒法 软件测试基本技术和策略4.1 软件测试的总体方略(续)软件测试基本技术和策略静态测试概念静态测试概念不运行被测程序不运行被测程序检查软件是否易维护,是否符合编程标准检查软件是否易维护,是否符合编程标准软件工程度
13、量(指标测试),如复杂度等软件工程度量(指标测试),如复杂度等代码统计代码统计静态测试具体技术静态测试具体技术人工审查:人工审查:如代码走查、代码审议、技术评如代码走查、代码审议、技术评 审、桌面检查等审、桌面检查等自动静态分析:自动静态分析:使用软件测试工具自动地完成使用软件测试工具自动地完成4.2 静态测试 4.3.1 动态测试的基本概念动态测试的基本概念利用计算机运行被测程序利用计算机运行被测程序取得程序运行的真实情况,主要测试软件取得程序运行的真实情况,主要测试软件的的功能、覆盖率、运行时间功能、覆盖率、运行时间等等动态测试的关键在于动态测试的关键在于测试用例设计测试用例设计使用的方法
14、主要有黑盒法和白盒法使用的方法主要有黑盒法和白盒法4.3 动态测试 软件测试基本技术和策略 软件测试基本技术和策略4.3 动态测试4.3.2 测试用例(测试用例(Test Case)动态测试是由一个一个的动态测试是由一个一个的测试用例测试用例来完成的来完成的测试用例通常是一段用测试用例通常是一段用脚本语言(脚本语言(Script language)编写的小程序,该程序定义了编写的小程序,该程序定义了被测对被测对象、测试条件、输入参数、期望输出参数、桩象、测试条件、输入参数、期望输出参数、桩调用及其顺序调用及其顺序等等测试用例与被测程序一起运行才能生效测试用例与被测程序一起运行才能生效 4.3.
15、3 黑盒测试和白盒测试黑盒测试和白盒测试黑盒测试像中医:使用望、闻、问、切黑盒测试像中医:使用望、闻、问、切白盒测试像西医:使用白盒测试像西医:使用X光、光、CT扫描扫描目的都是发现病人的病症目的都是发现病人的病症PINOUT白盒测试:黑盒测试:软件测试基本技术和策略 4.3.4 黑盒测试黑盒测试:软件测试基本技术和策略 4.3.4 黑盒测试(续)黑盒测试(续)软件测试基本技术和策略ALAC测试 软件中有许多错误客户遇到的错误只占很小比例针对客户最容易遇到的错误进行测试,以便改进测试的有效性软件测试基本技术和策略IBM对典型软件的一项研究对典型软件的一项研究1、客户所看到的、客户所看到的57%
16、以上的故障是由占错以上的故障是由占错误总数误总数2%以下的错误引起的以下的错误引起的2、超过总数、超过总数61%的错误只引起低于的错误只引起低于3%的的客户将会经历的故障。客户将会经历的故障。3、不同的错误在引起的故障率上存在高达、不同的错误在引起的故障率上存在高达四个数量级的巨大差异四个数量级的巨大差异-一些错误运一些错误运行几个小时就表现出来,而其他一些数行几个小时就表现出来,而其他一些数年之后才出现。年之后才出现。软件测试基本技术和策略4.3.5 白盒测试白盒测试软件测试基本技术和策略4.3.5 白盒测试(续)白盒测试(续)软件测试基本技术和策略4.4.1 什么是单元什么是单元测试测试4
17、.4 单元测试软件测试基本技术和策略4.3.2 单元单元测试的步骤测试的步骤软件测试基本技术和策略测试计划测试计划测试用例测试用例测试执行测试执行分析测试结果分析测试结果生成测试报告生成测试报告4.4.3 单元单元测试的内容测试的内容软件测试基本技术和策略模块覆盖条件边界条件出错处理模块接口局部数据结构4.4.4 单元单元测试的配制测试的配制软件测试基本技术和策略驱动程序被测模块桩模块#2桩模块#1桩模块#3测试用例测试结果4.4.4 单元单元测试的配制(续)测试的配制(续)软件测试基本技术和策略 概念概念4.5 集成测试软件测试基本技术和策略软件测试基本技术和策略4.6.1 什么是确认测试(
18、什么是确认测试(Validation testing)4.6 确认测试 软件测试基本技术和策略4.6.2 如何实施确认测试如何实施确认测试 软件测试基本技术和策略4.6.2 如何实施确认测试(续)如何实施确认测试(续)软件测试基本技术和策略4.7.1 系统测试(系统测试(System testing)4.7 系统测试 软件测试基本技术和策略4.7.2 系统测试的特点系统测试的特点 软件测试基本技术和策略4.8.1覆盖率测试覆盖率测试的基本概念的基本概念4.8 覆盖率测试 软件测试基本技术和策略4.8.2 覆盖种类覆盖种类 语句覆盖:语句覆盖:分支覆盖:分支覆盖:条件覆盖:条件覆盖:条件组合覆盖
展开阅读全文