软件测试ppt 第二章 软件测试技术

上传人:简****9 文档编号:98446558 上传时间:2019-09-11 格式:PPT 页数:92 大小:2.24MB
返回 下载 相关 举报
软件测试ppt  第二章 软件测试技术_第1页
第1页 / 共92页
软件测试ppt  第二章 软件测试技术_第2页
第2页 / 共92页
软件测试ppt  第二章 软件测试技术_第3页
第3页 / 共92页
软件测试ppt  第二章 软件测试技术_第4页
第4页 / 共92页
软件测试ppt  第二章 软件测试技术_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《软件测试ppt 第二章 软件测试技术》由会员分享,可在线阅读,更多相关《软件测试ppt 第二章 软件测试技术(92页珍藏版)》请在金锄头文库上搜索。

1、软件测试,2.1 软件测试技术概述 2.2 软件测试的分类与流程策略 2.3 静态测试与动态测试概述 2.4 软件测试的评审技术,第二章 测试方法概述与静态分析,2.1.1 软件测试技术的分类 2.1.2 软件测试技术间的关系 2.1.3 软件测试技术的选择,2.1 软件测试技术概述,从不同的角度,可以对软件测试方法进行分成不同种类。 执行代码 程序结构 开发过程 功能性能,2.1.1 软件测试技术分类,1、从是否执行代码来分 静态测试:不实际运行被测试软件,只静态地检查程序代码、界面或文档中可能存在的错误的过程。 动态测试:实际运行被测试程序,输入相应的测试数据,检查实际输出结果和预期结果是

2、否相符的过程。,2.1.1 软件测试技术分类,2、从是否需了解程序结构来分。 黑盒测试(Black-Box Testing)、 白盒测试(White-Box Testing)、灰盒测试。 黑盒测试:黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。是一种从用户观点出发的测试,主要以软件规格说明书为依据,对程序功能和程序接口进行的测试。 白盒测试:白盒测试(White-box Testing)也称为结构测试或逻辑驱动测试,是在知道产品的内部工作过程,通过测试来检测产品内部动作是否按照规格说明书的规定正常进行。,2.1.1 软件测试方法分类,工程硕士,7,黑盒测试和白盒测试,2.1.1 软

3、件测试技术分类,灰盒测试:灰盒测试介于白盒测试和黑盒测试之间,是现代测试的一种理念。就是指在白盒测试中交叉使用黑盒测试的方法;在黑盒测试中交叉使用白盒测试的方法。,2.1.1 软件测试技术分类,3、从软件测试策略或过程来分 单元测试(Unit Testing) 集成测试(Integration Testing) 确认测试(Validation Testing) 系统测试(System Testing) 验收测试(Verification Testing)。,2.1.1 软件测试技术分类,单元测试 对程序中最小可测试单元进行检查和验证。 集成测试 将通过测试的单元模块组装成系统或子系统,再进行测

4、试,重点测试不同模块的接口部分。 确认测试: 检验所开发的软件能否满足所有功能和性能需求的最后 手段。 系统测试 集成测试完成之后,将整个系统看成整体进行测试,包括功能、性能以及运行的软硬件环境。 用户验收测试 系统测试的后期,以用户测试为主,按照功能需求说明书以及用户手册为标准测试整个系统,保证软件达到可以交付使用的状态。,2.1.1 软件测试技术分类,4、从软件测试的作用来分 功能测试:检查软件的功能是否符合用户的需求,包括: 逻辑功能测试 界面测试 易用性测试 安装测试 兼容性测试 非功能测试:对系统功能之外的特性进行测试,包括: 性能测试 安全测试 强度测试 容量测试 。,2.1.1

5、软件测试技术分类,2.1.2 软件测试技术间的关系,工程硕士,13,不实际运行程序,而是通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术。也称为静态分析技术。,实际运行程序,并通过观察程序运行的实际结果来发现错误的软件测试技术。,在不知道程序内部结构,只知道程序规格的情况下采用的测试技术或策略。,在知道程序内部结构的情况下采用的测试技术或策略。,开发组内部进行的,采用讲解、讨论和模拟运行的方式进行的查找错误的活动。,开发组内部进行的,采用讲解、提问并使用Checklist方式进行的查找错误的活动。一般有正式的计划、流程和结果报告。,开发组、测试组和相关人员(QA、产品经理等)联合进行

6、的,采用讲解、提问并使用Checklist方式进行的查找错误的活动。一般有正式的计划、流程和结果报告。,2.1.2 软件测试技术间的关系,工程硕士,14,针对要求的程序功能,按照规范的流程进行的测试。,针对要求的程序功能以外的其他要求,包括性能、安全、配置、负载等指标,按照规范的流程进行的测试。,针对要求的程序功能、性能、安全、配置、负载等指标,基于破坏目的、按照经验进行的随机测试。,程序修改或者版本更新以后,为了确保以前正确的功能和其他指标仍旧正确,而重新进行的测试。,在测试过程中,选择足够的测试用例,使得每一个可执行语句至少被执行一次。,在测试过程中,选择足够的测试用例,使得程序中的每一个

7、分支判断的每一种可能结果都至少被执行一次。,在测试过程中,选择足够的测试用例,使得程序中的每一条可能执行的路径都至少执行一次。,单元测试 测试方法:白盒测试 参考规范:详细设计说明和代码结构 集成测试 测试方法:黑盒测试和白盒测试 参考规范:详细设计说明和概要设计说明 系统测试 测试方法:黑盒测试 参考规范:概要设计和需求规格说明 可接受性测试 测试方法:黑盒测试 参考规范:需求规格说明 回归测试 测试方法:黑盒测试和白盒测试 参考规范:需求变更文档和概要设计说明,2.1.3 软件测试技术的选择,2.2.1 软件测试的分类 2.2.2 软件测试的流程 2.2.3 软件测试的策略,2.2 软件测

8、试的分类与流程策略,2.2.1 软件测试的分类,从不同的角度,软件测试有多种不同的分类。 测试范围 测试目的 测试对象 测试过程 其它,1、按测试范围来分 单元测试 组件测试 集成测试 系统测试 验收测试 安装测试,2.2.1 软件测试的分类,2、按测试目的来分 正确性测试 白盒测试 黑盒测试 性能测试 可靠性测试 强壮性测试 异常处理测试 负载测试 安全性测试,2.2.1 软件测试的分类,3、按测试对象来分 单元测试 组件测试 模块测试 程序测试 系统测试 文档测试,2.2.1 软件测试的分类,4、按测试过程来分 需求阶段测试 设计阶段测试 程序阶段测试 测试结果评估 安装测试 测试变化:维

9、护,2.2.1 软件测试的分类,5、其它测试(P38) 回归测试 压力测试 恢复测试 兼容性测试,2.2.1 软件测试的分类,1、软件测试的阶段划分 软件测试是由一系列不同测试阶段组成的,这些阶段分为:规格说明书审查、系统和程序设计审查、单元测试、集成测试、功能测试、确认测试、系统测试、验收测试和安装测试。 (P39) 规格说明书审查: 系统和程序设计审查: 单元测试: 集成测试: 功能测试: 确认测试 系统测试: 验收测试 安装测试,2.2.2 软件测试的流程,2、从软件测试流程,2.2.2 软件测试的流程,从软件开发来看,2.2.2 软件测试的流程,从软件测试来看,1、软件测试策略的概念

10、测试策略通常是描述测试工程的总体方法和目标。描述目前在进行哪一阶段的测试(如单元测试、集成测试、系统测试)以及每个阶段内进行的测试种类(如功能测试、性能测试、压力测试等),以确定合理的测试方案使得测试更有效。,2.2.3 软件测试的策略,2、软件测试策略的原则 全面细致地了解产品的项目信息:应用领域,测试范围,市场需求,产品的特点和主要功能,技术架构。 全面细致地分析影响产品的因素:基于模块、功能、整体、系统、版本、压力、性能、配置和安装等各个因素。 客观严格地执行测试计划: 制定出度量测试等级和测试重点的标准:一般是根据程序的重要性和一旦发生故障将造成的损失来确定。 使用尽可能少的有效测试用

11、例,发现尽可能多的程序错误是策略制订的目标:一次完整的软件测试后,如果程序中遗漏的错误过多且很严重,则表明本次测试是失败的或不足的;而测试不足意味着让用户承担隐藏错误带来的危险。反过来,如果过度测试,又会浪费许多宝贵的资源。找到一个最佳平衡点。,2.2.3 软件测试的策略,3、软件测试策略制订的输入输出(P55) 输入 输出,2.2.3 软件测试的策略,2.3.1 静态测试 2.3.2 动态测试 2.3.3 黑盒测试 2.3.4 白盒测试 2.3.5 黑盒与白盒测试的比较,2.3 静态测试与动态测试概述,静态测试与动态测试的比喻,1、静态测试及其特征 静态测试是对被测程序进行特性分析的方法总称

12、,由于并不真正运行被测试的程序,只对被测程序进行特性分析,因此常称为“静态分析”。所谓静态分析是指不需要执行测试程序,只是通过扫描程序正文,对程序的数据流和控制流等信息进行分析,找出系统的缺陷,得出测试报告。 静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,以发挥人的逻辑思维优势,也可以借助软件工具自动进行。,2.3.1 静态测试,特别地,静态分析的差错分析功能是编译程序所不能替代的。编译系统虽然能发现某些程序错误,但这些错误远非软件中存在的大部分错误。目前,已经开发了一些静态分析系统作为软件静态测试的工具,静态分析已被当作一种自动化的代码校验方法。,2.3.1 静态测试

13、,2、静态测试的活动 检查算法的逻辑正确性,确定算法是否实现了所要求的功能; 检查模块接口的正确性,确定形参的个数、数据类型、顺序是否正确,确定返回值类型及返回值的正确性; 检查输入参数是否有合法性检查。如果没有合法性检查,则应确定该参数是否不需要合法性检查,否则应加上参数的合法性检查;,2.3.1 静态测试,检查调用其他模块的接口是否正确,检查实参类型、实参个数是否正确,返回值是否正确,若被调用模块出现异常或错误,程序是否有适当的出错处理代码; 检查是否设置了适当的出错处理,以便在程序出错时,能对出错部分进行重做安排,保证其逻辑的正确性; 检查表达式、语句是否正确,是否含存在二义性。如表达式

14、或运算符的优先级:=、&、|、+、-等; 检查常量或全局变量使用是否正确; 检查标识符的使用是否规范、一致,变量命名是否能够望名知义、简洁、规范和易记;,2.3.1 静态测试,检查程序风格的一致性、规范性,代码是否符合行业规范,是否所有模块的代码风格一致、规范; 检查代码是否可以优化,算法效率是否最高; 检查代码注释是否完整,是否正确反映了代码的功能,并查找错误的注释。,2.3.1 静态测试,不同的测试方法各自的目标和侧重点不一样,在实际工作中要将静态测试和动态测试结合起来,以达到更加完美的效果。 1、动态测试及其特征 动态方法是通过源程序运行时所体现出来的特征,来进行执行跟踪、时间分析以及测

15、试覆盖等方面的测试。动态测试是真正运行被测程序,在执行过程中,通过输入有效的测试用例,对其输入与输出的对应关系进行分析,以达到检测的目的。,2.3.2 动态测试,2、动态测试的基本步骤 选取定义域的有效值,或选取定义域外的无效值; 对已选取值决定预期的结果; 用选取值执行程序; 执行结果与预期的结果相比,不吻合则说明程序有错。 3、动态测试方法的类型 在动态测试中,又可有基于程序结构的白盒测试(或称为覆盖测试)和基于功能的黑盒测试。,2.3.2 动态测试,1、黑盒测试的定义 黑盒测试也称作功能测试和行为测试,是指根据功能需求来测试程序是否按照预期工作。黑盒测试是一种从用户观点出发的测试,主要以

16、软件规格说明书为依据,对程序功能和程序接口进行的测试。 黑盒测试把系统被看成一个不透明的黑匣,在完全不考虑软件内部结构和处理过程的情况下验证系统是否达到用户需求。黑盒测试的示意图如图所示,从图可以看出黑盒测试只考虑程序的输入和输出,无须考虑程序的内部代码。,2.3.3 黑盒测试,2.3.3 黑盒测试,黑盒测试过程示意图,黑盒测试有两种基本思想,即通过测试和失败测试。 在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何,软件测试人员只是运用最简单、最直观的测试用例。在设计和执行测试用例时,总是先要进行通过测试,验证软件的基本功能是否都已实现。 在确信了软件正确运行之后,就可以采取各种手段通过搞垮软件来找出缺陷。纯粹为了破坏软件而设计和执行的测试用例,被称为失败测试或迫使出错测试。,2.3.3 黑盒测试,2、黑盒测试的基础 黑盒测试的基本观点是:任何程序都可以看作是从输入定义域映射到输出值域的函数过程,被测程序被认为是一个打不开的黑盒子,黑盒中

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

当前位置:首页 > 商业/管理/HR > 管理学资料

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