软件测试分类
1、按测试阶段
单元测试:单元测试(Unit Testing)是对软件基本组成单元进行的测试,如函数或是一个类的方法。这里的单元,就是软件设计的最小单位。
集成测试:针对单元与单元之间的接口实施的测试活动。
系统测试:部署在真实的测试环境下执行的测试
验收测试:又称为交付测试。确定产品是否能够满足需求或用户的测试,是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。
2、是否覆盖代码
黑盒测试:功能测试,不关注被测对象内部结构,仅从用户需求考虑
白盒测试:结构测试,仅关注被测对象内部结构,不关注外在表现。白盒测试的测试用例设计:一般采用逻辑覆盖法和基本路径法进行设计。
灰盒测试:既关注被测对象的内部结构,又关注其内部设计
3、是否运行
静态测试:不执行被测对象程序,不允许被测对象的测试方法。如评审文档,阅读代码等。
动态测试:执行被测对象进行检测的活动
4、是否自动化
手工测试:通过测试工程师试用、验证被测对象是否满足用户需求
自动化测试:通过自动化测试工具或脚本语言自动化完成测试过程。缺点:不能发现新的缺陷
5、其他
回归测试:对软件的新的版本测试时,重复执行上一个版本测试时的用例
冒烟测试:对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
随机测试:又称monkey测试,在测试中所有的输入数据都是随机生成的,目的是模拟用户的真实操作,并发现一些边缘性的错误。