- author:老王 [明心见性,可以为神]
- 因为访问不了google和维基百科,所以下面的词条解释都是百度的
在开始说之前,先甩几个高大上的问题来装逼一下:
- 你知道现在有多少种网络传输协议,它们各自有什么特点?
- 何为http?http的连接过程有哪些?
- 这些过程中有哪些风险?
- 这些风险如何在测试中进行发现和验证?
- 如何让开发提升自己的代码质量从而不被坑?
网络传输协议有多少种,这个还真的很少有人说的清楚,我们在上网使用的时候,常用的也就以下这几种,所以现在就BB这几个吧。
-
无连接
限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。支持客户/服务器模式
灵活
HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记- 目前绝大部分的网络传输都使用该协议,也是我们要讨论的重点
- 使用的端口是
80
-
- 使用
SSL作为应用层
,数据加密 - 使用的端口是
443
- 使用
-
- 用于
文件传输
,且未明文传输
- 用于
-
- 都是用于
远程登录
telnet,ftp,pop都是明文传输
,ssh加密且经过压缩后传输
- 都是用于
一个python脚本告诉你完整的http请求和返回的处理过程
import urllib2
class UrlDemo:
def __init__(self):
pass
def prepare(self, params):
pass
def doQuest(self,url, param_str):
pass
def render(self, resp):
pass
def url(self, url, params):
params_str = self.prepare(params)
resp = self.doQuest(url, params_str)
self.render(resp)
so,看完上面的脚本,你觉得这中间有哪些地方需要测试?哪些地方可以进行优化
接口测试的基本元素 请求参数 服务响应 返回值
顺序请求/无关请求的测试
并发请求/互相关联请求的测试
接口的自动化
接口的压力测试及结果分析