导言

接口测试对于测试人员来说应该都不会感到陌生,它是保证软件产品质量的最重要的测试手段之一,也是项目测试的一部分。它测试的主要对象是接口,是测试系统组件间接口的一种测试。清晰全面地了解接口的作用,有助于独立的构建协议抓包环境、分析协议报文,并在实际测试过程中结合业务更好地完成测试工作。本次我们有幸邀请到一位有多年接口测试经验的测试大牛,带大家从简单接口入手,初步了解掌握接口的测试方法,提升测试技能,让你在测试领域走的更远!

专访内容

1、51Testing:邓老师您好,很荣幸今天能与您进行一次深入的交流,您有多年大型项目测试经验,在多年的项目管理和测试中是否遇到过哪些难题?又是如何克服的?

您好,非常荣幸能够参与51Testing的这次专访,在多年的项目管理工作中,我遇到的难题主要还是测试进度、测试质量的把控以及关于团队成员的成长的问题。针对这些问题,进度可通过每日日报汇总中,各项目组的测试进度以及bug提交情况了解到,也可配合各测试工具比如禅道中每日用例的执行情况,从侧面进行了解;测试质量需要从基本抓取,测试用例编写,评审以及一整套测试流程把控测试质量,以及与项目组成员进行沟通了解:产品、开发;测试成员的成长:每周定期组织技术分享,团队成员轮流参与,输出PPT以及视频文档,将分享结果记入绩效考核,从侧面培养学习的激情。

2、 51Testing:您前面讲到团队成员能力的提升,现在越来越多测试人员会在工作之余学习新的技能提升自己。现在接口测试十分热门,有几个问题想替想要学习接口测试的童鞋请教一下您:(1)测试新手要如何做好接口测试?(2)没有代码基础可以学会接口测试吗?(3)接口测试的测试用例要如何设计?(4)接口测试跟其他测试的有何不同?

(1)测试新手要做好接口测试首先要了解协议以及协议的请求方式,了解接口间的数据传递,业务流程。
(2)没有代码基础也可以通过第三方工具进行接口测试。
(3)接口测试用例应考虑各参数的传递,比如传入的字符为int,在测试过程中充分考虑到该参数的特殊情况,比如:为空,传入非int型、边界值、各传入间的参数组合等等,检测接口返回数据的准确性,当然也需要考虑接口性能及安全方面。
(4)接口测试重点是检测数据间的传递以及系统间的模块与模块间相互逻辑依赖关系。接口测试的方法有很多,比较常见的是通过一些接口测试工具来实现接口数据的传递,也有编写代码来实现数据传递,以上都是可以在没有客户端界面的情况下做的,但需要对接口的实现比较熟悉......[详情]

3、 51Testing:这样听着接口测试也是不是特别抽象,您能再和我们说说做接口测试的流程一般是怎么样的?如果要做Android端的接口测试,需要注意哪些方面?

接口测试首先了解需求,了解接口的功能,选择适合的测试工具(有编码基础的同学可直接通过代码进行测试),编写测试用例,数据库中维护测试数据,执行测试,输出测试报告,后期进行持续集成方便进行回归测试;APP接口一般都是在服务端与客户端进行对接,由于服务器接口测试通过后,客户端调用可能会出现问题…如何保证客户端与服务端的接口正常对接,值得深究;在测试APP过程中,关注业务功能的同时,还需要关注底层接口间数据交互,移动端查看接口间的数据交互往往通过抓包工具来实现,目前主流的抓包工具有fiddler、Charles等,客户端发送请求后,通过抓包工具查看请求后返回的字段、数据类型等是否与接口文档中一致。

4、 51Testing:您能和我们介绍一下常用的接口测试工具有哪些吗?作为一个初级测试,想学接口测试,您有什么比较适合学习的工具呢?

常用的测试工具有:postman、jmeter、poster等等
① Postman是谷歌浏览器的一款插件
② Jmeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
③ Poster是火狐浏览器的一款插件......[详情]

5、 51Testing:如果使用Jmeter对APP的登录进行性能测试,要用Jmeter测试某一个APP登录的API进行接口性能测试,要如何实施和具体调优思路又是什么?

JMeter本就是性能测试工具,接口用例完成后,设置线程数、thinktime等设置便可开展性能测试
性能测试数据可通过参数化实现,比如登录测试数据可通过CSV Data Set Config设置参数化读取数据文件,手动增加并发数量,查看jmeter聚合报告,结合执行结果对性能进行调优.....[详情]

6、 51Testing:接口测试其实就是检查数据的交换、传递和控制管理的过程,您觉得接口测试数据用什么方式构造和存储会比较合理,有利于后期维护?

接口测试数据存放在测试数据库中,测试数据(增删改)可通过数据脚本进行维护
对于测试数据的构造你需要考虑2点:
① 入参
② 出参
根据数据驱动测试的思想,你需要将入参与出参的数据全部提取出来,单独进行管理。将接口测试作为数据驱动是最好的一种模型......[详情]

7、 51Testing:如果用Python进行自动化接口测试,要如何实现模拟不同的网络环境访问接口?系统与系统间的接口测试要怎么做?

可通过设置代理形式模拟不同网络环境,例如可通过抓包工具fiddler、Charles进行限速,或者使用第三方工具:树莓派,搭建弱网环境进行网络模拟;在移动APP测试过程中弱网测试也是必测项。系统与系统之间的接口测试与其他接口类似,只不过调用的是第三方的接口,例如支付、登录等,调用第三方接口后查看response。下面l来看Python+unittest+requests测试接口,判断接口返回的状态值是否是200

8、 51Testing:针对 App 中新业务或新功能的开发,是否要等到新业务功能接口都开发完毕后,才能落实接口测试?

在新业务或新功能开发过程中,相应的接口会新增或者修改,在开发的过程中可先了解需求,与开发沟通功能实现,数据表结构等;待接口开发完成后可进行接口测试......[详情]

9、51Testing:使用Jmeter做接口测试,怎么验证、核对响应结果中json的内容?

接口测试验证和核对响应结果可通过断言进行判断,断言通过则可判断该用例测试通过,以下简单的例子是测试未通过......[详情]

10、 51Testing:对于想学接口自动化测试的童鞋,您有什么书籍推荐吗?

接口自动化书籍目前还是比较少,建议到51testing等论坛搜索接口测试工具的资料。

由于时间关系,本次访谈正式结束,非常感谢邓老师抽出宝贵时间参加我们的访谈和对小编工作的支持,让小编对接口测试领域了解了不少,相信这次的内容也将会给测试员带来颇多的收益。希望以后能有更多的机会,能让您分享测试心得! 大家如果还有其他问题,也可以在评论中留言~


专家介绍

Miss_love

话题回顾:浅谈移动端测试和接口测试!

向专家提问
8年测试工作经验、51Testing新手上路以及移动互联网应用测试板块版主,从事过B/S、C/S、APP测试,具有多年大型项目测试经验,先后负责过某大型签章平台、可信签章平台、CRM等系统以及核心APP产品的测试,具有多年测试管理经验,现就职于某大型互联网企业,担任测试主管工作,对UI自动化、性能、接口自动化都有所研究。

专家在线视频

评论


关于我们 | 广告服务 | 招聘信息 | 会员注册 | 联系我们 | 站点地图 | | 沪ICP号05003035号
意见反馈/投稿邮箱:editor#51testing.com(请将#修改为@)
Copyright©51testing.com 2003-2017 All Rights Reserved