Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >接口测试不只测试参数和返回值

接口测试不只测试参数和返回值

作者头像
顾翔
发布于 2021-02-02 02:58:27
发布于 2021-02-02 02:58:27
8150
举报

顾老师新书《全栈软件测试工程师宝典》

https://item.m.jd.com/product/10023427978355.html

以前两本书的网上购买地址:

《软件测试技术实战设计、工具及管理》:

https://item.jd.com/34295655089.html

《基于Django的电子商务网站》:

https://item.jd.com/12082665.html

来源:http://www.51testing.com/

 一般理解的接口测试无非就是,输入url、参数值,点击请求发送查看一下响应值和响应状态码是否正常就完事儿了。

  但是接口测试真正的关注点不值这些,今天就给大家说说接口测试有那些需要关注的地方。

  在实际项目中,后端接口测试通过后,一般前端还需要再测试一遍,读者可能会提出疑问:后端接口测试一遍,前端也测试一遍,是不是重复测试了?其实这两者并不重复,区别在于后端接口测试和前端功能测试各自的侧重点不一样,后端接口测试侧重点是检查数据的交换、传递和控制管理过程。而前端功能测试更加测试检测提供给用户的使用功能是否正确可用。虽然各种测试的重点不一样,但也存在相同的部分,以功能测试、业务逻辑测试、性能测试安全测试为例:

一、接口功能关注点

  功能测试:由于测试最终的目标都是业务功能是否正确且稳定可用,所以不管是前端给用户使用的功能策是,还是后端的接口测试,功能保障是基本要求,也是后端测试和前端测试两种测试重合度最高的一块。

  具体关注点:

  1.接口的功能是否正确实现了

  2.接口是否按照设计文档中来实现(比如username参数写为了name,那么这就不符合,因为接口文档在整个开发中都需要使用,所以接口实际的设计要与接口设计文档中保持一致)

  3.兼容性测试:比如说今天接口进行了调整,但是前端没有进行变更,这时候需要验证新的接口是否满足旧的调用方式

  4.错误码测试:通用的错误码与业务错误码是否能够清晰的说明调用问题,错误码是否能够尽可能的全的覆盖所有的情况

  5.返回值测试:返回值除了内容需要是正确的,还需要类型也是正确的,保证调用方拿到这些参数能够正确的解析

  6.默认值测试:很多情况一些非必填的参数会有默认值,比如说一个查询的接口,参数count为返回查询的结果数量,默认为10,那么就应该有一条case来测试,当然前置条件是数据库里面必须要存在这样的数据超过10条。

二、接口业务逻辑测试

  1.是否有依赖业务,比如查看订单,是需要用户首先登录的,所以肯定要保证登录了或有相应的cookie

  2.业务逻辑测试:传递正确的参数,接口对数据库进行查询的操作,需要去验证数据库查询是否正确,接口对数据库进行增删改的操作,也需要看数据库是否同步进行了这些操作

 三、接口性能测试

  1.接口响应时间

  2.接口对应的服务器的吞吐量

  3.接口并发数量

  4.服务器进出口带宽

四、接口安全测试

  1.接口中敏感信息是否加密

  2.必要参数是否后端也进行校验(现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前端太容易了),需要后端同样进行控制,在这种情况下就需要从接口层面进行验证)

  3.接口是否防恶意请求(SQL注入)

  4.cookie:就是将header中的cookie修改或删除后看是否能返回相应的errorcode

  5.header:就是删除或修改header中部分参数的值,看是否能返回相应的errorcode

  6.唯一识别码:删除修改唯一识别码测试

五、接口测试工具

  apipost可以进行接口的功能测试和业务逻辑测试,除此之外还有强大的接口文档生成功能。

  jmeter强大的接口性能测试功能

—————————————————————————————————

顾老师课程欢迎报名

软件安全测试

https://study.163.com/course/courseMain.htm?courseId=1209779852&share=2&shareId=480000002205486

接口自动化测试

https://study.163.com/course/courseMain.htm?courseId=1209794815&share=2&shareId=480000002205486

DevOps 和Jenkins之DevOps

https://study.163.com/course/courseMain.htm?courseId=1209817844&share=2&shareId=480000002205486

DevOps与Jenkins 2.0之Jenkins

https://study.163.com/course/courseMain.htm?courseId=1209819843&share=2&shareId=480000002205486

Selenium自动化测试

https://study.163.com/course/courseMain.htm?courseId=1209835807&share=2&shareId=480000002205486

性能测试第1季:性能测试基础知识

https://study.163.com/course/courseMain.htm?courseId=1209852815&share=2&shareId=480000002205486

性能测试第2季:LoadRunner12使用

https://study.163.com/course/courseMain.htm?courseId=1209980013&share=2&shareId=480000002205486

性能测试第3季:JMeter工具使用

https://study.163.com/course/courseMain.htm?courseId=1209903814&share=2&shareId=480000002205486

性能测试第4季:监控与调优

https://study.163.com/course/courseMain.htm?courseId=1209959801&share=2&shareId=480000002205486

Django入门

https://study.163.com/course/courseMain.htm?courseId=1210020806&share=2&shareId=480000002205486

啄木鸟顾老师漫谈软件测试

https://study.163.com/course/courseMain.htm?courseId=1209958326&share=2&shareId=480000002205486

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
逻辑思维:三角形判断测试用例编写思路
https://item.m.jd.com/product/10023427978355.html
顾翔
2021/05/17
9890
逻辑思维:三角形判断测试用例编写思路
全栈软件测试工程师宝典连载(1)
《软件测试艺术》作者G.J.Myers对软件测试定义。软件测试是为了发现错误而执行程序的过程。它包括以下三个方面。
顾翔
2021/01/04
6510
全栈软件测试工程师宝典连载(1)
机器学习测试笔记(6)——数据清洗和准备
# coding:utf-8 import numpy asnp import pandas aspd#C:\Users\xiang>pip3install pandas 1 数据清洗和准备 1.1 数据概览和类型转换 #1.1.1数据概览 def data_info(): data = pd.read_csv('my.csv') print("data.info:\n",data.info()) print("data.shape:\n",data.shape)#规模 p
顾翔
2021/01/04
5580
机器学习测试笔记(6)——数据清洗和准备
机器学习测试笔记(9)——数据分析
1数据分析步骤 2数据分析方法 3数据分析工具 4机器学习分类 监督学习:有标签 无监督学习:没标签 5 数据分析库 6训练方式与预测方式 7机器学习三要素 7.1模型 7.2策略 7.2.1目
顾翔
2021/01/04
3700
机器学习测试笔记(9)——数据分析
接口测试必备网络基础知识
https://item.m.jd.com/product/10023427978355.html
顾翔
2021/02/02
6600
接口测试必备网络基础知识
机器学习测试笔记(8)——分组聚合
https://item.m.jd.com/product/10023427978355.html
顾翔
2021/01/04
3150
机器学习测试笔记(8)——分组聚合
全栈软件测试工程师宝典连载(11)
https://item.m.jd.com/product/10023427978355.html
顾翔
2021/02/02
5380
全栈软件测试工程师宝典连载(11)
测试用例之边界值
  我们在进行软件测试时,需要设计测试用例,并根据这些用例来对软件进行检测,评估其质量。
顾翔
2021/05/17
1K0
测试用例之边界值
内网渗透基石篇-- 隐藏通信隧道技术(上)
在实际的网络中,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统来检查对外连接情况,如果发现异样,就会对通信进行阻断。那么什么是隧道呢?这里的隧道,就是一种绕过端口屏蔽的通信方式。防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装,然后穿过防火墙,与对方进行通信。当封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应服务器上。
顾翔
2021/05/17
2.6K0
内网渗透基石篇-- 隐藏通信隧道技术(上)
内网渗透基石篇—信息收集(下)
目标资产信息搜集的程度,决定渗透过程的复杂程度。 目标主机信息搜集的深度,决定后渗透权限持续把控。 渗透的本质是信息搜集,而信息搜集整理为后续的情报跟进提供了强大的保证。
顾翔
2021/05/17
1.9K0
内网渗透基石篇—信息收集(下)
测试理论——SIT测试 和 UAT测试概念
  在企业级软件的测试过程中,经常会划分为三个阶段——单元测试,SIT和UAT,如果开发人员足够,通常还会在SIT之前引入代码审查机制(CodeReview)来保证软件符合客户需求且流程正确。下面简单介绍一下SIT和UAT的基本情况。
顾翔
2020/11/05
15.5K0
机器学习测试笔记(12)——线性回归方法(下)
,这样当y=0, g(x)’=0.5; y>0, g(x)’>0.5且趋于1;y<0, g(x)’<0.5且趋于0,从而达到二分类的目的。sklearn.linear_model通过LogisticRegression类实现逻辑回归。
顾翔
2021/01/04
5490
机器学习测试笔记(12)——线性回归方法(下)
Sklean数据集(4)-糖尿病
https://item.m.jd.com/product/10023427978355.html
顾翔
2021/01/04
8280
Sklean数据集(4)-糖尿病
BAT测试专家对web测试和APP测试的总结
单纯从功能测试的层面上来讲的话,App 测试、Web 测试在流程和功能测试上是没有区别的,但由于系统结构方面存在差异(web 项目,b/s 架构;app 项目,c/s 结构)在测试中还是有不同的侧重点内容,下面整理了一些内容供大家学习与参考。
顾翔
2020/11/20
1.2K0
BAT测试专家对web测试和APP测试的总结
全栈软件测试工程师宝典连载(12)
https://item.m.jd.com/product/10023427978355.html
顾翔
2021/02/02
5610
全栈软件测试工程师宝典连载(12)
通过一张图来了解一下敏捷测试和DevOps测试
现在DevOps已经成了一个非常热门话题,但是又有谁真正理解了DevOps,可能少之又少。上周聆听了茹炳晟老师的在线课程,通过一张图我才发现真正理解了DevOps。
顾翔
2020/06/01
9790
通过一张图来了解一下敏捷测试和DevOps测试
数据交互驱动测试方法探索与实践
https://item.m.jd.com/product/10023427978355.html
顾翔
2021/03/19
9220
数据交互驱动测试方法探索与实践
一文让你了解AI产品的测试 评价人工智能算法模型的几个重要指标(续)
前面讲课那么多指标,其实在Python里面可以利用sklearn这个插件快速的画出这些指标和算法。利用这个工具之前当然需要下载安装这个插件。
顾翔
2020/06/10
8910
机器学习测试笔记(11)——线性回归方法(上)
https://item.m.jd.com/product/10023427978355.html
顾翔
2021/01/04
1.4K0
机器学习测试笔记(11)——线性回归方法(上)
一文让你了解AI产品的测试 评价人工智能算法模型的几个重要指标
如何测试人工智能产品越来越受到广大测试工程师的关注,由于人工智能的测试预言(Test Oracle)不是像普通软件产品那么明确,到目前为止,基于大数据的第四代人工智能产品的测试,主要集中在“对大数据测试”“白盒测试”“基于样本分析算法的优劣”以及“对最终产品的验收测试”。“对大数据测试”主要针对数据阶段验证、对数据计算验证和对输出阶段验证;“白盒测试”主要考虑神经元覆盖(Neuron Coverage)、阈值覆盖率(Threshold Coverage)、符号变更率(Sign Change Coverage)、值变更覆盖率(Value Change Coverage)、符号-符号覆盖率(Sign-SignCoverage)和层覆盖(LayerCoverage)这六个指标;“对最终产品的验收测试”可以采用对传统软件验收测试的方法,基于业务来进行测试,比如对于人脸识别系统,是否可以在各个人脸角度变化,光线等条件下正确识别人脸。本文重点讨论的是“基于样本分析算法的优劣”。
顾翔
2020/06/10
3.5K0
推荐阅读
相关推荐
逻辑思维:三角形判断测试用例编写思路
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档