软件测试理论课程第三章(软件测试策略)_第1页
软件测试理论课程第三章(软件测试策略)_第2页
软件测试理论课程第三章(软件测试策略)_第3页
软件测试理论课程第三章(软件测试策略)_第4页
软件测试理论课程第三章(软件测试策略)_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试软件测试策略章节目标软件测试的策略途径策略问题单元测试集成测试确认测试系统测试Unit标题2软件测试策略软件测试的策略途径策略问题单元测试集成测试确认测试系统测试3软件测试的特征

测试开始于模块层,然后“延伸”到整个基于计算机的系统集合中不同的测试技术适用于不同的时间点测试是由软件的开发人员和(对大型系统来说)独立的测试组来管理的测试和调试是不同的活动,但是调试必须能够适应任何的测试策略

4验证和确认

软件测试是验证和确认的一部分验证:“我们是否正确地完成了产品?”

确认:“我们是否完成了正确的产品?”

5软件测试组织的误解

软件的开发人员根本不应当参与测试软件应当给那些会无情地挑毛病的陌生人来测试测试者只有在测试的步骤即将开始的时候才参与项目6参与测试的角色和职责软件开发人员负责程序的单个单元(模块)的测试

独立测试组织(ITG)的功能是为了避免让开发者进行测试时引发固有问题。

开发人员和ITG在软件项目中应当紧密合作

7软件测试策略Unit标题单元测试集成测试确认测试系统测试8测试完成的标准-几种看法你永远也不可能完成测试,这个重担将会简单地从你(或者开发人员)身上转移到你的客户身上

当你时间不够或者资金不够用的时候,就完成了测试

我们不能绝对地认定软件永远也不会再出错,但可以根据合理和有效的统计模型来判定软件的测试程度9软件故障模型

f(t)=(1/p)1n(l0pt+1)

其中f(t)=软件在一定的测试时间t后,可能会发生故障的预期累计数目。l0=在测试刚开始时的初始软件故障密度(单位时间内的故障数)。p=错误被发现和修正的过程中故障密度的指数递减值。瞬时的故障密度,l(t)可以使用f(t)的导数得出,l(t)=l0/(l0pt+1)

10软件测试策略软件测试的策略途径策略问题单元测试集成测试确认测试系统测试11策略问题

在着手开始测试之前较长时间内,就要以量化的形式确定产品的需求

明显地指出测试目标

了解软件的用户并为每一类用户建立相应档案,着重于测试产品的实际用途建立一个强调“快速循环测试”的测试计划

12策略问题(续)设计一个能够测试自身是否“强壮”的软件

使用有效的正式技术复审作为测试之前的过滤器

使用正式技术复审来评估测试策略和测试用例本身

为测试过程建立一种连续改善的实现方法

13软件测试策略软件测试的策略途径策略问题单元测试集成测试确认测试系统测试14单元测试模块将被测试测试用例结果软件工程师15单元测试(模块测试)单元测试又称模块测试,是针对软件设计的最小单位─程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。16单元测试接口本地数据结构边界条件独立路径错误处理路径将被测试的模块测试用例17单元测试规程

模块

驱动器

结果测试用例接口本地数据结构边缘条件独立路径错误处理路径18单元测试规程

模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。驱动模块(driver)模拟被测试模块的上一级模块

桩模块(stub)

模拟被测试模块工作过程中所调用的模块驱动模块和桩模块设计都是额外的工作,两种都属于必须开发但又不能和最终软件一起提交的软件。19测试思维训练---带广告图案的花纸杯测试方案20测试思维训练---带广告图案的花纸杯测试方案1、观察纸杯的外观大小是否美观、是否能方便地拿起;2、广告是否吸引人、赏心悦目;3、广告图案放的位置是否合理,比如不能离杯口太近,尽量不要让嘴碰到;4、装入满杯的水,记录多久以后纸杯会漏水;5、装入满杯的热水,观察广告的颜色是否会因为受热而褪色;6、测试装入多少温度的水,会使人感到太冰或太烫以致于无法端握;21测试思维训练---带广告图案的花纸杯测试方案7、装入半杯的水,并在杯中放入汤匙,看杯子是否能平稳放置而不会倾倒在桌上;8、装入半杯的水,将杯子放置有风的窗口,看杯子是否平稳放置而不会被风吹倒;9、装入有颜色的饮料如咖啡,果汁等,喝完以后,再装入纯净的水,看是否因为杯壁的残留而致使纯净的水变色;22测试思维训练---带广告图案的花纸杯测试方案10、用手随意捏瘪空的杯子,然后再把杯子还原,还原后是否还能再承载与原来一样的冷,热水……11、装水前以及装水后分别测试能否被撕碎;12、用打火机点燃杯子,或丢入未熄灭的烟头,看杯子是否会烧起来;23软件测试策略软件测试的策略途径策略问题单元测试集成测试确认测试系统测试24集成测试•“大动作的”方法• 增量式的构建策略25集成测试(综合测试)通常,在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。通常,把模块组装成为系统的方式有两种1、非增量式测试2、增量式测试

26自顶向下的增量式测试这种组装方式将模块按系统程序结构,沿控制层次自顶向下进行组装。自顶向下的增量式测试在测试过程中较早地验证了主要的控制和判断点。选用按深度方向组装的方式,可以首先实现和验证一个完整的软件功能。27自顶向下的增量式测试28自顶向下集成使用桩测试上层模块深度优先

当新的模块被集成时,一些测试子集被重新运行ABCDEFG29测试者的三种选择

把测试推迟到稳定桩被换成实际的模块之后再进行

开发能够实现有限功能的用来模拟实际模块的稳定桩

从层次结构的最底部向上来对软件进行集成

30自底向上的增量式测试这种组装的方式是从程序模块结构的最底层的模块开始组装和测试。因为模块是自底向上进行组装,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)已经组装并测试完成,所以不再需要桩模块。在模块的测试过程中需要从子模块得到的信息可以直接运行子模块得到。31自底向上的增量式测试32自底向上集成

一次代替一个驱动器,"深度优先"模块被划分成构建并进行集成ABCDEFG簇

33两种实施方法的比较优点缺点自顶向下测试

可以自然地做到逐步求精,一开始便能让测试者看到系统的框架

需要提供桩模块在输入/输出模块接入系统以前,在桩模块中表示测试数据有一定困难由于桩模块不能模拟数据,如果模块间的数据流不能构成有向的非环状图,一些模块的测试数据难于生成;观察和解释测试输出往往也是困难的

自底向上测试

由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难特别适合于关键模块在结构图的底部的情况

直到最后一个模块被加进去之后才能看到整个程序(系统)的框架

只有到测试过程的后期才能发现时序问题和资源竞争问题34软件测试策略

软件测试的策略途径策略问题单元测试集成测试确认测试系统测试35确认测试的标准

所有的功能需求都得到了满足

所有性能需求都达到了

文档是正确且合理的

其他的需求

可移植性

兼容性

错误恢复

可维护性

36

Alpha和Beta测试

Alpha测试是由一个用户在开发者的场所来进行的,软件在开发者对用户的“指导”下进行测试,开发者负责记录错误和使用中出现的问题,Alpha测试是在一个受控的环境中进行的。

Beta

测试是由软件的最终用户在一个或多个用户场所来进行的,不象

Alpha测试,开发者通常来说不会在场,因此,Beta测试是在软件在一个开发者不能控制的环境进行的。

37软件测试策略软件测试的策略途径策略问题单元测试集成测试确认测试系统测试38系统测试系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的集成测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方。39系统测试分类恢复测试安全测试强度测试性能测试可靠性测试兼容性测试40恢复测试

许多基于计算机的系统必须在一定的时间内从错误中恢复过来,然后继续运行。恢复测试是通过各种手段,让软件强制性地发生故障,然后来验证恢复是否能正常进行的一种系统测试方法。

41安全测试

系统的安全当然必须能够经受住正面的攻击系统的安全也必须能够经受住侧面的和背后的攻击在安全测试过程中,测试者扮演着一个试图攻击系统的个人角色只要有足够的时间和资源,好的安全测试就一定能够最终侵入一个系统

42压力测试

在本质上说,进行压力测试的人应该这样问:“我们能够将系统折腾到什么程度而又不会出错?”

压力测试是在一种需要反常数量、频率或资源的方式下执行系统。43性能测试

硬盘使用率内存使用率处理器使用率网络使用率44验收测试

验收测试是检验软件产品质量的最后一道工序。验收测试通常更突出客户的作用,同时软件开发人员也有一定的参与。45逆向思维训练1请从理论上或逻辑的角度在后面填入后续字母或数字A,D,G,J1,3,6,101,1,2,3,521,20,18,15,118,6,7,5,6,465536,256,161,0,-1,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论