金融项目实战 02|接口测试分析、设计以及实现

目录

⼀、接口相关理论

二、接口测试

1、待测接口:投资业务

2、接口测试流程

3、设计用例理论

1️⃣设计方法

2️⃣工具

4、测试点提取

5、测试用例(只涉及了必测的)

1️⃣注册图⽚验证码、注册短信验证码

2️⃣注册

3️⃣登录

4️⃣实名认证、开户、请求第三方开户

5️⃣获取充值验证码、充值

6️⃣投资

7️⃣投资业务


⼀、接口相关理论

1、ui功能测试和接⼝测试那个先执⾏?为什么?

  • 结论:接⼝测试先执⾏
  • 原因:ui功能测试需要等待前端⻚⾯开发完成、后台接⼝开发完后且前端与后端联调完成。

2、ui功能测试与接⼝测试的区别? 

  • ui功能:(前端js、服务器端的)功能调⽤+页⾯布局+兼容
  • 接⼝测试:完整的测试服务端的功能验证 

3、ui功能测试和接⼝测试那个更⾼效?为什么?

  • 结论:接⼝测试更⾼
  • 原因:接⼝测试只测服务端功能以及没有多⻚⾯操作因素。

二、接口测试

1、待测接口:投资业务

2、接口测试流程

  • 需求评审
    • 参与⼈员:开发、测试、产品
    • ⽬的:
      • 1、熟悉项⽬有哪些功能
      • 2、站在不同⻆度对需求进⾏查漏补缺
      • 3、各⻆⾊对需求理解⼀致
  • 测试计划与⽅案
    • 核⼼: 测什么、谁来测、怎么测
    • 其他: 提测标准、上线标准、⻛险控制
  • 分析API⽂档
    • 1、测试接⼝依赖的数据是否都明确(请求、响应)
    • 2、分析接⼝之间依赖关系及关联
    • 3、参数规则(类型、必填、⻓度等等)说明
  • 编写⽤例
  • 搭建环境(项⽬环境、测试⼯具环境)
  • 编写脚本
  • 执⾏脚本
  • 缺陷管理
  • 测试报告

项⽬难点:

         1、认证接⼝请求头使⽤multipart/form-data

         2、三⽅开户、三⽅充值、三⽅投资都需要调⽤Mock接⼝

                请求url:来源响应数据action的值

                请求参数和值:所有input标签中name属性值为参数名,value属性值为参数值。

3、设计用例理论

先对单接口进行测试,再将多个单接口整体拼接为业务场景进行测试,接口若无法对应实际业务场景,则测试无意义

优先级:P0 > P1 >P2 >P3,通常时间不充裕的情况下可以不测 P3 优先级的测试点

1️⃣设计方法

2️⃣工具
  • 可视化⼯具:postman、jmeter
  • 代码:python+requests+unittest

4、测试点提取

  • 注册图⽚验证码、注册短信验证码

  •  注册

  • 登录

  • 开户认证

  • 充值

  • 投资

5、测试用例(只涉及了必测的)

  • 1️⃣注册图⽚验证码、注册短信验证码

  • 2️⃣注册

  • 3️⃣登录

  • 4️⃣实名认证、开户、请求第三方开户

三方开户的信息在前面 二、2、中的项目难点 处有讲 

  • 5️⃣获取充值验证码、充值

  • 6️⃣投资

  • 7️⃣投资业务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/66880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kotlin 中 forEach 的 return@forEach 的使用误区

forEach 对于从Java开发转到Kotlin的开发者来说,returnforEach可能具有迷惑性。假如没有仔细了解过这个语法的使用,真的就被它的表象迷惑了。 因为它看上去真的实在太像【跳出forEach循环】了!!! 然而,实际…

指令的修饰符

指令的修饰符 参考文献: Vue的快速上手 Vue指令上 Vue指令下 Vue指令的综合案例 文章目录 指令的修饰符指令修饰符 结语 博客主页: He guolin-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力&…

EFCore HasDefaultValueSql

今天小伙伴在代码中遇到了有关 HasDefaultValue 的疑问,这里整理澄清下... 在使用 Entity Framework Core (EFCore) 配置实体时,HasDefaultValue 方法会为数据库列设置一个默认值。该默认值的行为取决于以下条件: 1. 配置 HasDefaultValue 的…

基于 Selenium 实现上海大学校园网自动登录

基于 Selenium 实现上海大学校园网自动登录 一、技术方案 核心工具: Selenium:一个用于自动化测试的工具,能够模拟用户在浏览器上的操作。Edge WebDriver:用于控制 Edge 浏览器的驱动程序。 功能设计: 检测网络状…

[DO374] Ansible 配置文件

[DO374] Ansible 配置文件 1. 配置文件位置2. 配置文件3. Ansible 配置4. Ansible的Ad-hoc5. Ansible 模块6. playbook段落7. 任务执行后续8. Ansible 变量8.1 ansible 变量的定义8.1.1 主机变量8.1.2 主机组变量 8.2 vars的循环 9. Ansible Collection10. Ansible-galaxy 安装…

STM32如何测量运行的时钟频率

前言 环境: 芯片:STM32F103C8T6 Keil:V5.24.2.0 一、简介STM32F103C8T6的时钟源 ①HSI 内部高速时钟,RC振荡器,频率为8MHz,精度不高。②HSE 外部高速时钟,可接石英/陶瓷谐振器,频率范围为4MHz~16MHz&…

【Web安全】SQL 注入攻击技巧详解:UNION 注入(UNION SQL Injection)

【Web安全】SQL 注入攻击技巧详解:UNION 注入(UNION SQL Injection) 引言 UNION注入是一种利用SQL的UNION操作符进行注入攻击的技术。攻击者通过合并两个或多个SELECT语句的结果集,可以获取数据库中未授权的数据。这种注入技术要…

什么是卷积网络中的平移不变性?平移shft在数据增强中的意义

今天来介绍一下数据增强中的平移shft操作和卷积网络中的平移不变性。 1、什么是平移 Shift 平移是指在数据增强(data augmentation)过程中,通过对输入图像或目标进行位置偏移(平移),让目标在图像中呈现出…

YOLOv10-1.1部分代码阅读笔记-tuner.py

tuner.py ultralytics\utils\tuner.py 目录 tuner.py 1.所需的库和模块 2.def run_ray_tune(model, space: dict None, grace_period: int 10, gpu_per_trial: int None, max_samples: int 10, **train_args): 1.所需的库和模块 # Ultralytics YOLO 🚀, …

大数据智能选课系统

1.产品介绍 产品名称:大数据智能选课系统 一、产品概述 随着信息技术的快速发展,大数据技术在教育领域的应用越来越广泛。针对当前高校选课过程中的繁琐操作、资源分配不均等问题,我们研发了一款基于大数据智能分析的选课系统。本系统旨在…

Shapelet-aeon-GettingStarted

接下来的信息为了让使用者快速把aeon跑起来。我们假定大家都熟悉scikit-learn包。如果您在这方面需要帮助,你可能会需要参考: scikit-learn help Aeon是一个用于从时间序列中学习的开源工具包。除了用于以下学习任务的一系列经典技术之外,它还提供了对时…

C#中通道(Channels)的应用之(生产者-消费者模式)

一.生产者-消费者模式概述 生产者-消费者模式是一种经典的设计模式,它将数据的生成(生产者)和处理(消费者)分离到不同的模块或线程中。这种模式的核心在于一个共享的缓冲区,生产者将数据放入缓冲区&#x…

计算机网络之---TCP连接管理

TCP连接管理 TCP(传输控制协议)是面向连接的协议,在数据传输之前需要建立连接,在数据传输完成后需要断开连接。TCP连接的建立和断开都遵循特定的规则,分别称为三次握手(Three-Way Handshake)和四…

【excel】VBA简介(Visual Basic for Applications)

文章目录 一、基本概念二、语法2.1 数据类型2.11 基本数据类型2.12 常量2.13 数组 2.2 控制语句2.21 条件语句2.22 循环语句2.23 错误处理:On Error2.24 逻辑运算 2.3 其它语句2.31 注释2.32 with语句 2.4 表达式2.41 常见表达式类型2.42 表达式的优先级 2.5 VBA 的…

Git:Cherry-Pick 的使用场景及使用流程

前面我们说了 Git合并、解决冲突、强行回退等解决方案 >> 点击查看 这里再说一下 Cherry-Pick功能,Cherry-Pick不是merge,只是把部分功能代码Cherry-Pick到远程的目标分支 git cherry-pick功能简介: git cherry-pick 是用来从一个分…

机器学习模型调优指南

机器学习模型调优指南 机器学习模型参数调优的作用在于优化模型的性能,使其能够在给定任务上更好地泛化和预测。通过合理调整模型的超参数,能够提高模型的准确性、降低过拟合或欠拟合的风险、加快训练过程等。具体来说,机器学习模型参数调优…

mysql本地安装和pycharm链接数据库操作

MySQL本地安装和相关操作 Python相关:基础、函数、数据类型、面向、模块。 前端开发:HTML、CSS、JavaScript、jQuery。【静态页面】 Java前端; Python前端; Go前端 -> 【动态页面】直观: 静态,写死了…

【Ubuntu与Linux操作系统:一、Ubuntu安装与基本使用】

第1章 Ubuntu安装与基本使用 1.1 Linux与Ubuntu Linux是一种开源、类Unix操作系统内核,拥有高稳定性和强大的网络功能。由于其开源性和灵活性,Linux被广泛应用于服务器、嵌入式设备以及桌面环境中。 Ubuntu是基于Debian的一个流行Linux发行版&#xf…

数据结构与算法之二叉树: LeetCode 654. 最大二叉树 (Ts版)

最大二叉树 https://leetcode.cn/problems/maximum-binary-tree/ 描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值递归地在最大值 左边 的 子数组前缀上 构建左子树递归地在最大值…

Pulsar客户端如何控制内存使用

Pulsar客户端如何控制内存使用 一、使用场景 在实际应用中,Pulsar客户端的内存使用控制是一个重要的性能优化点。假设有一个搜索类业务需要记录用户搜索请求,以便后续分析搜索热点和优化搜索效果。以下是一个简化的代码示例: PulsarClient…