03功能测试实战

功能测试

  1. 测试基础、测试的各种模型、测试的流程等等了解;
  2. 测试用例设计方法以及管理等
  3. 测试缺陷模板、以及管理;
  4. 测试报告、计划等;
  5. 在此不在多说。

非功能

  1. 质量模型中除了功能性测试之外,其他都是非功能性,如可靠性、易用性、效率性、可维护性、可移植性、安全性、兼容性等;
  2. 可靠性:容错能力(恢复正常的时间、能力);
  3. 易用性测试:易学、易懂、易使用、易吸引;
  4. 效率性:性能(响应时间、消耗的资源(CPU、内存)等);
  5. 可维护性:为后续功能的开发与维护提供便利;
  6. 可移植性:软件需要在不同的软件环境和硬件环境下都能正常的工作;
  7. 安全性:软件的安全性,如账号密码加密存储传输;
  8. 兼容性:不同浏览器兼容性测试;

状态迁移法

  1. 定义:基于被测系统中的所有状态,分析各个状态之间的转化,然后找到各个状态之间转化路线,通过各种转化路线设计测试用例;
  2. 需求说明
yacas 复制代码
1.用户在网站完成下单后,订单状态为"待付款"
2.用户完成付款后,订单状态变为"待发货" 
3.用户收到商品后,在系统中进行确认收货,订单状态变为"已完成" 
4.商品发货前,用户可以对订单进行取消操作,取消后订单状态变为"已取消" 
  1. 状态迁移法的具体步骤
  • 第一步:找出系统所有的节点:先列出系统中的各个状态,如购物软件中【待付款】、【待发货】、【待收货】、【已完成】、【已取消】
  • 第二步:绘制状态迁移图:利用圆圈表示状态节点,有向箭头表示状态间的迁移关系
  • 第三步:绘制状态迁移树:根据状态迁移图的节点和箭头绘制状态迁移树(首先确定起始节点及终止节点)
  • 第四步:找出状态之间的转换路径
    路径1:【待付款】-->【待发货】-->【待收货】-->【已取消】
    路径2:【待付款】-->【已取消】
    路径3:【待付款】-->【待发货】-->【已取消】

流程图

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

数据库

  1. 数据库的使用场景:
    • 验证数据的准确性与完整性----如财务模块中的总计、分类总计等
    • 借助数据库进行缺陷定位----如比对前端页面和数据库中数据,定位是前还是后端问题;
    • 借助数据库构造测试场景----需要特定的测试数据,如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、响应内容:响应行、响应头、响应体

抓包

抓包介绍

  1. 抓包:(package capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包经常被用来进行数据截取等。
  2. 常用的抓包工具:Fiddler、Charles、F12开发人员工具等
  3. 功能测试用到抓包工具的场景:
  • 通过抓包工具截取观察网站的请求信息,帮助我们更深入的了解网站
  • 通过抓包工具截取、观察网站的请求与返回信息,帮助测试进行BUG定位与描述
  • 通过抓包工具拦截修改请求信息,绕过界面的限制,测试服务端的功能

Fiddler介绍

Fiddler安装:默认安装即可;
Fiddler原理:基于代理/拦截机制。
Fiddler删除请求操作:
  • 方式一:Remove all
  • 方式二:底部输入cls或者clear
  • 方式三:选中接口,点击delete键
  • 方式四:快捷键方式CTRL+X
Filters过滤设置:分三步走
Fiddler断点设置:
  1. 只有需要修改请求接口时,才设置断点,其他时间默认失效状态。
  2. 设置路径:如1、设置【Before Requests】,2、提交请求,Fiddler都会在请求前断点,3、此时可以修改请求数据,修改后;4、点击绿色的【Run to Completion】后可以返回响应数据

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

** 设置自动响应步骤 **

  1. 右侧菜单点击AutoResponder;
  2. 点击【Add Rule】-》点击【Add Rule】手动填写请求地址或者直接从历史接口中拖一个接口过来;
  3. 选择响应结果,模拟测试场景,如404,此外还支持使用本地文件,根据文件内响应数据(例如json文件)进行测试;
  4. 点击右下角【save】,保存响应设置;
  5. 勾选三个选项;
  6. 刷新浏览器中请求的这个接口;
    前面6个步骤示例图:
  7. 结果显示:
Fiddler 使用Composer进行接口测试
Fiddler 的手机网络测试
  1. 通过Fiddler设置网络速度,如设置2G/3G/Edge/4G/Wifi等网络情况下的网络速度。
  2. 步骤
  • 打开Fiddler,设置代理,并允许远程连接

  • 手机连接电脑的热点网络,或者同在一个局域网内

  • 手机网络连接中,设置网络代理,IP是电脑的同网段IP地址,端口是8888

  • 打开网速模拟模式开关(Rules → Performances → Simulate Modem Speeds ),使用的是Fiddler系统的默认限速;如延迟300ms

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

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

相关推荐
尼古拉斯·纯情暖男·天真·阿玮2 小时前
实验七 防火墙与入侵防护实验
linux·服务器·网络
lytao1232 小时前
Docker磁盘空间自动化清理实战
运维·服务器·docker·自动化
AirDroid_cn2 小时前
Realme怎样远程控制oppo?手机自带的功能可以实现吗?
运维·服务器·网络
咕噜咕噜啦啦2 小时前
Windows安装CVAT
linux·服务器·opencv
负二代0.02 小时前
Linux的进程管理
linux·运维·服务器
IT 行者2 小时前
Spring Security 7 之 OIDC /connect/userinfo 端点解析:ID Token 与用户信息获取
linux·服务器·spring
慧一居士2 小时前
同一个服务器上不同的域名跳往不同的前端项目页面,不显示端口号 ngnix根据不同域名跳转
运维·服务器·前端
筑梦之路2 小时前
linux XFS文件系统误删救星——筑梦之路
linux·运维·服务器
m0_737302582 小时前
云服务器:企业数字化转型的核心引擎与价值重构
服务器