1.什么是接口测试
传递数据的通道==逻辑处理
接口测试:是测试系统组件间接口的一种测试。
接口测试主要包括:同一个系统中模块与模块间的接口/前端后端接口,另一个是跨系统平台与平台间的对接(内部接口、外部接口)。
2、接口的分类
- 从平台划分:分为内部接口和外部接口
- 从类型/协议来说:分为http接口,通过get或者是post来获取数据,在数据处理上效率比较高、soap(webservice)接口,通过soap协议来获取数据,比起http来说能处理更加复杂的数据类型和socket协议
但是从实质上来是soap请求也是http类型的请求,只不过是把http类型加封了一层websevice协议,所以就变成了soap类型请求。
3、接口数据传递的格式
一般数据的传递方式:xml/json两种格式
1.Xml格式:每一对tag会包裹一对数据,传递到接口。假设是一个登陆的接口
<status>1</status>
<code>10001</code>
<data>null</data>
<msg>注册成功</msg>
2.json格式:用花括号括起来,键值对组装成数据,并传递到接口
{“regname”:”lip”,
“pwd”:”123456”,
“mobilephone”:”15569852589”}
4.接口测试的原理
模拟客户端向服务器发送请求,服务器接收请求后对相应的请求做处理并向客户端返回响应结果,客户端接收结果的一个过程。
客户端收发请求的模拟可以是工具例如jmeter来完成。
5.什么时候做接口测试?
1)开发代码初期,UI和web页面设计还没有到位,为了让后期的bug少点,我们进行接口测试/提前介入更早发现问题,否则底层的一个bug可能会引起外面的多个bug/接口安全考虑。
2)有界面,从安全来讲,公司要求做接口测试,如果公司开发没有提供接口文档,需要去做接口测试,fiddler去抓包获取接口信息。
6.接口测试要点
1.接口的正常调用,就是输入正常的参数值,检查接口返回的响应结果信息跟接口文档预期一致,包括status、code等。
2.接口的异常验证,包括长度、类型、必填等异常,同步考虑边界值。假如传递数据的类型错误时是否可以处理。例如id是支持证书,传递的是小数或字符串呢?且传递的参数足够大或为负数时,接口是否可以正常处理。
3.业务规则验证。投资接口中必须时余额充足才能投资,还有比如说标状态非竞标中不能投资。
4.接口的安全性验证。对于用户的敏感信息(密码、身份证号)进行加密。如果是外部接口的话,这点尤为重要----看有无其他要求,用户加密。
5.接口的性能验证。接口处理数据的时间也是接口的一个方法。牵扯到内部就是算法和代码的优化。会借助压力测试工具比如loadrunner完成---响应时间多 与少10s,易用性----有无项目要求。
7.常识
1.没有需求文档,只有web页面,可以用fiddler测试
2..接口测试属于集成测试。Web端,APP界面的功能测试是系统测试。
3..一般情况下,接口文档是后端/服务器开发提供
4..接口文档有什么内容?名称、接口地址、请求方式、传入参数、返回结果。
5..最基本接口文档已有的逻辑是必须要测试的
需求规格说明书,业务熟悉,其他未覆盖到的逻辑,自行补充—即使没有想到,也不要紧张。