在HP QC(质量中心)中跟踪历史记录

时间:2010-08-23 17:03:11

标签: qc hp-quality-center

有没有办法在QC中跟踪错误的历史记录?我想要得到的是在一个版本中重新打开了多少错误以及重新打开了多少次错误。从质量控制中,我只能看到“状态”为“已关闭”,但它不会向我提供有关多次从“关闭”更改为“重新打开”然后“修复”然后“重新打开”然后“关闭”的信息”

提前致谢!

5 个答案:

答案 0 :(得分:2)

QC的审计历史表包含为QC元素中的每个更改存储的信息(此处为Bug)。因此,您可以编写一个检索重新打开缺陷的SQL查询。我把它们称为第一次修复失败,它们提供了很好的证据,证明为什么当你有更多的测试时会发生更多的测试

以下是博客链接,其中包含此信息,并说明如何使用SQL查询示例提取

First time failures

答案 1 :(得分:1)

历史记录表不会自动跟踪所有内容,因此请务必首先确保在自定义字段模块中将其标记为跟踪历史记录。 如果您通过Saas使用QC并且无法访问Sql Server,您可以始终通过OTA(QC Api)执行此操作并在那里使用sql。 其他选择,使用工作流并写入文件,可能是onchanged事件的xml文件(使用vbscript),或者相关的QC模块的onsaved事件。

答案 2 :(得分:0)

您可以创建SQL查询(直接查询数据库,或使用QC的“精彩”仪表板和Excel查询),查看历史记录表中该字段和缺陷编号的行。

文档应该有足够的示例用于这样的查询,您应该能够提供可用的查询,如果您发布它可以工作或可以在这里讨论。

答案 3 :(得分:0)

此处的关键是我们在工作流程中具有显式的“重新打开”状态,我们可以对此进行测试。不是作为当前状态,而是我们经过该状态的次数。作为自定义Excel报表,这很容易做到。

正如Anthony Hilyard所示,它本质上是Bug表与审核日志/属性表之间的联接。要获得发布,您还需要与“发布”表连接。我们同时使用检测到的发行版和目标发行版。对于任何未解决的缺陷,目标版本都将移至当前版本,因此我们将它们合并在一起,因此,如果没有目标版本,它将使用当前版本。与Anthony的解决方案不同,我们只想计算重新打开次数,而不是列出它们。

要在发行版“ @ RelNam @”中查找的SQL如下所示:

SELECT 
    BG.BG_BUG_ID As 'Defect ID', 
    BG.BG_STATUS As 'Status', 
    COUNT(AU.AU_ACTION_ID) As 'Reopens', 
    BG.BG_DETECTED_BY AS 'Detected By', 
    BG.BG_SUMMARY As 'Summary'
FROM BUG BG
LEFT JOIN AUDIT_LOG AU ON BG.BG_BUG_ID = AU.AU_ENTITY_ID
INNER JOIN AUDIT_PROPERTIES AP ON AU.AU_ACTION_ID = AP.AP_ACTION_ID
INNER JOIN RELEASES RLS ON RLS.REL_ID = COALESCE(BG.BG_TARGET_REL,BG.BG_DETECTED_IN_REL)
WHERE 1=1
    AND RLS.REL_NAME = '@RelNam@'
    AND (AU.AU_ENTITY_TYPE = 'BUG' OR AU.AU_ENTITY_TYPE IS NULL)
    AND AU.AU_ACTION = 'UPDATE'
    AND (AP.AP_PROPERTY_NAME = 'Status' AND AP.AP_NEW_VALUE = 'Reopen')
GROUP BY 
    BG.BG_BUG_ID, 
    BG.BG_STATUS, 
    BG.BG_DETECTED_BY, 
    BG.BG_SUMMARY

ORDER BY BG.BG_BUG_ID

如果要使用日期,请删除带有发行版的联接和关联的WHERE子句,而仅对BG_DETECTION_DATE使用测试。

如果您没有显式的“重新打开”状态,但是您的工作流程具有“重新测试”和“修复”,则可以查找涉及旧状态=“重新测试”和新状态=“修复”的过渡事件数。这将排除第一次,仅在重新打开缺陷的地方。

请记住,如果要在输出中添加列,请确保它们也位于底部的“分组依据”子句中。

答案 4 :(得分:-1)

这是我使用的Excel SQL Extract:

http://oldsite.com/subfolder/*.jpg/html/js/etc. to http://newsite.com/subfolder/*.jpg/html/js/etc.

http://oldsite.com/subfolder2/*.jpg/html/js/etc. to http://newsite.com/subfolder2/*.jpg/html/js/etc.

http://oldsite.com/*.jpg/html/js/etc. to http://newsite.com/*.jpg/html/js/etc.