【落叶263】“老兵爱学习”之《颠覆你的Python接口自动化测试》(1)

文/秋之川

【目录】

这是《落叶》文集里第 263 片落叶,希望你能喜欢,不为别的,只为这份坚持。

自己挖坑自己填,好记性不如烂笔头,尽在《老兵爱学习》

【已学习】

第一节课 总体设计思想 / 第二节课 接口基础 / 第三节课 接口手工测试

1、什么是接口

接口其实就是由一段具备逻辑处理的程序代码所组成的,可被其他方法、服务或应用所使用。

调用接口的人,可以把接口看作一个黑匣子,只需要按接口文档的约定传入正确的参数,再接收并处理返回的数据,不需要知道黑匣子里的处理机制;

2、为什么要做接口测试,及接口自动化

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部组件与系统之间以及内部各个子系统之间的交互。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑及依赖关系等。 

1、产品的系统复杂度越来越高,只靠手工的前端测试,很难确保很高的覆盖度,但是通过接口测试,我们能模拟出各种类型的入参值,包括一些从前端模拟不了的入参值,我们能根据接口文档的定义,设计出相对完善的入参值,力争在接口层先保证业务逻辑的正确,剩余的大多数问题就只是 APP 自身的交互和数据展示问题了。

2、接口测试相对 UI/功能测试来说,自动化的成本更低,性价比更高,特别是在产品进入稳定维护期之前,UI 和功能都不稳定,变化较大,导致脚本返工甚至于废弃重写的几率都很大,而接口大多都是可以重用的。

3、现在很多系统前后端是分离的,从安全层面来说,只依赖于前端进行 Input Validation 已经完全不能满足系统的安全要求,因为绕过前端相对容易,所以就需要后端同样进行 Output Validation,这就需要用接口测试工具去验证;

3、Fiddler

a. 打开Fiddler->Tools->Fiddler

Options在Connection面板里将Allow remote computers to connect勾选起来,确定后,关闭Fiddler并重新打开Fiddler


b. 在cmd里执行netstat-anop tcp查看Fiddler进程是否正常监听8888端口,如果服务没有正常开启,可以尝试使用其他端口,端口修改的位置,如上图位置


c. 从上图我们看到,进程ID为7724的Fiddler正在监听8888端口,说明代理已经在工作了.

d. 在cmd里执行ipconfig查看本机IP号


e. 设置手机端网络代理

(1) 打开你手机连接的无线,代理设置->手动

(2) 主机:192.168.0.153(你的运行Fiddler的电脑IP)

(3) 端口:8888

(4) 确定,苹果手机直接后退就可以了

f. 手机端操作app,检查fiddler是否有数据记录

g. 测试完成后,记得关闭代理,以免 Fiddler 关掉之后,手机上不了网

4、接口测试用例设计

听完了老师关于设计方法的讲解,结合我自己的认知,我对接口测试的用例设计做了下面一些思考和总结。

参数校验:

a. 参数完整性

通常是用来做入参参数必填项检查的,因为前端往往会做必填项保护和响应提示信息,为了确保服务端也做了必填项保护,我们需要将必填项对应的入参参数值置为空,看服务端是否会返回相应的提示信息和响应状态码。

b. 参数合法性

入参参数值的合法性检查一般也会在前端做保护,但后端往往容易忽视或遗漏,为了确保服务端也做了入参参数值的合法性检查,我们除了设计合法的入参值之外,还需要设计一些非法的参数值,看服务端是否会抛出相应的异常和响应状态码。

逻辑校验:

这里的逻辑性检查,就是检查服务端返回的 JSON 串里的参数值,是否与根据入参的值和业务逻辑推演出来的期望值一致,以此来测试该接口的业务逻辑处理是否正确。

关于这两类校验的自动化实现,我其实也一直在纠结它们的性价比。

前者是自动化测试工具很容易实现的,应用面也较广,比如回归测试、环境检查、现网巡检等场景,而且也易于复制,因为它本身和业务逻辑耦合性不大,更多的只是检查该接口的健康状态。

后者因为需要校验逻辑正确与否,所以在做返回值比对时,就不仅仅只是比较 JSON 串里的返回参数值和期望结果是否一致了,在某些场景下还需要对数据库里的数据进行实时比对或操作。这在设计工具时,不可避免地会增加实现的难度,同时还缩小了可应用范围,至少这类校验就不能在真实的客户环境去执行,会存在风险。

所以,比较期待在后续课程的学习过程中,能让我关于接口逻辑校验自动化工具的构思变得清晰。

【待学习】

第四节课:Python 操作 MySQL(2017.08.11 周五晚 21:00)

作者简介:14 年测试 + 11 年项目管理 + 11 年团队管理 = 一个测试老兵

【目录】

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

推荐阅读更多精彩内容