История отслеживания в HP QC (Quality Center) - PullRequest
1 голос
/ 23 августа 2010

Есть ли способ отслеживания истории ошибок в КК? То, что я пытаюсь получить, - это количество ошибок, которые были открыты после релиза, и сколько раз они были открыты. Из КК я могу видеть только «статус» как «закрытый», но он не даст мне информации о том, много раз он менялся с «закрыт» на «вновь открывать», затем «исправлено», затем «снова открывать», затем «закрыто» ».

Заранее спасибо!

Ответы [ 5 ]

2 голосов
/ 30 апреля 2012

Таблица истории аудита QC содержит информацию, хранящуюся для каждого изменения в элементе QC (здесь ошибка).Таким образом, вы можете написать запрос SQL, который извлекает вновь открытые дефекты.Я называю их первоочередными исправлениями ошибок, и они дают убедительные доказательства того, почему проводится больше испытаний, когда их стало больше

Ниже приведена ссылка на блог, в которой содержится эта информация и рассказывается, как извлечь ее на примереSQL-запрос

Первые ошибки

1 голос
/ 30 ноября 2010

Таблица истории не отслеживает все автоматически, поэтому сначала убедитесь, что везде, где это возможно, отметьте ее в модуле поля настройки для отслеживания истории. Если вы используете QC через Saas и не имеете доступа к Sql Server, вы всегда можете сделать это через OTA (QC Api) и использовать там sql. Другой вариант - использовать рабочий процесс и записать в файл, возможно, xml (с использованием vbscript) в событии onaged или скорее в сохраненное событие соответствующего модуля QC.

0 голосов
/ 10 августа 2018

Ключевым моментом здесь является то, что у нас есть явное состояние «Открыть» в рабочем процессе, и мы можем проверить это.Не как текущее состояние, но сколько раз мы проходим через это состояние.Это легко сделать как пользовательский отчет Excel.

Как показывает Энтони Хилярд, по сути это соединение таблицы ошибок и журнала аудита / таблицы свойств.Чтобы получить релиз, вам также нужно присоединиться к таблице релизов.Мы используем как обнаруженный в выпуске, так и целевой выпуск.Целевой выпуск переходит к текущему выпуску для любого открытого дефекта, поэтому мы объединяем их вместе, поэтому, если целевого выпуска нет, он использует текущий выпуск.В отличие от решения Энтони, мы просто хотим посчитать повторные открытия, а не перечислить их.

SQL для просмотра в Release, '@ RelNam @' будет выглядеть так:

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

ЗАКАЗАТЬBY BG.BG_BUG_ID

Если вы хотите вместо этого использовать дату, отбросьте объединение с выпусками и соответствующее предложение WHERE и просто используйте вместо этого тест для BG_DETECTION_DATE.

Если у вас нетЯвное состояние «Повторно открыть», но ваш рабочий процесс имеет «Повторное тестирование» и «Исправление», вместо этого вы можете искать количество переходных событий, включающих старое состояние = Повторное тестирование и новое состояние = «Исправление».Это исключит первый раз до тех пор, пока дефект не будет вновь открыт.

Помните, что если вы хотите добавить столбцы в вывод, убедитесь, что они также находятся в предложении «Сгруппировать по» внизу.

0 голосов
/ 13 августа 2015

Вот Excel Excel Extract, который я использую:

SELECT
  "defect"."BG_BUG_ID" AS "Defect",
  "defect"."BG_STATUS" AS "Status",
  "defect"."BG_SEVERITY" AS "Severity",
  "defect"."BG_PRIORITY" AS "Priority",
  "defect"."BG_USER_03" AS "Category",
  "defect"."BG_USER_01" AS "Modules",
  "defect"."BG_USER_08" AS "EFD",
  "defect"."BG_USER_02" AS "Region",
  "defect"."BG_SUMMARY" AS "Summary",
  "defect"."BG_DETECTED_BY" AS "Detected By",
  "audit_log"."AU_ACTION" AS "Action",
  "audit_log"."AU_USER" AS "User",
  "audit_property"."AP_OLD_VALUE" AS "Old Value",
  "audit_property"."AP_NEW_VALUE" AS "New Value",
  "audit_log"."AU_TIME" AS "Change Time",
  "audit_property"."AP_PROPERTY_NAME" AS "Change Area"
FROM
  BUG "defect"
  INNER JOIN AUDIT_LOG "audit_log" ON "defect"."BG_BUG_ID" = "audit_log"."AU_ENTITY_ID"
  INNER JOIN AUDIT_PROPERTIES "audit_property" ON "audit_log"."AU_ACTION_ID" = "audit_property"."AP_ACTION_ID"
WHERE
    "audit_log"."AU_ENTITY_TYPE" = 'BUG'
0 голосов
/ 11 ноября 2010

Вы можете создать запрос SQL (напрямую запросить базу данных или использовать «великолепную» панель управления QC и запрос Excel), который просматривает строки в таблице истории для этого поля и номера дефекта.

В документации должно быть достаточно примеров для подобных запросов, чтобы вы могли найти пригодный для использования запрос, который либо работает, либо может обсуждаться здесь, если вы разместите его.

...