按阶段划分
单元测试:又称模块测试,是最小的测试单元,可以是一个函数、类或一个功能点
集成测试 :又称组装测试,在单元测试的基础上,将模块进行有序的、递增的测试。主要检查各模块间协同工作的能力
系统测试:使用用户真实环境或模拟真实环境,检查完整的软件功能是否达到预期。主要基于产品规格说明书,主要由测试人员执行
验收测试 :也称交付测试,是软件部署前的最后一个操作。有alpha测试和beta测试两种形式
按是否了解软件结构划分
黑盒测试: 把待测系统当做一个黑箱子,不用管它的内部结构,只需关注他的运行条件、输入数据、输出数据,来完成测试
白盒测试: 和黑盒测试相反,白盒测试需要了解程序结构,检查其结构和路径是否正确 。常用的白盒测试方法有语句覆盖、条件覆盖、基本路径覆盖、循环覆盖等
灰盒测试 :介于黑盒与白盒之间,结合了黑盒与白盒的关键要素,关注输入与输出数据,同时也关注内部表现,只是不像白盒那样详细
按测试对象划分
功能测试:主要基于需求规格说明书,验证功能是否符合用户需求
界面测试:主要基于设计方案,进行界面布局,界面样式相关的测试
业务测试:主要基于业务流程
用户体验测试:充分站在用户角度,验证产品整体的使用
安装/卸载测试:涉及到客户端安装时,需要考虑安装/卸载测试
兼容性测试:测试工作中占比非常大,主要考虑产品在不同平台上的使用情况
性能测试:主要分为负载和压力测试
安全测试:关注产品是否存在安全漏洞
按是否运行代码划分
动态测试 运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符
静态测试 不运行程序代码,如代码走读,代码规范,文档测试等
按是否手动执行划分
手动测试 手动的方式执行测试的过程
自动化测试 通过自动化工具执行测试的过程
原文:https://www.cnblogs.com/cwsljh/p/14612311.html