测试技术基础演示稿

上传人:宝路 文档编号:49791772 上传时间:2018-08-02 格式:PPT 页数:118 大小:631.55KB
返回 下载 相关 举报
测试技术基础演示稿_第1页
第1页 / 共118页
测试技术基础演示稿_第2页
第2页 / 共118页
测试技术基础演示稿_第3页
第3页 / 共118页
测试技术基础演示稿_第4页
第4页 / 共118页
测试技术基础演示稿_第5页
第5页 / 共118页
点击查看更多>>
资源描述

《测试技术基础演示稿》由会员分享,可在线阅读,更多相关《测试技术基础演示稿(118页珍藏版)》请在金锄头文库上搜索。

1、软件测试工程师培训软件测试工程师培训(测试技术基础)(测试技术基础)中国软件评测中心高炽扬培训内容第一章 测试概述 第二章 测试基本概念 第三章 基本测试技术 第四章 测试中的若干问题第一章 测试概述 1.1 软件测试的发展 1.2 广义的软件测试 1.3 软件的错误、缺陷与故障1.1 软件测试的发展 60年代(软件工程建立前),为表明程序正确而 进行测试。 1972年, Bill Hetzel 在North Carolina大学举行第 一次以软件测试为主题的正式会议。 1979年, Glenford MyersThe Art of Software Testing提出测试的目的是证伪。1.1

2、 软件测试的发展 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 (Testability Support Model)、测试成熟度 TMM(Testing Maturity Mo

3、del)。1.2 广义的软件测试 广义的软件测试是由确认、验证、测试3个方 面组成。 确认(validation):评估将要开 发的软件产品是否正确无误、可行和有价值 的。确认意味着确保一个待开发软件是正确 无误的,是对软件开发构想的检测。 验证(verification):检测软件 开发的每个阶段、每个步骤的结果是否正确 无误,是否与软件开发各阶段的要求或期望 的结果相一致。验证意味着确保软件会正确 无误地实现软件的需求,开发过程是沿着正 确的方向进行的。 测试:与狭隘的测试概念统一。1.2 广义的软件测试 确认:目的是想证实在一个给定的外部 环境中软件的逻辑正确性。包括需求规 格说明的确认

4、和程序的确认。程序确认 包括静态确认与动态确认。 验证:试图证明在软件生存期各个阶段 ,以及阶段间的逻辑协调性、完备性和 正确性。1.2 广义的软件测试 确认:保证所生产的软件可追溯到用户 需求的一系列活动。(生产的软件是否 正确) 验证:保证软件正确地实现了特定功能 的一系列活动。(生产软件的步骤是否 正确)1.2 广义的软件测试 确认主要体现在计划阶段、需求分析阶 段,也会出现在测试阶段;验证主要体 现在设计阶段、编码阶段;测试主要体 现在编码阶段和测试阶段。 确认、验证、测试是相辅相成的。确认 产生验证和测试的标准,验证和测试帮 助完成确认(特别在系统测试阶段)。1.3 软件的错误、缺陷

5、与故障 错误:编码失误造成的问题 缺陷:需求与设计的不完善 故障:出现错误导致系统停止工作第二章 测试基本概念 2.1 软件测试的定义 2.2 软件开发的模型 2.3 测试的目的和原则 2.4 测试的数据流 2.5 测试与软件开发的关系 2.6 测试方法 2.7 测试策略 2.8 验收测试 2.9 第三方测试2.1 软件测试的定义 软件生存周期:需求定义和需求分析、 软件设计、程序编码、软件测试、运行 维护。2.1 软件测试的定义 软件测试就是在软件投入运行前,对软件 需求分析、设计规格说明和编码的最终复 审,是软件质量保证的关键步骤。 测试:为了发现软件中的错误而运行软件 的过程。2.1 软

6、件测试的定义 软件生存期的各个阶段都可能产生错误。 而软件需求分析、设计和实现阶段是软件 的主要错误来源。 软件测试在软件生存期中,跨越两个阶段 :一个是编码与单元测试阶段,另一个是 综合测试阶段,即测试阶段。2.1 软件测试的定义 软件测试的对象 软件测试不等于程序测试。 软件测试贯串于软件定义和 开发的整个期间。 需求规格说明、概要设计规 格说明、详细设计规格说明、源程序 都是软件测试的对象。2.1 软件测试的定义 软件测试的分类 按测试用例设计方法:白盒 测试、黑盒测试。 按测试策略和过程:单元测 试、集成测试、确认测试、系统测试 。2.2 软件开发的模型 测试的活动应该与软件开发同步进

7、行。 测试的执行是在软件已编制完成后进行。 及早发现软件的缺陷可以降低软件开发的 成本。2.2 软件开发的模型V模型用户需求获取需求定义需求分析需求分析书概要设计概要设计书详细设计详细设计书编码程序单元测试已测试模块集成测试已集成软件确认测试已确认软件系统测试软件产品评审评审评审评审静态 检查评审评审评审制定测试案例需求分析2.2 软件开发的模型V模型 V模型:需求、功能、设计和编码的开发 活动随时间而进行,而相应的测试活动( 即针对需求、功能、设计和编码的测试) 开展的次序正好相反。 成功应用软件开发V模型的关键因素是设 计测试案例的时机。2.2 软件开发的模型V模型 V模型的问题: 误解:

8、“测试是开发之后的一 个阶段”、“测试的对象就是程序本身” 。 实际应用中容易导致需求阶 段的错误一直到最后验收阶段才被发 现。2.2 软件开发的模型W模型需求分析需求测试概要设计功能测试详细设计设计测试集成集成测试确认确认测试交付系统测试编码单元测试2.2 软件开发的模型W模型 W模型:测试伴随整个开发周期。 测试的对象不仅仅是程序, 还包括需求和设计。 W模型应用:相应开发活动完成,即可执 行测试(例如:需求分析完成,即可 对需求进行测试) 。2.2 软件开发的模型W模型 W模型未解决V模型中的部分问题:需求、设计、编码串行进行, 无法并行工作。 不同层次之间的测试除时间上 的先后关系外,

9、还存在触发、反复、迭 代、增量等关系。 未将测试流程的完整性表示出 来。2.2 软件开发的模型H模型 测试流程: 测试准备活动:需求分析、 测试计划、测试分析、测试编码、测 试验证。 测试执行活动:测试运行、 测试报告、测试分析。测试准备测试执行 测试流程其他流程(如设计流程)测试就绪点2.2 软件开发的模型H模型 H模型:测试不仅仅是测试执行,还 包括其他活动。 测试是一个独立流程,贯穿 产品整个周期,于其他流程并发进行 。 测试要尽早准备,尽早执行 。 测试根据被测物的不同是分 层次的。2.2 软件开发的模型H模型 应用H模型的意义:测试准备和测试执行分离, 有利于资源调配。降低成本,提高

10、效 率。 充分体现测试过程(不是技 术)的复杂性。 有组织、结构化的独立流程 ,有助于跟踪测试投入的流向。2.3 软件测试的目的和原则 测试的目的是寻找错误,并且是尽最大可 能找出最多的错误。 观点1:好的测试方案是极可能发现迄今为 止尚未发现的错误的测试方案。 观点2:成功的测试是发现了至今为止尚未 发现的错误的测试。 测试无法说明错误不存在, 只能说明软件错误已出现。2.3 软件测试的目的和原则验证用户需求验证用户需求发现软件缺陷发现软件缺陷改进开发过程改进开发过程目的目的:在软件分:在软件分 发到最终用户手发到最终用户手 中之前,发现并中之前,发现并 解决软件缺陷解决软件缺陷 尽早地和不

11、断地进行软件测试 避免测试自己的程序 执行测试计划,排除随意性 增量测试,由小到大 周密的测试用例(输入条件(合理、不合 理)、预期输出结果) 回归测试 出错统计和分析2.3 软件测试的目的和原则越早测试越好越早测试越好2.4 测试的数据流测试结果 分析排错可靠性 分析改正的软件预测可靠性错误测试结果出错率数据预期结果测试工具软件配置测试配置回归测试2.5 测试与软件开发的关系 软件测试与开发过程的关系概要设计 说明书详细设计 说明书源程序 代码单元 测试集成 测试确认 测试需求分析 说明书需求分析设计编程确认测试集成测试单元测试2.5 测试与软件开发的关系 软件测试与开发的并行性需求分析概要

12、设计需求评审概要设计评审详细设计设计走查编码编码走查单元测试各子模块测试计划测试过程测试评审集成测试系统测试项目阶段任务的里程碑2.5 测试与软件开发的关系 完整的开发流程项目规划项目详细分析代码编写测试需求分析系统测试计划集成测试计划单元测试计划产品发布系统测试集成测试单元测试测试代码编写项目需求分析项目概要分析2.5 测试与软件开发的关系 开发各阶段的测试工作 项目规划阶段: 确定专人负责测试阶段监控。 需求分析阶段: 制定测试需求分析、系统测试 计划,经评审后成为配置管理项。 测试所需要的资源、配置、每 阶段评判通过标志进行规约。2.5 测试与软件开发的关系 开发各阶段的测试工作 详细设

13、计和概要设计阶段: 确保集成测试计划和单元测试计划 完成。 测试计划完成后,对参考的设计文 档进行修改。 编码阶段 编写测试代码。(测试人员、专人 ) 测试阶段 测试人员执行测试。 完成测试报告。2.6 测试方法白盒测试白盒测试黑盒测试黑盒测试两种测试方法从不同的角度出发,两种测试方法从不同的角度出发, 反映了软件的不同侧面,也适用于反映了软件的不同侧面,也适用于 不同的开发环境不同的开发环境2.6 测试方法 任何工程产品都可以使用以下的两种方 法进行测试: 已知产品的功能设计规格, 可以进行测试证明每个实现了的功能 是否符合要求。(黑盒测试)。 已知产品的内部工作过程, 可以通过测试证明每种

14、内部操作是否 符合设计规格的要求,所有内部成分 是否已经过检查。(白盒测试)。2.6 测试方法黑盒测试 黑盒测试法把程序看成一个黑盒子,完全 不考虑程序内部结构和处理过程。 黑盒测试是在程序接口进行测试,它只是 检查程序功能是否按照规格说明书的规定 正常使用。 黑盒测试又称功能测试。2.6 测试方法黑盒测试 黑盒主要是为了发现以下几类错误: 是否有不正确或遗漏了的功能 ? 在接口上,输入能否正确地接 受?能否输出正确的结果? 是否有数据结构错误或外部信 息(例如数据文件)访问错误? 性能上是否能够满足要求? 是否有初始化或终止性错误?2.6 测试方法黑盒测试输入输入输出输出黑盒测试又称黑盒测试

15、又称功能测试功能测试、数据驱动测试或、数据驱动测试或 基于规格说明的测试,也可称为基于规格说明的测试,也可称为用户测试用户测试, 主要应用于快速应用开发环境主要应用于快速应用开发环境2.6 测试方法白盒测试 白盒测试的前提是可以把程序看成装在 一个透明的白盒子里,也就是完全了解 程序结构盒处理过程,这种方法按照程 序内部逻辑测试程序,检验程序中每条 通路是否按预定要求正确工作。 白盒测试又称结构测试。2.6 测试方法白盒测试 使用白盒测试方法,主要想对程序模块 进行如下的检查: 对程序模块的所有独立的执 行路径至少测试一次。 对所有的逻辑判定,取“真” 与取“假”的两种情况都能至少测试一 次。 在循环的边界和运行界限内 执行循环体。 测试内部数据结构的有效性 等。2.6 测试方法白盒测试白盒测试又称白盒测试又称结构测试结构测试、逻辑驱动测试或、逻辑驱动测试或 基于程序本身的测试,也可称为基于程序本身的测试,也可称为程序员测程序员测 试试,主要应用于结构化开发环境,主要应用于结构化开发环境应用程序应用程序2.7 测试策略集成 测试确认 测试系统 测试单元 测试被测模块单元 测试被测模块单元 测试被测模块已集成的软件已确认的软件可交付的软件测试通过的模块设计信息软件需求系统其它 元素软件测试的

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

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

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