当前位置:网站首页>【学习】接口测试用例编写和测试关注点
【学习】接口测试用例编写和测试关注点
2020-11-06 21:30:00 【青青QQ】
一、为什么要做接口测试
在日常开发过程中,有人做前端开发,有人负责后端开发。接口就是连接前后台,由于前端开发和后端开发的速度可能不一样,例如后端开发好了,但是前端没有开发。那么我们是不是就不需要测试呢?一般我们大部分人都是做功能测试,很多是界面的功能测试。如果你理解了接口测试,那么你就可以针对接口进行测试。
二、什么是接口、什么是接口测试
接口:主要是子模块或者子系统间交互并相互作用的部分。
这里说的接口是广义的,客户端与后台服务间的协议;插件间通信的接口;模块间的接口;再小到一个类提供的方法;都可以理解为接口。
接口测试:是指针对模块或系统间接口进行的测试。
三、接口测试流程
需求讨论,需求评审,场景设计,编写用列,准备数据,执行测试
四、接口测试用例设计
1接口测试的用例设计,主要从输入和接口处理两方面考虑:
1)针对输入,可按照参数类型进行设计;
2)针对接口处理,可按照逻辑进行用例设计;
3)针对输出,可根据结果进行分析设计。
2针对输入设计
对于接口来说,输入就是入参。常见参数类型有:
(1)数值型(int,long,float,double等)
(2)字符串类型
(3)数组或链表
(4)结构体
五.怎么进行接口测试
通过工具模拟客户端向服务端发送请求并接受服务器返回的数据来对接口的功能,逻辑业务,异常,安全进行测试
功能测试:测试这个接口的功能是否实现,并且测试这个接口是否按照接口文档来进行开发的(比如说接口文档规定了一些关键字,而开大的时候把关键字改成了其他的关键字,因为在整个项目周期,并不只有一个开发而是有多个,所以可能因为在开发过程中因为关键字不一样导致某些开发的功能异常,还有自动化脚本也会发生异常)
逻辑业务,主要指的是一些逻辑业务依赖关系(比如支付宝提交订单的时候要保证你是在登录的情况下,如果你没有登录而提交成功了,这就是异常,可以修改请求的cookie来测试)
异常测试:参数异常:关键字参数(应用其他的关键字替换进行测试)、参数为空、参数多少(通过添加参数增添个数),参数错误。数据异常:关键字数据(填入的数据用其他的数据语言的数据替用)、数据长度、数据为空、数据错误。
由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:apipost、jmeter、java+httpclient、robotframework+httplibrary等。
–也可以用 接口自动化来实现,就是用代码实现,框架和UI自动化差不多,发送请求用断言来判断。
六、接口测试需要用到的工具
接口测试常用的工具,fiddler抓取请求,apipost模拟客户端通过对fiddler抓取的请求修改并发送到服务端并接收服务器返回的数据及异常来进行验证接口。工具不是固定的,需要根据项目来进行选择。
七、接口测试发现的典型问题
接口测试经常遇到的bug和问题,如下:
(1)传入参数处理不当,导致程序crash;
(2)类型溢出,导致数据读出和写入不一致;
(3)因对象权限未进行校验,可以访问其他用户敏感信息;
(4)状态处理不当,导致逻辑出现错乱;
(5)逻辑校验不完善,可利用漏洞获取非正当利益等。
工具下载链接:
版权声明
本文为[青青QQ]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4599769/blog/4704921
边栏推荐
- 代码生成器插件与Creator预制体文件解析
- What knowledge do Python automated testing learn?
- What are the common problems of DTU connection
- 零基础打造一款属于自己的网页搜索引擎
- 这个项目可以让你在几分钟快速了解某个编程语言
- Solve the problem of database insert data garbled in PL / SQL developer
- Details of dapr implementing distributed stateful service
- electron 實現檔案下載管理器
- Jetcache buried some of the operation, you can't accept it
- Network programming NiO: Bio and NiO
猜你喜欢
Gather in Beijing! The countdown to openi 2020
美团内部讲座|周烜:华东师范大学的数据库系统研究
What are manufacturing and new automation technologies?
华为云微认证考试简介
用一个例子理解JS函数的底层处理机制
【自学unity2d传奇游戏开发】地图编辑器
Mac installation hanlp, and win installation and use
2020年第四届中国 BIM (数字建造)经理高峰论坛即将在杭举办
The dynamic thread pool in Kitty supports Nacos and Apollo multi configuration centers
Who says cat can't do link tracking? Stand up for me
随机推荐
理解格式化原理
给字节的学姐讲如何准备“系统设计面试”
Get twice the result with half the effort: automation without cabinet
A brief history of neural networks
如何在终端启动Coda 2中隐藏的首选项?
hdu3974 Assign the task線段樹 dfs序
Python基础数据类型——tuple浅析
一篇文章教会你使用Python网络爬虫下载酷狗音乐
Five vuex plug-ins for your next vuejs project
Even liver three all night, jvm77 high frequency interview questions detailed analysis, this?
How to turn data into assets? Attracting data scientists
Use modelarts quickly, zero base white can also play AI!
It is really necessary to build a distributed ID generation service
electron 實現檔案下載管理器
Discussion on the development practice of aspnetcore, a cross platform framework
Python filtering sensitive word records
Wechat applet: prevent multiple click jump (function throttling)
消息队列(MessageQueue)-分析
【自学unity2d传奇游戏开发】如何让角色动起来
美团内部讲座|周烜:华东师范大学的数据库系统研究