接口测试学习笔记2

avatar
作者
筋斗云
阅读量:0


一、复习和扩展:


1、金字塔测试模型
UI测试 -- 黑盒
Service 服务层--函数之间的调用 灰盒   接口测试
Unit单元层--白盒测试
趋势:逐步向下发展
      测试优先、测试驱动 -- 先考虑怎么测,再考虑怎么开发
      满足软件测试的可控范围
2、接口:API       API文档:接口文档
软件有不同功能模块组成,通过调用接口完成操作
--大量可以重用的功能、服务
3、函数(方法):接口的本质就是函数或方法的调用;
函数必须先定义,后调用;
函数三要素:函数名、参数表、返回值
接口三要素:URL、参数、返回结果
4、Web接口:B/S架构的程序接口,也称为HTTP接口
思路:前端界面和后端功能比较复杂
       让前端和后端分工更明确
  前端界面非常炫,交互比较多;后端业务处理复杂度升级;
5、Web接口测试的优势:
1)更早的介入测试  最后从需求文档开始、开发文档(接口文档)、代码...
    在后台服务功能完成,界面还未开发的情况下开展测试
2)可以验证性能和安全性问题
3)可以发现底层问题--接口比较接近代码
思路:大量功能、性能问题是从数据库层面发现的;
       有必要适当查看数据库,证明业务是否符合需求;SQL技术
       通过工具连接数据库,使用SQL查看、管理数据库资源
       Mysql: show databases;
               use 数据库名;
               show tables;
               desc 表名;
               select ... from 表名 where ...;
6、接口测试的测试要点
1)功能测试 -- 重点是业务流程、参数(必填、选填、边界、条件组合等)
2)性能测试 -- 响应时间、并发用户数等
3)安全性测试 -- 敏感信息是否加密、前后端是否验证、恶意请求屏蔽等

OSI 7层:从下到上- 物数网传会表应
           物理层 数据链路层 网络层 传输层 会话层 表示层 应用层

7、面试题:请描述TCP/IP 4层协议模型? TCP/IP协议簇
思路:网络协议需要分层,进行分工,从上到下不断封装数据包,从下到上不断解封,同层之间协议是对等的;
1)应用层   最靠近用户,实现各种常用功能
     协议名    说明             端口号    传输层支持
<1> HTTP   超文本传输协议    80      基本都是TCP 可靠
<2> HTTPS 安全的HTTP SSL  443
<3> FTP     文件传输协议      21
<4> SSH    安全的Shell        22
<5> Telnet  远程连接           23
<6> SMTP   简单邮件传输协议 25
<7> DNS    域名解析服务      53
<8> POP3   邮局协议第3版本  110
<9> TFTP   简单文件传输协议  69     基于UDP 不可靠
2)传输层   传输可靠性的控制
<1> TCP  传输控制协议    面向连接、可靠、效率略低
原理:建立连接时3次“握手”,传输时两次“握手”,断开连接时4次“挥手”
用途:大量应用层协议都基于TCP支持,可靠
<2> UDP  用户数据报协议  面向无连接、不可靠、效率略高
原理:只管发,不管确认
用途:可靠性要求不高,但效率要求高,比如视频会议;
        比如:TFTP
3)网络层  寻址,寻址对方主机
查看命令:ipconfig /all
<1> IP     网际协议     IPv4  IPv6 子网掩码 ...
<2> ARP   地址解析协议   MAC地址 -> 报文
<3> RARP  反向地址解析  报文 -> MAC地址
4)物理层  底层信息转换、比特流传输
 (网络接口层)
PPP 点对点协议   了解基本网络传输设备

JSON和XML的区别?
1)XML:可扩展标记语言  标签可以自定义
  HTML:超文本标记语言  是一种特殊的XML
           大量标记、标签由Web规范规定的
           <html 属性名="属性值"></html>

eg:

{
    "id":"10001",
    "name":"张无忌",
    "gender":true,
    "birthday":"1995-09-21",
    "salary":16000.5,
    "tel":"13888889999",
    "address":"北京朝阳",
    "desc":null,
    "hobby":[
        "骑马",
        "耍剑",
        "音乐"
    ],
    "skill":[
        {
            "name":"九阳神功",
            "grade":9
        },
        {
            "name":"乾坤大挪移",
            "grade":9
        },
        {
            "name":"太极拳",
            "grade":9
        }
    ]
}

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!