接口测试简答

一、为什么要做接口测试

  • 接口可以理解成是不同系统或模块之间资源交流方式。
  • 主要是为了发现前端未做控制的数据传输

二、接口测试能发现哪些问题

  1. 传输金额时是否做负数控制
  2. 个别接口是否做权限控制
  3. 传入置顶type之外的type值,是否做控制
  4. 必填参数不填是接口是否做校验

三、接口测试的必要性

  1. 可以发现很多在页面上操作发现不了的bug
  2. 检查系统异常处理能力
  3. 检查系统的安全性、稳定性
  4. 前端随便变,接口测好了,后端不用变
  5. 可以测试并发情况,一个账号,同时对最后一个商品同时下单,或不同账号对最后一个商品下单
  6. 可以修改请求参数,突破前端页面输入限制

四、接口测试怎么测

  • 通过性验证:接口功能正常,按照指定参数正常输入,是否可以返回正确的结果
  • 参数组合:个别字段代表输入1时,A字段必填。输入2时,B字段必填
  • 接口安全:
    • 绕过验证:一个商品将对应的商品价格做更改看是否交易成功
    • 绕过身份验证:主播权限解散包厢,普通用户不可解散
    • 参数是否加密:个别查询接口需要做加密处理,看是否有加密
    • 密码安全规则。
  • 异常验证:必传非必传、参数类型、入参长度(看是否有异常返回值)
  • 性能测试:接口并发情况,接口响应时间

五、用什么工具测接口

  • Postman:免费,简单
  • Jmeter:配合断言,但测试报告要做二次开发
  • apipost:中文,简单,线上版本管理
  • 自己写代码:python request,pytest

六、WebService接口是如何测试的(用SoapUI)

七、没有接口文档如何做接口测试,

  • 先跟开发沟通,整理接口文档
  • 抓包看接口请求参数,不懂问开发

八、在接口测试中,上下游接口有数据依赖怎么处理

  • 工具:前置、后置函数
  • pytest框架:

九、依赖第三方数据的接口如何测试(MOCK)

【https://www.cnblogs.com/yoyoketang/p/9348552.html】

十、当一个接口出现异常,你是如何分析异常的

  1. 抓包,设置代理看请求
  2. 查看后端日志,xhell连上服务器,查看日志

十一、如果模拟弱网测试

  1. 工具模拟。Charles

十二、如何分析一个bug是前端还是后端

  • 看请求报文,对照接口文档看是否有问题,前端传都数据是否不对,返回报文不对后端问题

十三、我们测试的接口属于哪一类?

  • 通常是B/S架构,由客户端调用,或模拟客户端向服务器提供请求接口,由服务器完成处理并返回一个应答
  • http、HTTPS、rpc、grpc、xmpp

十四、HTTP接口传递数据最常用的方式?

  • get和post最常用
  • get是从服务器上获取数据,post是向服务器上传送数据

十五、依赖于登录的接口如何处理

  • session
  • cookies

十六、测试的数据你放在哪里?

  1. 一次性消耗的数据,随机函数
  2. 一个接口多组测试参数,参数化,数据放text,json,excel
  3. 反复使用的数据,放数据库,每次数据初始化
  4. 对于邮箱配置的一些参数,用ini配置文件
  5. 独立的接口项目,用excel/csv管理测试的接口数据
  6. 对于账号密码,这种管全局的参数,用命令行参数,配置在ini
  7. 少量静态数据,写到python脚步开头

十七、json和字典的区别

  • json:是一种轻量级的数据交换格式,本质还是字符串

十八、不可逆操作如果处理。比如删除

  • 数据库改字段状态。

十九、一个订单的几种状态如何全部测到。

  • 造数据,改数据库状态

二十、python如何连接数据库操作

  • pymysql

二十一、自动化使用的测试框架是什么?简述自动化框架设计、维护

1、测试框架

  • 语言:python
  • 测试框架:unittest(assertEqual,assertTure,assertFalse)、pytest
  • 接口调用:requests
  • 数据驱动:ddt(装饰器)
  • 数据管理:openpyxl(excel、CSV、json、yaml、txt)
  • 数据库交互:pymysql
  • 数据格式的装换:eval,json
  • 日志处理:logging——清晰的执行过程,快速定位问题
  • 测试报告:allure
  • 持续集成:Jenkins(通过插件HTML Publisher/git/Email Extension)进行自动构建,生成HTML,发送邮件

 2、自动化框架的设计、维护

  • (1)、数据与代码分离(数据驱动)
  • (2)、结果分层
  • 逻辑层:公用的方法封装起来,避免用例层的代码冗余
  • 数据层:设计Excel、excel读取,参数化替换
  • 用例层:存放测试用例

3、根据什么来做断言

  • 协议状态码:200、404、503
  • 业务状态码:status:0
  • 业务数据

二十二、做好测试计划的关键是什么

  • 明确测试目的,增强测试假话的实用性,
  • 保证测试用例的实用性和覆盖率,完全需求文档和规格指标书。
  • 严格界定测试周期,测试轮次,测试覆盖模块

二十三、super是干嘛用的

  • super用于继承父类的方法、属性。可提高代码的复用性、可维护性

二十四、测试用例的编写要点有哪些?

  • 必填字段:请求参数必填项、可填项
  • 合法性:输入输出合法、非法参数
  • 边界:请求参数边界值等
  • 容错能力:大容量数据、频繁请求、重复请求、异常网络等
  • 响应数据校验:断言、数据提取传递到下一级接口
  • 逻辑校验:两个请求有严格的先后顺序,
  • 性能:对接口模拟并发测试,逐步加压,分析瓶颈点
  • 安全性:构造恶意字符请求

unittest单元测试框架总结:

https://www.cnblogs.com/yufeihlf/p/5707929.html#test1

 

测试人员查看log日志:

https://blog.csdn.net/HemingwayM/article/details/84956040

 

posted @ 2020-09-22 16:12  可乐奶茶  阅读(391)  评论(0编辑  收藏  举报