一、按测试阶段分类
- 单元测试
- 集成测试
- 系统测试
- 验收测试
单元测试:
- 基本概念:对软件中的最小可测试单元进行检查和验证(人为i而规定的可测试的最小的模块)
- 原则:
1.尽可能保证各个测试用例是相互独立的(如当测试代码里面包含调用函数则是不正确的,因为发生错误时无法确定是当前函数还是被调用函数中存在错误)
2.一般由代码的开发人员来实施,用以检验所开发的代码功能是否符合自己的设计要求
益处:
1.能尽早发现缺陷
2.有利于重构
3.简化集成
4.文档
5.用于设计
限制:
1.不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误
2.每一行代码,一般需要3~5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡
集成测试
**定义:**是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动
主要实施方案:
1.Big Bang:所有都组装好后再测试‘
2.自顶向下:逐层向下集成方法
3.自底向上:最常用的方法,逐层向上集成方式。针对已经集成的测试
4.核心系统集成:核心软件部分挑选出来先测试,再扩展到外部测试(敏捷)
5.高频集成:不断集成测试(敏捷)
单元测试 & 集成测试
- 测试对象不同
单元:软件的最小单元
集成:模块、子系统 - 测试依据不同
单元:软件的详细设计
集成:软件的概要设计 - 测试方法不同
单元:指关系单元的内部
集成:模块接口之间的集成
系统测试
验收测试
细分:
- 用户验证测试(开发角度)
- 运行验收测试(运维角度)
- 合同和规范验收测试
- alpha测试(开发者提供场所和环境,用户执行测试)
- Beta测试(用户提供场所和场景进行测试,完全脱离开发者)
二、按测试手段来分类
黑盒测试
优点:
- 容易实施,不需要关注内部的实现
- 更贴近用户的使用角度
缺点:
- 测试覆盖率低,一般只能覆盖到代码量的不到40%
- 针对黑盒的自动化测试,复用率较低,维护成本较高
白盒测试(结构化测试)
根据程序的逻辑结构来设计
灰盒测试
静态测试
方法:互审、走查、会议(不正式—>正式)
动态测试
**测试执行方式:**手工测试、自动化测试
三、按测试模式来分类
瀑布模型
V模型
只考虑了开发和测试;线性
w模型
测试&开发线性:迭代开发等不好实行
V模型的补充、扩展
X模型
H模型
敏捷测试
基于脚本的测试-SBT
探索式测试(ET)
缺点
局部探索式测试
全局探索式测试
*以上内容来自慕课视频—笔记模块—https://www.imooc.com/learn/700
—大鱼七号船船长~~~~~*