功能测试
- 测试基础、测试的各种模型、测试的流程等等了解;
- 测试用例设计方法以及管理等
- 测试缺陷模板、以及管理;
- 测试报告、计划等;
- 在此不在多说。
非功能
- 质量模型中除了功能性测试之外,其他都是非功能性,如可靠性、易用性、效率性、可维护性、可移植性、安全性、兼容性等;
- 可靠性:容错能力(恢复正常的时间、能力);
- 易用性测试:易学、易懂、易使用、易吸引;
- 效率性:性能(响应时间、消耗的资源(CPU、内存)等);
- 可维护性:为后续功能的开发与维护提供便利;
- 可移植性:软件需要在不同的软件环境和硬件环境下都能正常的工作;
- 安全性:软件的安全性,如账号密码加密存储传输;
- 兼容性:不同浏览器兼容性测试;
状态迁移法
- 定义:基于被测系统中的所有状态,分析各个状态之间的转化,然后找到各个状态之间转化路线,通过各种转化路线设计测试用例;
- 需求说明
yacas
1.用户在网站完成下单后,订单状态为"待付款"
2.用户完成付款后,订单状态变为"待发货"
3.用户收到商品后,在系统中进行确认收货,订单状态变为"已完成"
4.商品发货前,用户可以对订单进行取消操作,取消后订单状态变为"已取消"
- 状态迁移法的具体步骤
- 第一步:找出系统所有的节点:先列出系统中的各个状态,如购物软件中【待付款】、【待发货】、【待收货】、【已完成】、【已取消】
- 第二步:绘制状态迁移图:利用圆圈表示状态节点,有向箭头表示状态间的迁移关系

- 第三步:绘制状态迁移树:根据状态迁移图的节点和箭头绘制状态迁移树(首先确定起始节点及终止节点)

- 第四步:找出状态之间的转换路径
路径1:【待付款】-->【待发货】-->【待收货】-->【已取消】
路径2:【待付款】-->【已取消】
路径3:【待付款】-->【待发货】-->【已取消】
流程图
- 流程图是对过程、算法、流程的一种图像表示;
- 流程图说明

- 长方形:处理/步骤/过程/流程
- 菱形:判定/判断
- 带竖线的长方形:子处理/子步骤/子过程/子流程
- 椭圆:开始/结束
- 文档:文档一般是用在输出文件或者写入、修改文件
- 平行四边形:数据的输入/输出
- 箭头:路径,流程的走向
- 绘制原则;
- 不要漏掉任何一条流程路径
- 先判断,再有判断结果
- 主业务流程放在最中间(一般是最长的),方便阅读
- 流程图示例:银行取款流程图

数据库
- 数据库的使用场景:
- 验证数据的准确性与完整性----如财务模块中的总计、分类总计等
- 借助数据库进行缺陷定位----如比对前端页面和数据库中数据,定位是前还是后端问题;
- 借助数据库构造测试场景----需要特定的测试数据,如1000个用户登录,可通过数据库插入1000条用户数据;
- 借助数据库数据备份更新----涉及到历史数据的处理,需要测试环境先执行升级的sql语句。
http基础知识
-
URL:统一资源定位符
示例:https://blog.csdn.net/weixin_44073050?spm=1011.2124.3001.5343
格式:
1、协议:客户端和服务器通讯的标准,http、https、ssh等
2、ip或域名:如blog.csdn.net
3、端口号port:协议默认的端口号是可以省略的
http:默认端口80
https:默认端口443
ssh:默认端口22
......
4、资源路径:资源存放的位置,资源可以是各种超文本信息,如音频、视频等,如/weixin_44073050
5、参数(如spm=1011.2124.3001.5343)
格式:用?与URL的主体部分分开;参数的格式参数名=参数值,有多个参数时用&拼接即可; -
HTML:超文本标记语言
1、HTML:HyperText Markup Language ,超文本标记语言
2、超文本:声音、视频、图片、超链接、文章段落等标签
3、标记:就是通过标签格式让内容具有不同的表现形式,从而达到超文本的目的。如: <title>百度一下,你就知道</title>
4、互联网上浏览的网页,本质上就是超文本标记语言 -
HTTP:超文本传输协议
1、HTTP: HyperText Transfer Protocol ,超文本传输协议,是互联网上最常用的协议之一。
客户端:用于发送请求,如浏览器、APP等
服务器:处理客户端请求并返回数据,如apache、nginx等
请求:客户端向服务器索要数据
响应:服务里处理完成后,返回给客户端的数据与信息
2、请求内容:请求行、请求头、请求体
3、请求方式(GET 和 POST)
get:用于查询,如搜索商品,请求数据一般在URL中,有长度限制,不安全,只能url编码格式
post:用于提交数据,相对比较安全,如登录、注册等,请求数据一般在body中,无长度限制,安全,支持多种编码格式
4、响应内容:
响应行:位置是在第一行,包含协议及版本、响应状态码、状态消息
响应头:位置是在第一行之后,到空行之前,告诉客户端服务器相关信息,如web服务器类型等
响应体:位置是在空行之后,如登录成功
5、响应状态码:由3位数字组成,第一位数字代表响应消息的级别
2XX:成功,如200
3XX:重定向,如301
4XX:客户端存在问题,如404
5XX:服务器端存在问题,如501
2、请求内容:请求行、请求头、请求体

4、响应内容:响应行、响应头、响应体

抓包
抓包介绍
- 抓包:(package capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包经常被用来进行数据截取等。
- 常用的抓包工具:Fiddler、Charles、F12开发人员工具等
- 功能测试用到抓包工具的场景:
- 通过抓包工具截取观察网站的请求信息,帮助我们更深入的了解网站
- 通过抓包工具截取、观察网站的请求与返回信息,帮助测试进行BUG定位与描述
- 通过抓包工具拦截修改请求信息,绕过界面的限制,测试服务端的功能
Fiddler介绍
Fiddler安装:默认安装即可;
Fiddler原理:基于代理/拦截机制。
Fiddler删除请求操作:
- 方式一:Remove all
- 方式二:底部输入cls或者clear
- 方式三:选中接口,点击delete键
- 方式四:快捷键方式CTRL+X

Filters过滤设置:分三步走

Fiddler断点设置:
- 只有需要修改请求接口时,才设置断点,其他时间默认失效状态。
- 设置路径:如1、设置【Before Requests】,2、提交请求,Fiddler都会在请求前断点,3、此时可以修改请求数据,修改后;4、点击绿色的【Run to Completion】后可以返回响应数据

断点后运行:点击绿色的【Run to Completion】或者点击菜单栏的【go】按钮

Fiddler定位问题
- 定位前后端问题:根据前端提交数据,比对请求数据定位前后端问题
Fiddler响应修改
- 设置断点【Rules】 -》【 Automatic Breakpoints】 -》 【After Responses】
- 操作步骤:如1、设置【After Responses】后,2、提交请求,Fiddler都会在请求后断点,3、此时可以修改响应数据,修改后;4、点击绿色的【Run to Completion】后网页页面数据跟随修改。

Fiddler自动响应设置
** 设置自动响应步骤 **
- 右侧菜单点击AutoResponder;
- 点击【Add Rule】-》点击【Add Rule】手动填写请求地址或者直接从历史接口中拖一个接口过来;
- 选择响应结果,模拟测试场景,如404,此外还支持使用本地文件,根据文件内响应数据(例如json文件)进行测试;
- 点击右下角【save】,保存响应设置;
- 勾选三个选项;
- 刷新浏览器中请求的这个接口;
前面6个步骤示例图:

- 结果显示:

Fiddler 使用Composer进行接口测试

Fiddler 的手机网络测试
- 通过Fiddler设置网络速度,如设置2G/3G/Edge/4G/Wifi等网络情况下的网络速度。
- 步骤
-
打开Fiddler,设置代理,并允许远程连接
-
手机连接电脑的热点网络,或者同在一个局域网内
-
手机网络连接中,设置网络代理,IP是电脑的同网段IP地址,端口是8888
-
打开网速模拟模式开关(Rules → Performances → Simulate Modem Speeds ),使用的是Fiddler系统的默认限速;如延迟300ms

-
可手动设置网络延迟,进行弱网设置,如配置路径(Rules → Customize Rules)

配置请求和响应延迟后保存配置,然后在继续勾选Rules → Performances → Simulate Modem Speeds 这个配置;
