一、按照测试阶段进行分类
1、单元测试:测试的是组成软件最小的底层代码,一般是函数、类、集合
2、集成测试:测试的是不同模块结合在一起,模块与模块之间连接的接口
3、系统测试:测试的是软件的功能、业务流程是否满足需求
二、按照是否查看源代码进行分类
1、黑盒测试:不考虑程序内部结构,关注功能是否满足需求,外在功能是否正常,输入和输出是否一致
2、白盒测试:不考虑程序外部界面,测试的主体是软件底层的代码,关注的是程序底层的功能是否实现,结构、逻辑是否合理
3、灰盒测试:介于黑盒测试和白盒测试之间,不仅关注输入输出,还关注程序内部情况,对接口进行测试
三、按照是否运行
1、静态测试:不实际运行程序,只是静态的查看代码、界面和文档中可能存在的错误
2、动态测试:实际运行程序,输入相应的数据,检查实际输出结果和预期结果是否一致
四、其他分类
1、冒烟测试:在展开全面测试之前进行的测试,主要测试程序的主体功能和流程是否完整,是否具备可测性
2、回归测试:测试人员提交缺陷后,开发人员修改之后,测试人员对其修改后的缺陷再次进行测试,确保修改后的正确性
3、随机测试(探索性测试):对一个重要性功能进行复测,包括测试当前那些没有被测试用例覆盖到的部分;对软件更新和新功能的增加进行重点测试