You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MagicDraw中强制测试用例顺序并便捷插入新测试步骤?

问题:MagicDraw中测试步骤的顺序管控与便捷插入方案

问题背景

计划将DOORS中遗留的基于文本的测试计划/结果迁移至MagicDraw,采用表格展示。已自定义TestSection(对应DOORS的章节,支持展开/折叠)和TestStep构造型,TestSection包含1个及以上TestStep,通过Generic表格呈现。

核心需求矛盾:

  • 多数测试步骤必须严格按顺序执行,乱序会导致测试失败
  • 需要方便未来插入新测试步骤,同时不能丢失与需求的追溯性

已尝试方案

  • 方案1:优先使用表格的「上移行/下移行」按钮调整顺序,但误点列标题会丢失自定义排序,且排序仅对当前表格有效,多表格需手动重复操作,未找到禁用列标题排序的设置
  • 方案2:在TestSection构造型中添加包含TestStep列表的属性,虽可排序,但需通过自定义列和元链导航提取步骤,导致测试步骤挤在单行,无法直接操作数据
  • 方案3:目前使用自动编号生成唯一测试ID,考虑新增属性作为测试步骤编号后通过列排序管控顺序,但在中间插入新测试时操作繁琐
  • 方案4:用带控制流的序列或活动图记录顺序,但构建图耗时且无法直接生成适合测试人员使用的简洁表格

推荐解决方案

1. 优化顺序字段,实现灵活插入

给TestStep构造型新增**sequenceOrder**整数属性(默认值设为0):

  • 插入新步骤时,直接在目标位置的上下步骤之间设置中间序号(比如在序号10和20的步骤之间插入新步骤,设为15),无需批量修改后续步骤的序号
  • 在Generic表格的「Configure Table」中,将sequenceOrder设为唯一排序键,同时禁用其他列的排序权限,避免误操作打乱顺序
  • 可编写简单的MagicDraw脚本,实现选中步骤后自动按当前位置生成连续序号,解决序号碎片化的问题

2. 利用有序包含特性固化顺序

修改TestSection与TestStep的关联为有序包含(Ordered Containment):

  • 在自定义UML Profile中,将TestSection对TestStep的聚合关系设置为ordered
  • 展开TestSection时,TestStep会自动按模型中包含的顺序显示,无需依赖排序列
  • 调整顺序时,直接选中TestStep行使用「上移/下移」按钮,顺序会直接保存到模型结构中,不会因点击列标题丢失
  • 插入新步骤时,在目标位置右键选择「Create Child Element > TestStep」,新步骤会自动插入到当前选中行的下方,天然保持顺序

3. 规避列标题误排序的小技巧

如果无法找到全局禁用列排序的设置,可通过表格配置锁定:

  • 在「Configure Table」中,将所有列的排序选项设为「Not Sortable」,仅保留管控顺序的列(如sequenceOrder或有序包含对应的列)可排序
  • 将配置好的表格保存为自定义模板,所有测试表格统一使用该模板,避免重复设置

内容的提问来源于stack exchange,提问作者220Subsonic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:03:39