51Testing专访Miss_love:如何从零开始玩转接口测试?

发表于:2017-12-27 09:15

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:51Testing    来源:51Testing软件测试网原创

  1、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是火狐浏览器的一款插件
  学习工具可以从postman和jmeter入手,网上资料较多。
  Postman下载地址:https://www.getpostman.com/
  Jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi
  5、51Testing: 如果使用Jmeter对APP的登录进行性能测试,要用Jmeter测试某一个APP登录的api进行接口性能测试,要如何实施和具体调优思路又是什么?
  JMeter本就是性能测试工具,接口用例完成后,设置线程数、thinktime等设置便可开展性能测试
  性能测试数据可通过参数化实现,比如登录测试数据可通过CSV Data Set Config设置参数化读取数据文件,手动增加并发数量,查看jmeter聚合报告,结合执行结果对性能进行调优
  6、51Testing: 接口测试其实就是检查数据的交换、传递和控制管理的过程,您觉得接口测试数据用什么方式构造和存储会比较合理,有利于后期维护?
  回答:接口测试数据存放在测试数据库中,测试数据(增删改)可通过数据脚本进行维护
  对于测试数据的构造你需要考虑2点:
  ①入参
  ②出参
  根据数据驱动测试的思想,你需要将入参与出参的数据全部提取出来,单独进行管理。将接口测试作为数据驱动是最好的一种模型。通过入参的EXCEL表或者其他便于非编码格式的管理方式的修改,来驱动测试的进行。然后根据出参的期望值来进行比对,给出测试结果。这是最基本的思想。根据请求,你可以按照你的协议来进行。例如:编号、业务名称、业务简称、请求方式、请求URL、请求参数、预期正确值、实际值、是否通过测试、是否运行该条用例等字段来明确数据驱动方式。
  7、51Testing: 如果用Python进行自动化接口测试,要如何实现模拟不同的网络环境访问接口?系统与系统间的接口测试要怎么做?
  回答:可通过设置代理形式模拟不同网络环境,例如可通过抓包工具fiddler、Charles进行限速,或者使用第三方工具:树莓派,搭建弱网环境进行网络模拟;在移动APP测试过程中弱网测试也是必测项。系统与系统之间的接口测试与其他接口类似,只不过调用的是第三方的接口,例如支付、登录等,调用第三方接口后查看response。下面l来看Python+unittest+requests测试接口,判断接口返回的状态值是否是200.

专题推荐:
【51Testing专题采访】Miss_love:如何从零开始玩转接口测试?

版权声明:出自51Testing专访Miss_love:如何从零开始玩转接口测试?原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号