昨天简单的介绍了有关网络协议的一些信息及HTTP请求响应模型,今天接着简单的介绍一下什么是接口测试及接口等一些基础知识。
1.什么是接口?
接口分为内部接口及外部接口;内部接口又分为上层服务与下层服务之间的通信接口及同级服务间的通信接口。
百度百科给出的解释:
接口(硬件类接口)是指同一计算机不同功能层之间的通信规则称为接口。 [1]
接口(软件类接口)是指对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员。
2.接口的分类
3.不同类型接口的差异(post和get请求的区别)
1.传参方式不同,get是放到链接里,post以表单形式提交;
2.get请求提交的数据相比post请求数据较少
3.get相对post方式不安全
4.get一般是从服务器获取数据,post是向服务器提交数据
4.接口测试流程
接口测试流程和功能测试流程大体是一致的,如下图:
在上图中占比整个测试阶段最长时间的不是执行用例,而是测试用例设计阶段,因为该阶段会调高我们整个阶段的效率,同时也会帮助我们理清思路,避免有漏测地方;而且也是整个阶段一个最主要的测试输出报告。既然用例设计这么重要,那么测试接口测试用例的方法有哪些呢?
1.功能测试(输入输出是否安装接口文档的要求进行设计)
2.逻辑用例设计(依赖其他接口是否正确)
3.异常用例(参数异常,数据异常)
4.安全测试(cookie,header,唯一键设置)
5.接口测试的工具有哪些
postman,soupUI,Fiddle,charles,jmeter,loadrunner等,至于工作中使用哪种工作应该适当使用测试工具,提高我们的工作效率。例如现在项目经理要求测试人员1天内测试5个接口,为了提高效率这个时候就不要用我们不熟悉但很“高大上”的工具,例如loadrunner,而是使用我们熟悉的测试工具,例如postman,而在做接口的压力测试的时候我们可以使用jmeter进行压测,相对于loadrunner简单易学,而且是java语言的,可以通过其进行二次开发。
6.接口测试的框架有哪些呢?
robot framework:使用python语言,关键字驱动
testng+Java+httpClient:这是我目前使用的,支持并发测试,自动生成报告
Unittest+Request+HTMLRunner:这个不是很了解,据说灵活度高,简单易学
jmeter:支持参数化,不用写代码,效率不高
差不多啦,就先总结到这里,明天继续总结如何利用jmeter做接口测试