• 接口测试用例编写和测试关注点


    一、为什么要做接口测试

    在日常开发过程中,有人做前端开发,有人负责后端开发。接口就是连接前后台,由于前端开发和后端开发的速度可能不一样,例如后端开发好了,但是前端没有开发。那么我们是不是就不需要测试呢?一般我们大部分人都是做功能测试,很多是界面的功能测试。如果你理解了接口测试,那么你就可以针对接口进行测试。

    二、什么是接口、什么是接口测试

    接口:主要是子模块或者子系统间交互并相互作用的部分。
    这里说的接口是广义的,客户端与后台服务间的协议。插件间通信的接口、模块间的接口、再小到一个类提供的方法,也都可以理解为接口。
    接口测试:是指针对模块或系统间接口进行的测试。

    三、接口测试流程

    需求讨论,需求评审,场景设计,编写用列,准备数据,执行测试。

    四、接口测试用例设计

    1接口测试的用例设计,主要从输入和接口处理两方面考虑:
    1)针对输入,可按照参数类型进行设计;
    2)针对接口处理,可按照逻辑进行用例设计;
    3)针对输出,可根据结果进行分析设计。
    2针对输入设计
    对于接口来说,输入就是入参。常见参数类型有:
    1)数值型(int,long,float,double等)
    2)字符串类型
    3)数组或链表
    4)结构体

    五、怎么进行接口测试

    通过工具模拟客户端向服务端发送请求并接受服务器返回的数据来对接口的功能,逻辑业务,异常,安全进行测试。
    1)功能测试:测试这个接口的功能是否实现,并且测试这个接口是否按照接口文档来进行开发的(比如说接口文档规定了一些关键字,在开发过程中可能出现因为关键字不一样,导致某些开发的功能异常,还有自动化脚本也会发生异常)
    2)逻辑业务,主要指的是一些逻辑业务依赖关系,比如支付宝提交订单的时候要保证你是在登录的情况下,如果你没有登录而提交成功了,这就是异常,可以修改请求的cookie来测试。
    3)异常测试:参数异常:关键字参数(应用其他的关键字替换进行测试)、参数为空、参数多少(通过添加参数增添个数),参数错误。数据异常:关键字数据(填入的数据用其他的数据语言的数据替用)、数据长度、数据为空、数据错误。
    由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收,包括自动化测试也是,比代码实现效率高了不少。

    六、接口测试用到的工具

    接口测试常用的工具,国内做得比较好的有eolinker和apipost,流程基本都是发送请求后抓取记录请求数据,然后把数据修改并发送到服务端并接收服务器返回的数据及异常来进行验证接口。不同的是eolinker可以直接导入整个接口项目,apipost需要用fiddler抓取请求数据,才能导入到工具上使用。工具不是固定的,其他开源的工具也可以试试。
    Eolinker:www.eolinker.com
    Apipost:www.apipost.cn

    七、接口测试发现的典型问题

    接口测试经常遇到的bug和问题,如下:
    1)传入参数处理不当,导致程序crash;
    2)类型溢出,导致数据读出和写入不一致;
    3)因对象权限未进行校验,可以访问其他用户敏感信息;
    4)状态处理不当,导致逻辑出现错乱;
    5)逻辑校验不完善,可利用漏洞获取非正当利益等。

  • 相关阅读:
    Chromium 和Webkit 3月14日的最近进展:多标签选择、标签标题省略、动画API和新的Chromium Logo
    奇妙的HTML5 Canvas动画实例
    XNA那些事(一) 框架工作原理
    实现跨浏览器的HTML5占位符
    编写超级可读代码的15个最佳实践
    谈HTML5和CSS3的国际化支持
    HTML5 Guitar Tab Player
    如何设置让网站禁止被爬虫收录?robots.txt
    YourPHP笔记
    Robots.txt  禁止爬虫
  • 原文地址:https://www.cnblogs.com/dc20181010/p/14308769.html
Copyright © 2020-2023  润新知