前言: \textcolor{Green}{前言:} 前言:
💞快秋招了,那么这个专栏就专门来记录一下,同时呢整理一下常见面试题
💞部分题目来自自己的面试题,部分题目来自网络整理
因为前两天面了个测试岗位所以来补充一下测试的知识
软件测试介绍
介绍
质检:质量检查
软件测试:查找软件缺陷,保障软件质量。(软件质检工作)
测试思维和工具
思维:
- 站在不同角度去验证软件质量
- 不同应用场景去验证软件质量
- 不常用功能覆盖去验证软件质量
工具:
-
适用测试工具来查找软件缺陷,可以提高软件测试效率
优点:容易上手、通用性强
缺点:灵活度欠缺 如:支付信息加密 -
编写代码来查找软件缺陷,可以提高软件测试效率
优点:灵活度大 如:支付信息加密
缺点:学习成本高 如python+java
达成的目标
- 测试用例设计能力
- 缺陷管理能力
- 抓包工具能力
- 数据库操作能力
- 项目环境部署能力
- 项目实战经验
如何做测试
需求分析
根据产品需求文档,提取出规则要求
为什么要进行提取规则要求?
- 明确软件有哪些功能和要求
- 为设计测试点做准备
设计测试点
测试点:要进行验证的点,根据需求规则设计测试点。
为什么要设计测试点?
- 防止测试时有遗漏
- 为编写测试用例做准备
测试用例
将测试点转为测试执行的文档
为什么要这么编写用例
- 指导测试点正确测试实施
- 为执行测试做准备
用例执行
说明:执行用例就是执行测试
缺陷管理
说明:当执行用例结果和预期结果不符时为缺陷,就需要对缺陷进行管理
为什么需要对缺陷进行管理?
- 测试的目的就是减少软件缺陷(提交缺陷->等待修复->验证缺陷)
- 为测试报告做准备
测试报告
说明:对于本次执行测试缺陷进行分析统计,对于本次测试实施进行总结
主要内容
- 缺陷统计
- 缺陷分析
- 遗留缺陷
- 测试总结
测试用例
1. 什么是测试用例
用例:用户使用的案例
测试用例:执行测试时用户案例
英文:Test Case
2. 为什么需要编写测试用例
目的:保证测试点的正确执行
3. 测试用例编写格式
说明:用例编写格式一般由八大要素组成
用例的八大要素
- 用例编号
- 区分用例唯一标识符
- 格式:项目简称_模块_数字编号:qq_login_001
- 用例标题
- 本条用例测试点
- 格式:预期结果(测试点)
- 模块/项目
- 用例所属项目模块
- 格式:模块名
- 前置条件
- 执行本条用例的前置操作
- 优先级
- 本条用例优先级
- P0-P4 P0最高
- 测试步骤
- 执行用例操作步骤
- 测试数据
- 执行本条用例使用的测试数据
- 预期结果
- 本条用例执行预期结果
4. 编写示例
例如:微信登录测试点:
1、登录成功
2、密码错误,登录失败
测试点的设计方法
等价类设计方法
等价类划分
- 说明:将测试数据中具有某种共同特征的数据集合,进行划分
- 示例:未满18岁,禁止入内
- 共同特征:
- 1) >= 18岁
- 2) < 18岁
- 分类
- 有效等价类:满足需求的数据集合 >= 18岁
- 无效等价类:不满足需求的数据集合 < 18岁
- 步骤
- 1)明确需求
>= 18
岁 允许进入
- 2)确定有效和无效等价类
- 有效
>=18岁
, 无效<18岁
- 有效
- 3)提取数据编写测试用例
- 测试数据,17 19
- 1)明确需求
案例
需求:验证QQ账号的合法性
- 明确需求
1)位数6-10位
2)自然数(0,1,2) - 确定有效性和无效等价类
1)有效:8位
2)无效:5位,11位,非自然数 - 提取数据
1)有效:12345678
2)无效:12345,12345678901,a1234567
3 适用场景
- 针对:需要有大量数据测试输入,但是没法穷举测试的地方
- 输入框
- 下拉列表
- 单选复选框
- 典型代表:页面输入框类测试
用例执行
这个在之后会经常看到
- 当执行结果和预期结果不一致,则为缺陷。
- 发现缺陷需要进行缺陷管理(提交-> 开发修复->测试验证->关闭缺陷)
- 缺陷的知识查看缺陷这一章
用例执行界面说明
在测试工具中根据下面的用例进行编写。如果预期结果与实际结果相符则通过,否则为不通过
边界值设计方法
1. 边界范围节点
说明:选取正好等于、刚好大于、刚好小于边界的值作为测试数据
- 上点:边界上的点(正好等于)上图中的红色点
- 离点:距离上点最近的点(刚好大于、刚好小于)上图中的黄色点
- 内点:范围内的点(区间范围内的数据)上图中的蓝色点
2. 边界值法设计用例步骤
- 明确需求
- 确定有效和无效等价类
- 确定边界范围值
- 提取数据编写测试用例
3 案例
- 需求:通过边界值法验证标题长度的合法性
- 要求:标题长度大于0,小于等于30个字符
0 < 标题长度 <= 30
上面需要对7个用例进行测试,我们可以对其进行一个优化
优化:
- 上点:必选(不考虑区间开闭)
- 内点:必选(建议选择中间范围)
- 离点:开内闭外(开区间选里面的,闭区间选外面的)
通过优化我们可以从7个优化为5个点
4 使用场景
- 在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
- 常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
- 典型代表:有边界范围的输入框类测试
用例测试
编写完代码后就需要进行测试了
通过边界值法验证标题长度的合法性
- 当执行结果和预期结果不一致,则为缺陷。
- 发现缺陷需要进行缺陷管理(提交-> 开发修复->测试验证->关闭缺陷)
- 缺陷的知识查看缺陷这一章
执行结果
判定表设计方法
执行用例
当后端编写完代码后我们要使用编写的测试用例进行测试
场景法设计方法
编写测试用例
适用场景
根据实际的应用场景,来测试业务用例,可以适用场景法
用例执行
通过编写的用例进行操作,如果预期结果与实际结果不同则为缺陷
缺陷管理
缺陷介绍
缺陷编写
缺陷管理工具
https://demo.zentao.net/user-login.html
登录成功后
登陆后根据自己的需求进行编写测试,根据编写的用例在系统中编写
抓包
抓包介绍
Linux
数据库
项目
项目环境
下载文件之后进行配置
例如直接在终端中直接运行 ip
实战
正向检测
没有简化需要进行12个,简化完之后只需要3个
正向可以一次取多个,逆向的时候一个就是一条测试用例,不能覆盖多个
逆向检测
用例执行
等待项目提测时,进行执行用例,如果不通过则为缺陷
缺陷管理
总结
其他的测试点类似
总结
1.软件测试是啥
软件测试:查找软件缺陷
,保障软件质量。(软件质检工作)
2. 达成目标路径
- 测试用例设计能力
- 缺陷管理能力
- 抓包工具能力
- 数据库操作能力
- 项目环境部署能力
- 项目实战经验
3. 测试用例
用例:用户使用的案例
目的:保证测试点正确执行
格式:八大要素
- 用例编号
- 用例标题
- 项目模块
- 前置条件
- 优先级
- 操作步骤
- 测试数据
- 预期结果
4. 测试点提取方法
- 等价类:解决穷举问题
- 边界值:解决输入边界限制问题
- 判定表:解决条件组合问题
- 场景法:解决业务测试问题
5. 为什么要学习Linux
- 部署被测项目环境
- 查看日志
6.为什么要学习数据库
- 功能测试时,检查UI界面显示结果和数据库是否一致。
- 自动化测试与性能测试时,从数据库中获取依赖数据、构造测试数据、清除测试脏数据。
7. 测试怎么做
- 根据需求文档提取需求规则
- 针对需求设计测试点
- 针对测试点编写用例
- 根据用例执行测试
- 针对缺陷进行管理
- 总结测试报告
8.项目实施
- 覆盖业务用例
- 正向
- 逆向
- 单功能用例
- 功能:正向、逆向
- 非功能:兼容、安全、易用性、性能