是否有一种有效的方法来查询哪些测试用例发现了最多的缺陷?
我不认为你可以在测试用例中找到缺陷,看起来你不能在缺陷的测试用例上查询(该字段在那里但不能查询)。
所以,如果您想找出哪些测试用例找到了最多的缺陷,那么唯一的方法就是查询所有缺陷,然后在客户端计算测试用例。
有更好的方法吗?
答案 0 :(得分:1)
我也没有办法在TestCase上查询缺陷。有一个WorkProduct字段,但是它旨在指向导致创建TestCase而不是您想要的Story(或缺陷)。您想检查缺陷上的TestCases字段。遗憾的是,缺陷上的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
]
}
]
但这仍然不是你想要的。您仍然需要找到具有该最大值的最大值和TestCase列表。 This code这样做。该代码的关键行是:
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}")
按照link查看等效的JavaScript。