本文简述了常见的软件测试类型,以及提供了一些简单的图表来展示各种测试间的关系和一些近似数据。图表并非经过严格测量,而是根据经验画出的示意近似值,并且假定的前提条件是,尽可能在现有条件下把自动化程度提到最高。
各类常见的软件测试简介
用于测试最小的独立功能单元,比如一个函数的输入输出,或者一个类的组成和调用。单元测试的细节程度高,覆盖面广,因此数量也多。
一般用于测某个功能模块,比如说测试系统是否能完成某一个任务。由于功能测试的范围完全取决于系统的结构,所以相对单元测试来说,功能测试边界更为模糊。
集成测试
用于测试系统功能或模块间的交互,比如说各种接口和边界,以保证数据能平滑地从一个地方进入另一个地方。和功能测试互相配合,都属于中层测试。
测试整个系统的功能和需求的完整性。由于其复杂程度也可变换的用例很多,所以自动化难度大,有些部份必须通过手工完成。属于外部高层次的测试,覆盖面较小,执行成本也较高。
回归测试
当系统更新或者升级时,对更新的部份,或者所有关联的部份,甚至整个系统进行测试。