## 协议测试
### What 什么是协议测试
什么事协议? 协议是计算机进程或网络中进行数据交换而建立的规则、标准或约定的集合。
什么是协议测试? 协议测试就是软件界面与应用服务器间通信规则的测试。
需要注意一点,协议测试不是接口测试,接口测试通常是RPC调用,例如基于HTTP SOAP, XML-RPC 并不在本文的讨论范围之内,接口测试可以放在单元测试中。
### Why 为什么要做协议测试
传统测试更多注重界面的测试,界面是针对用户的,也是唯一可见,也是最容易测试的。我们通过下面的金字塔说明。
```text
/\
/ \
/ UI \
/``````\
/ API \
/``````````\
/ Service \
/..............\
```
用户只能看到 UI ,UI测试是有局限的,只能看到冰山一角,越往下层越难发现软件的缺陷。
互联网的今天应用软件已不仅仅是三层架构,互联网特点是多语言混合开发,软件运行在异构平台上。
举例最简单的B/S