软件测试基础概念篇(测试基础)
一、测试介绍
-
什么是软件测试?
软件测试:使用技术手段验证软件是否满足需求
简单理解:使用技术手段(即通过一系列方法)查找软件中的缺陷
-
测试主流技能(发展方向)
1、功能测试
2、自动化测试
3、接口测试
4、性能测试
主流方向建议:
1、功能测试+接口测试
2、自动化测试+接口测试
3、功能测试+性能测试
二、测试常用分类
-
分类
- 阶段划分(阶段:软件产出过程顺序)
- 代码可见度
2.1阶段划分(重点)
-
单元测试
- 说明:针对程序源代码进行测试(单元:最小独立功能代码段)
- 提示:
- 1、国内单元测试一般开发自测
- 2、单元测试可以解决-快速定位缺陷
- 3、提高测试执行效率
-
集成测试
- 说明:针对单元与单元之间的接口进行测试
- 提示:又称接口测试
-
系统测试
- 说明:针对系统整体功能+兼容+文档(说明书、安装文档)
-
验收测试
- 内测:公司内部人员使用,发觉缺陷并修复。
- 公测:让用户帮忙测试
- 提示:验收测试。一般要根据项目类型决定是否使用。
2.2代码可见度划分
代码可见度:代码可见的程度上划分
1、黑盒测试:针对功能测试(阶段划分 --> 系统测试)
2、灰盒测试:针对接口测试(阶段划分 --> 集成测试)
3、白盒测试:针对程序源代码进行测试(阶段划分 --> 单元测试)
2.3总结
1、系统测试和黑盒测试重点核心是功能测试
2、集成测试和灰盒测试又称接口测试
3、单元测试和白盒测试时针对代码进行测试
4、自动化测试归属功能测试
5、性能测试、安全测试归属专项测试或非功能测试
三、测试策略
-
冒烟测试
针对系统最基本功能进行测试,保证基本的功能和流程能走通。
简单理解:开发人员将功能开发完成之后, 对主要的流程和业务进行测试,保证基本功能没有问题。
-
回归测试
当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试。
简单理解:回归 BUG, 测试发现一个 bug, 提交给开发, 开发修复完成之后, 测试人员需要对这个 bug 再次进行测试。
回归版本, 系统版本升级之后, 之前版本的用例进行测试(V1.0 版本 ---> V1.1 版本)
-
随机测试
主要是对被测软件的一些重要功能进行复测,也包括测试那些当前没有测到的部分。(提示:看公司任务分配)
-
探索测试
设计测试和执行测试是同时进行的,它要求测试人员通过测试来不断学习被测系统。(提示:没有任何文档,只有成品,一边研究怎么用,一边测试)
四、模型
-
角度:
-
1、质量模型: 怎么测试?
-
2、测试模型:测试在工作中怎么回事?
-
4.1质量模型(重点)
说明:质量模型能告诉我们,测试时应该考虑的方面
重点:功能、性能、兼容、易用性、安全
结论:无论测试硬件或软件,都应该从以上几点来进行分类验证
4.2测试模型
需要知道:测试从项目启动就开始介入,而非等待开发完成
优点:1、测试伴随整个项目开发周期,测试对象:代码,文档 2、尽早介入测试
缺点:1、依赖文档 2、测试人员技能要求较高
提示:开发流程:需求分析->概要设计->详细设计->编码->集成->实施->交付
五、测试流程
1、需求分析(需求评审)
需求文档 来源于 产品经理
时间:
项目还没开发出来,刚拿到需求,刚立项
准备:
至少阅读一遍 需求文档,记录不明白或者不明确的地方
参会人员:
前端, 后端, 测试, 产品
目的:
1. 确保各部门需求理解的一致性
2. 不同的人员站在自己的角度 对需求进行查漏补缺
3. 了解熟悉系统软件的的功能
2、测试计划
计划编写 ----> 形成测试计划(文档)
说明: 确保测试任务可以正常的进行, 指导测试执行的文档
测什么(功能,模块)
谁来测(人员的安排和时间的安排)
怎么测(使用什么测试工具或者方式) 手工 自动化, 使用什么工具
3、用例设计
说明: 来保证测试的执行,覆盖测试点(要测什么东西/情况)
1. 分析需求
2. 提取(找)测试点
3. 书写测试用例 ----> 用例文档
4、用例执行
说明:实施测试
执行 前边的测试用例
5、缺陷管理
对 bug 的管理和记录
提交->验证->关闭
6、缺陷管理
测试最终的产物.
1. bug 的分析
2. 测试中的困难/难题
3. 本次测试好的地方和需要改进的地方
六、测试用例
用例: 用户使用的案例
测试用例: 是为测试项目而设计的执行文档
测试用例的作用
1. 防止漏测
2. 实施的标准
用例模版(重点)
QQ 登录 (1. 登录成功 2. 密码错误)
用例设计的格式
用例编号:项目+模块+编号
用例标题:预期结果+测试点
模块/项目:所属项目或模块
前置条件:要执行词条用例,有哪些前置操作
优先级:表示用例的重要程度或者影响力P0~p4(P0最高)
测试步骤:描述操作步骤
测试数据:操作的数据,没有的话可以为空
预期结果:期望达到的结果
1. 前置条件是否要写吗?
不是,一般写最主要的就行
2. 前置条件 和 测试步骤的区别?
侧重点不一样, 测试步骤中是当前测试中最重要的过程
3. 用例编号的数量是要看需求文档吗?
是根据 用例的设计方法(等价类, 边界值等) 来确定的,来保证测试点 不少