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

    接口测试时测试工程师的必修课
    如果不会接口测试,自动化就别提了
    1.越早发现bug,修复的成本就越低
    接口测试使“测试更早的投入”变成了现实,越能更好的保证软件质量
    2.接口测试可以测试一些界面测试无法测试的范围,比如:微服务,不同的服务直接的调用
    3.接口测试直接测试后端服务(接口测试是什么类型的测试),发现影响范围更广的bug
    一套服务支持多种终端:IOS、android、h5、c/s,接口的bug影响所有用户
    4.接口测试更容易与自动化测试系统或者平台结合

    文件的上传,UI自动化+接口自动化

    接口测试:
    基于协议进行测试,实际上是黑盒测试,基本的测试思路就是通过输入和输出判断被测系统或者对象的逻辑

    什么是接口:
    接口是具有特定输入和特定输出的一套逻辑,而不用知道它的内部实现逻辑
    现实中的例子:下单肯德基、电脑上的键盘的按键是电脑向人提供的接口

    接口的本质:一种契约,遵循一种形式,开发前期,约定接口接受什么参数,后端处理完之后,返回什么数据给前端
    一起联调完成系统逻辑的前期预期,提高研发效率

    常见的接口协议:
    https、DUBBO、TCP/IP、UDP

    如果没有接口文档:
    浏览器开发工具
    抓包
    http请求方法
    get和pose有本质区别:
    参数传送方式不同,get通过地址栏传输,(接口地址+? key=value &keyvalue),post是用报文传输

    http请求参数:

    session与cookie
    cookie是访问网站时,由网站服务器返回的一种标记为cookie 类型数据,存储在浏览器的上,以后每次访问本网站,浏览器都会在http请求中将该数据发送过来
    当请求成功后,session第一次被创建,一个唯一的标识被存储于本地的cookie中的sessionid中
    再次打开浏览器后,服务端去与数据库session的id去比对
    服务器做了两件事情:
    1、在服务器端记录下cookie信息。
    2、在将cookie信息发送给客户端
    cookie是保存在浏览器上,相对于session 安全级别比较弱。session是放在服务器端

    Token鉴权:(面试常问)
    鉴权:简单来说,就是要不要登录,一般来说,一个系统的所有接口都需要鉴权才能请求,
    也就是说先要请求这个系统的登录接口,拿到服务端响应认证,才能去请求其它接口,
    一般放在请求头headers或者body参数里面
    比如:登录的接口,提供人员的用户名和密码,去系统中判断该人员是否存在,如果存在,验证用户名和密码,
    如果验证通过就返回1个token,该token就是这个人员的通行证,通过token可以登录到系统中去或者请求其它接口;

    接口文档:(接口的地址,接口的类型,接口的参数类型(数组,字符串),参数长度,参数是否必填,返回数据实例)
    接口测试的测试点,数据驱动
    http://127.0.0.1:5000/api/login 参数 username password post
    http://127.0.0.1:5000/api/user/list get Token放在headers里面
    1.请求登录接口,返回token
    2.请求其他接口,比如所有用户列表的接口,token,放在请求头里

    常见状态码
    1、200 是成功

    2、302 重定向

    3、400 服务器未做任何处理

    4、401 被请求的页面需要账号密码

    5、403 与401一样只是不给出提示

    6、404 服务器找不到被请求的资源

    7、500 请求未完成,服务器遇到不可预知错误


    第一个接口测试:
    启动postman,点击上方的加号,
    创建get请求为例,通常需要写接口url、参数params、头信息headers,
  • 相关阅读:
    MyEclipse 启动报错:'Building workspace' has encountered a problem解决方法
    MyEclipse快捷键大全
    Maven学习 (四) 使用Nexus搭建Maven私服
    PHP 语法
    PHP 在Win下的安装
    PHP 简介
    【CMS】安装CMS
    【CMS】DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP') in php.ini
    mysqladmin: connect to server at 'localhost' failed
    解压版MySQL安装后初始化root密码
  • 原文地址:https://www.cnblogs.com/Murraya/p/12609137.html
Copyright © 2011-2022 走看看