本文是按照开发阶段划分测试技术
单元测试
单元测试是对软件组成单元进行测试,目的是检验软件基本组成单元的正确性,测试对象是软件设计的最小单位 - 模块,又称为模块测试
单元测试的实质是代码测代码
-
测试阶段: 编码后或者编码前(TDD,编码前属于测试驱动开发)
-
测试对象: 最小模块
-
测试人员: 白盒测试工程师或开发工程师(这一点很好的体现了代码测代码的实质)
-
测试依据: 代码和注释 + 详细的设计文档
-
测试方法: 白盒测试
-
测试内容: 模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
集成测试
集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的继承策略组装起来,对系统的接口(接口属于白盒)以及组装好的功能(功能属于黑盒)进行正确性检查的测试工作
集成测试的主要目的是检查软件单位之间的接口是否正确
系统测试
系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。
包括对功能、性能、以及软件所运行的软硬件环境进行测试
系统测试包括冒烟测试和回归测试
冒烟测试:
冒烟测试是一个准入标准, 是是否接受软件测试的依据
开发人员开发完毕后交给测试人员进行测试
测试人员进行冒烟测试,保证基本功能正常,不阻碍后续测试
回归测试:
回归测试的测试用例是从功能测试用例中提取的
回归测试是指修改了旧的代码以后,重新进行测试,确认修改没有引入新的错误,或导致其他代码产生错误,
自动回归测试将大幅度降低系统测试、维护升级等阶段的成本(自动化测试)
在整个软件测试系统中,占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试,随着系统的庞大,回归测试的成本也会越来越大,听过选择正确的回归测试策略来改善测试效率和有效性是非常有意义的
回归测试和冒烟测试都可以使用自动化测试
一般的顺序是: 冒烟测试 -> 系统测试 -> 回归测试
验收测试
验收测试是部署软件之前最后一个测试操作,他是技术测试的最后一个阶段,也称为交付测试,验收测试的目的是保证软件准备就绪