尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

分支功能:实现脚本多场景覆盖

分支功能:实现脚本多场景覆盖 分支功能实现多场景覆盖主线描述脚本要做的功能分支描述该功能在各条路径上的执行情况。一份代码配上 N 个分支场景得到 N 份测试结论。项目地址https://qingxun.online一、问题脚本在正常情况下通常验证充分出问题的往往是各种分支情况脚本的功能通常覆盖多种情况命令是否执行成功、回显里有没有目标字段、数值是否在阈值内、型号是否匹配。这些情况在正常情况下都能验证到操作者在一台正常设备上取到display version的回显照它写需求脚本按这份回显做完判断、测试通过。出问题的是正常情况之外的那些回显。发布之后设备群里总有一些设备回显不一样——命令报错、字段为空、型号不符、权限不足。这些分支情况在生成阶段从来没有验证过问题就只能在真机上暴露。结论正常情况通常验证充分容易漏掉的是各种分支情况。分支功能解决的就是这个问题给同一个脚本建多个分支场景每个场景验证一种分支情况分别得出结果。二、做法一份代码多组回显生成页的描述区是标签页主线占一个每条分支各占一个。两者的分工如下填写内容平台做什么主线脚本要完成的任务命令 / 报文 / 处理逻辑只按主线生成一份代码设备型号、代码结构都以主线为准分支这个分支实际执行的步骤格式和主线一样为这个场景造出设备的回显用同一份代码跑一遍并评估一次「自动化生成」包含三件事生成代码——只看主线产出一份脚本代码生成分支映射——为每个分支造出这个场景下设备的命令-报文对应关系执行与评估——同一份代码分别放进各个场景的回显里执行各自得出评估结论。结果按标签页展示每个分支有自己的一套命令映射、执行日志、返回结果和评估结论标签上用 ✅ / ❌ 标出这个场景的结果。三、哪些场景值得覆盖网络设备脚本里下面几类场景最值得覆盖场景分支描述的内容常见的漏点命令执行失败 / 错误回显真实的错误回显原文脚本把报错当正常数据继续解析或直接中断关键字段为空 / 格式异常缺字段、变形的回显匹配到空值后误判为通过触发告警 / 数值越界超过阈值的数值阈值方向写反告警路径没被触发型号或软件版本不同另一种型号的回显规则写得太窄一律判定模板不符权限不足 / 未进 enable权限错误回显后续命令全部失败报告里看不出原因两三个最容易出问题的场景通常就够了。场景加得越多验证越完整需要维护的描述也越多。四、操作填写、检查与生成填写主线。主线要把规则写全分支只能触发主线里已经声明的规则主线没写的判定在分支里用不出来。添加分支。两种方式手动「添加分支」按场景填写「AI建议分支」根据主线给出三条候选场景命令失败、报文为空、型号差异、权限不足等每条都能改完再采纳「换一批」换一组候选。建议会先做一次一致性检查超纲或与主线矛盾的建议会被自动丢弃并写明原因。建议只是参考不采纳也能自己写。检查分支。「检查分支」逐条给出分支和主线的关系合规/超纲分支引入了主线没声明的判定、阈值、失败处理或终止条件/矛盾分支结论和主线冲突。这个检查只提示、不拦着生成作用是提前发现分支里多出来的要求。生成与查看结果。「自动化生成」跑完后每个标签页显示这个场景的命令映射、执行日志、返回结果和评估结论。单独重跑一个场景。已经有脚本代码时标签页上的「运行」只跑当前这个场景「运行全部」跑主线加全部分支两者都不重新生成代码适合改完某条分支描述后单独重跑不用整体重来。改动留痕。分支描述随脚本一起保存并进入版本历史历史里的差异对比把分支描述排在最前面这次改的是要验证什么一眼可见主线描述没动也会明确写出来。五、分支描述的写法分支描述和主线格式一样按执行顺序写命令 / 报文 / 处理逻辑。三条规则只写这个场景真正会执行的步骤。流程在哪一步结束就写到哪一步后面的命令不用列。不要写占位。「不执行」「其余同主线」「同上」这类写法以及场景前提验证点这类说明都不提供有用信息。不要超出主线。分支只能用另一组报文或数值去触发主线里已经声明的规则。以主线「取版本号匹配不到SW-9000就判定模板不符并结束」为例反例平台只能猜没写出来的步骤命令 display version 报文不执行 处理逻辑其余同主线正例平台能照着造出回显命令 display version 报文 %Error: no such file: version.txt 处理逻辑命令返回错误回显判定取版本失败输出可读原因并结束本次检查错误回显要写原文不要只写报错两个字。平台拿这段文字去造模拟设备写得越具体得出的结果越可信。六、分支没通过时怎么处理主线通过就说明这一版脚本能用分支不参与通过判定。这样设计是因为代码只有一份先确认主线能用再看哪些分支没走通不让一个边缘分支卡住整个生成流程。生成结束时汇总会给出各分支的结果例如「主线评估通过分支 1/2 通过」。❌ 表示这个场景还没有被验证过。没通过的分支按标签页给出的原因处理标签页给出的原因处理方式分支描述和主线对不上映射造不出来改分支描述把这一步的命令和回显写具体超纲这条规则没写在主线里把规则补进主线再生成一轮脚本自己判断错了用「微调」在现有代码上改这一点并重跑全部场景一个 ❌ 分支通常比三个 ✅ 分支更有用✅ 只确认了已经想到的情况❌ 指出的是没想到的情况。项目地址https://qingxun.online
返回列表