软件测试策略与过程.ppt
《软件测试策略与过程.ppt》由会员分享,可在线阅读,更多相关《软件测试策略与过程.ppt(64页珍藏版)》请在三一办公上搜索。
1、第2章 软件测试方法与过程,第2章 软件测试策略与过程,主要内容,软件测试流程,第2章 软件测试策略与过程,ISO软件质量度量模型,2.1 软件测试的复杂性与经济性,软件测试复杂性,对待缺陷的基本原则 缺陷的群集现象 缺陷有免疫力 缺陷关联和依赖 测试结果的处理原则对缺陷进行复查和确认测试结果的全面检查 出错统计和分析 妥善保存测试过程文档,软件缺陷构成,2.1 软件测试的复杂性与经济性,测试发现缺陷需要投入(时间和成本),遗留缺陷有风险,2.1 软件测试的复杂性与经济性,软件测试应追溯到用户需求 应尽早和不断地测试 穷尽测试是不可能的 具有良好的测试态度避免测试自己的程序 增量测试测试分级测
2、试有重点避免测试的随意性,测试原则,2.1 软件测试的复杂性与经济性,2.2 软件测试方法,软件测试技术分类,核心:在每种测试方法、测试阶段和测试业务中,一般包括 1、功能测试(黑盒、白盒)2、性能测试(黑盒、白盒),软件测试业务分类,2.2 软件测试方法,静态测试和动态测试,运行程序,不运行程序,仅通过分析或检查等其他手段达到检测的目的。,通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,2.2 软件测试方法 测试分类,按是否需查看代码分类黑盒测试白盒测试,功能测试数据测试,结构测试逻辑测试,2.2 软件测试方法 测试分类,黑盒测试和白盒测试,功能测试,结构测试,
3、2.2 软件测试方法 测试分类,人工测试和自动化测试,人工测试是人为测试和手工测试的统称。人为测试的主要方法有桌前检查(desk checking),代码审查(code review)和走查(walkthrough)。经验表明,使用这种方法能够有效地发现 30%到 70%的逻辑设计和编码错误。手工测试指的是在测试过程中,按测试计划一步一步执行程序,得出测试结果并进行分析的测试行为。自动化测试指的是利用测试工具来执行测试,并进行测试结果分析的测试行为。,2.2 软件测试方法 测试分类,按测试执行时是否需人工干预分类手工测试自动测试,人工测试是人为测试和手工测试的统称。人为测试的主要方法有桌前检查
4、(desk checking),代码审查(code review)和走查(walkthrough)。经验表明,使用这种方法能够有效地发现 30%到 70%的逻辑设计和编码错误。手工测试指的是在测试过程中,按测试计划一步一步执行程序,得出测试结果并进行分析的测试行为。自动化测试指的是利用测试工具来执行测试,并进行测试结果分析的测试行为。,2.2 软件测试方法 测试分类,自动测试和手工测试,手工模拟用户操作,2.2 软件测试方法 测试分类,2.3 软件测试的阶段,单元测试,集成测试,系统测试,验收测试,一 单元测试,什么是单元测试单元测试是对软件基本组成单元进行测试,主要是为了发现单元内部可能存在
5、的各种错误和不足主要工作分为两个步骤:人工静态检查和动态执行跟踪一般由开发组在开发组组长监督下进行什么是单元一个函数类或类内成员函数几个函数的集合,2.3 软件测试的阶段,单元测试误区 1、单元测试是一种浪费时间的工作 2、我是个很棒的程序员,我是不是可以不进行单元测试?3、集成测试能捕捉到所有的Bug 4、单元测试的成本效率不高单元测试环境 1、详细设计说明书 2、源程序清单 3、驱动模块 4、桩模块,一、单元测试,2.3 软件测试的阶段,单元测试的主要任务在单元测试时,测试者需要依据详细设计说明书和源程序清单,了解该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测
6、试的测试用例,使之对任何合理的输入和不合理的输入,都能鉴别和响应。,一、单元测试,2.3 软件测试的阶段,单元测试用例设计思路为系统运行设计测试用例证明单元至少在某种正常情况下能够运行了。为正向测试设计用例验证设计说明书所对应的功能或性能指标是否实现。为逆向测试设计用例验证被测软件单元有没有做它不应该做的事情。为满足特殊需求设计测试用例验证系统性能、安全性、保密性等。为代码覆盖设计用例满足特定覆盖标准,一、单元测试,2.3 软件测试的阶段,二、集成测试,什么是集成测试集成测试是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统所进行的测试集成测试关注的重点模块接口的数据交换各子
7、功能组合起来能否达到预期要求的父功能模块间是否有不利影响全局数据结构单个模块的误差是否会累积放大,2.3 软件测试的阶段,单元测试与集成测试区别测试对象:单元测试对象是实现具体功能的单元,一般对应详细设计中所描述的设计单元。集成测试是针对概要设计所包含的模块以及模块组合进行的测试。测试方法:单元测试所使用的主要测试方法是基于代码的白盒测试。而集成测试所使用的主要测试方法是基于功能的黑盒测试。测试时间:集成测试要晚于单元测试,所以单元测试的好坏直接影响着集成测试。测试内容:单元测试主要包括模块内程序的逻辑等方面,集成测试主要是验证各个接口、接口之间的数据传递关系、模块组合后能否达到预期效果。,二
8、、集成测试,2.3 软件测试的阶段,集成方法大爆炸集成Big bang integration(all module together)自顶向下集成Top down integration(from higher levels no test drivers are needed)自底向上集成Bottom up integration(from lower levels No test stubs necessary)三明治集成Sandwich testing(combination of bottom-up and top-down),2.3 软件测试的阶段,二、集成测试,大爆炸集成 1.目
9、的 尽可能缩短测试时间,使用最少的测试用例验证系统。2.定义 大爆炸集成也称为一次性组装或整体拼装,这种集成测试策略的做法就是把所有通过单元测试的模块一次性集成到一起进行测试,不考虑组件之间的互相依赖性及可能存在的风险。,2.3 软件测试的阶段,二、集成测试,3.具体方法 举例来说,假设要对某个系统的部分功能(包括4个模块)进行测试,其功能分解如图:,2.3 软件测试的阶段,二、集成测试,测试过程,2.3 软件测试的阶段,二、集成测试,4.优点(1)可以并行测试所有模块。(2)需要的测试用例数目少。(3)测试方法简单、易行。5.缺点(1)由于不可避免存在模块间接口、全局数据结构等方面的问题,所
10、以一次运行成功的可能性不大。(2)如果一次集成的模块数量多,集成测试后可能会出现大量的错误。另外,修改了一处错误之后,很可能新增更多的新错误,新旧错误混杂,给程序的错误定位与修改带来很大的麻烦。(3)即使集成测试通过,也会遗漏很多错误。,2.3 软件测试的阶段,二、集成测试,6.适用范围(1)只需要修改或增加少数几个模块的前期产品稳定的项目;(2)功能少,模块数量不多,程序逻辑简单,并且每个组件都已经过充分单元测试的小型项目;(3)基于严格的净室软件工程(由IBM公司开创的开发接近零缺陷的软件的成功做法)开发的产品,并且在每个开发阶段,产品质量和单元测试质量都相当高的产品。,2.3 软件测试的
11、阶段,二、集成测试,自顶向下集成 自顶向下的集成测试就是按照系统层次结构图,以主程序模块为中心,从顶层控制(主控模块)开始,自上而下按照深度优先或者广度优先策略,对各个模块一边组装一边进行测试。采用同设计顺序一样的思路对被测系统进行测试,来验证系统的稳定性。,2.3 软件测试的阶段,二、集成测试,Top-down Integration Testing,2.3 软件测试的阶段,二、集成测试,自底向上集成 1.定义 自底向上集成是从系统层次结构图的最底层模块开始按照层次结构图,逐层向上进行组装和集成测试的方式。2.方法.从最底层的模块开始组装;.编制驱动程序,协调测试用例的输入与输出;.测试集成
12、后的构件;.使用实际模块代替驱动程序,按程序结构向上组装测试后的构件;.重复上面的第二步,直到系统的最顶层模块被加入到系统中为止。,2.3 软件测试的阶段,二、集成测试,Bottom-up Integration,2.3 软件测试的阶段,二、集成测试,三明治集成(混合集成)1.目的 综合利用自顶向下和自底向上两种集成测试策略的优点2.定义 三明治集成是一种混合增殖式测试策略,综合了自顶向下和自底向上两种集成方法,把系统划分成三层,中间一层为目标层,目标层上采用自顶向下集成,目标层下采用自底向上集成。,2.3 软件测试的阶段,二、集成测试,Sandwich Testing Strategy,2.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 策略 过程

链接地址:https://www.31ppt.com/p-5018911.html