功能测试
测试点
页面链接检查
该链接的页面
测试所链接的页面是否存在
保证Web应用系统上没有孤立的页面
LinkBotPro、File-AIDCS、HTML LinkValidater、Xenu等工具
相关性检查
功能相关性
删除/增加
数据相关性
表默认值检查
列表值检查
检查按钮
新建
编辑
删除
关闭
返回
导入
保存
上一页
下一页
重置
字符
类型
标点符
标点符号
空格
引号
回车键
特殊符号
@、#、$、%、!
%‘"这几个特殊字符
;’”><,`‘:“[”{、\|}]+=)-(_*&&^%$#@!,.。?/还有空格。
中文字
中、英文
乱码
错误
长度
输入超出需求所说明的字符串长度的内容
检查需求规定的字符串长度是否是正确
中间值
超长值
回车、空格、TAB、脚本语言、null等
文本格式
邮箱、手机号
输入框
字符长度
字符类型
文本格式
完整性
全部更新
更新信息和添加信息是否一致
信息重复
命名
已存在
重复的名字或ID
区分大小写
入内容的前后输入空格
重复提交表单
返回后再提交
返回键或者系统提供的返回功能
返回键
返回到原来页面
搜索检查
系统存在和不存在的内容
输入多个搜索条件
合理和不合理的条件
特殊字符
信息位置
光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方
上传下载文件检查
上传文件是否能打开
格式
打开或者保存
下载的文件是否有格式要求
不能上传的文件后缀名修改
重新修改是否存在
表单
完整性
校验提交给服务器
Cookies测试
Cookies的形式存储在客户端
检查Cookies是否起作用
刷新对Cookies
设计语言测试
HTML等
Java
javascript
ActiveX
VBScript
Perl
数据库测试
一致性错误和输出错误
标点符号
空格
引号
快捷键检查
Ctrl+C
Ctrl+V
Backspace
选人
选日期对快捷方式
回车键检查
会否报错
刷新键检查
会否报错
输入法半角全角检查
密码检查
.用户检查
一个或多个管理员用户
注销功能
登录时间
系统可恢复性检查
以各种方式把系统搞瘫,
数据注入检查
“
’”,“/”,“-”
update和delete
事务检查
断开网络
关闭程序
时间日期检查
错误日期
符合实际的业务
多浏览器验证
安装测试
文档测试
测试数据检查
Ajax技术的应用
Ajax的应用最直接的问题就是用户体验
已经如果页面数据较多的时候的刷新
脚本错误
登录
用户名和密码都符合要求
用户名和密码都不符合要求
用户名符合要求,密码不符合要求
密码符合要求,用户名不符合要求
用户名或密码为空
数据库中不存在的用户名,不存在的密码
数据库中存在的用户名,错误的密码
数据库中不存在的用户名,存在的密码
输入的数据前存在空格
输入正确的用户名密码以后按[enter]是否能登陆
验证码
错误次数
登录频繁
多个场景登录
复选框
多个复选框可以被同时选中
多个复选框可以被部分选中
多个复选框可以都不被选中
逐一执行每个复选框的功能
日志路径
定位bug产生的点是必不可少
业务日志
查业务日志不打印敏感信息,包括用户的号码、密码、余额等。
检查业务日志打印关键定位信息,特别是异常场景的ERROR日志
版本差异
如果是一个增量版本,请确定是否存在版本差异。本次测试版本与上个版本不同点在哪里,需要关注什么,这点很重要
实现机制
测试重点
web测试
页面
页面清单是否完整
页面是否显示
分辨率
浏览器版本
页面在窗口
美观
屏幕刷新
特殊效果
特殊字体
动画效果
页面元素
页面元素清单
元素是否显示
元素是否显示正确
元素的外形
子主题 5元素基本功能是否实现
元素的容错性列表
素的容错性
功能部分
数据初始化是否执行
数据初始化是否正确
数据处理功能是否执行或正确
数据保存是否执行或正确
是否对其他功能有影响
影响其他功能
模块的具体功能组合测试
查询功能分
验证操作结果
需要
手工操作进行查询
提示信息
成功,失败提示
操作结果失败
确认提示
危险操作,重要操作提示
返回页面提示后显示的页面
容错性
为空,非空
唯一性
字长,格式
数字,邮编编码,电话,电子邮件,ID号,密码
日期,时间
特殊字符(对于数据库),英文单词,单双引号
权限部分
功能
数据
操作
权限变化
键盘操作
Tab键
上下方向键
Enter键
系统设定快捷键
按钮验证
新增
新增记录首页首行
提交是爱保留用户意见输入
重复值、空值(空格)判断
不可输入/选择框以灰色显示
最大长度
查询
定位到首页。
查询条件
较多时,请配以重置
未查询
确要求不需要外
查询结果
空格、查询条件前后中加空格
数据库中的值
非数据库中的值
精确查询
模糊查询
联动查询
删除
有确认删除
不显示被删除的
返回
关联时,视实际需求给予不允许删除
不选择任何信息 按“delete”
一个和多个信息
翻页选
全选
勾选全选则选中当页所有记录
去掉当页某个记录的勾选,则全选也去掉勾选
保存
存所费时间较长时,需给予进度界面提示
控制不可以重复
保存操作,成功或是失败
取消
取消请给予提示
取消返回到原记录所在位置
重置
必须保证重置初始
返回
击按钮或链接进入子页面时,必须提供返回按钮
返回应该是返回当前页面的上一页
翻页
翻页同时可执行查询功能
子页面需从首页开始显示
如有单页复选功能,翻页后不保留选中状态
翻页后,自动去掉已勾选的记录及全选的勾选
单个勾选当前页面所有记录时,全选按钮应该是选中状态
查看
超过最佳设置显示滚动条
详细信息或是双击
修改
复选按钮
修改时加载的内容
原记录所在位置修改后的值
查询条件下修改不满足查询条件则不显示
重复值、空值(空格)判断
类型、最大长度限制
可输入/选择框正常色显示
验证与新增时的验证是否一致
app功能
安装和卸载
iOS和Android不同系
安装过程中是否能暂停
安装空间不足时
安装过程中断网
是否可以正常删除应用
桌面删除;第三方软件删除;命令行删除
应用卸载后所有的安装文件夹是否全部删除
卸载过程中出现死机,断电,重启等意外的情况,
卸载是否支持取消功能
运行
否能正常运行
稳定运行
切换是否流畅
网络异常时,应用是否会崩溃
请求超时
注册和登录
账号密码注册登录
正确的账号密码,可正常注册和登录
已注册用户再次注册
密码“****”展示
账号输入框对最大长度和格式应有校验
账号或密码输入错误时建议提示“账号或密码错误”
密码是否加密传输
密码更改后,登录时是否做到了有效数据的校验
未登录时对一些页面的操作,是否做了控制
切换账号登录,检验登录的信息是否做到及时更新
对于多个端都进行操作时,确保数据库操作无误
多设备同时登录同一帐号时
手机号注册登录
手机号输入框格式校验检查
验证短信的接收是否及时
用验证码可正常登录
验证码错误时,登录失败+友好提示
验证短信文案是否符合所测APP;
重复发送验证码,前一个验证码正常失效
频繁操作验证码发送,应有操作限制
验证码有效期校验(超过有效期无法登录)
第三方授权登录
软件更新
强制更新
非强制更新
取消版本更新时
APP更新后版本号应有更新
APP更新后新增功能和老功能可正常使用
当有新版本时,不删除客户端的情况下,直接更新是否成功
删除APP后更新
权限设置
首次启动APP询问是否同意启用权限
消息权限开启时
消息权限关闭后
位置权限开启时
位置权限关闭后
网络权限关闭时
日历控件
月份和日期对应(比如2月有28天,7月31天)
闰年2月,应有29天
跨年时,年份应有增加
网络环境
3G,4G,wifi
网络异常时
有网到无网再到有网环境时
只允许内网访问的APP
兼容性测试
尽量覆盖该产品的主要用户
从不同系统,版本,分辨率,机型
通常选择在少数主流设备上执行全向的用例
关注各功能界面在不同分辨率下是否存在UI展示问题
基于UI自动化脚本的云测试方案
异常测试
没有内存空间时
横竖屏切换展示
APP运行时网络中断
反复操作某个功能
APP运行时接入电话,短信,微信,或其他消息
测试分析
分析点
待测功能或待测系统在分析其测试需求
体现测试思维产出物 了解待测功能或系统是如何被测试
需求了解 如何去测试
重要性
全面梳理测试功能
测试透明化,成员可以建议和遗漏
提高用例的编写效率
检查开发逻辑是否有遗漏
分析方法
如图
理出业务流程
偏功能
流程很少,一般不超过三个
流程
理清主业务流程
从页面/模块/业务逻辑三个方面进行功能点的拆分。把功能从大化小
罗列每个功能点的测试点
对功能点的测试顺序进行不同顺序的组合
偏流程时
借助工具画业务流程图(状态转换图)
通过业务流程图(状态转换图)找出所有的业务分支
设计测试场景,每一个测试场景代表了一个业务分支,保障所有的业务分支都被设计到。
当测试需求较复杂时
功能点和流程图组合
图例和测试点组成
支付功能
支付金额
金额的最小值
无实际支付意义的金额,如0元订单
支付金额错误
格式错误
数字错误
超大金额
微信红包单个最大值为200
余额小于实际需要支付的金额
银行卡或其他设置当日消费金额或者是单笔消费金额超限
支付接口
支付宝
微信
网银系统
手机银行
POS机的终端服务
扫码枪
支付的操作
指纹支付
免密支付
账号+密码支付
动态获取支付验证码支付
银行卡号+密码绑定支付
信用卡可能会设计到支付码等
产品的容错性上
如何处理退款
支付时出现断网
支付失败之后
支付金额不足的情况下
持续点击 是否会出现多次扣款
如果发生多次扣款
产品后台处理
成功订单
失败订单
退款订单
差错账处
测试点
页面链接检查
该链接的页面
测试所链接的页面是否存在
保证Web应用系统上没有孤立的页面
LinkBotPro、File-AIDCS、HTML LinkValidater、Xenu等工具
相关性检查
功能相关性
删除/增加
数据相关性
表默认值检查
列表值检查
检查按钮
新建
编辑
删除
关闭
返回
导入
保存
上一页
下一页
重置
字符
类型
标点符
标点符号
空格
引号
回车键
特殊符号
@、#、$、%、!
%‘"这几个特殊字符
;’”><,`‘:“[”{、\|}]+=)-(_*&&^%$#@!,.。?/还有
空格。
中文字
中、英文
乱码
错误
长度
输入超出需求所说明的字符串长度的内容
检查需求规定的字符串长度是否是正确
中间值
超长值
回车、空格、TAB、脚本语言、null等
文本格式
邮箱、手机号
输入框
字符长度
字符类型
文本格式
完整性
全部更新
更新信息和添加信息是否一致
信息重复
命名
已存在
重复的名字或ID
区分大小写
入内容的前后输入空格
重复提交表单
返回后再提交
返回键或者系统提供的返回功能
返回键
返回到原来页面
搜索检查
系统存在和不存在的内容
输入多个搜索条件
合理和不合理的条件
特殊字符
信息位置
光标停留的地方输入信息时,光标和所输入的信息会否跳到别的
地方
上传下载文件检查
上传文件是否能打开
格式
打开或者保存
下载的文件是否有格式要求
不能上传的文件后缀名修改
重新修改是否存在
表单
完整性
校验提交给服务器
Cookies测试
Cookies的形式存储在客户端
检查Cookies是否起作用
刷新对Cookies
设计语言测试
HTML等
Java
javascript
ActiveX
VBScript
Perl
数据库测试
一致性错误和输出错误
标点符号
空格
引号
快捷键检查
Ctrl+C
Ctrl+V
Backspace
选人
选日期对快捷方式
回车键检查
会否报错
刷新键检查
会否报错
输入法半角全角检查
密码检查
.用户检查
一个或多个管理员用户
注销功能
登录时间
系统可恢复性检查
以各种方式把系统搞瘫,
数据注入检查
“
’”,“/”,“-”
update和delete
事务检查
断开网络
关闭程序
时间日期检查
错误日期
符合实际的业务
多浏览器验证
安装测试
文档测试
测试数据检查
Ajax技术的应用
Ajax的应用最直接的问题就是用户体验
已经如果页面数据较多的时候的刷新
脚本错误
登录
用户名和密码都符合要求
用户名和密码都不符合要求
用户名符合要求,密码不符合要求
密码符合要求,用户名不符合要求
用户名或密码为空
数据库中不存在的用户名,不存在的密码
数据库中存在的用户名,错误的密码
数据库中不存在的用户名,存在的密码
输入的数据前存在空格
输入正确的用户名密码以后按[enter]是否能登陆
验证码
错误次数
登录频繁
多个场景登录
复选框
多个复选框可以被同时选中
多个复选框可以被部分选中
多个复选框可以都不被选中
逐一执行每个复选框的功能
日志路径
定位bug产生的点是必不可少
业务日志
查业务日志不打印敏感信息,包括用户的号码、密码、余额等。
检查业务日志打印关键定位信息,特别是异常场景的ERROR日志
版本差异
如果是一个增量版本,请确定是否存在版本差异。本次测试版本与上个版本不同点在哪里,需要关注什么,这点很重要
实现机制
测试重点
web测试
页面
页面清单是否完整
页面是否显示
分辨率
浏览器版本
页面在窗口
美观
屏幕刷新
特殊效果
特殊字体
动画效果
页面元素
页面元素清单
元素是否显示
元素是否显示正确
元素的外形
子主题 5元素基本功能是否实现
元素的容错性列表
素的容错性
功能部分
数据初始化是否执行
数据初始化是否正确
数据处理功能是否执行或正确
数据保存是否执行或正确
是否对其他功能有影响
影响其他功能
模块的具体功能组合测试
查询功能分
验证操作结果
需要
手工操作进行查询
提示信息
成功,失败提示
操作结果失败
确认提示
危险操作,重要操作提示
返回页面提示后显示的页面
容错性
为空,非空
唯一性
字长,格式
数字,邮编编码,电话,电子邮件,ID号,密码
日期,时间
特殊字符(对于数据库),英文单词,单双引号
权限部分
功能
数据
操作
权限变化
键盘操作
Tab键
上下方向键
Enter键
系统设定快捷键
按钮验证
新增
新增记录首页首行
提交是爱保留用户意见输入
重复值、空值(空格)判断
不可输入/选择框以灰色显示
最大长度
查询
定位到首页。
查询条件
较多时,请配以重置
未查询
确要求不需要外
查询结果
空格、查询条件前后中加空格
数据库中的值
非数据库中的值
精确查询
模糊查询
联动查询
删除
有确认删除
不显示被删除的
返回
关联时,视实际需求给予不允许删除
不选择任何信息 按“delete”
一个和多个信息
翻页选
全选
勾选全选则选中当页所有记录
去掉当页某个记录的勾选,则全选也去掉勾选
保存
存所费时间较长时,需给予进度界面提示
控制不可以重复
保存操作,成功或是失败
取消
取消请给予提示
取消返回到原记录所在位置
重置
必须保证重置初始
返回
击按钮或链接进入子页面时,必须提供返回按钮
返回应该是返回当前页面的上一页
翻页
翻页同时可执行查询功能
子页面需从首页开始显示
如有单页复选功能,翻页后不保留选中状态
翻页后,自动去掉已勾选的记录及全选的勾选
单个勾选当前页面所有记录时,全选按钮应该是选中状态
查看
超过最佳设置显示滚动条
详细信息或是双击
修改
复选按钮
修改时加载的内容
原记录所在位置修改后的值
查询条件下修改不满足查询条件则不显示
重复值、空值(空格)判断
类型、最大长度限制
可输入/选择框正常色显示
验证与新增时的验证是否一致
app功能
安装和卸载
iOS和Android不同系
安装过程中是否能暂停
安装空间不足时
安装过程中断网
是否可以正常删除应用
桌面删除;第三方软件删除;命令行删除
应用卸载后所有的安装文件夹是否全部删除
卸载过程中出现死机,断电,重启等意外的情况,
卸载是否支持取消功能
运行
否能正常运行
稳定运行
切换是否流畅
网络异常时,应用是否会崩溃
请求超时
注册和登录
账号密码注册登录
正确的账号密码,可正常注册和登录
已注册用户再次注册
密码“****”展示
账号输入框对最大长度和格式应有校验
账号或密码输入错误时建议提示“账号或密码错误”
密码是否加密传输
密码更改后,登录时是否做到了有效数据的校验
未登录时对一些页面的操作,是否做了控制
切换账号登录,检验登录的信息是否做到及时更新
对于多个端都进行操作时,确保数据库操作无误
多设备同时登录同一帐号时
手机号注册登录
手机号输入框格式校验检查
验证短信的接收是否及时
用验证码可正常登录
验证码错误时,登录失败+友好提示
验证短信文案是否符合所测APP;
重复发送验证码,前一个验证码正常失效
频繁操作验证码发送,应有操作限制
验证码有效期校验(超过有效期无法登录)
第三方授权登录
软件更新
强制更新
非强制更新
取消版本更新时
APP更新后版本号应有更新
APP更新后新增功能和老功能可正常使用
当有新版本时,不删除客户端的情况下,直接更新是否成功
删除APP后更新
权限设置
首次启动APP询问是否同意启用权限
消息权限开启时
消息权限关闭后
位置权限开启时
位置权限关闭后
网络权限关闭时
日历控件
月份和日期对应(比如2月有28天,7月31天)
闰年2月,应有29天
跨年时,年份应有增加
网络环境
3G,4G,wifi
网络异常时
有网到无网再到有网环境时
只允许内网访问的APP
兼容性测试
尽量覆盖该产品的主要用户
从不同系统,版本,分辨率,机型
通常选择在少数主流设备上执行全向的用例
关注各功能界面在不同分辨率下是否存在UI展示问题
基于UI自动化脚本的云测试方案
异常测试
没有内存空间时
横竖屏切换展示
APP运行时网络中断
反复操作某个功能
APP运行时接入电话,短信,微信,或其他消息
测试分析
分析点
待测功能或待测系统在分析其测试需求
体现测试思维产出物 了解待测功能或系统是如何被测试
需求了解 如何去测试
重要性
全面梳理测试功能
测试透明化,成员可以建议和遗漏
提高用例的编写效率
检查开发逻辑是否有遗漏
分析方法
如图
理出业务流程
偏功能
流程很少,一般不超过三个
流程
理清主业务流程
从页面/模块/业务逻辑三个方面进行功能点的拆分。把功能从大化小
罗列每个功能点的测试点
对功能点的测试顺序进行不同顺序的组合
偏流程时
借助工具画业务流程图(状态转换图)
通过业务流程图(状态转换图)找出所有的业务分支
设计测试场景,每一个测试场景代表了一个业务分支,保障所有的业务分支都被设计到。
当测试需求较复杂时
功能点和流程图组合
图例和测试点组成
支付功能
支付金额
金额的最小值
无实际支付意义的金额,如0元订单
支付金额错误
格式错误
数字错误
超大金额
微信红包单个最大值为200
余额小于实际需要支付的金额
银行卡或其他设置当日消费金额或者是单笔消费金额超限
支付接口
支付宝
微信
网银系统
手机银行
POS机的终端服务
扫码枪
支付的操作
指纹支付
免密支付
账号+密码支付
动态获取支付验证码支付
银行卡号+密码绑定支付
信用卡可能会设计到支付码等
产品的容错性上
如何处理退款
支付时出现断网
支付失败之后
支付金额不足的情况下
持续点击 是否会出现多次扣款
如果发生多次扣款
产品后台处理
成功订单
失败订单
退款订单
差错账处