有没有一种有效的方法来查询哪些测试用例发现了最多的缺陷?
我不认为你可以在测试用例上找到缺陷,而且看起来你不能在测试用例上查询缺陷(该字段在那里但不可查询)。
因此,如果您想找出哪些测试用例发现的缺陷最多,唯一的方法就是查询所有缺陷,然后在客户端统计测试用例。
有没有更好的办法?
有没有一种有效的方法来查询哪些测试用例发现了最多的缺陷?
我不认为你可以在测试用例上找到缺陷,而且看起来你不能在测试用例上查询缺陷(该字段在那里但不可查询)。
因此,如果您想找出哪些测试用例发现的缺陷最多,唯一的方法就是查询所有缺陷,然后在客户端统计测试用例。
有没有更好的办法?
我也看不到在 TestCases 上查询缺陷的方法。有一个 WorkProduct 字段,但它旨在指向导致创建 TestCase 的故事(或缺陷)而不是您想要的。您想检查缺陷上的 TestCases 字段。不幸的是,Defects 上的 TestCases 字段在我们标准 WSAPI 的查询表达式中不可用。但是,您可以将其包含在我们 Lookback API 的查询中。
此查询将返回提及一个或多个 TestCases 的所有缺陷:
{
"find":{
"_TypeHierarchy":"Defect",
"TestCases":{"$exists":true},
"__At":"current"
},
"fields":["ObjectID","TestCases"]
}
这会给你这样的结果:
[
{
"ObjectID": 1412057460,
"TestCases": [
1431813466
]
},
{
"ObjectID": 1445019668,
"TestCases": [
1445020483
]
},
{
"ObjectID": 2021743865,
"TestCases": [
2844922903,
2844882838
]
},
{
"ObjectID": 2047435117,
"TestCases": [
2082930376
]
},
{
"ObjectID": 2458916959,
"TestCases": [
2082930376
]
}
]
但这仍然不是你想要的。您仍然需要找到最大值和具有该最大值的 TestCases 列表。这段代码就是这样做的。该代码的关键行是:
counts = {}
for r in results
for t in r.TestCases
unless counts[t]?
counts[t] = 0
counts[t]++
max = Math.max.apply({}, (value for key, value of counts))
testCasesWithMaxDefects = (key for key, value of counts when value is max)
alert("Test Case(s) with the maximum number of defects (#{max}) is(are) #{testCasesWithMaxDefects}")
按照链接查看等效的 JavaScript。