验收测试
由系统的使用者来校验系统是否能满足功能上的需求,以及最终完成任务的结果是否正确。
性能测试
测试系统在指向的条件下是否能达到速度和数据处理量等性能指标。
安全测试
测试系统是否能保障数据的完整性、机密性,以及抵抗内部和外部伤害的能力。
可用性(易用性)测试
测试系统是否对于人类用户友好,是否容易使用。
白盒/灰盒/黑盒测试
这三种本身并不是一种独立且可执行的测试种类,而是指跟据测试者对系统内部原理和结构的信息利用程度而划分出来的测试种类。
白盒测试是指在直接针对源代码和内部数据结构进行的测试,比如说单元测试和功能测试,需要知道每个函数或者模块的运作原理。
黑盒测试是指那些不需要看源代码或内部数据流,直接从系统的外部,或者以最终用户的角度进行的测试,比如说系统测试,性能测试,可用性测试等。
灰盒测试则是介乎于黑白之间,也就是说不需要了解源代码和内部原理,但是对系统的组件进行的测试,比如说集成测试。
此图展示了不同层次的白盒测试对代码覆盖的相对关系。由图可知单元测试的覆盖率最高,而功能测试和集成测试则各自负责不同的方面,当然它们之间也会有很大的重复覆盖的区域。