Q:
接口是什么?
A:
接口测试: 是测试系统组件间接口的一种测试
接口主要包括: 同一个系统中模块与模块间的接口/前端后端接口, 另一个是跨系统平台与平台间的对接(内部接口, 外部接口)
Q:
常见接口类型/协议:
A:
HTTP类型/协议: 通过get或post来获取数据, 在数据处理上效率比较高==概念
Webservice类型/协议: 通过soap协议来获取数据,比起http来说能处理更加复杂的数据类型, 本质上也是http协议
Q:
常见接口请求方式:
A:
(1)调用 terminate 方法。
(2)使用 subProcess 模块的 Popen 方法。
使用简单,具体用法,这里不展开。
Q:
常见的http状态码
A:
200(正常): 表示一切正常, 到了服务器, 并且服务器正常的响应了你的请求
302(临时重定向): 指出被请求的文档临时被移到了别处, 此文档的新的url在location响应头中给出
304(未修改): 表示客户机缓存的版本是最新的, 客户机应该继续使用他, 比如说前端js
403(禁止): 服务器理解客户端请求, 但拒绝处理它, 通常由于服务器上文件或目录的权限设置所致
404(找不到): 服务器上不存在客户机所请求的资源
500(内部服务器错误): 服务器端的CGI,ASP,JSP等程序发生错误
504: 超时
Q:
接口测试原理?
A:
模拟客户端向服务器发送请求, 服务器端接收请求后对响应的请求作出处理, 并向客户端返回相应结果, 客户端接收结果的一个过程
Q:
后端接口测试一遍, 前端也测试一遍, 是不是重复测试了?
A:
==肯定要测试, 但是呢, 功能测试又不需要测试的那么详细那么仔细, 异常情况的话, 就选择一些常见的即可
5. 接口测试属于测试执行的哪个阶段?
Q:
接口测试流程/步骤 = 接口测试怎么做?
A:
- 1. 获取接口需求并分析
- 2. 编写接口测试用例&评审测试用例
- 3. 项目环境部署
- 4. 执行测试&工具选用
- 5. 提交bug并跟进
- 6. 单独需要整理接口测试报告(公司有要求就做)
- 知识储备:
- 软件测试基础知识: 编写用例/设计方法
- Linux命令
- Tomcat框架
- 数据库知识/观察数据表中的数据流
- 接口概念的掌握
- 工具的掌握: 浏览器/插件/jmeter/SoapUI 原理及具体操作步骤
- 分析能力: 需求业务/日志分析
Q:
get和post方法的区别是什么?
A:
get是通过url传参, post是在body data里传参
get主要用来向服务器获取数据,post主要用来发送数据
get没有post那么安全
Q:
如何编写接口测试用例?
A:
接口的正常调用. 就是输入正常的参数值, 检查接口的响应结果信息跟接口文档预期一致, 包括status, code, 数据库数据等 (接口要按照文档的返回结果来写测试用例)
接口的异常验证. 包括长度, 类型, 必填等异常, 同步考虑边界值. 假如传递数据的类型错误时是否可以处理. 例如id是否支持整数, 传递的是小数或字符串呢? 且传递的参数足够大或为负数时, 接口是否可以正常处理.
业务规则验证. 投资接口中必须是余额充足才能投资, 还有比如说标状态非竞标中不能投资.
接口的安全性验证. 对于用户的敏感信息(密码,身份证号)进行加密, 如果是外部接口的话, 这点尤为重要. ------看有无其他要求, 用户加密
接口的性能验证. 接口处理数据的时间也是测试的一个方法, 牵扯到内部就是算法和代码的优化. 会借助压力测试工具不如loadrunner完成 ----------响应时间多于10s , 易用性 --------有无项目要求
Q:
接口测试用例比功能测试用例少了个操作步骤
A:
做接口测试的关注点: 有3点
返回结果
数据库的数据
服务器的日志
对于日志来说, 一般正常的结果, 可以不用去看, 出现bug(异常)的时候, 就一定需要去看服务器的日志了