软件测试必备技能—接口测试

news2024/11/26 21:26:00

接口测试,其实并没有那么可怕,但是作为测试人员也是必不可少的技能。

接口分为:内部接口和外部接口

内部接口:是浏览器与服务器的接口。这个很容易理解,web开发一般分前端和后端,前端开发人员用html/css/javascript等技术。后端开发人员用php/java/python等各种语言。用户输入的数据是输入到前端页面上。怎样把这些数据传递到后台呢?通过http协议的get、post请求来实现前后端的数据传递。这也可以认为是接口测试,这通常称之为内部接口。

外部接口:大部分都是服务端与服务端之间的调用接口。比如淘宝、京东等购物网站,在进行付款时,可以选择支付宝、微信、网银等支付方式,那这些支付宝、微信支付、网银等久提供了对外服务的接口,这就是外部接口

不管是内部接口还是外部接口,都要引起重视,今天先说下内部接口测试,不要因为测试人员的忽视,导致接口有bug,相信大家也看过一个bug在45分钟损失4亿多美元的真实例子,作为测试人员也要为我们所测试的应用保质保量,风险降到最低,是我们的责任也是我们的义务。

同时,我也把他也给我准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

Python自动化测试开发教程天花板,27天速成,从入门到就业,比你盲目自学好多了,允许白嫖!

1、http常用的请求方法:

a.get--从指定的资源请求数据

b.post--向指定的资源提交要被处理的数据

c.put--向指定的资源修改数据

d.delete--向指定的资源删除数据

通常我们用的最多的请求方式:get和post参数到相应的URL。

2、测试步骤:

编写接口调用程序(一般可自己搞个表单提交或使用其他测试工具,如postman等)

模拟输入参数

检查接口输出

3、测试技能要求:

能写接口调用程序

懂json,能分析结果输出

熟悉应用功能涉及到数据存取部分,能了解具体流程

4、数据准备:

正向用例:符合业务逻辑的数据

特殊字符,如:<、>、&、=、%、空格等。重点是&、=、空格,这些字符在post、get请求中是关键字,如果没有进行转义,就会报错

空参数。如果参数为必选,不传该参数,会有何结果

参数类型错误。如需要输入整形,实际输入字符型,会有何结果

参数类型错误。如需要输入整型,实际输入字符型,小数,负数,会有何结果

字符串长度超长,会有何结果

用户可输入的参数,是否能SQL注入

5、结果检查:

输出结果是否符合逻辑。原本正确的操作,是否返回true。原本异常的操作,是否能显示正确的错误提示

输出结果字段值是否正确,是否按照约定都正常输出

接口测试其实没那么难的,只要用心学,都是可以达到的。后续再专门介绍外部接口测试以及支付相关测试,今天就写到这里。真心祝愿每一位读者升职加薪!

写在最后

PS:这套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

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

相关文章

基于Python+Pygame实现一个滑雪小游戏

目录 项目介绍Pygame介绍项目文件夹介绍演示视频代码免费领取 一、项目介绍 使用介绍&#xff1a;运行main.py文件后&#xff0c;通过左右按键可以控制小人的移动&#xff0c;如果经过旗杆那么10分&#xff0c;如果碰到树木那么减50分。 二、Pygame介绍 Pygame是一个用于游…

MS5910PA为行业内领先的可配置10bit到16bit分辨率的旋变数字转换器,可替代AD2S1210

MS5910PA 是一款可配置 10bit 到 16bit 分辨率的旋 变数字转换器。片上集成正弦波激励电路&#xff0c;正弦和余弦 允许输入峰峰值幅度为 2.3V 到 4.0V &#xff0c;频率范围为 2kHz 至 20kHz 。 转换器可并行或串行输出角度和速度对应的 数字量。 MS5910PA 采…

【解锁未来】探索Web3的无限可能-02

文章目录 什么是Web3 &#xff1f;Web3对公司的意义&#xff1f; 什么是Web3 &#xff1f; 简单地说&#xff0c;Web3 是加密货币的延伸&#xff0c;它以新的方式使用区块链来达到新的目的。区块链可以存储钱包中代币的数量、自我执行合同的条款或去中心化应用程序&#xff08;…

【Python】collections.deque

Python的collections模块是容器数据类型&#xff0c;其中的deque对象是队列容器。返回双向队列对象&#xff0c;类似列表。 from collections import deque[x for x in dir(deque) if not x.startswith(_)] # 结果&#xff1a; [append, appendleft, clear, copy, count, exte…

【Spring MVC】Spring MVC框架的介绍及其使用方法

目录 一、MVC模式 1.1 MVC模式的发展 1.1.1 Model1 模型 1.1.2 Model2 模型 1.2 MVC模式简介 1.模型(Model) 2.视图(View) 3.控制器(Controller) 二、Spring MVC模型简介 三、Spring MVC 六大核心组件 3.1 六大组件简介 1.前端控制器 DispatcherServlet&#xff08…

机器学习(深度学习)轴承故障诊断分类(提供故障数据和python代码实现)

机器学习&#xff08;深度学习&#xff09;故障诊断分类&#xff08;提供故障数据和python代码实现&#xff09; 轴承故障数据集和python代码自取&#xff1a;https://mbd.pub/o/bread/ZZWTm5hw 摘要&#xff1a;机器学习广泛的应用于机械故障诊断和故障分类问题&#xff0c;本…

全志H6-LicheePi调试记录

LPDDR3&#xff1a;K4E6E304ED-EGCG和K4E6E304ED-EGCF 最高速率不一样&#xff0c;CG是2133MHz&#xff0c;CF是1866MHz

【leetcode】27. 原地移除元素(图解)

目录 1. 思路&#xff08;图解&#xff09;2. 代码 题目链接&#xff1a;leetcode 27. 移除元素 题目描述&#xff1a; 需要注意的是&#xff0c;返回的是新数组长度&#xff0c;但是输出的是数组元素。 1. 思路&#xff08;图解&#xff09; 思路一&#xff1a;空间换时间…

基于SSM的流浪动物领养系统网站设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

自动化测试框架知识详解

自动化测试因其节约成本、提高效率、减少手动干预等优势已经日渐成为测试人员的“潮流”&#xff0c;从业人员日益清楚地明白实现自动化框架是软件自动化项目成功的关键因素之一。本篇文章将从什么是真正的自动化测试框架、自动化脚本如何工作以及自动化测试框架会如何在测试过…

手机转接器实现原理,低成本方案讲解

USB-C PD协议里&#xff0c;SRC和SNK双方之间通过CC通信来协商请求确定充电功率及数据传输速率。当个设备需要充电时&#xff0c;它会发送消息去给适配器请求充电&#xff0c;此时充电器会回应设备的请求&#xff0c;并告知其可提供的档位功率&#xff0c;设备端会根据适配器端…

newstarctf2022week2

Word-For-You(2 Gen) 和week1 的界面一样不过当时我写题的时候出了个小插曲 连接 MySQL 失败: Access denied for user rootlocalhost 这句话印在了背景&#xff0c;后来再进就没了&#xff0c;我猜测是报错注入 想办法传参 可以看到一个name2,试着传参 发现有回显三个字段…

深入理解WPF中的依赖注入和控制反转

在WPF开发中&#xff0c;依赖注入&#xff08;Dependency Injection&#xff09;和控制反转&#xff08;Inversion of Control&#xff09;是程序解耦的关键&#xff0c;在当今软件工程中占有举足轻重的地位&#xff0c;两者之间有着密不可分的联系。今天就以一个简单的小例子&…

692. 前k个高频单词(map)

目录 一、题目 二、代码 一、题目 692. 前K个高频单词 - 力扣&#xff08;LeetCode&#xff09; 二、代码 class Solution {class KV_sort{public:bool operator()(const pair<string,int> kv1, const pair<string,int> kv2){if(kv1.first kv2.first )//两个对…

MyBatis 操作数据库

一、什么是 MyBatis&#xff1f; MyBatis 是是一个ORM 框架&#xff0c;ORM&#xff08;Object Relational Mapping&#xff09;&#xff0c;即对象关系映射。底层实现是基于 JDBC 的&#xff0c;但是 MyBatis 隐藏了 JDBC 的复杂性&#xff0c;提供了简单易用的 API&#xff…

MedianFlow 跟踪算法详解

在技术日新月异的时代&#xff0c;今天的技术可能在明天就会被新的技术取代&#xff0c;例如现在爆火的大模型。但目前看来&#xff0c;大模型还不能做到无所不能。 所以这篇博客还是来考古一下&#xff0c;写一下传统的跟踪算法。这里不是为了怼大模型而为了写一篇传统算法而…

【1++的Linux】之线程(一)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的Linux】 文章目录 一&#xff0c;Linux线程概念二&#xff0c;线程的优缺点进程和线程类比现实 三&#xff0c; 线程的操作线程的私有资源 && 线程的创建线程的等待线程终止线程分离…

初学Flutter:swiper实现

效果展示&#xff1a; flutter swiper 1、安装 card_swiper 2、引入card_swiper import package:card_swiper/card_swiper.dart;3、使用 这里我主要是对官网例子进行实践&#xff0c;主要是5种常用的swiper 1、普遍的swiper //custom swiper class CustomSwiper extends S…

下载安装各种版本的Vscode以及解决VScode官网下载慢的问题

下载指定版本 在Vscode官网 Vscode官网更新子页 这里的左侧栏点击其中一个会跳转到某个版本&#xff0c;或者在官网子页 https://code.visualstudio.com/updates的后面跟上需要的版本号即可完成目标版本下载页面的跳转 选择Linux里的ARM包不会自动下载而是跳转到另一个页面 …

vue-admin-template 安装遇到的问题

vue-element-admin 是一个后台前端解决方案&#xff0c;它基于 vue 和 element-ui实现。 参考文档&#xff1a; 官网&#xff1a; https://panjiachen.github.io/vue-element-admin-site/zh/guide/#%E5%8A%9F%E8%83%BD遇到的问题&#xff1a; npm ERR! Error while executing…