回归测试(regression testing):在软件修改后再次运行以前为查找错误而执行程序曾用过的测试用例.
单元测试(unit testing):为发现和消除语法错误,逻辑错误,纠正实现中的错误,满足其需求,对模块进行的测试.
集成测试(integrated testing):将已测试过的模块组装起来进行检验.
验收测试(acceptance testing):为确定软件系统是否满足验收标准以及使客户决定是否接受而进行的正式测试.
表现在程序中的错误并不一定是编码所引起的,很可能是详细设计,概要设计甚至是需求分析时的问题引起的.解决问题,纠正错误也必须追溯到前期的工作.这也是测试分为这么多步的原因之一.单元测试检验每个模块是否能单独工作从而发现模块的编码和算法问题.进而将多个模块联结起来,进行集成测试以检验概要设计中对模块的接口设计的问题.确认测试则应以需求规格说明书中的规定作为检验尺度,发现需求分析的问题.最后进行的系统测试是将开发的软件和硬件和其他相关因素(如人员操作,数据获取)综合起来进行全面的检验.
冒烟测试(smoking test)冒烟测试是指对提交测试的软件在进行详细深入的测试之前而进行的预测试,这种预测试的主要目的是暴露导致软件需重新发布的基本功能失效等严重问题。冒烟测试可以由开发人员执行,也可以由测试人员来执行。即,在版本编译后正式提交测试之前由开发人员执行;或开发发布版本后,测试人员在接受这个版本作为正式版本进一步测试前执行。微软提出在审查了变更的代码后,冒烟测试是确认修复的缺陷及功能变更是否有效的最经济有效的方法。冒烟测试能手动执行,也可以在版本编译后自动化执行,它是对基本功能的确认,非深入测试,但要覆盖到面,即所有的更改点都要进行确认。采用自动化执行时,可以结合每日构件后进行自动化的每日smoking
test,如果测试通过,则把更改后的代码自动合并到主干代码仓库中,作为正式提交测试的版本。