zzcase&接口自动化-质&效的探索
背景
功能用例设计与接口用例设计,是独立存在的,功能用例主要是验证测试页面功能实现,接口用例主要是验证接口入参和出参;从页面上看,功能测试过程是包含接口测试的,但是从服务底层上看,有些逻辑实现是功能页面覆盖不到的。
在业务测试当中,经常会遇到类似的场景:
A:功能测试测完了,接口测完了吗?
B:接口测完了,接下来就等功能测试了……
C:冒烟主流程没有问题,有些场景需要功能和接口一起验证!
D:这个场景单接口验证不了,要结合页面功能一起测试……
以上几个场景算是在业务测试阶段比较常见的,可能还有很多其他的业务场景等等,但都能看得出来,接口测试和功能测试,是分层进行的,这也是近几年行业中常见的分层测试做法。那么接下来,我们一起来看看流程设计和功能设计思路吧
流程设计思路
功能设计思路
【事前】创建或编辑自动化用例
1、接口自动化平台已有自动化用例:根据业务需求条件,重新调整自动化用例参数或者测试场景条件,保存用例
2、接口自动化平台没有自动化用例:根据业务需求条件和研发提供的接口文档,输入特定参数或者参数化,再调试接口,并根据业务测试条件,组合入参后生成自动化用例
【事中】绑定或者生成自动化用例
1、绑定用例
用例库页面, zzcase脑图用例 与 接口用例 关联关系(存在一对多,多对一的情况),一个zzcase功能用例节点只能绑定一个接口用例,同一个接口用例,支持给多个zzcase功能用例节点绑定
基于【事前】动作条件,自动化平台已存在接口用例,脑图用例可以直接选择接口用例进行绑定
选择 1个zzcase功能用例,右击弹窗,关联自动化,在绑定tab下,搜索自动化用例集下对应的接口用例列表(只绑定用例集下的接口用例,选择即可绑定)
zzcase已绑定接口用例的节点,支持二次编辑,重新绑定接口用例
接口用例列表 支持快速搜索,点击选择接口用例,并绑定保存
保存后在 zzcase功能节点上显示接口用例独有的标记(API)
保存zzcase功能用例,自动计算接口用例数量和占比
2、新增用例
同上列绑定模式,在用例库页面, zzcase脑图用例 与 接口用例 的关联关系(存在一对多,多对一的情况),一个脑图用例节点只能生成一个接口用例,接口用例创建成功并自动绑定脑图用例节点;支持批量选择用例节点生成接口用例
选择脑图用例节点,右击关联自动化,在新增用例tab下,根据业务和服务,选择对应的接口,点击新增用例,新增成功自动绑定脑图节点
【事后】自动化用例执行和结果
1、在用例库页面或测试计划页面,打开接口用例列表,支持单独执行和批量执行
2、执行自动化用例,自动推送执行结果,点击支持跳转查看测试报告
3、执行完自动化测试,验证代码覆盖率,利用接口自动化测试的手段,提高代码验证效率和测试质量
总结
1、业务测试过程中,保持养成接口测试的习惯
2、梳理业务功能接口的同时,将接口用例补充应用到需求业务测试当中,及时做到测试左移
3、以功能用例+接口用例同步进行的模式,通过业务场景覆盖率来衡量用例质量
4、减少多平台、多工具脚本来回切换操作,提高业务测试效率
5、支持快速迭代,提高验证代码覆盖率效率
存在不足
1、zzcase嵌套另一个平台页面,动态加载页面和数据,存在响应慢的问题
2、zzcase调用自动化平台接口数据存在不稳定性,需要动态加载
3、脑图用例页面暂时不支持进行接口调试
后续计划
1、探索zzcase关联数据构造平台,功能测试过程中快速进行数据构造,并反向应用到测试当中,提高工作效率
2、探索zzcase关联UI平台,功能测试过程一键回归和验证UI功能
最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
相关文章
- docker for windows & dotnet core app
- [RxJS] Starting a Stream with SwitchMap & switchMapTo
- [CI/CD] 持续集成 & 持续部署 之 Github Actions
- 华为OD机试 - 叠积木(Java & JS & Python)
- High&NewTech:2019.08.09程序猿界大事件之【你好,我是鸿蒙OS】~【来了,老弟】—技术才是硬道理,开源方能建立新生态!
- Python语言学习:Python语言学习之容器(列表&元组&字典&集合)简介、特点/意义/经验总结及容器魔法方法(定义可变&不可变容器的协议)的简介、案例应用之详细攻略
- 【结构化思考】分布式计算 map & reduce 模型(动态图)
- MPLS隧道——Hub&Spoke组网
- js在方法Ajax请求数据来推断,验证无效(OnClientClick="return Method();"),或者直接运行的代码隐藏