作者|赵力新、刘筱雨

问题的产生

随着公司业务的发展,组织架构的调整,业务归属不断的变更,业务测试用例的维护越来越困难。举个例子,A产品本来归属于A业务线,由于组织架构调整,A产品交给B业务线维护。如果本次迭代中A产品有一些需求改动,那么负责测试的QA同学C需要怎么设计回归测试用例呢?

现状

测试同学C可能会去找之前负责测试的QA同学D要一份测试用例,发现D同学这里随着业务迭代,有好多版本的用例,比如1.0版本的完整用例,优化版本1.1/1.2/1.3....的用例,还有一些小迭代,甚至没有落地到测试用例。想找一份现在运行版本的完整用例还真是不容易。

总结一下问题:

  1. 用例是否有统一的地方存放?

  2. 用例如何随业务迭代保持常用常新?

  3. 拓展一下,用例设计时,是否能方便复用基础组件用例?

解决问题

转转测试部工程效率组研发了功能用例平台,用来解决用例统一存放、用例随版本迭代更新、用例复用的问题

1、用例类型

功能用例平台的用例主要包括三种:业务用例、业务模块用例、基础组件用例。大概介绍一下含义:

  • 业务用例:业务迭代中某一个需求的用例;

  • 业务模块:某一个业务线抽取出来的比较独立的模块,比如优品->自营->详情页模块;

  • 基础组件:某业务或者公司通用的组件,比如转转下单地址修改组件、优品手机首页底部筛选组件。

其中业务用例会复用业务模块用例和基础组件用例。(有一个约束条件,复用的业务模块,放在当前用例的二级节点上。)当业务需求上线之后,我们会对二级节点业务模块发起合并,由业务模块负责人审批通过之后,更新业务模块的用例,以此来保证业务模块的实效性,使业务基础模块用例随着业务迭代保持常用常新。基础组件更新之后,会通知引用此基础组件的业务用例负责人,让他们查看是否需要同步最新基础组件的用例。具体关系如下图所示:

2、用例展现方式

为了符合大多数人的思维习惯,功能用例平台的测试用例是以脑图形式展示的。脑图的节点提供了常用的功能,包括标记用例类型(冒烟用例、核心用例、漏测用例)、标记用例执行状态(通过、失败)、分配用例执行人、快捷提bug(第二版再上线)。

3、技术方案设计

由于用例是以json格式编辑及保存的,后端采用了mongoDB存储数据。经过调研对比,我们对json树采用“物化路径“的方式存储,加上mongoDB索引使用非常方便,用例的查询、存储都非常高效。用例历史版本的维护,我们只需要记录用例根节点id,即可查询到完整版本的用例,这样回滚到任何一个版本都非常方便。

前端结合antd框架,gg-editor mind等插件,提供基础脑图的展示,编辑等功能,并且根据字段不同显示对应的标签,达到直观展示信息的目的。

后续规划

目前功能用例平台1.0版本提供了用例复制、编写、同步和审批合并的功能,接下来我们会完善平台的功能,主要有以下几个方面:

  1. 针对用例快捷提bug,自动生成bug复现步骤,无需打开tapd(转转项目管理平台);

  2. 测试计划,会让开发同学根据自己的名字和需求搜索到待自己执行的用例;

  3. 用例统计,目前冒烟用例、总用例数据随着用例更新已经是自动统计了,接下来会把前端页面加上。

end


QA在业务变动中如何维护测试用例?相关推荐

  1. 领域驱动设计在互联网业务开发中的实践

    前言 至少30年以前,一些软件设计人员就已经意识到领域建模和设计的重要性,并形成一种思潮,Eric Evans将其定义为领域驱动设计(Domain-Driven Design,简称DDD).在互联网开 ...

  2. QA 这个职位在中国有前途么?转自知乎

    QA 这个职位在中国有前途么? 体现在学校里,大家找工作的时候明显不愿意去做测试,更多的是愿意去做developer. 黄延胜 测试架构师 216 人赞同 对这个问题的回复有2个答案.  第一段来自于 ...

  3. 从业务开发中学习和理解架构设计

    作者:张东爱(当爱)  阿里自主出行研发团队 一.前言 在软件开发领域经常会接触到架构这个词汇,在我最初的印象中,架构是一个很高级的词汇.它似乎代表了复杂的工程结构.高层次的抽象设计.最新的开发语言特 ...

  4. 天天写业务代码?写业务代码中的成长机会!

    写业务代码有成长机会吗?关于这个问题,答案非常肯定:必须有成长机会.对于大部分公司而言,能够写底层代码或者中间件代码的人总是有限的,写业务代码会面临更高的复杂度. 这里分三个层次来看其中的成长机会. ...

  5. 设计模式在业务系统中的应用

    简介: 本文的重点在于说明工作中所使用的设计模式,为了能够更好的理解设计模式,首先简单介绍一下业务场景.使用设计模式,可以简化代码.提高扩展性.可维护性和复用性.有哪些设计模式,这里就不再介绍了,网上 ...

  6. python数据驱动测试_python数据驱动--Excel维护测试用例

    自动化测试经常使用csv文件进行数据驱动测试,读写方法总结如一下 第1步: 学会读取CSV文件 CSV文件.jpg 代码参考.jpg ''' Created on 2018年3月1日 @author: ...

  7. 如何在业务开发中实现自我成长

    笔者按 悟已往之不谏,知来者之可追. 从初入职场到现在,已经两年有余,看起来还是前途有限.后患无穷.写罢此文,聊以自慰,勉过往而励将来. 长久以来,我一直在思考两件事情:怎么把过往的经历抽象成可复用的 ...

  8. Koa在实际的业务场景中,路由如何做分割?【文末留言送书】

    大家好,我是若川.文末留言送书,具体规则文末说明.另外为了鼓励大家多写源码共读笔记,我会在写了5次及以上笔记的作者群里也抽奖送这本书.以后也会有更多福利倾斜. 导读:Koa是一个Node框架,在Nod ...

  9. 同创永益CTO郑阳受邀在清华MEM大讲堂分享“混沌工程在复杂业务稳定性中的应用”

    2022年3月30日下午,清华MEM大讲堂第65期在线上举行,同创永益CTO郑阳受邀在大讲堂详细分享企业数字化转型过程中"混沌工程在复杂业务稳定性中的应用".清华MEM大讲堂是清华 ...

最新文章

  1. 揭富人与穷人21个不同思维 看富豪如何脱颖而出
  2. 记得ajax中要带上AntiForgeryToken防止CSRF攻击
  3. 云服务器怎么用于网站吗,云服务器怎么使用
  4. MySQL-查询数据(SELECT)
  5. android中占容器比例,Android中的容器
  6. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
  7. vue 怎么全局到入常量_Vue 中如何定义全局的变量和常量(转)
  8. 今天的快乐从何而来的飞鸽传书
  9. 【WXS数据类型】Boolean
  10. DIP(依赖倒置原则),IoC(控制反转),DI(依赖注入)复习总结
  11. python驱动级模拟按键大师_AB叔_C#驱动级模拟按键操作
  12. UOS家庭版(21.2)安装SecureCRT(scrt-9.1.1-2638.ubuntu20-64.x86_64.deb)无法运行问题
  13. 【河马】oracle注入工具v1.1,明小子4.5|明小子注入工具 v15.1最新版
  14. 阿里巴巴java开发手册 《Java开发手册》v1.5.0 华山版.pdf
  15. poi创建数据透视表_如何创建数据透视表样式
  16. 显微镜下的大明——第二个故事
  17. Android微博平台设计,基于Android平台的微博系统设计与开发
  18. 如何开通企业付款到零钱||小程序红包功能
  19. 关于在onclick事件传参
  20. python画界面的插件_ImagePy——UI界面支持开放插件的Python开源图像处理框架

热门文章

  1. AndroidStudio - - - 点击头像更换头像_菜单选择_相机拍照与相册获取
  2. 阿里定向广告智能投放技术体系
  3. Android 10.0 进入recovery模式(等待用户选择recovery模式界面)实现自动恢复出厂设置
  4. 嵌入式linux图片浏览器,基于嵌入式Linux图片浏览器的设计与实现.doc
  5. 请广大编程爱好者加入QQ群5907439
  6. DDN获中国工信部—可信区块链评测证书
  7. mui native.js 调用本地视频播放器
  8. python计算召回率_分词结果准确率、召回率计算-python
  9. webrtc代码走读五(JitterBuffer)
  10. Python基础1——导入文件数据