软件测试-基础篇

news2025/2/24 0:27:36

一、接口的认识

什么是接口

电脑:USB,投影机(数据传输)

软件:API,application program interface.微信提现与充值,支付宝支付,银联支付接口。(鉴权码:token,key,appkey)
接口包括:内部接口和外部接口
内部接口:开发人员自己开发的对自身系统提供的接口
外部接口:开发系统调用外部的 其他的接口。

总结:接口就是软件提供给外部的一种服务,用于做数据传输服务。
在这里插入图片描述

软件为什么需要接口

因为接口能让内部的数据被外部进行修改。

为什么需要做接口测试?

  1. 现在很多系统是前后端分离,开发进度是不一样的,需要把一开始开发出来的接口进行测试。(不需要等系统全部开发完)。mock(模拟接口)前后端开发进度不一致是需要使用。
  2. 基于安全考虑,前端有验证很容易绕过,直接请求接口,特别是:身份证信息,银行卡,金钱交易。
  3. 测试推崇的是测试左移,测试尽早介入。

接口测试的本质:就是测试接口能否正常的交互数据,权限控制以及异常场景。

二、接口返回的数据格式和JSON详解

  1. JSON格式:三组数据**(80%)**

{error_code:0,msg:"提现成功”,data:[]}
error_code:错误码,0表示成功,
msg:对错误码的中文说明
data:真正返回的数据

  • json 就是一种数据类型。
  • JSON由两组数据组成:
MAP对象,键值对,{key:value,key:value}
数组:[value1,value2,value3]
示例:
{
	"people": [{
			"firstName": "Brett",
			"lastName": "McLaughlin"
		},
		{
			"firstName": "Jason",
			"lastName": "Hunter"
		}
	]
}

好用的JSON校验工具网站:www.bejson.com

可以帮助校验json格式是否正确,比如符号中英
接口的加密与编密功能

  1. Html格式;

<html>
	<title></title>
		<body>
		<error_code>0</error_code>
		...
		</body>
</html>
  1. XML格式;
<?xml?version="1.0" encoding="utf-8">
	<error_code>0</error_code>
	...
</xml>

三、接口测试协议

1. webservice协议:接口地址:http://…?wsdl

http://192.168.3.1:8080/addUser
http://192.168.3.1:8080/delUser
http://192.168.3.1:8080/updUser
http://192.168.3.1:8080/selUser

soap协议,携带wsdl
restful规则:
get获取数据,post提交数据,put修改数据,delete删除数据

http://192.168.3.1:8080/user			//根据请求方式的不一样来对数据做不同操作

2. dubbo协议:接口地址以dubbo://…

适用于少量的数据传输,大并发。

3. http协议:接口地址:http:// 80%
https = http + ssl安全传输协议 端口:443
http:端口80

什么是http协议?
http是超文本传输协议,主要用于浏览器和服务器之间交互数据,交互有两个部分:
请求: get,post,delete
响应:1XX信息,2XX成功,3XX重定向(不传值的跳转),4XX客户端错误,5XX服务器错误
请求部分包含:

请求行:请求方式,请求地址,协议
GET http://www.baidu.com/ HTTP/1.1

请求头:
User-Agent: PostmanRuntime/7.32.3(客户端的用户/代理
Accept: /客户端可以接收的数据格式
X-Request_With:(异步请求—带有局部刷新的带有此请求头)
Postman-Token: 05535233-a98a-4e7d-89f1-3f76cbcfa5f7
Host: www.baidu.com(请求的地址
Accept-Encoding: gzip, deflate, br(客户端可以接受的压缩方式
Connection: keep-alive (保持活跃的状态
Cookie: BDSVRTM=0(请求所带的cookie信息

空一行
请求正文

响应的部分:
响应行:协议 ,响应码,响应信息

HTTP/1.1 200 OK
响应头:
Connection: close(链接状态/响应方式
Transfer-Encoding: chunked
Bdpagetype: 1
Bdqid: 0xec3aba61001f68ba
Content-Encoding: gzip
Content-Security-Policy: frame-ancestors ‘self’ https://chat.baidu.com http://mirror-chat.baidu.com https://fj-chat.baidu.com https://hba-chat.baidu.com https://hbe-chat.baidu.com https://njjs-chat.baidu.com https://nj-chat.baidu.com https://hna-chat.baidu.com https://hnb-chat.baidu.com http://debug.baidu-int.com;
Content-Type: text/html; charset=utf-8 (响应内容的类型
Date: Mon, 10 Jul 2023 18:52:15 GMT(响应时间
P3p: CP=" OTI DSP COR IVA OUR IND COM "
P3p: CP=" OTI DSP COR IVA OUR IND COM "
Server: BWS/1.1 (服务器
Set-Cookie:当浏览器第一次访问服务器时会响应一个set-Cookie给浏览器)BAIDUID=38CC3D5FF00FE1D276A9A87D6B66FA25:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com(响应
Set-Cookie: BIDUPSID=38CC3D5FF00FE1D276A9A87D6B66FA25; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: PSTM=1689015135; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: BAIDUID=38CC3D5FF00FE1D22CE9CDFC03EA4184:FG=1; max-age=31536000; expires=Tue, 09-Jul-24 18:52:15 GMT; domain=.baidu.com; path=/; version=1; comment=bd
Set-Cookie: BDSVRTM=31; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=36546_38643_38831_39027_39023_38942_38882_38958_38955_39009_39013_39037_38919_38972_38814_38639_26350_39041_39046; path=/; domain=.baidu.com
Traceid: 1689015135069700634617022122667376863418
X-Ua-Compatible: IE=Edge,chrome=1
空一行
响应的内容

四、企业接口测试的流程和方案?

  1. 拿到api接口文档,熟悉接口的业务,接入地址,鉴权,入参,出参,错误码。
  2. 接口计划和方案
    思路:
    正例:输入正常的入参,查看接口是否返回成功。
    反例:
    鉴权反例:鉴权为空,鉴权码错误,鉴权码已过期…
    参数反例:参数为空,单数类型异常,参数长度异常。
    错误码的覆盖。
    其他场景:分页异常。
  3. 编写用例和评审。
  4. 执行接口测试。
  5. 输出接口测试报告。

五、接口测试工具以及Postman介绍

接口测试工具:

postman,jmeter,soupui,apipost,ffiddler,charles

Postman简介

是一款功能强大的网页调试与发送HTTP请求的Chrome插件,专为接口而生

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

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

相关文章

港联证券|暑期亲子游和避暑游需求旺盛 数据要素产业价值有望加速释放

上周五&#xff0c;A股再度回调&#xff0c;沪指失守3200点&#xff0c;创业板指、科创50指数跌约1%。截至收盘&#xff0c;沪指跌0.28%报3196.61点&#xff0c;深成指跌0.73%报10888.55点&#xff0c;创业板指跌1.05%报2169.21点&#xff0c;科创50指数跌1.02%&#xff1b;两市…

Vue生态及实践 - Nuxt

Nuxt.js Nuxt.js - Vue.js 通用应用框架 | Nuxt.js 中文网 Nuxt.js 中文教程_w3cschool 开源社区仁人志士创建了开箱可用的&#xff1a;Nuxt.js框架&#xff0c;帮助我们更快的实现ssr的同构。 Nuxt.js是一个基于Vue.js的通用应用框架它是对客户端&#xff0c;服务端基础架…

LeetCode 打卡day59--单调栈

一个人的朝圣 — LeetCode打卡第59-60天 知识总结 Leetcode 739. 每日温度题目说明代码说明 Leetcode 496. 下一个更大元素 I题目说明代码说明 Leetcode 84. 柱状图中最大的矩形题目说明代码说明 知识总结 今天做了单调栈的三道题 总结了一个模版套路: 寻找下一个更大的数 f…

Spring IOC - Bean的扫描

Component及其衍生注解&#xff1a;Configuration、Controller、Service、Repository标记的类&#xff0c;被Spring IOC扫描到后&#xff0c;即可被容器管理起来。其原理基本涵盖在AnnotationConfigApplicationContext构造函数体的三行代码里。 public AnnotationConfigApplic…

学校一键式报警器如何使用

学校一键式报警器通常是在紧急情况下使用的&#xff0c;例如火灾、恶性事件等。以下是一般的使用方法&#xff1a;1. 紧急情况发生时&#xff0c;发现危险或有人身安全受到威胁&#xff0c;迅速找到一键式报警器。2. 按下报警器上的按钮&#xff0c;通常是一个明显的红色按钮。…

查看docker运行状态,与查看防火墙运行状态

安装docker这里不细述了&#xff0c;可以通过 docker -version 查看安装的版本&#xff0c;出现成功就表示安装是ok的 查看docker状态是否启动状态&#xff0c;出现running就表示成功 systemctl status docker 如果没有则需要输入启动命令来启动 systemctl start docker 没报错…

前端学习——Web API (Day2)

Dom事件基础 事件监听 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"width…

干货 | 联通政企数据运营体系建设

以下内容整理自大数据能力提升项目必修课《大数据系统基础》同学们的期末答辩汇报。 我们将从以下几个方面为大家介绍我们的项目&#xff0c;首先第一部分是需求分析&#xff0c;然后是数据提取及处理&#xff0c;接着样本定义与分布、特征粗筛与模型选择、特征精筛与评分卡建模…

Java性能权威指南-总结28

Java性能权威指南-总结28 数据库性能的最佳实践Lambda表达式和匿名类Lambda表达式与匿名类加载 数据库性能的最佳实践 Lambda表达式和匿名类 对很多开发者而言&#xff0c;Java 8最激动人心的特性就是加入了Lambda表达式。不可否认&#xff0c;Lambda对Java开发者的开发效率有…

mac电脑 flv转mp4怎么转

mac电脑 flv转mp4怎么转&#xff1f;相信大家平时在电脑上下载视频的时候遇到过这样一个尴尬的事情&#xff0c;下载下来的视频不能被直接打开播放&#xff0c;而是需要使用专门的播放器才能打开查看&#xff0c;例如flv就是这样一种视频格式。大家都知道视频文件的格式种类非常…

CoT及ReAct解密与实战(三)

第8章 CoT及ReAct解密与实战 8.5 ReAct及计划和执行案例实战 我们来看一下LangChain的官方文档,首先它很简单的说了一下,计划和执行代理(Plan and execute agents)首先计划要做什么,然后执行子任务来实现目标,言外之意ReAct不是这样的,我们在ReAct中看见的内容是,有一步…

Debian使用Tomcat实现国密访问

环境准备&#xff1a; Debian 10 java version "1.8.0_131 Apache Tomcat/9.0.76 360国密浏览器 一.下载并安装jdk8 1.访问网站下载jdk8 https://www.oracle.com/java/technologies/downloads/#java8 2.解压到相应目录 3.配置环境变量 vim ~/.bashrc# java export JAV…

云端地球在建筑设计行业的应用

背景概述 建筑设计行业一直处于技术革新的前沿。随着数字化、信息化、智能化等技术的不断发展&#xff0c;建筑设计也将呈现出新的发展趋势。比如&#xff0c;计算机辅助设计、虚拟现实技术等将成为建筑设计的重要工具。此外&#xff0c;人工智能、大数据、物联网等新技术的应…

leetcode刷题——复制带随机指针的链表

思维导图&#xff1a; 题目描述&#xff1a; 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点…

WPS Office AI实战:AI带来的文档智能化体验

前面我们已经了解过 AI 在PPT制作、Word写作方面带来的革命性效率提供&#xff0c;今天一起来聊聊在线文档的AI应用。如果你习惯用在线文档的话&#xff0c;一样也可以享受到AI的强大优势。金山在线智能云文档已经接入WPS Office AI套件大家庭&#xff0c;用AI来改造写作的新时…

QT day3作业

有点不对&#xff0c;不能运行了&#xff0c;怪事 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//字体 void Widget::on…

认识MQTT(C语言)

MQTT基础概念 MQTT 入门介绍 | 菜鸟教程 MQTT使用 在linux下搭建MQTT服务器&#xff08;Broker&#xff09; 在linux下执行下面命令安装MQTT服务器 &#x1f4ce;mosquitto-1.6.3.tar.gzhttps://www.yuque.com/attachments/yuque/0/2023/gz/35243076/1687955850547-b594126…

003-Dubbo服务的发布和引用

目录 Dubbo3.0发布注册应用级注册-配置应用级注册-端口应用级注册-消费者-确定服务信息应用级注册-消费者-元数据中心 Dubbo3.0 发布注册 应用级注册-配置 因为接口级注册随着服务增多&#xff0c;注册中压力会越来越大 所以在3.0版本提供了应用级注册 #默认是all 接口和应…

两两交换链表中的节点——力扣24

题目描述 方法一&#xff1a;递归 class Solution{ public:ListNode* swapPairs(ListNode* head){if(!head || !head->next){return head;} ListNode* newHead head->next;head->next swapPairs(newHead->next);newHead->next head;return newHead;} }; 方法…

python以固定时间间隔取行

目录 1. 间隔取行2. 时间戳间隔取行&#xff1a;下采样参考链接 1. 间隔取行 dataframe 实现每隔 n 行取 1 行 近期在做数据分析的时候&#xff0c;用到了对csv文件每隔n行取1行的操作&#xff0c;正常情况下会立马想到for循环&#xff0c;可能大家还会有其他方法&#xff0c…