Project

General

Profile

Actions

Coverage format » History » Revision 12

« Previous | Revision 12/19 (diff) | Next »
Viktoria Kopach, 10/03/2014 06:51 PM


Формат файла с информацией о покрытии

Описывается на XML.

<?xml version="1.0" encoding="UTF-8"?>
<coverageInfo> 
  <reqcoverage qid="уникальный_идентификатор_требования_или_тестовой_ситуации">
    <covered_by uri="путь_к_покрывающему_элементу" hits="1"/>
  </reqcoverage>
  <reqcoverage qid="уникальный_идентификатор_требования_или_тестовой_ситуации">
    <covered_by uri="путь_к_покрывающему_элементу"/>
  </reqcoverage>
  <error [name="имя_ошибки"] testuri="путь_к_покрывающему_элементу_из_reqcoverage" [uri="ссылка_на_описание_ошибки"]>
      [<violates qid="уникальный_идентификатор_требования_или_тестовой_ситуации"/>]*
      [<description [format="вид_описания_ошибки"]>описание_ошибки</description>]
  </error>
</coverageInfo>

Здесь:

Квадратными скобками обозначены опциональные параметры.
Элемент coverageInfo только один, он может содержать несколько элементов reqcoverage.
Для каждого покрытого узла должен быть свой элемент reqcoverage. Непокрытые узлы не описываются вовсе.
Элемент reqcoverage может содержать несколько элементов covered_by, если его покрывают несколько тестовых процедур или тестов.
Атрибут hits является опциональным, он указывает количество упоминаний этого требования в тесте.
Элемент error представляет собой ошибки полученные в результате выполнения тестов. Может содержать один элемент description с описанием ошибки. Может включать один или несколько элементов violates в ситуации когда можно определить какие именно требования нарушает ошибка.

уникальный_идентификатор_требования_или_тестовой_ситуации это user-visible-name(element) или qualifying-id(element) покрываемого элемента

  • user-visible-name(element) - это имя элемента, если оно есть (то есть если поле name в Properties view у этого элемента не пустое),
    иначе это user-visible-name(element.parent)/id, то есть сначала user-visible-name родительского элемента, потом id - идентификатор элемента (в качестве разделителя использовать ''/'').
    Например:
    "TR-FMF-01-01-002/TR-FMF-01-01-002_T01"
  • qualifying-id(element) - это полный путь к элементу, начиная с корневого элемента (Requirements), в качестве разделителя используется ''/''.
    Например:
    "Requirements/01/MyRequirement01"
путь_к_покрывающему_элементу
  • если описывается покрытие тестовых ситуаций тестовыми процедурами, то это путь к шагу тестовой процедуры.
    • Если тестовая процедура находится в том же проекте, то путь записывается без протокола, например:
      "/TestProcedures/01/TestStep04"
      Здесь 01 - идентификатор тестовой процедуры, 04 - номер шага тестовой процедуры.
    • Если тестовая процедура находится в другом проекте Requality, то путь записывается следующим образом:
      "requality://ProjectName/TestProcedures/01/TestStep04"
      Здесь ProjectName - имя проекта, где находится тестовая процедура.
  • если описывается покрытие тестовых ситуаций тестами, то это путь к тесту, например:
    "file:///home/user/work/test1.c#12"

имя_ошибки - опциональный параметр, представляет собой отображаемое имя ошибки. В случае если не определен, используется имя "error"+порядковый_номер_ошибки.

путь_к_покрывающему_элементу_из_reqcoverage - путь к одному из тестов, описанных по принципу путь_к_покрывающему_элементу

ссылка_на_описание_ошибки - опциональный параметр, путь к файлу с подробной информацией об ошибке

уникальный_идентификатор_требования_или_тестовой_ситуации - путь к требованию или тестовой ситуации, соответствующий qualifying-id(element)

format="вид_описания_ошибки" - формат описания ошибки, есть два возможных представления, соответвующих "вид_описания_ошибки" - представление в формате html или plain соответствующий тексту без форматирования. Для последнего варианта все html теги будут отображаться в виде текста.

описание_ошибки представляет собой описание ошибки, при этом для формата html допускается использование html тегов для форматирования текста.

Пример описания покрытия тестовыми процедурами:

<?xml version="1.0" encoding="UTF-8"?>
  <coverageInfo>
    <reqcoverage qid="TR-FMF-01-01-001/TR-FMF-01-01-001_T02">
      <covered_by uri="/TestProcedures/01/TestStep05" hits="1"/>
    </reqcoverage>
    <reqcoverage qid="TR-FMF-01-01-001/TR-FMF-01-01-001_T01">
      <covered_by uri="/TestProcedures/01/TestStep03" hits="1"/>
    </reqcoverage>
    <reqcoverage qid="TR-FMF-01-01-001">
      <covered_by uri="/TestProcedures/01/TestStep01" hits="1"/>
    </reqcoverage>
    <reqcoverage qid="TR-FMF-01-01-002/TR-FMF-01-01-002_T01">
      <covered_by uri="/TestProcedures/01/TestStep02" hits="1"/>
    </reqcoverage>
    <reqcoverage qid="TR-FMF-01-01-006">
      <covered_by uri="/TestProcedures/01/TestStep04" hits="1"/>
    </reqcoverage>
  </coverageInfo>

Updated by Viktoria Kopach over 9 years ago · 12 revisions