1. 一次性集成方式(big bang)
它是一种非增殖式组装方式。也叫做整体拼装。
使用这种方式,首先对每个模块分别进行模块测试,然后再把所有模块组装在一起进行测试,最终得到要求的软件系统。
2. 增殖式集成方式
这种集成方式又称渐增式集成
首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统
在集成的过程中边连接边测试,以发现连接过程中产生的问题
通过增殖逐步组装成为要求的软件系统。
(1) 自顶向下的增殖方式
这种集成方式将模块按系统程序结构,沿控制层次自顶向下进行组装。
自顶向下的增殖方式在测试过程中较早地验证了主要的控制和判断点。
选用按深度方向组装的方式,可以首先实现和验证一个完整的软件功能。
(2) 自底向上的增殖方式
这种集成的方式是从程序模块结构的最底层的模块开始集成和测试。
因为模块是自底向上进行组装,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)已经组装并测试完成,所以不再需要桩模块。在模块的测试过程中需要从子模块得到的信息可以直接运行子模块得到。
自顶向下增殖的方式和自底向上增殖的方式各有优缺点。
一般来讲,一种方式的优点是另一种方式的缺点。
(3) 混合增殖式测试
衍变的自顶向下的增殖测试
–首先对输入/输出模块和引入新算法模块进行测试;
–再自底向上组装成为功能相当完整且相对独立的子系统;
–然后由主模块开始自顶向下进行增殖测试。
自底向上-自顶向下的增殖测试
–首先对含读操作的子系统自底向上直至根结点模块进行组装和测试;
–然后对含写操作的子系统做自顶向下的组装与测试。
回归测试
–这种方式采取自顶向下的方式测试被修改的模块及其子模块;
–然后将这一部分视为子系统,再自底向上测试。
关键模块问题
在组装测试时,应当确定关键模块,对这些关键模块及早进行测试。
关键模块的特征:
① 满足某些软件需求;
② 在程序的模块结构中位于较高的层次(高层控制模块);
③ 较复杂、较易发生错误;
④ 有明确定义的性能要求。
确认测试(Validation Testing)
确认测试又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。
对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。
1. 进行有效性测试(黑盒测试)
有效性测试是在模拟的环境 (可能就是开发的环境) 下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。
首先制定测试计划,规定要做测试的种类。还需要制定一组测试步骤,描述具体的测试用例。
通过实施预定的测试计划和测试步骤,确定
–软件的特性是否与需求相符;
–所有的文档都是正确且便于使用;
–同时,对其它软件需求,例如可移植性、兼容性、出错自动恢复、可维护性等,也都要进行测试
在全部软件测试的测试用例运行完后,所有的测试结果可以分为两类:
–测试结果与预期的结果相符。这说明软件的这部分功能或性能特征与需求规格说明书相符合,从而这部分程序被接受。
配置测试
这类测试是要检查计算机系统内各个设备或各种资源之间的相互联结和功能分配中的错误。
它主要包括以下几种:
–配置命令测试:验证全部配置命令的可操作性(有效性);特别对最大配置和最小配置要进行测试。软件配置和硬件配置都要测试。
-循环配置测试:证明对每个设备物理与逻辑的,逻辑与功能的每次循环置换配置都能正常工作。
–修复测试:检查每种配置状态及哪个设备是坏的。并用自动的或手工的方式进行配置状态间的转换。
安全性测试
安全性测试是要检验在系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞。
力图破坏系统的保护机构以进入系统的主要方法有以下几种:
-正面攻击或从侧面、背面攻击系统中易受损坏的那些部分;
-以系统输入为突破口,利用输入的容错性进行正面攻击;
–申请和占用过多的资源压垮系统,以破坏安全措施,从而进入系统;
–故意使系统出错,利用系统恢复的过程,窃取用户口令及其它有用的信息;
–通过浏览残留在计算机各种资源中的垃圾(无用信息),以获取如口令,安全码,译码关键字等信息;
–浏览全局数据,期望从中找到进入系统的关键字;
–浏览那些逻辑上不存在,但物理上还存在的各种记录和资料等。
可使用性测试
可使用性测试主要从使用的合理性和方便性等角度对软件系统进行检查,发现人为因素或使用上的问题。
要保证在足够详细的程度下,用户界面便于使用;对输入量可容错、响应时间和响应方式合理可行、输出信息有意义、正确并前后一致;出错信息能够引导用户去解决问题;软件文档全面、正规、确切。
安装测试
安装测试的目的不是找软件错误,而是找安装错误。
在安装软件系统时,会有多种选择。
–要分配和装入文件与程序库
–布置适用的硬件配置
–进行程序的联结。
而安装测试就是要找出在这些安装过程中出现的错误。
安装测试是在系统安装之后进行测试。它要检验:
–用户选择的一套任选方案是否相容;
–系统的每一部分是否都齐全;
–所有文件是否都已产生并确有所需要的内容;
–硬件的配置是否合理,等等。
容量测试
容量测试是要检验系统的能力最高能达到什么程度。例如,
–对于编译程序,让它处理特别长的源程序;
–对于操作系统,让它的作业队列“满员”;
–对于信息检索系统,让它使用频率达到最大。
在使系统的全部资源达到“满负荷”的情形下,测试系统的承受能力。
文档测试
这种测试是检查用户文档(如用户手册)的清晰性和精确性。
用户文档中所使用的例子必须在测试中一一试过,确保叙述正确无误。
自动测试
认识自动测试
什么时候使用自动测试

–测试结果与预期的结果不符。这说明软件的这部分功能或性能特征与需求规格说明不一致,因此要为它提交一份问题报告。
2. 软件配置复查
软件配置复查的目的是保证
软件配置的所有成分都齐全;
各方面的质量都符合要求;
具有维护阶段所必需的细节;
而且已经编排好分类的目录。
应当严格遵守用户手册和操作手册中规定的使用步骤,以便检查这些文档资料的完整性和正确性。