如何查询Passed的TestCase Runs及未正确更新为Closed的关联TestCase?
查询OUTCOME="Passed"且关联TestCase STATE≠"Closed"的TestCase Runs
1. SQL查询方式
如果测试数据存储在关系型数据库中,可通过关联表查询直接获取目标记录。假设基础表结构如下:
test_case_runs:存储测试执行记录,含id(执行ID)、test_case_id(关联用例ID)、outcome(执行结果)字段test_cases:存储测试用例信息,含id(用例ID)、state(用例状态)字段
对应的查询语句:
SELECT tcr.id AS run_id, tcr.test_case_id, tc.state AS case_current_state, tcr.outcome FROM test_case_runs tcr JOIN test_cases tc ON tcr.test_case_id = tc.id WHERE tcr.outcome = 'Passed' AND tc.state != 'Closed';
执行后会返回所有符合条件的执行记录,包含执行ID、关联用例ID、用例当前状态及执行结果。
2. 专业测试工具筛选(以主流工具为例)
如果使用TestRail、Zephyr这类测试管理平台,直接用内置筛选器组合条件:
- 第一步:筛选TestCase Runs的OUTCOME为
Passed - 第二步:添加关联筛选,限定这些执行记录对应的TestCase的STATE不等于
Closed - 第三步:可保存该筛选规则,后续直接复用快速查询
识别已通过Test Runs但关联TestCase未更新为"Closed"的方法
1. 定期巡检核对
- 定时运行上述SQL查询或工具筛选,导出结果列表,由测试负责人逐个确认这些用例是否符合关闭条件
- 将查询结果导出为报表,作为测试流程合规性检查的一项内容
2. 自动化规则校验
- 在测试管理系统中配置触发规则:当TestCase Run的OUTCOME变为
Passed时,自动检查关联TestCase的状态,若未处于Closed则发送系统通知或邮件提醒 - 若使用自定义测试系统,可编写脚本定时扫描数据,发现不符合规则的记录时触发告警
3. 流程规范约束
- 在测试流程中明确要求:测试用例执行通过后,必须同步将用例状态更新为
Closed - 将"已通过用例的状态检查"纳入测试阶段收尾的必做项,比如发布测试报告前完成该校验
内容的提问来源于stack exchange,提问作者Stotz
相关产品推荐
相关产品推荐

