软件测试的分类
软件测试从不同角度来看会有多种分类,各分类之间并非独立存在而是相互关联。对于分类我们大致分类为以下几类(不限于此):
- 是否关注程序内部运行情况分为白盒测试、黑盒测试、灰盒测试
- 是否运行软件分为静态测试、动态测试
- 按流程阶段分为单元测试、集成测试、系统测试、验收测试
是否关注程序内部
黑盒测试:
在测试过程中把程序看作一个不透明的黑盒子,不考虑其内部结构特性和内部实现原理、逻辑结构。只检查程序是否按照需求规定正常使用,只关注输入和输出(PS:黑盒测试就是功能测试,这种说法是不正确的)
白盒测试:
白盒测试把程序看作一个透明的白盒子,需要关注程序内部的运作情况,需要了解程序内部逻辑结构对于代码执行的条件和路径进行测试。重点在于检查程序内部结构和逻辑
灰盒测试:
灰盒介于白盒和黑盒之间,灰盒测试既关注输入输出的正确性也关注内部运行情况,但不如白盒测试详细,通过外部输入和输出来判断内部运行情况(比如接口测试)
是否运行程序
动态测试:
动态测试是指通过运行程序检查运行结果与预期结果的差异,并分析运行正确性、效率性、可靠性等(通常大部分测试都是动态测试)
静态测试:
静态测试是指无需运行程序,对于被测程序、文档进行测试检查是否符合标准(