接口测试学习笔记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

}

]

}

相关推荐
AlexMercer10125 分钟前
【C++】二、数据类型 (同C)
c语言·开发语言·数据结构·c++·笔记·算法
dot.Net安全矩阵14 分钟前
.NET内网实战:通过命令行解密Web.config
前端·学习·安全·web安全·矩阵·.net
微刻时光1 小时前
Redis集群知识及实战
数据库·redis·笔记·学习·程序人生·缓存
chnyi6_ya1 小时前
一些写leetcode的笔记
笔记·leetcode·c#
青椒大仙KI112 小时前
24/9/19 算法笔记 kaggle BankChurn数据分类
笔记·算法·分类
liangbm33 小时前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
潮汐退涨月冷风霜3 小时前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
GoppViper3 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
羊小猪~~3 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
Charles Ray4 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习