接口测试理论知识

1、cilent端和sever端

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

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

2、接口测试

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

接口返回的数据类型为json

3、接口测试

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

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

接口测试不需要等前后端开发完毕,可以尽早借入测试的方法。

4、测试流程

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

接口测试文档主要包括:

①接口描述  ②请求url   ③请求参数 ,请求参数类型,请求参数说明 ④返回相应,返回参数说明

5、get和post请求

get请求,直接在地址栏输入就可以直接发送请求,post请求不行,需要借助工具完成

get和post请求的区别:

①get使用url或cookie传参,post将数据放在body中

②get的url长度的限制(早期不支持,目前浏览器无限制),post的数据可以非常大

③post比get安全,因为数据在地址栏上不可见

④一般get请求是用来获取数据,post请求时用来发送数据

get请求在url带参数的表现:url?/param=value1&param2=value2,问号后面就是请求参数以及参数名,多个参数用&连接

6、http状态码

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

常见的状态码:

200 表示请求发送且响应成功,2开头的都表示请求成功了

300 3开头表示重定向,常见的302,表示把该请求重定向到别的页面

400 400表示发送的请求有语法错误,401表示该访问的页面没有授权  ,402表示没有权限访问该页面,404表示没有该页面

500 5开头都表示服务器异常,500表示服务器内部异常,504表示服务端超时,没有返回结果

7、cookie  session

cookie是保存在浏览器端的key-value值,它可以辨别用户身份,存储一些用户信息

cookie保留存储服务器发送给浏览器的一些响应数据,根据有效期限有会话cookie和永久cookie两种,浏览器关闭,会话cookie没有了,session结束

session是保存在服务端的key-value值,服务器创建每个cookie是,会给每个cookie分配一个id,cookie保存sessionID,当浏览器再次发送请求过来时,服务器根据cookie携带的sessionID返回对应的响应数据

8、http请求

http请求包含请求头header和请求体bod

header:请求方法,请求url,cookie,cache-control (设置相应数据是否在客户端保存),Accept(可接受的数据类型)等

body:包含具体的数据

9、如何设计测试用例

主要从一下三个方面

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

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

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

原文地址:https://www.cnblogs.com/recommencer/p/12330911.html

时间: 2024-10-03 00:23:06

接口测试理论知识的相关文章

Web自动化测试理论知识

Web 自动化理论知识 1.自动化测试概述概念:用工具代替/辅助人工完成完成软件测试活动的过程特点:    可以对程序的新版本自动执行回归测试    可以执行一些手工测试困难或不可能进行的测试    可以更好地利用资源    测试具有一致性和可重复性误区:    期望自动化测试发现大量新故障    安全性错觉    自动化测试的维护开销 2.自动化测试的优势重复多次执行测试时节省很多时间提高测试覆盖率和测试精度实现自动化回归测试减少工作量减少手工测试人为产生的错误 提供规范化的过程和一致性更好的

TestNG学习-001-基础理论知识

此 文主要讲述用 TestNG 的基础理论知识,TestNG 的特定,编写测试过程三步骤,与 JUnit4+ 的差异,以此使亲对 TestNG 测试框架能够有一个简单的认知. 希望能对初学 TestNG 测试框架的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激! TestNG是什么?TestNG是一个灵感来自于 JUnit 和 NUnit 的一个设计用来简化广泛的测试需求的开源自动化测试框架,其引入了一些新的功能,使其功能更强大,而且易于使用,但是 TestNG 不是 JUnit 的扩展.它

堆和栈的理论知识

一.预备知识-程序的内存分配       1. 一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)-由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.2.堆区(heap)-一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收.注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵.3.全局区(静态区)(static)-全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初

JDBC编程理论知识(1)

1.SUN公司为统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC 2.JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成. 组成JDBC的2个包: (1)java.sql.*; (2)javax.sql.*; 3.JDBC在程序中的位置: 4.JDBC的六个固定步骤 1,注册数据库驱动[利用反射] 2,取得数据库连接对象Connection 3,创建SQL对象 4,执行SQL命令,并返回结果集 5,处理结果集 6,

Android初级教程对大量数据的做分页处理理论知识

有时候要加载的数据上千条时,页面加载数据就会很慢(数据加载也属于耗时操作).因此就要考虑分页甚至分批显示.先介绍一些分页的理论知识.对于具体用在哪里,会在后续博客中更新. 分页信息 1,一共多少条数据 select count(*) from blacktb; 性能低下 原因: sql解析器先查询数据字典,把*转成所有的列名和列的类型 然后把每行数据提取出来 最后统计多少行数据 select count(常量) from blacktb; 高性能的查询 不需要每行的记录,只需要行数 2,指定每页

Winsock网络编程笔记(4)----基本的理论知识

前面的笔记记录了Winsock的入门编程,领略了Winsock编程的乐趣..但这并不能算是掌握了Winsock,加深理论知识的理解才会让后续学习更加得心应手..因此,这篇笔记将记录一些有关Winsock的基本理论知识,由于是一篇笔记,鉴于看书速度有限,主要内容会慢慢地填入..错误在所难免的,希望看客更正..(*^__^*) 嘻嘻…… Winsock网络编程笔记(4)----基本的理论知识,布布扣,bubuko.com

数据库入门理论知识介绍

数据库入门理论知识介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 1.目前90%以上的公司面临的运维的瓶颈都在后端 最常见的2大瓶颈就是: 1>.数据库(极难扩展): 2>.存储: 所以说做互联网的运维工程师要是把以上两点问题解决就可以轻松的搞定整个架构 2.什么是数据库: 查百度上有长篇大论了一下数据库特点,我们可以简单的理解: 数据库就是一个存放数据的仓库,这个仓库按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数

ipv4理论知识2-分类编址、ip分类、网络标识、主机标识、地址类、地址块

分类编址 ipv4的体系结构中有分类编址和无分类编址(后续会介绍到),在分类编址时,ipv4地址分为A.B.C.D.E这5类.每类占用的IP比例和个数如下图: ipv4分类识别 计算机以二进制方式存储ipv4地址,在这种情况下可以和方便的写出一种算法,通过一个连续检查过程来查找出该ip地址的类别.流程图如下: 网络标识和主机标识 对于A.B.C类IP地址,都可以划分为网络标识和主机标识两部分.其中网络标识和主机标识的长度随地址类别的不同变化.网络标识和主机标识其实很好理解就相当于我们使用的电信的

iOS Socket理论知识

iOS Socket理论知识 序言 网络七层由下往上分别为物理层.数据链路层.网路层.传输层.会话层.表示层和应用层.其中物理层.数据链路层和网络层通常被称作媒体称,是网络工程师所研究的对象;传输层.会话层.表示层和应用层则被称作主机层,是用户所面向和关心的内容. http协议对应与应用层 TCP/UDP协议对应于传输层 IP协议对应于网络层 三者本质上没有可比性.何况HTTP协议是基于TCP连接的.TCP/IP是传输层协议,主要解决数据如何在网络中传输:而HTTP是应用层协议,主要解决如何包装