|
A:单元测试:
是程序的最小组成单位,它具有以下特征:
1:单元接受数据输入后,经过加工,得到一些结果,可能给出输出结果,也可能仅仅发生一些状态的改变,但如果输入、加工和输出三者缺少任何一个,这个程序单元都不是完整的。
2:原则上说,每个程序单元都应有正规的规格说明,使之对其输入、加工和输出的关系作出明确的描述。
比程序单元更大的是程序模块,它有以下基本属性:
名字,明确的功能,内部使用的数据,与其它模块或与外界存在的数据联系,实现其特定功能的算法,可被其上层模块调用,在其工作过程中也可调用其下属模块协同工作。
有时候我们不加区分,默认单元测试就是模块测试也是允许的
单元测试要解决的问题主要有以下5个方面:
1:模块接口:对被测的模块,信息能否正常无误地流入和流出
2:局部数据结构:在模块工作过程中,其内部的数据是否能保持其完整性,包括内部数据的内容、形式及相互关系不发生错误。
3:边界条件:在为限制数据加工而设置的边界处,模块是否能正常工作。
4:覆盖条件:模块的运行能否作到满足特定的逻辑覆盖
5:出错处理:模块工作中发生了错误,其中的出错处理设施是否有效。
模块与其周围环境的接口有无差错应首先得到检验,否则其内部的各种测试工作也将是徒劳的。
由于每个模块在整个软件中并非孤立,为模拟这一联系,在进行单元测试时,需要设置若干辅助测试模块,一种是驱动模块,用以模拟被测模块的上级模块。
另一种是桩模块,用以模拟被测模块工作过程中所调用的模块。驱动模块在单元测试中接受测试数据,把相关的数据传送给被测模块,启动被测模块,并打印出相应的结果。壮模块由被测模块调用,它们仅作很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口。
B:集成测试:
在每个模块完成单元测试以后,需要按照设计时作出的结构图,把他们连接起来,完成集成测试(ineegrated test) ,组成集成测试的方式,主要有两种方法,既非增式测试和增式测试.
非增式测试指:按程序结构图将各模块联结起来,把连接后的程序当作一个整体进行测试.
增式测试的集成是逐步实现的, 增式测试可以按照不同的次序执行,大体上有两种方式:
1:自顶向下增式测试是按结构图自顶向下进行的
2:自下向上增式测试是按结构图自下向上进行的
总体上说,由于增式测试使用了较少的辅助模块,且把可能出现的差错分散暴露出来,便于找出问题和修改,所以增式测试比非增式测试具有一定的优越性.
C:确认测试:
即检验所开发的软件是否能按顾客提出的要求进行,若能达到这一要求,这认为开发的软件是合格的,这里说的顾客提出的要求主要是指在软件规格说明书中确定的软件功能和技术指标.另外配置审查是确认过程的重要环节,其目的在于确保已开发软件的所有文件资料已经编写齐全,并得到分类编目,足以支持投入运行以后的软件维护工作.
D:系统测试:
与系统中其它部分配套(包括计算机的软硬件环境和外部设备)运行,保证在系统各部分协调工作的环境下也能正常工作.
包括:
恢复测试:采用各种人工干预方式使软件出错,而不能正常工作,进而检验系统的恢复能力.如果系统本身能够自动地进行恢复,则应检验;重新初始化,数据恢复以及重新启动是否正确,如果这一恢复需要人为干预,则应考虑平均修复时间是否合理.
安全测试:目的在于检验安装在系统内的保护机构确实能够对系统进行保护,常用方式是设置一些测试用例试图突破系统的安全保密措施,检验系统是否能存在安全保密的漏洞.
强度测试:检验系统的能力最高实际限度.进行强度测试时,让系统的运行处于资源的异常数量、异常频率和异常批量的条件下。
4:人工测试:
这里的人工测试指不依赖于计算机的测试技术,主要是指利用穿插在软件开发各阶段的程序审查保证程序的质量。 |
|