1.根据测试阶段分类
单元测试:是对软件中基本组成单位进行的测试,例如:在JavaScript中单元测试就是指一个函数的测试,Java中指的是一个类的测试。
集成测试:是在软件集成的过程中进行的测试,主要是针对接口的测试。
系统测试:在测试环境下进行的对已经继承好的系统进行完整的测试。分为功能测试、性能测试、安全性测试、兼容性测试。
验收测试:在系统上线前的最后一个测试,根据合同中的规定,测试系统是否满足。基本内容包括功能性、 安全可靠性、易用性、可扩充性、兼容性、效率测试、资源占有率、用户文档审核测试八个方面。
2.根据测试方法分类
黑盒测试:着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
白盒测试:按照程序内部的结构测试程序,检验程序中的每条通路是否都能按预定要求正确工作。
灰盒测试:介于黑盒测试与白盒测试之间,在关注外部展示的时候同样也关注代码内部是如何实现的。
3.根据被测试对象是否运行的角度分类
动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。
静态测试:不运行被测程序本身,仅通过分析或检查代码的语法、结构、过程、接口等来检查程序的正确性。
4.其他
功能测试:主要检查实际的功能是否符合用户的需求。
性能测试:又分为压力测试和负载测试。负载测试是指:不断的对系统施加压力,来观察不同负载下系统响应速度。压力测试指的是:在超负载的情况下,查看系统在峰值下的使用情况,并且来获得系统能提供的最大服务级别。
冒烟测试:在一个新版本出来的时候,将软件的全部功能过一遍,看有没有什么大问题。如果功能可以正常运行,不会影响测试进行,那么这个版本就可以真正开始测试了。
回归测试:主要测试的是在旧版本中发现的bug会不会对新版本引发其他的bug。