接口自动化测试之用例结构设计(三)

前面和大家探讨了编写测试用例的方法,设计框架的思路:导出用例,执行用例,收集用例结果。

这篇文章和大家聊一聊用例结构设(建议自己动手写过一个接口自动化之后再一起来探讨),否则不明白一些做法的初衷

1.用例结构设计初衷

陈述几个问题,大家可能觉得Excle存储用例比较low,没有yaml,sql存储的高大上之类的

    1. 如果说一个模块,十个接口的用例超过了100条,200条,300条,那么操作体验来看,哪一种存储形式比较容易接受?
    2. Excle的推广程度,学习成本,上手速度,相较于其他的有优势
    3. 后期扩展,无论是PyQt做成桌面应用,还是做成WEB平台,操作形式上的相似度是比较高

1.1常见用例结构

关于编写接口用例的方法已经陈述过了,如果还有不清楚的,请转:接口自动化之测试用例设计(一) 。然后,大家就可以愉快的编写测试用例的,但是就有了另外一个问题,接口用例应该是什么样子的?这里取了一个培训机构常见的接口用例模板

常见用例结构

上面的模板看起来怎么样?不知道大家日常使用的模板是不是和上面的差不多?

1.2 使用中的问题

我刚接触上面的模板的时候没感觉到有什么问题,接口信息,请求方法,请求数据,入参等字段,的确是接口测试必要的信息。

  • 但是在实际的使用过程中,遇到了各种操作不便的问题

1.2.1. 重复字段太多

其实在一个项目中项目地址,同一个接口的API信息等。

1.2.2 请求参数过多

像图示中的两个参数,看起来没什么问题,但是如果是一个大型的表单提交接口呢?参数可能高达50多个左右,都放在一个单元格内,怕不是一屏都不够哦

1.2.3 整个用例庞大

接口的用例相较于功能用例还要多出一部分,如果都在一个标签页里,500条用例,编写,查找起来相当不便

前段时间拜访了用户,咨询一下新系统(ERP类型)使用情况。系统功能完善,UI清爽,很符合用户的预期。但是有一点,录入信息的时候干扰项太多,用户操作起来十分不顺手。总的来说,系统是给用户使用的,怎么方便,怎么来。

自动化用例是给我们自己设计的,怎么操作简单怎么来,从上面的Excle用例来看,是不符合我们日常使用的。

2.用例结构设计

根据上面操作不便的问题,分别进行处理并附以用例更多的功能。

2.1 重复字段太多

重复字段太多,项目地址,同一个接口的API信息等。

  • 这里指的重复字段指的是接口信息。通常情况下,一个项目的接口信息来源于接口文档,并且同一个接口的用例接口信息一致。

那么,怎么来解决这个问题?我们另行维护一份自己需要的接口信息文档,然后需要用到的时候进行读取即可。


用例拆分示例

也就是把上面圈起来的内容,拆分出去,另行维护


接口信息拆分示例

拆分后的用例如下所示,界面看起来是不是清爽许多?
拆分后的用例

2.2 请求入参,参数过多?

例如上图中参数过多的情况,一个单元格内看起来是不是十分臃肿?如果某个添加接口有50个参数,那展开的话,一屏都看不完整。(可能有的人会说,超出单元格隐藏,可以试一试隐藏后的效果哈)


参数过多示例

想解决这个问题,其实也很简单,通常情况下,测试用例是保持单一验证的情况。
也就是说,就算有50个参数,那么其他一条测试用例中只会有测试点的参数,其他参数通常保持不变的。
这样子的话,就可以用模板数据,然后在用例中编写变量就好


模板数据

2.3 用例数量庞大?

模块区分,如果都在一个标签页里,500条用例,编写,查找起来相当不便。解决办法:根据模块来聚合用例,然后查找方便
(举例:
一个模块,20个api,400条case,那么也就像上面的400多行)


区分示例

2.4 断言设计

想要在Excle去做断言,其实有点难处理,根据响应文本去直接比对?但是有时候需要比对code,message,data等参数,这里借鉴了JMeter的响应结果树,根据规则去匹配:

{
    "code":"",
    "message":"",
    "data":{
        "key":"value"
    }
}
断言示例

2.5 用例附属信息

测试用例的测试版本,用例执行人员,项目配置信息(服务地址,数据库地址等),用例执行时间,备注等


其他信息

那么现在的由一份Excle接口用例,进行自己的加工之后,用例结构如下:


image

demo示例如下,API配置文件第一阶段以手动维护为主,根据实际项目进行扩展(自动生成)


API信息文件

用例配置,针对于项目情况,用例运行的说明
用例配置

实际编写的测试用例,界面是不是很清爽?


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