zoukankan      html  css  js  c++  java
  • 测试效率如何提升?思路总结和多个工具推荐!

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

    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

  • 相关阅读:
    【React Native】某个页面禁用物理返回键
    【React Native】DeviceEventEmitter监听通知及带参数传值
    转载【React Native代码】手写验证码倒计时组件
    【React Native】 中设置 APP 名称、应用图标、为安卓添加启动图
    【React Native错误集】* What went wrong: Execution failed for task ':app:installDebug'.
    【React Native错误集】Import fails with "Failed to execute 'ImportScripts' on 'WorkerGlobalScope'"
    【React Native错误集】Android error “Could not get BatchedBridge, make sure your bundle is packaged properly” on start of app
    「React Native笔记」在React的 setState 中操作数组和对象的多种方法(合集)
    【React Native】Error: Attribute application@allowBackup value=(false) from AndroidManifest.xml
    坚果云如何使用二次验证码/谷歌身份验证器/两步验证/虚拟MFA?
  • 原文地址:https://www.cnblogs.com/dc20181010/p/14207139.html
Copyright © 2011-2022 走看看