jiahbgz 2008-6-5 10:19
如何CQ中统计各个阶段经历的时间
我们公司的测试负责人希望了解每个缺陷从提出到解决各个阶段(SUBMITED-OPENED-RESOLVED-CLOSE)经过的时间。请问有什么好的办法实现?谢谢!
yunshan 2008-6-5 10:39
使用龄期图可以查看整体的生命周期状况。
一般很少去查看每条记录的每个阶段经历的时间的。
jiahbgz 2008-6-5 11:43
多谢!
我也是这么建议的,可是这帮人想通过这种方式,统计每个缺陷是在哪个环节耽搁了,确定开发与测试的责任。CQ本身的query和chart都没办法处理吧?
yunshan 2008-6-5 11:51
CQ本身定制查询或图表很难做到的。
要做的话:
1. 写SQL语句查询history表,并作时间计算。
2. 调用CQ API,遍历每个defect,然后获取每个记录的history记录信息,做统计分析。
两种方法做起来都不是那么容易的。
jiahbgz 2008-6-5 14:41
主要是CQ查询中每个字段只能跟着数值,不能“WHERE 某个字段=某个字段”这样使用,本来我想着用“history.old_state <> history.new_state"条件来显示出每个状态变化的时间,然后让使用者后期处理得出结果,可惜这种方式CQ不支持。我们的主管还坚持说这种需求很容易实现的,SB ONE。有斑竹的支持我就跟他们说做不了。呵呵。
markliu 2008-7-2 22:16
1. 写SQL语句查询history表,并作时间计算。
并不复杂,用hisotry取得各个状态的时间,用后一个状态的时间减去前一个状态的时间即可,统计好后需要存放到独立的数据库表上,
我们现在就是这样实现,每天晚上扫描未闭环的记录来完成统计。
scmtata 2008-7-3 10:01
1. expired_timestamp字段是用于标志下个操作的时间,用这个字段可以比较容易统计出defect在某个状态停留了多久。
2. 关于状态之间的时间差
{quote}
用后一个状态的时间减去前一个状态的时间即可
{quote}
一个defect多次被打回的情况,不知道你怎么实现不同状态之间的时间差,因为history里有多个同状态的记录。