zoukankan      html  css  js  c++  java
  • 接口测试总结

     

    一、什么是接口测试

    以下是百度百科所定义的接口测试内容:

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

    接口测试一般包括:接口的功能测试,接口的性能测试,接口的安全测试。

    一些大公司会专门设置功能测试组,自动化测试组,性能测试组;

    而平时我们所说的接口测试指接口的功能测试具体就包括一些业务功能测试,边界值测试,参数组合测试,异常情况测试等;

    二、什么是接口,接口都有哪些分类

    接口:

            做接口测试,首先要了解什么是接口,接口是一种抽象性的概念,编程接口(API)通俗的解释应该是:一个组件(或程序库)提供给开发者进行编程使用的,通过代码可以与之沟通的入口,用于连接连个功能模块或代码模块;接口定义了一种能力,有定义者和实现者,接口定义一般是抽象的,不包括具体实现。

            接口一般分为两种,一种是程序内部的接口,一种是系统对外的接口;

            程序内部的接口是用于一个系统内程序之间方法与方法,模块与模块之间的交互;

            系统对外的接口主要用于共享一些信息,通过一个方法来获取数据。

    常用的接口类型:webservice接口、HTTP接口

    webservice接口

    Web Service是构建互联网分布式系统的基本部件,它是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,别人能够用编程的方法通过Web来调用这个应用程序。

    它通过标准通信协议,在互联网上以服务的方式发布有用的程序模块,目前大部分是用SOAP作为通信协议。

     它提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫WSDL(Web服务描述语言,Web Service Description Language)。

    请求报文和返回报文都是XML格式的,XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized MarkupLanguage,标准通用标记语言)。

    HTTP 接口

    HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上 web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式;http接口最主要的作用是能够较好地解决不同系统(可能是功能不同、开发语言不同、服务商不同,等等,但都是基于http服务的)之间的交互的需求;

    请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT,常用的有: GET、 POST

     返回的内容为json串形式

    JSON VS XML 

    ·可读性  JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。

    ·可扩展性  XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。

    ·编码难度  XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。

    ·解码难度  XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。

    ·流行度  XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。

    三、接口测试目的及测试用例设计

    1、为什么要做接口测试
         接口测试实际就是黑盒测试,基本的测试思路是通过输入输出判断系统的逻辑,可以更早的发现系统的bug,提高测试效率;
         而且接口测试相对更加简单,不会受web页面的干扰,比较容易实现自动化持续集成,减少人工回归测试的成本,缩短测试周期;
         由于前段与后台系统开发一般是分离的,只依赖前端进行限制已经完全不能满足系统的安全要求,需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。其次一些涉及用户隐私的也需要前后台同时进行加密验证。
         从而进一步提高系统的质量。
    2、接口测试用例怎么设计
    刚刚说了,接口测试实际就是黑盒测试,当然设计用例的时候也能遵循黑盒测试设计用例的规则;
    业务功能测试:即正常的业务场景、异常业务场景测试;
    边界值测试:业务规则边界值,输入输出参数的边界值分析,覆盖所有必选参数,组合可选参数,参数有、无、null,参数的顺序、个数、类型,参数类型数值大小,输入的位数限制,参数包含特殊字符;
    参数组合测试:各必填参数、非必填参数组合;
    异常情况测试:重复提交、并发测试、环境异常、0数据、大量数据;
    安全测试:敏感信息加密测试(前端传输是否加密,后台日志信息是否加密)、sql注入;
     
    四、接口测试常用工具
    1、切换host工具:SwithHosts 
    2、抓包: Charles 、fiddler、wireshark
    3、调试工具:firebug等 
    4、http测试工具:Postman、HttpRequest、火狐JsonHandle 
    5、webservice接口测试工具:soapUI
    6、性能测试工具:LoadRunner、Apache JMeter
  • 相关阅读:
    DataTable、GridView、DataList导出至Word或Excel
    实现字符串转换为图片
    Sina App Engine与Google App Engine区别对比
    C/C++反序输出字符串总结
    NAND flash和NOR flash详解
    [转载]看完《python简明教程》笔记及第一个python程序
    Python写爬虫——抓取网页并解析HTML
    ACM HDU 1004 Let the Balloon Rise
    有向图的强连通分量
    ACM HDU 1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/yu753526303/p/15739423.html
Copyright © 2011-2022 走看看