测试怎么做
需求——分析需求
根据产品需求文档,测试提取规则
示例:
功能:注册模块
规则:
1.手机号未注册
2.手机号格式正确
位数11位
第一位为1
第二位不能为[0,1,2,6,9]
3.不能为空
- 明确软件有哪些功能和要求
- 为设计测试点做准备
测试点——针对需求设计测试点
规则:
1.手机号未注册
2.手机号格式正确
位数11位
第一位为1
第二位不能为[0,1,2,6,9]
3.不能为空
测试点示例:
正确:
1.11位+未注册+正确格式(第一位1,第二位3)
2.。。。
错误:
1.手机号已注册
2.。。。
- 防止测试时有遗漏
- 为编写测试用例做准备
用例——针对测试点编写用例
测试点转为测试执行文档
用例编号 | 标题 | 模块 | 优先级 | 预置条件 | 测试步骤 | 测试数据 | 预期结果 |
---|---|---|---|---|---|---|---|
login_008 | 登录失败(未注册+非空密码) | 登录 | P1 | app应用正常,网络正常 | 1.关闭弹窗 2.点击我3.点击登录 | 1.手机号:… | 登录失败,提示… |
login_009 | 登录失败(手机号超11位+非空密码) | 登录 | P1 | app应用正常,网络正常 | 4.输入手机号5.输入密码6.点击登录 | 2.密码:… | 登录失败,提示… |
- 指导测试点正确测试实施
- 为执行测试做准备
执行——根据用例执行测试
根据上一步的文档,执行测试
测试步骤执行结果 = 预期结果 通过
测试步骤执行结果 != 预期结果 不通过
缺陷——针对缺陷进行管理
测试步骤执行结果 != 预期结果
管理缺陷-缺陷创建-缺陷跟踪-缺陷验证
- 为测试报告做准备
报告——总结测试报告
主要内容
- 缺陷统计
- 缺陷分析
- 遗留缺陷
- 测试总结
测试用例
1.什么是测试用例
用例:用户使用的案例
测试用例:执行测试时用户案例
英文:Test Case
2.为什么需要测试用例
目的:保证测试点的正确执行
3.用例编写格式
八大要素:
用例编号——项目简称_ 模块_ 数字编号
用例标题——预期结果(测试点)
模块/项目——模块名
前置条件——前置操作
优先级——p0-p4 p0最高
测试步骤
测试数据
预期结果
4.编写示例
微信登录测试点:
1.登录成功
2.密码错误,登录失败
用例编号 | 标题 | 模块 | 优先级 | 预置条件 | 测试步骤 | 测试数据 | 预期结果 |
---|---|---|---|---|---|---|---|
wx_login_001 | 登录成功 | 登录 | P0 | 注册成功,打开登录页面 | 1.输入账号 2.输入密码。3点击登录 | 账号,11111密码:123456 | 登录成功跳转个人主页. |
wx_login_002 | 登录失败(密码错误) | 登录 | P1 | 注册成功,打开登录页面 | 1.输入账号 2.输入密码。3点击登录 | 账号,11112密码:123456 | 登录失败,提示密码错误 |
设计测试点方法
等价类划分法
说明:将测试数据中具有某种共同特征的数据集合进行划分
分类:
- 有效等价类:满足需求的数据集合
- 无效等价类:不满足需求的数据集合
步骤:
1.明确需求
2.确定有效和无效等价类
3.提取数据编写测试用例
示例:未满18岁禁止入内
共同特征: >=18 <18
有效:>=18
无效: <18
需求:验证QQ账号的合法性
要求:6~10位自然数
步骤
1.明确需求
内容:自然数(0,1,2,…)
长度:6-10位
2.确定有效和无效等价类
有效等价:6-10位自然数
无效等价:小于6位,大于10位,非自然数
3.提取数据编写用例
有效等价:8位(12345678)
无效等价: 1)<6位 (12345) 2)大于10位(12345678901) 3)非自然数(A123456)
针对:需要有大量数据测试输入,但是没法穷举测试的地方
例如:用户输入框
1.当执行结果和预期结果不一致,则为缺陷
2.发现缺陷需要进行缺陷管理(提交-开发修复-测试验证-关闭缺陷)
练习
需求:验证某城市电话号码正确性
要求:
1.区号:空或者是三位数字
2.前缀码:非0且非1开头的三位数字
3.后缀码:四位数字
明确需求:
区号 空/3位 数字 无
前缀码 3位 数字 非0且非1开口
后缀码 4位 数字 无
确定有效和无效等价类
提取数据,设计用例
根据区号/前缀码/后缀码 的不同有无效 排列组合数据
边界值分析法
边界值范围节点
选取正好等于,刚好大于,刚好小于边界的值作为测试数据
上点:边界上的点 正好等于
离点: 距离上点最近的点 刚好大于,刚好小于
内点:范围内的点 区间范围内的数据
练习
标题长度大于0,小于等于30个字符
(0,30]
明确需求
有效: 4
无效 -1 31
边界值: 上点 0,30
离点 -1 1 29 31
内点: 10
优化:
开内闭外
离点:开区间取内,闭区间区外 : 1,31
上点必选: 0,30
内点必选:10
典型代表:有边界范围
判定表
案例:验证 若用户欠费或者关机,则不允许主被叫
判定表定义:是一种以表格形式表达多条件逻辑判断的工具
组成:
- 条件桩:列出问题中的所有条件
- 动作桩:列出问题中可能采取的操作
- 条件项:列出条件对应的取值,所有可能情况下的真假值
- 动作项:列出条件项、各种取值情况下应该采取的动作结果
规则:
- 判定表中贯穿条件项和动作项的一列就是一条规则
- 假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则
条件 | 是否欠费 | 是 | 是 | 否 | 否 |
---|---|---|---|---|---|
条件 | 是否关机 | 是 | 否 | 是 | 否 |
操作 | 是否允许被呼叫 | 否 | 否 | 否 | 是 |
判定表用例设计步骤
1.明确需求
2.画出判定表
3.根据规则编写测试用例
案例
1.如果金额大于500又未过期,则发出批准单和提货单
2.如果金额大于500但过期了,则不发出批准单和提货单
3.如果金额小于或等于500,则无论是否过期都发出批准单和提货单
4.在过期的情况下无论金额大小还需要发出通知单
画出判定表
是否大于500 | 是 | 是 | 否 | 否 |
---|---|---|---|---|
是否过期 | 是 | 否 | 否 | 是 |
批准单 | n | y | y | y |
提货单 | n | y | y | y |
通知单 | y | n | n | y |
编写测试用例:
用例编号 | 用例标题 | 项目 | 前置条件 | 优先级 | 测试步骤 | 测试数据 | 预期结果 | 实际结果 |
---|---|---|---|---|---|---|---|---|
order_001 | 发布批准单和提货单(金额大于500+未过期) | / | / | / | / | 金额:600,过期:no | 1.发布提货单,批准单2,不发通知单 | |
order_002 | 发布通知单(金额大于500+过期) | / | / | / | / | 金额:600,过期:yes | 1.不发布提货单,批准单2,发通知单 | |
order_003 | 发通知单批准单提货单(金额<500+过期) | / | / | / | / | 金额:400,过期:yes | 发批准单,提货单通知单 | |
order_004 | 发批准单提货单(金额<=500+未过期) | / | / | / | / | 金额:500,过期:no | 发批准单,提货单,不发通知单 |
场景法
也叫流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例
意义:
- 用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用
- 测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试
ATM机取款流程
获得流程图,编写测试用例
例如:
atm_001 取款失败(验证银行卡失败) ATM 准备一张非银行卡 p1 插入卡片 无 取款失败,非银行卡
业务测试
缺陷
缺陷介绍
定义:bug
判定标准:
少功能
功能错误
多功能
隐形功能错误
不易使用
缺陷产生的原因:
需求阶段:需求描述不易理解,有歧义,错误等
设计阶段:设计文档存在错误或缺陷
编码阶段:代码出现错误
运行系统:软硬件系统本身故障导致软件缺陷
软件缺陷类型:
功能错误,界面错误,兼容性,数据,易用性,改进建议,架构
缺陷编写
缺陷的核心内容
- 缺陷的标题:描述缺陷的核心问题
- 缺陷的预置条件:缺陷产生的前提
- 缺陷的复现步骤:复现缺陷的过程
- 缺陷的预期结果:希望得到的结果
- 缺陷的实际结果:实际得到的结果
- 缺陷的必要附件:图片、日志等信息(证据)
缺陷描述
缺陷ID | 缺陷标题 | 所属模块 | 预置条件 | 严重程度 | 预期结果 | 实际结果 | 复现步骤 | 附件 |
---|---|---|---|---|---|---|---|---|
wx_login-bug_001 | 登录失败(正确账号+正常密码) | 登录 | 注册成功,打开登录页面 | 严重 | 登录成功,并跳转到个人主页 | 登录失败,提示错误 | 1.输入账号:122222223 2.输入密码:admin123 | |
缺陷的跟踪流程
填写缺陷-交付给开发 修改缺陷- 回归测试
注意事项
缺陷可复现,规范性,唯一性
缺陷管理工具
1.禅道
https://demo.zentao.net/user-login.html
特点:国产、免费、开源、简单、轻量级
三管融合(产品管理、项目管理、质量管理)
2.使用过程
管理用例-创建用例-评审用例-执行用例
管理缺陷-缺陷创建-缺陷跟踪-缺陷验证
3.使用
选择测试用户登录-测试-功能测试-新建用例-执行用例
抓包介绍
1.为什么要进行抓包?
- 功能测试时跳过ui界面验证,验证后端程序处理能力
- 分析前端bug还是后端bug
- 弱网测试
- 接口测试时,缺乏接口描述文档,需要抓包获取
2.什么是抓包
说明:通过工具抓取前端和后端的通信内容
3.需要掌握哪些知识
抓包操作(http,https)
断点操作-拦截修改(请求,响应)
弱网测试
4.学习抓包工具
fiddler(windows) 断点、弱网、录制请求和响应
Charles(mac、Windows)断点、弱网、录制请求和响应
浏览器开发者工具
Linux介绍
1.为什么要学习Linux
项目大多数部署在Linux系统中
2.需要掌握哪些知识?
环境部署
- 远程连接服务器操作(客户端连接服务器
- 常用命令(查看目录内容,当前工作目录
- 文件操作(复制、移动、删除
- 压缩操作(解压
- 权限操作(切换账户、文件授权
- 系统命令操作(进程相关、重启、关机
日志查看
- 文件查看
- 文件编辑
3.工具
VMware - Centos7
数据库介绍
需要掌握哪些知识?
- 使用工具navicat对数据库进行增删查改操作
- 使用SQL语言对数据库进行增删查改
项目实战
所需环境
- vmware 虚拟机
- Centos7项目镜像
工具下载:
环境-轻商城项目
工具应用:
1.使用VMware启动Centos7镜像(解压-查找CentOS 7-MySQL.vmx)
用户名root,密码123456
2.配置本地hosts文件(百度网盘下载,Litemall-前端后端.txt)
先获得本地ip地址 (在centos7中)
3.访问项目地址
注册模块
需求分析:
根据不同覆盖点设计不同用例(正向,逆向)
1.账号:必填,11位手机号进行注册
2.验证码:必填,系统生成4位验证码
3.用户名:可以为空,4-16位字符串(可以重复
4.密码:必填,6-12位 由数字、字母组成,允许含特殊符号
测试点提取
业务测试点
全部正确参数
必填参数(正确)
UI
布局与原型图一致
图片与颜色文字无误
功能
账号:正确11位,手机号前后有空格 为空 10位 12位数字 11位非数字 手机号已注册
验证码:正确验证码 为空 错误验证 验证码过期
用户名:为空 4-16位字符串(已注册) 前后含空格
3位 17位
密码:6位12位 字母数字特殊符号
为空,5位,13位
确认密码:与密码一致,与密码不一致 为空
测试用例
优化测试点 提取测试用例
用例编号 | 用例标题 | 模块/项目 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 | |
---|---|---|---|---|---|---|---|---|
q_reg_001 | 注册成功(全部参数正确) | 注册 | P0 | 打开注册,手机号未注册 | 输入正确账号、密码、验证码、用户名 | 注册成功 | ||
注册成功(必填参数) | 注册 | |||||||
注册成功(用户名前后含空格) | 注册 | |||||||
执行用例
登录模块
需求分析
1.用户名:不可为空,使用注册手机号进行登录
2.密码:不可为空
测试点提取
业务用例
登录成功(正确用户名+正确密码)
UI
布局与原型图一致
图片颜色、文字与原型图一致
功能
用户名:
正向:已注册 已注册(前后含空格)
逆向:为空 格式正确(未注册) 格式不正确
密码:
正向:正确密码
逆向:为空 密码错误
用例编写
用例执行
冒烟测试:正向业务用例能够执行通过
缺陷管理
搜索框模块
需求分析
1.使用商品名称搜索,支持(模糊匹配),文字最多16个字符
2.为空时返回所有商品
3.搜索商品超过15个,分页显示
4.一次搜索多个关键字以逗号(,)或空格区分
测试点提取
UI
布局与原型图一致
图片颜色、文字与原型图一致
功能:
正向:单个商品全部名称,单个商品部分名称,为空,搜索结果15条内 单页显示,搜索结果超过15条 分页显示,多个商品使用逗号分割(16字符串),多个商品使用空格分隔,多个商品,其中一条以上不存在
逆向:
商品不存在,文字超过17个字符,多个商品使用非逗号,非空格分
购物车模块
需求分析
1.未登录不可添加商品到购物车
2.在商品详情页中添加购物车
3.点击编辑可切换编辑状态,点击完成从编辑状态切换到非编辑状态
4.在编辑状态中可以通过+,-修改商品数量(数量为1时不可减少。商品数量不能超过库存数量)
5.在编辑状态可以删除单个商品和所有商品
6.非编辑状态下显示结算按钮
7.编辑状态下显示删除按钮
8.商品数量改变同时自动计算价格
9.购物车中商品支持全选和单选
测试点提取
UI
布局与原型图一致
图片颜色、文字与原型图一致
业务
登录、搜索商品、添加到购物车
正向:
添加商品到购物车(登录)
非编辑状态下,点击编辑切换到编辑状态
在编辑状态下,点击完成从编辑状态切换到非编辑状态
编辑状态下,点击商品+,商品数量+1
编辑状态下,点击商品-,商品数量-1
编辑状态下,点击单个商品删除按钮,删除商品
编辑状态下,点击所有商品删除按钮,删除所有商品
非编辑状态显示结算按钮
编辑状态下显示删除按钮
编辑状态下,修改商品数量,商品 价格随之变动
在编辑状态下或非编辑状态下,商品支持单选或全选
逆向:
添加商品到购物车(未登录)
商品数量为1时,在编辑状态下不可使用-号修改数量
商品库存不足时,在编辑状态下不可使用+号修改数量
订单模块
需求分析
一、订单状态
待付款、代发货、待收货、已完成、待评价
二、处理规则
订单30分钟内未支付,系统自动取消订单
订单15天内未确认收货,系统自动按收货处理
商家订单接收退货后,15天内未退款,系统自动退款
三、操作
退换货,投诉,评价
下订单必须选择收货地址信息
下订单必须登录
下订单必须选择商品
四、订单详情页
显示商品名称、单价、数量、金额
收货地址信息
订单时间、订单编号、订单备注、实付款
删除订单
测试点提取
业务
正向:下订单成功(未付款)
下订单成功(已付款)
逆向:
下订单失败(未选择收货地址信息)
下订单失败(未登录)
下订单失败(未选择商品)
ui
布局
颜色、文字
功能:
正向:状态(待付款)
状态(待发货)
状态(待收货)
状态(已完成)
状态(待评价)
系统自动取消订单(30分钟未支付)
系统自动收货(15未确认收货)
系统自动退款(15天内未主动退款)
退货
换货
投诉
评价
订单详情页显示
删除订单成功(已收货)
逆向:
删除订单(未完成订单)
查询订单失败(未登录)
其他:
易用性
安全
性能
兼容