基础问答杂谈

作者:Gakki

使用什么测试框架做的上一个项目的自动化测试?说下怎么做的?对自动化的理解?

python+pytest+allure 做接口自动化,偶尔会用unittest

  1. 将测试用例写到 Excel 表中,然后其中有一列用来判断是否运行用例,有一列是用来判断接口之间的依赖性
  2. 然后将所有需要运行的用例读取出来,然后通过 @pytest.mark.parametrize 装饰器循环运行用例,先判断是否存在接口的依赖性,是否依赖上个接口的入参和响应数据,如果需要,则依赖的接口需要先运行,每运行完一次用例都将响应数据保存下来,已备后面有的接口会用到。如果是登录的接口,需要将token放入头部,后面的用例好直接调用。
  3. 将响应的数据进行断言。如果失败,将响应数据保存到log中,并在excel表中的一列中表明该用例运行失败

理解:

  1. 可以尽早的发现bug,因为接口自动化是偏底层的,所以可以更早的发现bug
  2. 提高工作效率,每次更新迭代版本的时候,可以先运行写好的脚本,查看之前的接口是否受到影响,这样可以大大的提高测试人员的工作效率
  3. 协助定位问题,接口层发现问题了,可以快速的定位到哪里错问题了
  4. 线上监控报警,可以通过Jenkins,定时运行脚本,如果有问题,可以通过邮件发送到测试人员手中,让损失尽量减少
  5. 协助手工测试完成很难模拟或无法模拟的的工作,比如付款的时候,篡改数据等。

自动化遇到用例fail掉如何排查故障?

  1. 从 log,然后根据 log 检查问题所在,是不是因为版本更新了入参什么改了
  2. 运行用例,打断点/断言,查看入参或响应数据是否有问题。也可以将入参复制下来,放到接口文档上看是否有问题。然后逐一调试。

说说接口测试的流程和接口自动化流程

流程:

  1. 分析接口文档和需求文档
  2. 编写接口测试计划
  3. 编写接口测试用例并评审
  4. 接口测试执行,依据文档设计接口参数,获取响应,解析响应,校验结果,判断测试是否通过
  5. 输出接口测试报告
  • 其他。接口文档主要包括以下几个部分:
    • 接口说明
    • 请求方式
    • 请求URL
    • 请求参数
    • 返回数据
    • 返回实例
  • 接口用例要包含如下部分:
    • 用例编号、模块名称、接口名称、用例标题、请求方法、请求URL、请求参数(包括请求头、请求体)、预期结果、实际结果等。

requests 获取响应内容、响应状态码、响应头

  • r.text # 通过文本的形式获取响应内容
  • r.encoding # 通过encoding来获取响应内容的编码以及修改编码
  • r.content # 通过content获取的内容便是二进制类型的
  • r.json() # JSON响应内容
  • r.raw # 原始响应内容。也就是urllib中的HTTPResponse对象

Post请求的四种参数形式是什么?

请求方式 描述
application/x-www-form-urlencoded 浏览器的原生 <form> 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。
multipart/form-data 一般用来上传文件,各大服务器的支持也比较好。所以我们使用表单 上传文件 时,必须让<form>表单的enctype属性值为 multipart/form-data.
application/json 用来告诉服务端消息主体是序列化的JSON字符串
text/xml 使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范

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

  • 接口出现异常,首先我们要分清楚这种异常是什么类型的异常。
  • 首先,我们可以通过接口请求的返回值和预期结果比较,来判断这个异常类型。如果是 HTTP 请求的接口,我们可以根据接口的返回状态码来判断这个异常类型。 如:400+的异常都是客户端的异常,500+的异常都是服务器端的异常。
  • 判断完接口异常类型之后,我们根据各种异常类型来分析这个异常。
  • 比如是客户端的异常,我们需要定位出接口那部分功能出问题,是参数?请求方式?还是路径?请求头数据不对?等等;比如是服务器端的异常,我们需要定位异常发生在服务器的那部分,是server部分,还是数据库部分,还是中间件部分?
  • 定位好异常之后,能够复现这个异常,就将 bug 指派给对应的人员。

什么是 DNS?

  • 域名解析服务。将主机名转换为 IP 地址。如将 www.google.com 主机名转换为 IP 地址:69.171.233.33

为什么要做接口测试?

  • 越底层发现bug,它的修复成本是越低的
  • 前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。
  • 检查系统的安全性、稳定性
  • 检查系统的异常处理能力
  • 可以发现很多在页面上操作发现不了的bug
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容