回忆之城
生命在于折腾
posts - 575,comments - 9,trackbacks - 0
1.集成测试与系统测试
集成测试是将已经分别通过测试的单元按设计要求组合起来再进行测试,以检查这些单元接口是否存在问题。
系统测试一般由若干个不同测试组成,目的是充分运行系统,验证系统各部件能否正常工作并完成所赋予的任务。

2.集成测试前的准备
人员安排(有经验的测试人员和开发者)
测试计划(在系统设计阶段开始制定)
测试内容
3.集成模式
测试方法(非渐增式测试模式、渐增式测试模式)
4.集成测试的模式
非渐增式测试模式,如大棒式;
渐增式测试模式;

5.两种模式的优缺点:
工作量(渐增式工作量较大,编码多)
错误诊断(渐增式发现错误早,好诊断)
渐增式测试更彻底
渐增式需要较多的机器时间
使用非渐增式可进行并行测试

6.集成方法
自顶向下
自底向上
混和模式
大棒和三明治
两种辅助模块
驱动模块
桩模块

7.自顶向下和自底向上集成方法
自顶向下法
从主控模块开始,沿着软件的控制层次向下移动,逐渐把各个模块结合起来。
优缺点
不需要测试驱动
能早期发现上层模块的接口错误
需要桩模块
底层模块中错误发现较晚
早期不能重分发挥人力。
自底向上法
自底部向上测试从“原子”模块开始集成以进行测试
混合策略
对软件结构中较上曾使用“自顶向下”法,对软件结构中较下层使用“自底向上”法
8.大棒与三明治集成方法
大棒集成方法
先对每个子模块进行测试,然后将所有模块全部集成起来一次性进行集成测试。
三明治集成方法


说明:
(自顶向下集成
  自顶向下集成是构造程序结构的一种增量式方式,它从主控模块开始,按照软件的控制层次结构,以深度优先或广度优先的策略,逐步把各个模块集成在一起。深度优先策略首先是把主控制路径上的模块集成在一起,至于选择哪一条路径作为主控制路径,这多少带有随意性,一般根据问题的特性确定。以下图为例,若选择了最左一条路径,首先将模块M1,M2,M5和M8集成在一起,再将M6集成起来,然后考虑中间和右边的路径。广度优先策略则不然,它沿控制层次结构水平地向下移动。仍以下图为例,它首先把M2、M3和M4与主控模块集成在一起,再将M5和M6 和其他模块集资集成起来。
  自顶向下综合测试的具体步骤为:
   1 以主控模块作为测试驱动模块,把对主控模块进行单元测试时引入的所有桩模块用实际模块替代;
   2 依据所选的集成策略(深度优先或广度优先),每次只替代一个桩模块;
   3 每集成一个模块立即测试一遍;
   4 只有每组测试完成后,才着手替换下一个桩模块;
   5 为避免引入新错误,须不断地进行回归测试(即全部或部分地重复已做过的测试)。

   从第二步开始,循环执行上述步骤,直至整个程序结构构造完毕。下图中,实线表示已部分完成的结构,若采用深度优先策略,下一步将用模块M7替换桩模块S7,当然M7本身可能又带有桩模块,随后将被对应的实际模块一一替代。
  自顶向下集成的优点在于能尽早地对程序的主要控制和决策机制进行检验,因此较早地发现错误。缺点是在测试较高层模块时,低层处理采用桩模块替代,不能反映真实情况,重要数据不能及时回送到上层模块,因此测试并不充分。解决这个问题有几种办法,第一种是把某些测试推迟到用真实模块替代桩模块之后进行,第二种是开发能模拟真实模块的桩模块;第三种是自底向上集成模块。第一种方法又回退为非增量式的集成方法,使错误难于定位和纠正,并且失去了在组装模块时进行一些特定测试的可能性;第二种方法无疑要大大增加开销;第三种方法比较切实可行。
)

9.集成测试中的功能测试区分于单元测试中的功能测试;单元测试中功能测试目的是保证所测试的每个独立模块在功能上市正确的,主要从输入条件和输出结果进行判断。
集成测试前后的功能测试,不仅考虑模块之间的相互作用,而且考虑系统应用环境,其衡量标准是实现产品规格说明书上所要求的内容。

10.功能测试的目的和方法
功能测试的目标是满足用户功能的需求。
功能测试多采用黑盒测试的方法,有时也可辅助使用白盒测试。
功能测试的方法
等价类划分法
边界值分析法
错误推测法
因果图法
组合分析法
组合分析法是一种基于每对参数组合的测试技术,考虑参数之间的影响是主要的错误来源,大多数的错误起源于简单的参数组合。
组合分析法优点是:实现的成本底,维护成本底,易于自动化。

11.系统测试
系统测试是在集成测试之后,与计算机硬件、和某些支持软件、数据和人员等系统元素结合起来,在实际运行环境下对计算机系统进行严格的测试,来发现软件的潜在问题,保证系统的运行。
系统测试区别于功能测试。
功能测试主要是验证软件功能的实现情况,不考虑各种环境以及非功能问题。

12.系统测试的内容
压力测试
也称强度测试、负载测试。压力测试时模拟实际应用的软件环境及用户使用过程的负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。
容量测试
预先分析出反映软件系统应用特长的某项指标的极限量。
性能测试
通过测试确定系统运行时的性能表现,如得到运行速度、响应时间、占有系统资源等方面的系统数据。
安全测试
检查系统对非法侵入的防范能力。安全测试期间人员假扮非法入侵者,采用各种办法试图突破防线。
容错测试
主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新启动系统。

12.1压力测试
压力测试——系统非正常承载能力的测试;
压力估算——可选实际峰值的1.5-2倍;
测试环境的准备;
问题分析;
累积效应;

12.2容量测试
容量测试——对预先期望系统特性极限指标测试。系统在极限值状态下能保持主要功能正常。
容量测试完成的标准是:所计划的测试已经全部执行,而且达到或超出指定的系统限制是没有出现故障。

12.3性能测试
性能测试——真实系统中真实可靠地测试系统的性能。

12.4三种测试的比较
压力测试重点在于发现系统功能性不易发现的错误;
容量测试着重于系统是否达到预计的目标;
性能测试着重于在苛刻环境中衡量资源的使用,诊断系统效率低和系统故障的原因。
12.5安全性测试
两种级别的安全性:
应用程序级别的安全性;
系统级别的安全性;
测试目标
测试范围
完成标准

12.6可靠性测试
可靠性是产品在规定的条件下和规定的时间内完成规定功能的能力
可靠性测试的三要素:
规定时间
规定的环境条件
规定的功能

12.7容错测试
容错测试是检查软件在异常条件下自身是否具有防护性的措施或某种灾难恢复的手段和能力。
在规定的时间内能否修正错误并更新或启动系统。

13.回归测试
回归测试的目的——新做的修改不影响原有的功能需求。
所做的修改达到了预定的目的,错误得到改正,新功能得以实现,能适应新环境;
不影响软件原有的功能;
回归测试的方法
全部测试用例法;
基于风险选择测试;
基于操作剖面测试;
局部测试;

posted on 2007-11-10 20:05 回忆之城 阅读(340) 评论(0)  编辑 收藏 引用 所属分类: 测试技术相关
只有注册用户登录后才能发表评论。