[计算机软件及应用]测试技术基础-演示稿课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[计算机软件及应用]测试技术基础-演示稿课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件及应用 计算机软件 应用 测试 技术 基础 演示 课件
- 资源描述:
-
1、中国软件评测中心中国软件评测中心高炽扬高炽扬培训内容培训内容第一章第一章 测试概述测试概述第二章第二章 测试基本概念测试基本概念第三章第三章 基本测试技术基本测试技术第四章第四章 测试中的若干问题测试中的若干问题第一章第一章 测试概述测试概述 1.1 软件测试的发展软件测试的发展 1.2 广义的软件测试广义的软件测试 1.3 软件的错误、缺陷与故障软件的错误、缺陷与故障1.1 软件测试的发展软件测试的发展 60年代(软件工程建立前),为表明程序正确而进行测试。1972年,Bill Hetzel 在North Carolina大学举行第一次以软件测试为主题的正式会议。1979年,Glenford
2、 MyersThe Art of Software Testing提出测试的目的是证伪。1.1 软件测试的发展软件测试的发展 1981年,Bill Hetzel开设“Structured Software Testing”公共课;1988年David Gelperin&Bill Hetzel 在“Communications of the ACM”发表“The Growth of Software Testing”。70年代后期至80年代中期的QA部门。1996年提出的测试能力成熟度TCMM(Testing Capability Maturity Model)、测试支持度TSM(Testabi
3、lity Support Model)、测试成熟度TMM(Testing Maturity Model)。1.2 广义的软件测试广义的软件测试 广义的软件测试是由确认、验证、测试3个方面组成。确认(validation):评估将要开发的软件产品是否正确无误、可行和有价值的。确认意味着确保一个待开发软件是正确无误的,是对软件开发构想的检测。验证(verification):检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致。验证意味着确保软件会正确无误地实现软件的需求,开发过程是沿着正确的方向进行的。测试:与狭隘的测试概念统一。1.2 广义的软件测试
4、广义的软件测试 确认:目的是想证实在一个给定的外部环境中软件的逻辑正确性。包括需求规格说明的确认和程序的确认。程序确认包括静态确认与动态确认。验证:试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。1.2 广义的软件测试广义的软件测试 确认:保证所生产的软件可追溯到用户需求的一系列活动。(生产的软件是否正确)验证:保证软件正确地实现了特定功能的一系列活动。(生产软件的步骤是否正确)1.2 广义的软件测试广义的软件测试 确认主要体现在计划阶段、需求分析阶段,也会出现在测试阶段;验证主要体现在设计阶段、编码阶段;测试主要体现在编码阶段和测试阶段。确认、验证、测试是相辅相成的。确
5、认产生验证和测试的标准,验证和测试帮助完成确认(特别在系统测试阶段)。1.3 软件的错误、缺陷与故障软件的错误、缺陷与故障 错误:编码失误造成的问题 缺陷:需求与设计的不完善 故障:出现错误导致系统停止工作第二章第二章 测试基本概念测试基本概念 2.1 软件测试的定义软件测试的定义 2.2 软件开发的模型软件开发的模型 2.3 测试的目的和原则测试的目的和原则 2.4 测试的数据流测试的数据流 2.5 测试与软件开发的关系测试与软件开发的关系 2.6 测试方法测试方法 2.7 测试策略测试策略 2.8 验收测试验收测试 2.9 第三方测试第三方测试2.1 软件测试的定义软件测试的定义 软件生存
6、周期:需求定义和需求分析、软件设计、程序编码、软件测试、运行维护。2.1 软件测试的定义软件测试的定义 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。测试:为了发现软件中的错误而运行软件的过程。2.1 软件测试的定义软件测试的定义 软件生存期的各个阶段都可能产生错误。而软件需求分析、设计和实现阶段是软件的主要错误来源。软件测试在软件生存期中,跨越两个阶段:一个是编码与单元测试阶段,另一个是综合测试阶段,即测试阶段。2.1 软件测试的定义软件测试的定义 软件测试的对象 软件测试不等于程序测试。软件测试贯串于软件定义和开发的整个期间。需求规格
7、说明、概要设计规格说明、详细设计规格说明、源程序都是软件测试的对象。2.1 软件测试的定义软件测试的定义 软件测试的分类 按测试用例设计方法:白盒测试、黑盒测试。按测试策略和过程:单元测试、集成测试、确认测试、系统测试。2.2 软件开发的模型软件开发的模型 测试的活动应该与软件开发同步进行。测试的执行是在软件已编制完成后进行。及早发现软件的缺陷可以降低软件开发的成本。2.2 软件开发的模型软件开发的模型V模型模型用户用户需求获取需求获取需求定义需求定义需求分析需求分析需求分析书需求分析书概要设计概要设计概要设计书概要设计书详细设计详细设计详细设计书详细设计书编码编码程序程序单元测试单元测试已测
8、试模块已测试模块集成测试集成测试已集成软件已集成软件确认测试确认测试已确认软件已确认软件系统测试系统测试软件产品软件产品评审评审评审评审静态检查评审评审评审制定测试案例需求分析2.2 软件开发的模型软件开发的模型V模型模型 V模型:需求、功能、设计和编码的开发活动随时间而进行,而相应的测试活动(即针对需求、功能、设计和编码的测试)开展的次序正好相反。成功应用软件开发V模型的关键因素是设计测试案例的时机。2.2 软件开发的模型软件开发的模型V模型模型 V模型的问题:误解:“测试是开发之后的一个阶段”、“测试的对象就是程序本身”。实际应用中容易导致需求阶段的错误一直到最后验收阶段才被发现。2.2
9、软件开发的模型软件开发的模型W模型模型需求分析需求测试概要设计功能测试详细设计设计测试集成集成测试确认确认测试交付系统测试编码单元测试2.2 软件开发的模型软件开发的模型W模型模型 W模型:测试伴随整个开发周期。测试的对象不仅仅是程序,还包括需求和设计。W模型应用:相应开发活动完成,即可执行测试(例如:需求分析完成,即可对需求进行测试)。2.2 软件开发的模型软件开发的模型W模型模型 W模型未解决V模型中的部分问题:需求、设计、编码串行进行,无法并行工作。不同层次之间的测试除时间上的先后关系外,还存在触发、反复、迭代、增量等关系。未将测试流程的完整性表示出来。2.2 软件开发的模型软件开发的模
10、型H模型模型 测试流程:测试准备活动:需求分析、测试计划、测试分析、测试编码、测试验证。测试执行活动:测试运行、测试报告、测试分析。测试准备测试执行测试流程其他流程(如设计流程)测试就绪点2.2 软件开发的模型软件开发的模型H模型模型 H模型:测试不仅仅是测试执行,还包括其他活动。测试是一个独立流程,贯穿产品整个周期,于其他流程并发进行。测试要尽早准备,尽早执行。测试根据被测物的不同是分层次的。2.2 软件开发的模型软件开发的模型H模型模型 应用H模型的意义:测试准备和测试执行分离,有利于资源调配。降低成本,提高效率。充分体现测试过程(不是技术)的复杂性。有组织、结构化的独立流程,有助于跟踪测
11、试投入的流向。2.3 软件测试的目的和原则软件测试的目的和原则 测试的目的是寻找错误,并且是尽最大可能找出最多的错误。观点1:好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。观点2:成功的测试是发现了至今为止尚未发现的错误的测试。测试无法说明错误不存在,只能说明软件错误已出现。2.3 软件测试的目的和原则软件测试的目的和原则 尽早地和不断地进行软件测试 避免测试自己的程序 执行测试计划,排除随意性 增量测试,由小到大 周密的测试用例(输入条件(合理、不合理)、预期输出结果)回归测试 出错统计和分析2.3 软件测试的目的和原则软件测试的目的和原则2.4 测试的数据流测试的数据流测试测试
12、结果结果分析分析排错排错可靠性可靠性分析分析改正的软件改正的软件预测可靠性预测可靠性错误错误测试结果测试结果出错率数据出错率数据预期结果预期结果测试工具测试工具软件配置软件配置测试配置测试配置回归测试回归测试2.5 测试与软件开发的关系测试与软件开发的关系软件测试与开发过程的关系软件测试与开发过程的关系概要设计概要设计说明书说明书详细设计详细设计说明书说明书源程序源程序代码代码单元单元测试测试集成集成测试测试确认确认测试测试需求分析需求分析说明书说明书需求分析需求分析设计设计编程编程确认测试确认测试集成测试集成测试单元测试单元测试2.5 测试与软件开发的关系测试与软件开发的关系软件测试与开发的
13、并行性软件测试与开发的并行性需求分析概要设计需求评审概要设计评审详细设计设计走查编码编码走查单元测试各子模块测试计划测试过程测试评审集成测试系统测试项目阶段任务的里程碑2.5 测试与软件开发的关系测试与软件开发的关系完整的开发流程完整的开发流程项目规划项目详细分析代码编写测试需求分析系统测试计划集成测试计划单元测试计划产品发布系统测试集成测试单元测试测试代码编写项目需求分析项目概要分析2.5 测试与软件开发的关系测试与软件开发的关系开发各阶段的测试工作开发各阶段的测试工作 项目规划阶段:确定专人负责测试阶段监控。需求分析阶段:制定测试需求分析、系统测试计划,经评审后成为配置管理项。测试所需要的
14、资源、配置、每阶段评判通过标志进行规约。2.5 测试与软件开发的关系测试与软件开发的关系开发各阶段的测试工作开发各阶段的测试工作 详细设计和概要设计阶段:确保集成测试计划和单元测试计划完成。测试计划完成后,对参考的设计文档进行修改。编码阶段 编写测试代码。(测试人员、专人)测试阶段 测试人员执行测试。完成测试报告。2.6 测试方法测试方法2.6 测试方法测试方法 任何工程产品都可以使用以下的两种方法进行测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。(黑盒测试)。已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格的要求,所有内部成分是否已经过检查。
15、(白盒测试)。2.6 测试方法黑盒测试测试方法黑盒测试 黑盒测试法把程序看成一个黑盒子,完全不考虑程序内部结构和处理过程。黑盒测试是在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用。黑盒测试又称功能测试。2.6 测试方法黑盒测试测试方法黑盒测试 黑盒主要是为了发现以下几类错误:是否有不正确或遗漏了的功能?在接口上,输入能否正确地接受?能否输出正确的结果?是否有数据结构错误或外部信息(例如数据文件)访问错误?性能上是否能够满足要求?是否有初始化或终止性错误?2.6 测试方法黑盒测试测试方法黑盒测试2.6 测试方法白盒测试测试方法白盒测试 白盒测试的前提是可以把程序看成装在一
16、个透明的白盒子里,也就是完全了解程序结构盒处理过程,这种方法按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。白盒测试又称结构测试。2.6 测试方法白盒测试测试方法白盒测试 使用白盒测试方法,主要想对程序模块进行如下的检查:对程序模块的所有独立的执行路径至少测试一次。对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测试一次。在循环的边界和运行界限内执行循环体。测试内部数据结构的有效性等。2.6 测试方法白盒测试测试方法白盒测试2.7 测试策略测试策略集成集成测试测试确认确认测试测试系统系统测试测试单元测试被测模块单元测试被测模块单元测试被测模块已集成的软件已确认的软件可
17、交付的软件测试通过的模块设计信息软件需求系统其它元素软件测试的过程2.7 测试策略测试策略单元测试单元测试 单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。软件单元测试的目的是检测程序模块对详细设计说明书的符合程度;软件单元测试依据是单元测试计划。2.7 测试策略测试策略单元测试单元测试 软件单元测试由测试工程师编制测试用例进行测试,及针对程序模块进行多次循环反复的单元测试,并将测试结果记录在针对单元测试的软件测试报告上。若程序模块通过单元测试,则按配置管理规范所规定的标识方法进行标识。2.7 测试策略单元测试的内容测试策略单元测试的内容 模块接口测试
18、局部数据结构测试 路径测试 错误处理测试 边界测试模块接口出错处理独立路径边界条件局部数据模块模块2.7 测试策略单元测试的步骤测试策略单元测试的步骤 通常单元测试是在编码阶段进行的。在源程序代码编制完成。经过评审和验证,确认没有语法错误之后,就开始进行单元测试的测试用例设计。驱动模块:相当于所测模块的主程序。桩模块:也叫做存根模块。用以代替所测模块调用的子模块。2.7 测试策略单元测试的环境测试策略单元测试的环境测试用例测试用例驱动模块桩模块桩模块2被测模块被测模块测试结果测试结果桩模块桩模块1桩模块桩模块n2.7 测试策略单元测试测试策略单元测试2.7 测试策略测试策略集成测试集成测试 软
19、件集成测试又称组装测试,即对程序模块采用自顶向下或自底向上组装起来,对系统的接口进行正确性检验的测试工作。软件集成测试由项目经理组织软件测试工程师依据概要设计说明书和集成测试计划进行。2.7 测试策略测试策略集成测试集成测试 测试人员应提交针对软件集成测试的软件测试报告,项目经理负责对软件集成测试结果的进行确认。通过集成测试,则按配置管理规范所规定的标识方法进行标识。2.7 测试策略集成测试测试策略集成测试 集成测试,通常是在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是:在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失。一个模块的功能是否会对另一个模块
展开阅读全文