软件测试(接口测试业务场景测试)

软件测试

手动测试

测试用例8大要素

  • 编号
  • 用例名称(标题)
  • 模块
  • 优先级
  • 预制条件
  • 测试数据
  • 操作步骤
  • 预期结果

接口测试(模拟http请求)

接口用例设计

  1. 防止漏测
  2. 方便分配工具,评估工作量和时间
  3. 接口测试测试点
    • 功能
      • 单接口
      • 业务场景
    • 性能
      • 响应生成
      • 兼容性
      • 并发性
      • 服务器资料利用率
    • 安全性
      • 攻击安全
      • 业务安全
接口测试用例文档10要素
  • 编号
  • 用例名称(标题)
  • 模块
  • 优先级
  • 预制条件
  • 请求方法
  • url
  • 请求头
  • 请求体(请求数据)
  • 预期结果

1. 单接口测试

  1. 数值
    • 正向
    • 反向
  2. 参数
    • 正向
      • 必选
      • 可选
      • 全部
    • 反向
      • 多参数
      • 少参
      • 无参
      • 错误参数

2 业务场景测试

用户怎样用怎样测试,分析接口文档编写测试用例,使用postman工具查看响应数据

使用postman管理,执行测试用例,生成测试报告

测试点:先登录>>>>添加员工>>>>查询员工>>>>修改>>>>在查询>>>>删除>>>>查询是否删除成功

测试用例编写

postman工具

1. 工具使用
  1. 简介
  2. 安装
  3. 案例:get,post请求,用接口文档,开发者工具,fiddler获取http数据
2. 使用postmanpostman管理,执行测试用例,生成测试报告
  1. 导入,到处用例集合

  2. postman的断言,实现自动化测试

    1. 断言响应状态码

      //断言响应状态码是否为200
      //pm:postman的实例
      //test():postman的方法,两个参数
      //			参数1:" "断言结束后的文字提示
      //			参数2:一个匿名函数(功能:pm的响应结果中应该包含状态码200),pm.response.to.have.status(200);函数体
      pm.test("status code is 200",function(){
          pm.response.to.have.status(200);
      });
      
    2. 断言响应体是否包含莫格字符串

    3. 断言响应体是否等一莫格字符串(对象)

    4. 断言json数据

    5. 断言响应头

  3. 全局变量与局部变量

    //全局变量
    pm.globals.set("var_name",value);
    //环境变量
    pm.environment.set("var_name",value);
    

postman请求前置脚本

点击send后第一时间被执行。postman内部再http请求之之前发送。

  1. 设置时间戳
//拿到时间戳代码,设置到全局变量中
var timestamp = new Date().getTime();

//发送请求时携带过去
pm.globals.set("glb_timestamp",timestamp)
  1. 使用时间全局变量
  2. 原理图:

在这里插入图片描述

postman关联

  1. 用途:应用于多个http请求之间,有数据关联,或依赖关系时
  2. 实现步骤(A接口依赖于B接口的值):
    • B接口发送http请求,获取数据
    • 将数据设置到全局变量(环境变量)
    • A接口获取全局(环境)变量中的数据值进行使用
//获取全部响应结果中
var jsonData = pm.response.json()
//从响应结果中获取城市名
var city = jsonData.weatherinfo.city
//将城市名写到全局变量中
pm.globals.set("glb_city",city)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

css的Grid布局

1.简单布局 .grid { display: grid; grid-template-columns: 1fr 2fr 1fr; 布局样式 column-gap: 24px; 列间距 row-gap: 24px; 行间距 } 2.排列布局 center垂直方向居中对其 end靠下对齐 3.水平方向对齐 center居中 end靠右对齐 space-between两段对齐 4.对…

使用BeautifulSoup 4和Pillow合并网页图片到一个PDF:一种高效的方式来处理网页图像

背景 ​ 网页上的培训材料,内容全是PPT页面图片。直接通过浏览器打印,会存在只打印第一页,并且把浏览器上无效信息也打印出来情况。但目标是希望将页面图片全部打印为pdf形式。 实现方案 利用网页“另存为”,将页面内所有图片资…

Windows安全基础——Windows WMI详解

Windows安全基础——WMI篇 1. WMI简介 WMI(Windows Management Instrumentation, Windows管理规范)是Windows 2000/XP管理系统的核心,属于管理数据和操作的基础模块。设计WMI的初衷是达到一种通用性,通过WMI操作系统、应用程序等…

构建智能外卖跑腿小程序:技术实践与代码示例

在快节奏的现代生活中,外卖跑腿服务已成为人们日常生活中不可或缺的一部分。为了提供更智能、高效的外卖跑腿体验,本文将深入探讨构建一款智能外卖跑腿小程序所需的关键技术,并提供相应的代码示例。 1. 地理位置服务的整合 外卖跑腿小程序…

nodejs微信小程序+python+PHP个性化服装搭配系统APP-计算机毕业设计推荐 android

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

Ubuntu22.04安装和卸载软件的命令行

一、安装 sudo apt install xxx 二、卸载 sudo apt remove xxx 三、卸载依赖包(可选) 第二步软件卸载之后,有一些依赖包没有被卸载。可以使用sudo apt autoremove xxx来卸载。如果不卸载应该也没什么影响

【开源】基于Vue和SpringBoot的高校学院网站

项目编号: S 020 ,文末获取源码。 \color{red}{项目编号:S020,文末获取源码。} 项目编号:S020,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 学院院系模块2.2 竞赛报名模块2.3 教…

Python爬取酷我音乐

🎈 博主:一只程序猿子 🎈 博客主页:一只程序猿子 博客主页 🎈 个人介绍:爱好(bushi)编程! 🎈 创作不易:喜欢的话麻烦您点个👍和⭐! 🎈…

Python-docx 深入word源码 自定义字符间距

代码和实现效果 from docx import Document from docx.oxml import OxmlElement from docx.oxml.ns import qn from docx.shared import Pt# 调整pt设置字间距 def SetParagraphCharSpaceByPt(run, pt1):通过修改word源码方式, 添加w:spacing标签直接通过调整pt来设置字符间距…

【Maven教程】(十二):版本管理 ——版本号定义约定及相关概念,自动化版本发布与创建分支,GPG签名 ~

Maven 版本管理 1️⃣ 版本管理的概念2️⃣ Maven 的版本号定义约定3️⃣ 主干、标签与分支4️⃣ 自动化版本发布5️⃣ 自动化创建分支6️⃣ GPG签名6.1 GPG 及其基本使用6.2 Maven GPG Plugin 🌾 总结 一个健康的项目通常有一个长期、合理的版本演变过程。例如JUn…

Nginx访问FTP服务器文件的时效性/安全校验

背景 FTP文件服务器在我们日常开发中经常使用,在项目中我们经常把FTP文件下载到内存中,然后转为base64给前端进行展示。如果excel中也需要导出图片,数据量大的情况下会直接返回一个后端的开放接口地址,然后在项目中对接口的参数进…

Golang 使用 Template 引擎构建漂亮的邮件内容并且完成邮件发送

背景 邮件是常见的触达用户的途径,本文详细介绍基于 golang 的模版引擎构建漂亮的邮件内容,并且发送给模板用户。 思路 go 内置了 html/template 模块,类似 ejs 模块引擎。利用 template 能力可以将变量动态的注入到HTML字符串中&#xff…

迅为RK3568开发板使用OpenCV处理图像(颜色转换)

1 颜色转换 本小节代码在配套资料“iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教程 \04_OpenCV 开发配套资料\05”目录下,如下图所示: cv2.cvtColor()函数功能: 将一幅图像从一个色彩空间转换到另一个色彩空间。 函数原型&#xff…

5G CPE可代替宽带,解决断网问题

最近某运营商就玩起了套餐,断用户的网。 老百姓对宽带半知不解,网络断了没法上网,很着急。因为相信运营商,维修人员怎么说,老百姓就怎么办呗,直到最后才发现自己上当,但钱都给了。 截至2023年9月…

Django讲课笔记02:Django环境搭建

文章目录 一、学习目标二、相关概念(一)Python(二)Django 三、环境搭建(一)安装Python1. 从官方网站下载最新版本的Python2. 运行安装程序并按照安装向导进行操作3. 勾选添加到路径复选框4. 完成安装过程5.…

公共模块无法实例化Elasticsearch的interface类

public interface EsLogDao extends ElasticsearchRepository<EsLog, String> {}Data NoArgsConstructor Document(indexName "my_log") public class EsLog implements Serializable {Idprivate String id; } 出现的错误 解决方案&#xff0c;在公共模块增加…

centos7安全防护_CPU占用率超过百分之300_centos7.4中毒CPU百分之百_清理毒源---Linux工作笔记068

执行top命令的时候看到有个进程: sshd占用cpu百分之300多...而且就算是kill -9 杀掉进程以后,进程又会自动启动 ll /proc/7298 我们执行这个命令,可以看到有个/var/tmp/sshd的文件 我们进入cd /var/tmp 然后我们执行 rm -rf sshd删除这个文件,然后我们再去top可以看到 cpu就…

多线程(初阶九:线程池)

目录 一、线程池的由来 二、线程池的简单介绍 1、ThreadPoolExecutor类 &#xff08;1&#xff09;核心线程数和最大线程数&#xff1a; &#xff08;2&#xff09;保持存活时间和存活时间的单位 &#xff08;3&#xff09;放任务的队列 &#xff08;4&#xff09;线程工…

我的网站服务器被入侵了该怎么办?

最近有用户咨询到德迅云安全&#xff0c;说自己再用的网站服务器遇到了入侵情况&#xff0c;询问该怎么处理入侵问题&#xff0c;有什么安全方案可以解决服务器被入侵的问题。下面&#xff0c;我们就来简单讲下服务器遇到入侵了&#xff0c;该从哪方面入手处理&#xff0c;在预…

华清远见嵌入式学习——QT——作业3

作业要求: 代码效果图&#xff1a; 登录成功并跳转页面 登录失败 关闭 代码&#xff1a; 第一页面头文件&#xff1a; #ifndef LOGIN_H #define LOGIN_H#include <QWidget> #include <QMessageBox>QT_BEGIN_NAMESPACE namespace Ui { class Login; } QT_END_NAME…