浅析接口测试

本文章转载于搜狗测试

看到这篇文章的同学们一定在各种地方看到过“接口测试”这个词,那么到底接口测试是测什么?每个人可能都有自己的答案;之前跟一个同为测试的朋友聊天,内容是他的一次面试经历,面试官问他是否做过接口测试,他给了否定的答案,最后offer的评级没有给到他的预期;当时我在想,如果是我,会怎样回答呢?

先跟大家分享下我对接口测试的理解

接口测试是一种测试类型,又是一种测试方法,它是很多个领域测试工作的一部分,同时它又可以通过不同方式来执行;

功能测试

功能测试即我们常说的黑盒测试,传统意义上的黑盒测试即验证开发出来的产品是否满足产品提出的产品需求说明书,而接口实际上也是产品需求的一部分;

例如:

产品需求:客户端输入一个词,点击按钮,即按时间倒叙展示这个词相关的新闻;

功能实现:客户端将用户输入的词拼成http请求,发往服务端接口,接口查找了这个词有关的新闻,并且按时间倒叙拼接成json,回复给客户端,客户端按顺序展示。

这个例子里,中心需求 ≈ 接口功能

安全测试

经常听说的安全测试很大程度上也属于接口测试的一部分,因为接口相当于内部服务器和外界的桥梁,如果桥上没有警卫,那任何人都可以进到内部服务器,这里说的警卫其实就是接口的安全校验;

举个已经烂了的例子:

接口功能:接收用户输入的词,到数据库查询这个词的解释;

这里涉及到将用户输入的词拼成sql的过程,接口要做的不仅仅只拼接sql并执行,更重要的是过滤用户输入的异常字符串;

自动化测试

传统意义上的自动化是客户端通过框架自动执行黑盒case的过程,但接口测试同样可以自动化,看看下面的例子:

测试需求:服务端实现接收客户端输入的各种词语、句子、符号、单词等等信息,查询判断输入的类型、解释语句、或者判断这是个非法查询,客户端依据服务端返回的json展示结果。

这个需求需要非常多的输入case,比如各类短语、字符、全角、半角、空格、繁体、简体、韩语、日语等等,然而这些case有一些共同的检查点,比如:返回值要是json格式,一定要有类型字段、是否合法的bool值、如果合法的话要有解释语句内容;那么这个需求,我们就可以通过自动化来验证需求;我们只需要写好入参的case就好了;

性能测试

一般来说,性能测试即服务端接口的性能测试,这也是一个需求能否正常上线的重要关注点。

这里说的接口性能测试最重要的是下面两部分:

1、服务端能承受的最大压力;

2、正常负载时的稳定性;

单元测试

这个理由很简单,服务端接口也是码代码,也有不同的模块、类、函数,可以通过单测来保证那些服务端接口代码的底层函数的功能正确性,例如:解析json的函数、处理请求参数的函数、连接db的函数等等;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,488评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,534评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,901评论 4 61
  • 天终于冷起来。还记得小时候听来的“该冷不冷,不成年景”的老话,既然老天划出了节气,到什么样的节气就该过什么样的...
    陶安黎阅读 524评论 1 3
  • 瑟瑟西风 还道是 寂寥孤烟大漠。 云里冲宵五星旗 洒脱俯瞰江河。 神羿尚在, 笑问嫦娥, 子孙何所没? 苍穹碧落,...
    秋思枫醉阅读 302评论 0 1

友情链接更多精彩内容