服务端测试之接口测试初探

本文章转载于搜狗测试

提起服务端测试,第一反应想到的可能就是http协议、socket连接、post/get发送请求等等。回想起小编当时初次接触服务端测试,真可谓一脸懵逼,不知道要干什么也不知道从哪儿开始做。服务端测试往往呈现给大家的是一个很大很宽泛的任务,我们知道要做服务端测试但却不知道怎么做,流程是啥,用什么工具去做,要达到什么样的效果。今天小编就结合最近自己做的一些服务端测试的任务,和大家聊聊服务端测试中的一个常见方法——接口测试。

一、什么是接口测试

先来看看接口测试的定义:

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

如今的软件系统通常采用前后端分离的模式进行设计与实现,即一个系统分为前端(客户端)和后端(服务端)两部分。通常服务端以接口的形式给客户端提供服务,实际上接口和客户端的功能之间是关联的:每个接口都对应着客户端一个或多个功能点;而客户端同服务端的交互,一般也是以接口作为基础,客户端根据不同的需要请求不同的接口,服务端根据客户端请求的接口及携带的参数进行逻辑处理。因此服务端测试可以先从接口测试入手,保证其对客户端提供的服务没有问题后再进行更加深入的业务逻辑测试,这也是目前我们做服务端测试的一个“套路”。

定义中说的接口包括两种:系统与系统之间的接口,内部各个子系统之间的交互点。根据不同的划分会有不同的结果:如果我们把一个系统的客户端和服务器看成一个整体,那么此时服务端的接口相当于是内部子系统之间的交互点;如果我们把客户端和服务端各自看成是一个整体,那么接口就相当于是不同系统之间的交互点了。

二、接口测试常用工具

说到接口测试,最常见的一种测试方式就是检查服务端返回的数据正确性了。实际项目中,服务端在收到客户端的请求之后,对请求进行处理并将处理的结果返回给客户端,这种结果比较常见的是Json、XML等数据格式,所以测试的时候一个主要工作就是检查这些数据的正确性。比如,服务端以Json的格式返回客户端需要的数据,那么在测试中我们就需要关注返回的Json中是否包含我们期望的字段、字段的内容是否正确等等。这个时候自动化脚本就显得非常重要了。

小编在测试过程中发现好多接口都是以Json格式返回数据的,在实际执行中,我们用到了Python的一个开源框架Requests,该框架保留了所有urllib2的优点,比起urllib2更加简洁明了,更像是纯粹的“Python”,该框架在平时接口测试中几乎所有的自动化脚本中都在使用,关于该框架,小编之前在一次公开课中做过一次分享,有兴趣的话大家可以关注搜狗测试粉丝群(459645679)进行查看哦。

还有一些工具在实际的操作中用的比较多,比如Postman。Postman是谷歌Chrome的一个插件,使用起来非常简单,可以支持我们以get/post等各种方式发送请求,当然也可以自己构造请求,服务器返回的数据会全部展示出来,便于检查,这和Fiddler比较相似。此外Postman还支持用户自行构造环境,设置检查点等,不考虑时间的情况下基本能满足接口数据验证的需求。关于Postman的安装和使用教程,网上资源比较多,此处就不再赘述了。

接口测试的工具和自动化框架可谓非常多,除了上面罗列的之外,还有许多实践中比较常用的:urllib/urllib2,Jmeter等等,关于各种工具的使用和优缺点,小编会在后续的文章中结合自己项目的使用情况和大家进行分享。

三、接口测试的用例设计

不同于功能测试,接口测试的用例设计出了要验证正常功能之外,还需要考虑其他的一些情况,总结起来,接口测试的用例设计可以从以下几个方面入手:

1.功能用例设计

服务端的接口与客户端的功能是对应的,那么这个接口是否能提供给客户端某个特定功能所需要的数据自然是我们需要验证的地方,功能性用例的主要目的是帮助我们验证该接口最初设计的功能是否被实现以及该功能是否按照规定的接口文档进行实现等等。

2.业务逻辑用例设计

业务逻辑方面的测试用例主要是针对服务端接口的处理逻辑进行的用例设计,这种用例设计不是针对某个功能点是否实现,而是对接口的处理逻辑以及一些相互依赖的业务进行验证,通常依照接口的逻辑流程图来进行。举一个例子,购物系统中的两个动作:登录和下单操作,这两个业务是相互依赖的,下单操作必须在登录完成后(登录状态下),否则无法完成下单,这个时候我们就可以设计这样一条case:没有登录的状态下进行下单操作,看服务端如何处理。

3.异常处理的情况

服务端接口和客户端之间通常是通过HTTP请求来传递数据,在发送请求的时候,客户端会携带各种不同的参数,此时服务端会根据不同的参数进行不同的处理,所以异常处理主要是针对请求中的参数情况:比如参数增加和缺省、参数的数据类型错误,参数携带错误的值、参数为空等等,这需要我们根据接口文档中各种不同的参数去构造不同的参数异常,检查服务端的响应情况。

4.性能和安全性方面

服务器的性能往往是个非常重要的关注点,在实际的测试中我们主要关注的是接口的QPS数值,以及CPU和内存占用等性能指标,通常借助于其他工具比如LoadRunner进行性能测试。安全性方面,主要考虑一些常见的安全策略比如请求加密、sql注入等等。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,802评论 6 13
  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 9,181评论 2 126
  • 一个多月的培训使我收获颇丰,感谢各位老师辛苦的付出,倾囊相授;感谢团队小伙伴的鼓励,永不言退,咱们是最好...
    小娜change阅读 229评论 0 0