浅析接口测试

摘要:
这个需求需要非常多的输入case,比如各类短语、字符、全角、半角、空格、繁体、简体、韩语、日语等等,然而这些case有一些共同的检查点,比如:返回值要是json格式,一定要有类型字段、是否合法的bool值、如果合法的话要有解释语句内容;那么这个需求,我们就可以通过自动化来验证需求;我们只需要写好入参的case就好了;性能测试一般来说,性能测试即服务端接口的性能测试,这也是一个需求能否正常上线的重要关注点。
接口测试是一种测试类型,又是一种测试方法,它是很多个领域测试工作的一部分,同时它又可以通过不同方式来执行;
功能测试

功能测试即我们常说的黑盒测试,传统意义上的黑盒测试即验证开发出来的产品是否满足产品提出的产品需求说明书,而接口实际上也是产品需求的一部分;
例如:
产品需求:客户端输入一个词,点击按钮,即按时间倒叙展示这个词相关的新闻;
功能实现:客户端将用户输入的词拼成http请求,发往服务端接口,接口查找了这个词有关的新闻,并且按时间倒叙拼接成json,回复给客户端,客户端按顺序展示。
这个例子里,中心需求 ≈ 接口功能

安全测试

经常听说的安全测试很大程度上也属于接口测试的一部分,因为接口相当于内部服务器和外界的桥梁,如果桥上没有警卫,那任何人都可以进到内部服务器,这里说的警卫其实就是接口的安全校验;
举个已经烂了的例子:
接口功能:接收用户输入的词,到数据库查询这个词的解释;
这里涉及到将用户输入的词拼成sql的过程,接口要做的不仅仅只拼接sql并执行,更重要的是过滤用户输入的异常字符串;

自动化测试

传统意义上的自动化是客户端通过框架自动执行黑盒case的过程,但接口测试同样可以自动化,看看下面的例子:
测试需求:服务端实现接收客户端输入的各种词语、句子、符号、单词等等信息,查询判断输入的类型、解释语句、或者判断这是个非法查询,客户端依据服务端返回的json展示结果。
这个需求需要非常多的输入case,比如各类短语、字符、全角、半角、空格、繁体、简体、韩语、日语等等,然而这些case有一些共同的检查点,比如:返回值要是json格式,一定要有类型字段、是否合法的bool值、如果合法的话要有解释语句内容;那么这个需求,我们就可以通过自动化来验证需求;我们只需要写好入参的case就好了;

性能测试

一般来说,性能测试即服务端接口的性能测试,这也是一个需求能否正常上线的重要关注点。
这里说的接口性能测试最重要的是下面两部分:
1、服务端能承受的最大压力;
2、正常负载时的稳定性;

单元测试

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

免责声明:文章转载自《浅析接口测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CentOS 下Mysql数据库的安装与配置SQL 将查询结果插入到另一张表中下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CLR寄宿(上) MSCOREE.DLL

CLR寄宿(上) MSCOREE.DLL托管代码调用非托管代码,.NET提供了P/Invoke(平台调用)方式,它作为.NET的基础出现在各类书籍和网络资源上,这里不再讨论。那么非托管代码如何去调用托管代码呢?我们知道,一个托管应用程序首先被操作系统启动,然后由操作系统调用CLR来托管该程序。那么.NET框架到底以什么方式让操作系统来认识它并且可以启动它呢...

keycloak~自定义rest接口

rest资源 对于我们集成keycloak来说,你可能会遇到它没有实现的功能,这时需要对kc进行扩展,资源的扩展是其中一个方面,它需要实现RealmResourceProvider和RealmResourceProviderFactory两个接口,然后在KC启动之后,它可以被注册到IOC容器里,方便以后我们直接使用。 KC里的扩展是开闭原则OCP的完美体现...

交换机安全学习笔记 第二章 MAC地址泛洪攻击

本文为书中相关知识的摘要,由于书中以思科设备为配置依据,所以笔记中补充了华为、H3C设备的相关配置。华为设备配置参考华为S2352EI 产品版本:V100R005C01文档版本:02。  H3C配置参考S7600系列文档(资料版本:6W102-20130226 产品版本:S7600系列—Release 6701及以上版本  S7600-X系列 —Relea...

接口加密该怎么测试

对明文编码生成信息摘要,以防止被篡改。比如MD5使用的是Hash算法,无论多长的输入,MD5都会输出长度为128bits的一个串。摘要算法不要秘钥,客户端和服务端采用相同的摘要算法即可针对同一段明文获取一致的密文。 对称加密   对称加密算法是共享密钥加密算法,在加密解密过程中,使用的密钥只有一个。发送和接收双方事先都知道加密的密钥,均使用这个密钥对数据...

SpringBoot启动时让方法自动执行的几种实现方式

在springBoot中我们有时候需要让项目在启动时提前加载相应的数据或者执行某个方法,那么实现提前加载的方式有哪些呢?接下来我带领大家逐个解答 1.实现ServletContextAware接口并重写其setServletContext方法 实现ServletContextAware 注意:该方法会在填充完普通Bean的属性,但是还没有进行Bean的...

spring-data-jpa自定义查询导致jdbc连接池占满

最近在测试环境遇到一次jdbc连接池占满的问题。背景如下: 有一个批量操作,分页去查表数据然后进行后续处理,该查询跨表并且需要返回自定义的字段。 spring-data-jpa提供了方便使用的JpaRepository接口,依次继承PagingAndSortingRepository、CrudRepository、Repository。 自定义查询一般步骤...