• 接口测试


    接口测试

      

    什么是接口测试

    测试人员通常所说的“接口测试”是针对系统各组件之间接口的一种测试,它属于功能测试。接口能测出普通界面操作难以发现的问题。如,我们都知道系统是由前端后端组成,一些数据在前端做了校验,后端同样也需要校验才能保证安全,界面操作显然只能检查到前端校验这一层,只有直接面对前后端之间的该接口才能检验出后端是否也做了校验。

    接口测试的流程

    ž   需求评审,熟悉业务和需求

    ž   开发提供接口文档

    ž   编写接口测试用例

    ž   用例评审

    ž   提测后开始测试

    ž   提交测试报告

    接口文档 是接口测试的参照,至少包括:

    1、接口说明

    2、调用url

    3、请求方法(getpost ……)

    4、请求参数、参数类型、请求参数说明

    5、返回参数说明

      1.接口测试分类

        serviceAPI    httpAPI

      2.B/S和C/S的区别

        CS响应速度快,安全性强,用户体验好,一般应用于局域网中,但是开发维护成本高,BS可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢

      3.http和https的区别:

        1.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议

        2.http和https使用的是完全不同的连接方式,用的端口也不一样,http用的是80,https是443

        3.http连接很简单,是无状态的

        4.https协议是由ssl+http协议构建的,可进行加密传输,身份认证的网络协议,比http协议安全

      https解决的问题:

        1.信任主机问题:采用https的service必须从CA上申请证书,客户通过信任证书,从而信任了该主机,虽然这样做效率低,但是银行更侧重安全问题。

        2.通讯过程中的数据泄露和被篡改:

          1.一般意义上的https就是service有一个证书。客户端和服务端的通讯都是经过加密的,即使三方拦截成功,没有密钥,篡改也就没意义了

          2.少数银行对客户端也要求要证书认证,具体证书一般会用U盘来作为备份载体,这样能够更深的确认身份。

      4.url地址组成结构: 协议  http/https  
                端口号:http/https  80 443
                请求方式 get
                参数name pwd
                参数值  admin 123
                域名部分
                虚拟目录部分
                文件名

      5.http的请求都有哪些:  GET, POST  HEAD (1.0)  OPTIONS, PUT, DELETE, TRACE 和 CONNECT (1.1)

        GET       请求指定的页面信息,并返回实体主体。
        HEAD     类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
        POST     向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。
         数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
        PUT     从客户端向服务器传送的数据取代指定的文档的内容。
        DELETE   请求服务器删除指定的页面。
        CONNECT  HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
        OPTIONS  允许客户端查看服务器的性能。
        TRACE    回显服务器收到的请求,主要用于测试或诊断。

      7.get/post区别:

        1.get请求参数是放在url里的,post请求参数是放在请求体body里面的

        2.get请求的url传参有长度限制,post没有限制

        3.get请求的参数只能是ASCLL码,所以中文需要url编码,而post没要这个限制

        4.get请求在浏览器退出时无害的,而post则会再次提交请求

        5.get请求会被浏览器主动cache,而post不会,除非主动设置

        6.get请求参数会被完整保留在浏览器历史记录里而post中的参数则不会保留

      其实,get/post本质上两者没有任何区别,他们都是http协议中的请求方法。底层实现的都是基于TCP/UDP协议。

       8.服务器的响应码状态:  

        200 - 请求成功,已经正常处理完毕

              301 - 请求永久重定向,转移到其它URL

              302 - 请求临时重定向

              304 - 请求被重定向到客户端本地缓存

              400 - 客户端请求存在语法错误

              401 - 客户端请求没有经过授权

              403 - 客户端的请求被服务器拒绝,一般为客户端没有访问权限

              404 - 客户端请求的URL在服务端不存在

              500 - 服务端永久错误

      9.Session/cookie的区别:

        1.cookie数据存放在客户的浏览器上,session数据放在服务器上
        2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session
        3.+session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE
        4.单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。
        5.所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中

  • 相关阅读:
    样式表练习
    表单的制作
    PHP课后感
    eclipse中项目改名
    Windows下关闭占用指定端口应用程序的方法
    ftp上传不成功,提示501 invalid character in command错误
    分割字符串取最后一部分
    toString()方法之使用
    访问FTP服务器方法
    eclipse中svn检出项目,项目名上带有红色感叹号
  • 原文地址:https://www.cnblogs.com/zhangzetao/p/14063430.html
Copyright © 2020-2023  润新知