一、网络请求
测试人员对于接口测试的理解总是停留在工具使用层面。很多情况下,测试人员会花很大的代价去学习一个工具。而测试工具本身的局限性,又导致测试人员陷入想直接用现成的测试框架却又无法进行扩展的僵局。最后由于项目的特殊性等客观因素,测试人员只能放弃工具,脱离了工具的可视化界面友好操作,发现自己连接口是什么都不明白,更不要说自行完成接口自动化测试了。随即接口自动化测试由于项目成本及人员能力问题宣告失败。所有客观原因导致的结果都有其主观原因存在,急于求成、依赖工具就是测试人员在这个问题上的错误。
1、网络传输基础
测试人员开始学习接口测试时,总会先关注HTTP协议。这点没有错,理解HTTP协议的确是绝大多数接口测试的基础。但大家在学习HTTP协议的过程中会发现一个问题,RFC 2616 官方给出的 HTTP协议的定义为以下内容。
超文本传输协议(HTTP)是一种分布式、合作式超媒体信息系统。它是一种通用的、无状态(stateless)的协议,除了应用于超文本传输外,它也可以应用于诸如名称服务器和分布对象管理系统之类的系统,这可以通过扩展它的请求方法、错误代码和报头来实现。HTTP 的一个特点是数据表现形式是可输入的和可协商性的,这就允许系统能被建立而独立于数据传输。
看了这么大一段文字后,测试人员肯定对 HTTP 协议是什么还是一知半解。什么是无状态?什么是请求方式和报头?这些基础知识的缺失造成