IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 金融项目(day05) -> 正文阅读

[开发测试]金融项目(day05)

昨日回顾

(1)接口测试的场景

  • 设计:在测试人员编写系统测试用例之后,结合开发人员编写的API设计文档,来编写接口测试用例

  • 执行:

    • 手工执行:

      • 目的:尽早的发现问题

      • 在后端代码转测,前端代码未转测,进行接口测试手工执行

    • 自动化执行

      • 目的:看护软件质量,在版本迭代中不引入新的问题

      • 在系统测试执行完成后,(根据时间)再进行接口自动化脚本的脚本

(2)接口测试用例的设计

  • 单接口的接口设计

    • 正向:必填参数(必测)、所有参数(必测)、参数组合(可选)

    • 反向:

      • 参数错误(优先级低):少参、多参

      • 参数数据错误(优先级中):参数为空、参数长度错误、类型错误等

      • 业务数据错误(优先级高):从业务功能的角度上分析接口对应的异常场景—— 通过接口API中响应数据中的不同异常描述来进行分析

  • 接口组合(业务场景)接口设计

    • 结合系统实际(业务场景)业务流程功能进行接口设计

      • 分析系统的业务流程,列出所有的业务流程路径(每个路径对应一个接口业务场景测试用例)

      • 针对每一条业务流程路径,整理出路径中的所有动作

      • 分析每个动作对应的接口(一个动作对应单接口/多个接口)

      • 按照业务流程的动作将所有接口串联起来,就形成为接口业务场景的测试用例

(3)接口测试的准备

  • 环境搭建

    • 搭建应用服务器和数据库服务器

    • 部署项目代码,完成数据初始化

  • Mock技术

    • 目的:在测试环境中的第三方系统无法直接连接,通过代码模拟第三方系统来进行测试

    • 方法:

      • 按照第三方接口的规范,编写代码来接收发往第三方系统的接口请求

      • 对请求进行业务处理(测试代码自己写),如果涉及到数据存储的需要自己创建测试数据库进行存储

      • 按照第三方接口的规范,编写响应报文,发送给指定的地址。

学习目标

  • 能够针对接口测试用例使用JMeter手工执行

  • 能够使用Jmeter对接口测试脚本进行自动化调试

构造测试数据:

接口测试构造数据的原因:

  • 接口测试时,将业务功能中的所有操作分隔成一个一个独立的HTTP请求,有些请求的执行需要依赖于 其他请求操作的数据。

  • 例如:商城中结算并下订单的接口用例,依赖于购物车中的商品数量,因此在测试这个结算并下订单的接口用例时,需要先构造购物车中的商品才能进行测试。

构造数据库的三种方式:

?

三种方式各有优劣,在工作中根据实际情况来选择:

从难度上讲:手工构造 < 接口构造 < 数据库构造

从灵活度上讲:手工构造 < 接口构造 < 数据库构造

三种方式的应用场景:

  • 手工构造:用于在测试中不需要频繁构造的数据(一次性造数据永久用 — 注册账号)

  • 接口构造:业务数据有一定复杂性,同时需要频繁构造的数据

  • 数据库构造:业务数据涉及的表结构比较简单(数据只涉及两张表以下)

构造借款数据的方法:

  • 手工方式:按照业务流程,在界面上进行操作即可

  • 数据库方式:

    • 先找到所有需要构造的测试数据

    • 熟悉数据库的表结构,理清楚每个测试数据关联的数据库表有哪些

    • 编写对应的SQL语句,来往数据库表中插入对应的数据

      • 关键点:理清楚所有的数据库表之间的关联关系(找出各个表的主外键)

手工执行:

手工执行接口测试的应用场景:

目的:为了尽早发现问题

测试时机:

  • 当后端转测试,但是前端未转测试,此时可以进行接口用例手工执行

  • 如果前后端同时转测,直接进行系统测试,不再针对所有的接口用例进行手工测试

    • 系统测试过程中可以有一些异常场景,界面无法模拟,可以通过接口用例进行模拟测试

测试依据(用例根据什么设计):

  • 接口测试手工执行的用例一定是根据接口API文档来设计(不是抓包)

手工执行接口测试的工具:

  • Jmeter (与Jmeter自动化测试配合使用) ——接口测试 70%

  • Postman (与python + Request自动化测试配合使用) —— 接口测试 30%

Jmeter常用的元器件:

?

Jmeter编写测试脚本:

1、一个线程组中可以有一个脚本,可以有多个脚本(同一个操作,多个用例接口相互独立) —— 灵活对待

2、获取短信验证码:

  • HTTP信息头管理器 —— 修改Content-type

  • 注意依赖图片验证码的请求,获取图片验证码成功,才能进行后续请求

  • HTTP Cookie管理器 —— 自动实现请求之间的关联

3、发送请求时,参数的格式必须与接口定义完全一致

?4、在Jmeter中如果发送的请求体格式为多请求体时,需要勾选“multipart/form-data”,jmeter会自动发送多请求体的数据请求

5、开户脚本:

  • 登录后,并发送开户请求,返回的数据为json格式,但是form字段对应的值为一段html代码,现在想要提取一段html代码中部分数据;通过json提取器和xpath都无法达成,需要使用正则表达式提取器来提取

  • 在响应结果中,切换到RegExp Tester中进行正则表达式的测试。测试时主要使用结果中的数据格式。

正则表达式中所有的\都必须前面再加一个\,防止被转义

?input name\\u003d\\u0027(.*?)\\u0027 type\\u003d\\u0027hidden\\u0027 value\\u003d\\u0027(.*?)\\u0027/

在正则表达式提取器中提取出对应的数据内容

?在第三方接口中引用提取出来的参数

团队测试工作进展

  • 每个人能够说出自己的工作进度

  • 每个人能够说出自己接下来的要做的工作

  • 组长告知小组成员目前小组的整体工作进度(单独发送)

  • 组长能够根据小组的整体工作进度及时调整工作安排

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-01-08 14:19:44  更:2022-01-08 14:21:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 5:35:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码