接口测试学习笔记2

一、复习和扩展:

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

}

]

}

相关推荐
m0_748232394 分钟前
WebRTC学习二:WebRTC音视频数据采集
学习·音视频·webrtc
虾球xz1 小时前
游戏引擎学习第55天
学习·游戏引擎
oneouto2 小时前
selenium学习笔记(二)
笔记·学习·selenium
sealaugh322 小时前
aws(学习笔记第十九课) 使用ECS和Fargate进行容器开发
笔记·学习·aws
炭烤玛卡巴卡2 小时前
学习postman工具使用
学习·测试工具·postman
thesky1234563 小时前
活着就好20241224
学习·算法
蜗牛hb3 小时前
VMware Workstation虚拟机网络模式
开发语言·学习·php
汤姆和杰瑞在瑞士吃糯米粑粑3 小时前
【C++学习篇】AVL树
开发语言·c++·学习
虾球xz3 小时前
游戏引擎学习第58天
学习·游戏引擎
LuH11243 小时前
【论文阅读笔记】Scalable, Detailed and Mask-Free Universal Photometric Stereo
论文阅读·笔记