zoukankan      html  css  js  c++  java
  • 接口测试介绍

    接口的概念&特点:
    • 接口的概念:软件由许多模块构成,软件的功能往往不是某个单独的模块来实现的,而是由模块跟模块之间协作共同实现某个功能,这种模块间的的交互就是通过接口来实现的,我们可以理解为接口就是自己提供给外界的一种抽象物,或者说是一种沟通的协议。
    • 接口测试的本质:其实所谓的接口测试本质就是功能测试,只不过我们采用测试接口的方式来测试功能。我们对接口的操作最终会发送到数据库,也就是对数据库进行一些列增、删、改、查的操作。
    • 接口测试的优势: 接口测试的优势在于,当一个页面还未开发完成的时候,测试可以提前介入,测试软件的功能。接口测试可以发现一些页面操作发现不了的问题,测试介入的越早,解决bug的成本越低。
    接口的分类:
    • 依据开放性划分
      • 外部接口:也就是所谓的openapi,是软件对用户可见的接口(包括对应发布的接口文档),用户可以通过工具调取相应接口实现需要的功能。测试人员一般都是测试openapi 。
      • 内部接口:内部模块间的接口,用户不可见,公司内部人员可见的接口。
    • 依据类型划分
      • webService(SOAP)接口:走soap协议,通过http传输,请求的报文和返回的报文都是xml格式的,需要通过工具进行调用和测试。
      • Http API接口:目前较常见的接口,走http协议,通过路径来区分调用的方法,请求的报文都是key-value形式的,返回的报文一般都是json串,包括的方法有post/get/put/delete/patch等。
    延伸概念:
    • 前端(客户端):负责貌美如花,用户能看的到的都是前端,前台的编程语言有:html,css,js等。
    • 后端(服务端):负责养家糊口,功能主要靠后端实现的,后台的编程语言有:python,java,php,c,c++等。
    • 前后端的关系:前后端通过接口交互,采用通用的数据类型(json:所有语言可以解析),接口返回的都是json体,server端测试主要指的就是接口测试,测试依据接口文档写脚本测试。
    • json串的组成 :key + value ,android开发就是java开发的一个分支,iso采用object-c编译的。
    • 抓包:就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,为了提供安全性,许都公司的协议都采用https而不是http。
    • 接口签名:所谓接口签名就是给接口做了加密处理,防止别人恶意篡改请求,它是一个加密(MD5)之后的字符串。
     
    接口文档包含的内容:
    • URL
    • 接口说明
    • 请求方式:post/get/delete/put
    • 入参
    • 出参
    • 请求、返回的样例,状态码说明。
    post请求和get请求的区别:
    • get请求:浏览器输入url可以直接发送请求,参数都在url里面或者cookie里面,一般用来获取数据,多见于查询接口。
    • post请求:参数都在请求体里面,一般包含请求头和请求体,post请求比get请求安全,get请求长度有限制,post无限制,一般是发送数据,多见于创建接口。
     
    常见的状态码:
    • 200:代表请求已正常发送和接收。
    • 300:3开头的代表重定向,最常见的就是302,请求被重定向到其他地址。
      • 例子:京东商城里面,用户在没登录的情况下先添加商品到购物车,下单后跳转到登录界面,再跳转到下单页面,就用到了重定向。
    • 400:400代表请求有语法错误,一般是请求体有误;401代表访问的页面没有授权,用户鉴权失败;403代表没有权限访问页面,404代表页面不存在,多半是url有误。
    • 500:5开头的代表服务器异常,500代表服务器内部错误,一般服务端有问题。
     
    接口测试用例设计:
    • 通用性测试:
      • 正常测试:正确的url+请求方式+请求体等组合到一起。
      • 异常测试:根据参数类型,是否必填,长度等进行异常测试。
    • 参数组合:
      • op1 : 新增:name ,班级,电话三个必选。
      • op2 : 修改学生,name ,电话三选一
    • 接口安全:
      • 绕过验证:修改价格
      • 绕过身份鉴权
      • 参数是否加密
      • 密码安全规则
    cookie跟session的区别:
    • cookie :用户登录后,存在本地的一个键值对。
    • session:用户登录后,存在服务端的一个键值对,相当于token 。
    To be a better STE ...
  • 相关阅读:
    Linux 下安装配置 JDK7
    win7下virtualbox装linux共享win7文件问题(已测试可用)
    Linix常用命令
    JAVA命令大全
    virtualbox 不能为虚拟电脑打开一个新任务/VT-x features locked or unavailable in MSR.
    VirtualBox下安装rhel5.5 linux系统
    redhat RHEL 5.5 下载地址
    ios开发@selector的函数如何传参数/如何传递多个参数
    U盘10分钟安装linux系统
    史上最浅显易懂的Git分布式版本控制系统教程
  • 原文地址:https://www.cnblogs.com/purple5252/p/13050667.html
Copyright © 2011-2022 走看看