测试效率如何提升?思路总结和多个工具推荐!

*爱你&永不变心* 提交于 2020-12-29 17:47:47

写在前面:在日常开发过程中,有人做前端开发,有人负责后端开发。接口的主要作用就是连接前后台。但是,由于前端和后端开发的速度可能不一样,尤其是后端开发好了,但前端还未开发。这种时候我们需要做接口测试吗? 在日常工作中,我们主要测试的都是功能板块,如果你想真正了解接口测试,那么这篇文章或许能给你一定帮助。

1、为什么我们要做接口测试?

首先,我们先来看看测试金字塔(接口测试是在中间部分,底层是单元测试,最顶端是界面测试)。

从三者的面积大小来看,单元测试和接口测试,才是重点,而界面测试真的是太少。这个面积,你可以理解为代码覆盖,也可以理解为测试的工作量。 在国内公司越来越重视接口测试了。之前的几年,很多测试资源都放在了界面的测试,看趋势接下来应该会逐步放在接口测试功能、性能、自动化和稳定性测试上面。

2、什么是接口测试?

这个有太多文章,就不细说了,百度或者论坛里找就好了。

3、接口的分类

在开始做接口测试之前,有必要了解一下接口的分类。这里的分类,主要是HTTP请求方法分类。下面是我们最常见的GET/POST/PUT/DELETE四种方法。工作中接口用到最多是GET和POST方法。

4、设计接口测试用例

接下来,我们就一起来聊聊进行接口测试的准备工作。有些同学很好奇,接口测试要流程干嘛?不就是拿着接口文档利用接口测试工具测试。 如果只是三五个接口,你可以这么做一个临时的接口测试。但是如果是上百个接口,或者新项目第一次做接口测试,那么还是很有必要遵守测试的流程的。

1)接口测试的流程

接口测试和功能测试一样,流程也大致遵守V模型,请看下图。

一般来说,接口测试左边的每个阶段,每个公司可能都侧重点不同,例如有些公司就没有需求讨论和需求评审这个阶段。 但是不管如何,用例设计这个是少不了的,而且是重点,是要花时间的阶段。只有覆盖全面的接口测试用例,才能有比较好的测试接口覆盖率,才会找出更多的接口的Bug。

2)为什么要写接口测试用例

功能测试用例,大家都写过。接口测试用例,很多人没有写过。在写之前,我们来讨论下,为什么要写接口用例。 ①理清思路,避免漏测 ②提高测试效率 ③跟进测试进度 ④告诉领导做过 ⑤跟进重复性工作 上面五点,结合自己测试实际经验,应该来说是很好理解的。有用例就有思路,避免漏掉测试点。跟着测试用例走,一方面可以避免随机测试那种没有目的性的测试,提高测试效率;另一方面,这对领导检查你的工作、同事询问你的进度时有很多便利,也能够提高对接效率。

3)接口用例设计

我们在设计接口用例时,主要可以从这四个方面来考虑:功能,逻辑业务,异常,安全。 ①功能: 功能是否正常;功能是否按照接口文档实现; ②逻辑业务: 是否依赖业务; ③异常: 参数异常和数据异常; 参数异常:关键字参数,参数为空,多,少参数,错误参数; 数据异常:关键字数据,数据为空,长度不一致,错误数据; ④安全测试用例设计: cookie:有cookie才能获取数据,如果不带cookie还有信息返回,说明有问题 header:正常接口带header信息,删除header看是否能够返回数据。 唯一识别码:app手机识别码,一般是唯一的。 注:安全测试主要从上面三点检查。第三个是唯一识别码,主要是指app上手机的识别码,一般很少用到,除非很严格的接口测试,例如银行app登录,需要指纹,而指纹来源手机,一般有一个手机识别码判断过程。

5、接口测试的工具

目前,市场上有很多支持接口测试的工具。利用工具进行接口测试,能够提供测试效率。例如,加入让你一天完成100个接口测试任务,你觉得你加班能否完成。如果有工具,但是不是所有工具都能够支持你完成这个任务。下面我们就来挑选几个工具,简单介绍一下。

1)fiddler

首先,这是一个HTTP协议调试代理工具,说白了就是一个抓http包的工具。web测试和手机测试都能用到这个工具。既然是http协议,这个工具也能支持接口测试。稍后文章,我们会专门介绍fiddler这个工具。

2)postman

这是一款google工程师开发的一个插件,可以安装到chrome浏览器上。支持不同接口测试请求,能够管理测试套件和自动化运行,弱点在于,自动化断言功能不强大。不能和jenkins和代码管理库进行持续集成测试。但是,绝对是一个很好的半手工,半自动化测试工具。

3)wireshak

这个是一款计算机上抓包工具,支持抓各种包,TCP,UDP,HTTP都支持。如果做底层网络数据测试,一般都需要用到它。作为接口测试,这个软件有点不友好。因为刷新数据太快,不好定位每个操作对应的接口。所以,我们不会进行过多介绍这个工具。

4)soupUI

这个是一个开源免费、企业版收费的软件。在国外的接口测试,使用非常多。这个工具能够支持接口自动化测试和接口性能测试,也能支持和jenkins做持续集成测试。了解一下就可以,自己可以下载一个社区免费版,做一个demo试试。

5)java代码做接口测试

代码是万能,笔记工具也是代码开发出来的。为什么要用代码做接口自动化测试呢。因为,有些工具功能是有限制,很多公司,需要一些特定的功能,工具不支持,只好用代码进行开发。 一般用Java做自动化测试,主要是利用httpclient.jar这个包,然后利用junit或者testng这样的单元测试工具,进行测试用例的开发,然后在jenkins上创建一个job,进行持续集成测试。

6)Python代码做接口测试

和Java一样,Python中利用一个很好,功能强大的第三方库requests,能够方便都创建接口自动化用例。python下单元测试框架,一般采用unittest。生成测试报告,一般选择HTMLTestRunner.py。同样,可以和jenkins做持续集成测试。

7)LoadRunner

不要以为LR只能做性能测试,loadrunner同样可以做接口自动化和接口压力测试。只是我们很多人,不会利用LR的函数,进行开发接口测试用例。

8)JMeter

JMeter同loadrunner一样,都是以性能测试出名,一般用JMeter也是做接口性能测试。例如java+Jmeter+ant+jenkins做接口性能监听测试。JMeter如何做接口测试,大家可以网上查下。 写在最后:上面说了这么多工具,基本覆盖了接口功能测试,接口自动化测试,接口性能测试。这里提一下,国内有个综合性的Saas测试工具,不用部署,界面也比较简洁,叫Eolinker,使用地址我贴在下面,自己试试就知道了。 使用地址:www.eolinker.com

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!