基础知识
接口定义
系统与系统之间的交互点,协议就是规则,交互的是数据。
本质可以理解为url,工作原理:URL通过get或者post请求向服务器发送一些东西再得到一些返回值,本质是数据的传输与接收。
接口类型
两种接口:
1.程序内部的接口 2.程序对外的接口
对外:通过接口使用方法,通过方法获取数据,最终数据共享。
内部:两个部分不管是方法还是模块啥的,他们要交互就需要用接口,抛出这个接口,系统进行调用。
接口分类:
1.webservice接口
走soap协议通过http传输,请求报文返回报文都是xml格式的。
soap(Simple Object Access Protocol简单对象访问协议)使用在web服务中。使用应用层协议。更详细看维基谢谢。
2.http api接口
http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,
json通用数据类型,所有语言都认识它。(这种字符串与语言无关,随时转换,py中的字典,key-value形式,JavaScript的原生对象,可以转换成java中的类对象-这里需要验证后修改,这里是维基百科的解释,笔者对java不熟)
协议类型
HTTP,WebService,Dubbo,Thrift,Socket等
接口测试
通过URL向其他传输我们想传输的检查返回值。
测试点
目的:测试接口的正确定、稳定性
原理:模拟向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程。
重点:检查数据的交换,传递和控制管理过程,还包括处理的次数。
核心:持续集成
测试用例
case设计重点:主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常)
重中之重:注意外部接口提供给使用这些接口的外部用户什么功能,外部用户真正需要什么功能;关注服务器逻辑验证。
- 基本功能测试 与功能测试重合度较高。
- 边界分析测试:比功测考虑更多,脱离固守值测试,考虑到前端不能输入的值,比如下拉框只能选几个,比如前端不能输入-1等等。
- 性能测试:接口响应时间,并发、服务端资源的使用情况。
接口测试目前计划阶段
已知需要流程
需求分析 -> 用例设计 -> 脚本开发 -> 测试执行 -> 结果分析
接口自动化
目前计划先从nosetests框架和unitest框架入手,想要实现的功能是初步进行接口测试,做到自动执行,邮件发送测试报告功能。
语言:python
试着实现一个http接口的测试
最后
准备对自动化持续集成动手啦,感觉这是个切入点吧,而且跑通收益应该会很大,祝小伙伴们加油学习呀。
感觉应该着手学点java但是感觉会一推再推了【感觉总有优先级更高的事情排到前面了】