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

韩韩韩韩兵·2020-12-07 11:15
一般理解的接口测试无非就是,输入url、参数值,点击请求发送查看一下响应值和响应状态码是否正常就完事儿了。
发到家
看了斤斤计较斤斤计较记录了句记录了斤斤计较咯我无聊看了突突突突突突突突突遇突突突突天兔兔t z z广东省2007-08
中检测试主要从事电子商检测业务可划分为电子电器产品检测、日用消费品产品检测、新能源产品检测三大领域。
我要联系

编者按:本文来自微信公众号“软件测试培训”(ID:iTestTrain),作者:软件测试培训,36氪经授权发布。

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

https://item.m.jd.com/product/10023427978355.html?wxa_abtest=o&utm_source=iosapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=CopyURL&ad_od=share&gx=RnE2wTZZbDWKzdRd9tUpCv_pu4hC

以前两本书:

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

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



+1
0

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

报道的项目

发到家
我要联系
中检测试主要从事电子商检测业务可划分为电子电器产品检测、日用消费品产品检测、新能源产品检测三大领域。

提及的项目

查看项目库

下一篇

121212

2020-12-03

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业