软件测试分类
软件测试分类:
一、静态测试
静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。
静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行。静态方法常常称为“分析”,静态测试是对被测程序进行特性分析方法的总称。
二、动态测试
动态方法的主要特征是:计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进行分析,以达到检测的目的。
1、黑盒测试&白盒测试
若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试方法。
黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性性。
黑盒测试的特点:
(1)黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。
(2)黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。
若测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试方法。
白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试时“基于覆盖率的测试”。
通常的程序结构覆盖有:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、路径覆盖。
2、单元测试
单元测试的主要任务:
(1)模块接口
(2)局部数据结构
(3)独立路径
(4)边界条件
(5)错误处理
3、集成测试
集成测试又可分为非增量式测试、增量式测试和回归测试。
非增量式测试是采用一步到位的方法来构造测试,对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当做一个整体进行测试。
增量式测试的集成是逐步实现的:逐次将未曾集成测试的模块和已经集成测试的模块结合成程序包,再将这些模块集合成为较大系统,在集成的过程中边连接边测试,以发现连接过程中产生的问题。
回归测试是用来保证改动不会带来不可预料的行为或另外的错误。回归测试可以通过重新执行所有的测试用例的一个子集人工地进行,也可以使用自动化的捕获回放工具来进行。
4、确认测试
确认测试也称为合格线测试,是检验所开发的软件是否能按用户提出的要求进行。软件确认要通过一系列证明软件功能和要求一致的黑盒测试来完成。
5、系统测试
由于软件只是计算机系统中的一个组成部分,软件开发完成之后,最终还要和系统中的硬件系统、某些支持软件、数据信息等其他部分配套运行。因此,在投入运行前要完成系统测试,以保证各组成部分不仅能单独的得到检验,而且在系统各部分协调工作的环境下也能正常工作。
6、验收测试
验收测试应完成的工作内容包括:明确验收项目,规定验收测试通过的标准;确定测试方法;决定验收测试的组织机构和可利用的资源;选定测试结果分析方法;指定验收测试计划并进行评审;设计验收测试所用的测试用例;审查验收测试准备工作;执行验收测试;分析测试结构;做出验收结论,明确通过验收或不通过验收;软件配置和文档资料测试。
注:软件测试和软件调试有完全不同的含义:
测试的目的是显示存在错误。
调试的目的是发现错误或导致程序失效的错误原因,并修改程序以修正错误。
通常情况是在测试以后紧接着要进行调试,调试是在测试发现错误后消除错误的过程,实际上这两项工作是交叉进行的。