接口测试:轻松掌握基础知识,快速提升测试技能!

news2024/11/14 20:41:20

1.client端和server端

          开始接口测试之前,首先搞清楚client端与server端是什么,区别。

   web前端,顾名思义,指用户可以直观操作和看到的界面,包括web页面的结构,web的外观视觉表现及web层面的交互实现。

   web后端,更多是指与数据库交互进行处理相应的业务逻辑。需要考虑功能的实现,数据存放等。

    前端和后端主要的开发语言有哪些?

    web前端开发语言:html、CSS样式代码、js、javascript脚本,php等  

   andriod:Android,IOS:swift、object-c

    后端:java、python、php、.net,那么问题来了,前端与后端开发语言不一样,前端用户操作发送请求,后端如何清楚且返回用户想要的数据呢?它们如何沟通和交互呢?    

这就是通过接口啦!

2.接口测试

2.1什么是接口?(API)

  API全称(Application Progarmming Interface),接口是一个位于复杂系统之上能简化任务,像中间人一样不需要你了解详细的所有细节。比如用户登录页面,只需要调用登录接口,就可以达到登录系统的目的。

  接口返回的数据类型都是json,json是一种通用的数据类型

2.2什么是接口测试及为何做接口测试?

  接口测试是测试系统组件接口的一种测试,主要检测外部系统与系统之间,内部各子系统之间的交互,检查数据交换,相互逻辑关系等

  接口测试也是一种功能测试,与普通手工测试唯一的区别就是:功能测试在网页上模拟用户操作,接口测试是协助工具,通过接口文档,输入请求参数,校验返回的正确性

  接口测试是一种尽早介入测试的方法,不需要等前后端开发完成才进行测试,提高效率。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn888】

2.3测试流程

  需求评审,熟悉需求和业务->开发提供接口文档->设计测试用例->用例评审->转测后执行测试->编写测试报告

  接口文档要包含以下内容:1、接口描述,这个接口是做什么的;2、请求URL;3、请求参数,请求参数类型,请求参数说明等;4、返回响应,返回参数说明

2.4 GET&POST请求

  GET请求,直接在地址栏输入就行,只要在浏览器地址栏直接发送请求的,都是GET请求,Post请求不行,需要借助工具完成。

    GET请求和POST请求的区别:

  1、GET使用URL或Cookie传参,POST将数据放在BODY中

  2、GET的URL会有长度上的限制,则POST的数据则可以非常大,这点在以前浏览器技术不好时存在,现在get请求的url无限制。

  3、POST比GET安全,因为数据在地址栏上不可见,其实post请求也并不安全,通过抓包工具也就可获取到body数据。

  4、一般get请求用来获取数据,post请求用来发送数据。

注意:GET请求如何在URL中带参数,url?/param=value1&param2=value2,问号后面就是请求的参数及参数名,多个参数时用&连接。

2.5 HTTP状态码

   Http本身有一个状态码,在每次发送http请求后,返回一个响应,在响应中带有状态码,标示该请求是否成功。

  常见的状态码:

  • 200,表示请求发送且响应成功,2开头的都表示请求成功了;
  • 300,3开头的表示重定向,常见的302,表示把该请求重定向到别的页面
  • 400,400表示发送的请求有语法错误,401表示访问的页面没有授权,402表示没有权限访问该页面,404表示没有该页面
  • 500,5开头都表示服务器异常,500表示服务器内部异常,504表示服务器端超时,没有返回结果

2.6 Cookie、Session

  • Cookie是保存在浏览器端的key-value键值对,它可以辨别用户身份,存储一些用户信息。
  • Cookie保留存储服务器发送给浏览器的一些响应数据,根据有效期限有会话cookie和永久cookie两种,浏览器关闭,会话cookie没了,session结束。
  • Session是保存在服务器端的key-value键值对,服务器创建每个Cookie时,会给每个Cookie分配一个ID,Cookie保存sessionID,当浏览器再次发送请求过来时,服务器根据Cookie携带的sessionID返回对应的响应数据。

2.7 Http请求

  HTTP请求包含请求头header和请求体bod;

  Header:包含请求方法,请求URL,Cookie,Cache-Control(设置响应数据是否在客户端保存),Accept(可接受的数据类型)等。Body:包含的是具体的数据。

 2.8 如何设计测试用例

  主要从以下几个方面考虑:

    2.8.1  正常验证:业务规则,功能需求,按照接口文档中的要求,参数正常输入,返回预期的结果

    2.8.2  异常验证:不满足前置条件,常见的有些接口需要token或cookie,携带默认参数值,带默认值的参数不填写,不转参,参数长度不符合,参数类型异常等

    2.8.3 安全性验证:密码安全校验规则,密码复杂程度,像购物订单,用户下单后,服务器是否再校验等

END今天的分享就到此结束了~

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

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

相关文章

Python---函数的参数类型

位置参数 理论上,在函数定义时,我们可以为其定义多个参数。但是在函数调用时,我们也应该传递多个参数,正常情况,其要一一对应。 相关链接:Python---函数的作用,定义,使用步骤&…

jQuery 第十一章(表单验证插件推荐)

文章目录 前言jValidateZebra FormjQuery.validValValidityValidForm BuilderForm ValidatorProgressionformvalidationjQuery Validation PluginjQuery Validation EnginejQuery ValidateValidarium后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏&…

单链表的反转?太细了哥们!细到离谱!

单链表的反转(面试常出): ​ 单链表的反转,可以通过很多种方法实现。包括迭代法,递归法, 迭代法: 定义三个指针:prev、current和next,它们分别表示前一个节点、当前节点…

Excel动态选择某一行/列的最后一个数据

选择列的最后一个数据&#xff1a; 以A列为例&#xff0c;使用&#xff1a; LOOKUP(1,0/(A:A<>""),A:A)选择行的最后一个数据&#xff1a; 以第3行为例&#xff0c;使用&#xff1a; LOOKUP(1,0/(3:3<>""),3:3)示例程序 列最后一个数据&a…

IO口速度影响了什么?

我们在初学单片机的时候都知道单片机GPIO的作用是巨大的&#xff0c;在配置GPIO的时候&#xff0c;结构体初始化里有一个选项是配置输入输出速度的&#xff0c;对于这个速度输出是必须要配置的&#xff0c;输入没有明令说明需不需要配置。 这个速度对于学习过32单片机的都应该知…

python——第十三天

uuid 是通用唯一识别码&#xff08;Universally Unique identifier&#xff09;的缩写 UUID是一个128比特的数值 uuid模块&#xff1a; 获取一个128位&#xff08;比特&#xff09;的永不重复的数字&#xff0c;当然我们使用的时候会转换为32个的字符串 impor uuud uui…

js粒子效果(二)

效果: 代码: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Particle Animation</title><…

C#,《小白学程序》第七课:列表(List)其一,编制《高铁车次信息表》

1 文本格式 /// <summary> /// 车站信息类 class /// </summary> public class Station { /// <summary> /// 编号 /// </summary> public int Id { get; set; } 0; /// <summary> /// 车站名 /// </summary>…

【算法专题】滑动窗口—无重复字符的最长子串

力扣题目链接&#xff1a;无重复字符的最长子串 一、题目解析 二、算法原理 解法一&#xff1a;暴力解法&#xff08;时间复杂度最坏&#xff1a;O(N)&#xff09; 从每一个位置开始往后枚举&#xff0c;在往后寻找无重复最长子串时&#xff0c;可以利用哈希表来统计字符出现…

2023年【汽车驾驶员(中级)】最新解析及汽车驾驶员(中级)试题及解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年汽车驾驶员&#xff08;中级&#xff09;最新解析为正在备考汽车驾驶员&#xff08;中级&#xff09;操作证的学员准备的理论考试专题&#xff0c;每个月更新的汽车驾驶员&#xff08;中级&#xff09;试题及解…

vue3 for循环创建的多个e-form 添加校验

v-for 创建 ref <el-form :model"item" :rules"state.rules" :ref"el > getRiskSpreadRef(el, index)" ></el-form>// 定义ref list const riskSpreadRefList ref<HTMLElement[]>([]);// ref存到数组 const getRiskSpread…

Error running Tomcat8: Address localhost:1099 is already in use 错误解决

摘要: 有时候运行web项目的时候会遇到 Error running Tomcat8: Address localhost:1099 is already in use 的错误&#xff0c;导致web项目无法运行。这篇 blog 介绍了解决办法。 有时候运行web项目的时候会遇到 Error running Tomcat8: Address localhost:1099 is already in …

C语言贪吃蛇(有详细注释)

这个贪吃蛇是在比特特训营里学到的&#xff0c;同时我还写了用EasyX图形库实现的图形化贪吃蛇&#xff0c;含有每个函数的实现以及游戏中各种细节的讲解&#xff0c;感兴趣的可以去看一看。 贪吃蛇小游戏 实现效果 以下就是源码&#xff0c;感兴趣的小伙伴可以cv自己玩一玩改…

vatee万腾的科技征途:Vatee独特探索的数字化力量

在数字化时代的浪潮中&#xff0c;Vatee万腾以其独特的科技征途成为引领者。公司在数字化领域的探索之路不仅是技术的创新&#xff0c;更是一种对未知的勇敢涉足&#xff0c;是对新时代的深刻洞察和积极实践。 Vatee万腾通过独特的探索&#xff0c;展示了在数字化征途上的创新力…

分享11款原型图软件,让你的创意无限发挥!

即时设计 即时设计是一个集设计、原型、开发于一身的一站式在线设计工具&#xff0c;也是一个可以云端编辑、团队写作的在线原型网站。 即时设计 - 可实时协作的专业 UI 设计工具即时设计是一款支持在线协作的专业级 UI 设计工具&#xff0c;支持 Sketch、Figma、XD 格式导入&…

为什么说赤霞珠是葡萄酒中的明星?

种植酿酒葡萄是一项艰难的事业&#xff0c;它的成功取决于许多不同的因素。土壤和气候是最关键的因素&#xff0c;它们决定了哪些酿酒葡萄可以在哪个地区培育。来自云仓酒庄品牌雷盛红酒分享但是有些酿酒葡萄品种适应性很强&#xff0c;几乎可以在任何地方生长&#xff0c;其中…

Interactive Visual Data Analysis

Words&Contents Home | Interactive Visual Data Analysis Book Outline 这本书对视觉、互动和分析方法进行了系统而全面的概述&#xff0c;作为数据可视化方面比较好的读物&#xff1b; 目录 Words&Contents Book Outline &#xff08;一&#xff09;Introduct…

智慧城市运营管理平台解决方案:PPT全文61页,附下载

关键词&#xff1a;智慧城市建设方案&#xff0c;智慧城市解决方案&#xff0c;智慧城市的发展前景和趋势&#xff0c;智慧城市建设内容&#xff0c;智慧城市运营管理平台 一、智慧城市运营平台建设背景 随着城市化进程的加速&#xff0c;城市面临着诸多挑战&#xff0c;如环…

(Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、部分代码&#xff1a; 四、本文代码数据说明手册分享 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matalb平台编译&am…

Ubuntu系统安装docker

1.检查是否安装老版本 检查卸载老版本docker ubuntu下自带了docker的库&#xff0c;不需要添加新的源。 但是ubuntu自带的docker版本太低&#xff0c;需要先卸载旧的再安装新的。 apt-get remove docker docker-engine docker.io containerd runc 如果不能正常卸载&#x…