| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 接口测试基础知识 -> 正文阅读 |
|
[开发测试]接口测试基础知识 |
一、什么是接口? API(Application Programming Interface,?应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。--百度百科 (1)程序内部的接口:方法与方法、模块与模块之间的交互,程序内部抛出的接口。比如淘宝,要先登录才能看下单,订单和登录这两个模块之间就要有交互,就会抛出一个接口,进行内部系统调用。 (2)系统对外的接口:从别人的网站或服务器上获取资源或信息,对方不会提供数据库共享,只能提供一个写好的方法来获取数据,如购物网站和第三方支付之间,购物时可选择第三方支付方法(微信、淘宝、银行卡),但第三方不会提供自己的数据库给购物网站,只会提供一个接口,供购物网站进行调用。 二、接口测试价值 1、越底层发现bug,它的修复成本是越低的 2、前端随便变,接口测好了,后端不用变 3、检查系统的安全性、稳定性, 比如 边界参数,防刷 4、检查系统的异常处理能力 5、可以发现很多页面操作发现不了的问题 三、必备知识(从前端走向后端) 1、常用工具:postman、jmeter 2、基础知识:协议类型、常见状态码、get/post区别、URL构成、报文构成、通讯原理 3、常见的字符类型,比如:string、int、long、float、double,?char、varchar、text、datatime等 4、数据库操作:增删改查 5、linux基础:了解模块组成架构、会分析日志 6、语言基础:能看懂接口实现,会review代码逻辑和架构设计,能定位bug到代码行; 四 、常用接口类型和工具 1、http api接口:走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串。 ??? ?常用方法:Put,Delete、post,get,即增删改查。 ? ? ?常用工具:postman、jmeter。
2、webService接口:走soap协议,通过http传输,请求报文和返回报文都是xml格式的,可以用soupui、jmeter等工具进行测试。 五、基础知识 【GET和POST的区别】 (1)GET使用URL或Cookie传参。而POST将数据放在BODY中。 (2)GET的URL会有长度上的限制,则POST的数据则可以非常大。 (3)POST比GET安全,数据在地址栏上不可见。 (4)一般get请求用来获取数据,post请求用来发送数据。 【http接口组成】 1、接口说明 2、调用url 3、请求方法(get\post) 4、请求参数、参数类型、请求参数说明 5、返回参数说明 六、接口测试流程 1、需求文档-PM:充分理解需求,设想有哪些接口 2、接口文档-RD:把需求点与接口定义建立对应关系 3、接口测试 用例设计 4、接口测试用例评审:与RD沟通确认 接口数、接口含义、入参和返回数据含义、状态码含义、业务场景等等; 5、部署后端代码,保证系统接口可用性 6、接口测试执行,bug收录 7、输出接口测试报告 七.反思与改进 踩过的坑 1、开发未及时更新接口文档,延误测试进度 2、接口文档参数说明不明确,导致理解有偏差 3、有些接口需要传token,测试用户身份太多易混淆,导致token传错,响应结果与实际结果不一致 4、使用postman时,URL,参数不小心输错,导致获取不到响应结果 5、测试地址未切换,导致测试结果有偏差 需要改进的点 1、结合业务实际场景进行测试 2、接口复杂时与开发及时沟通了解参数意义 3、需求不明确的地方与产品及时确认 4、需要了解代码架构,接口入口与脉络 5、关注返回参数的同时也要关注接口响应时间 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 18:21:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |