Project

General

Profile

Actions

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

Описывается на 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="uri_элемента_covered_by" [uri="ссылка_на_описание_ошибки"]>
      [<violates qid="уникальный_идентификатор_требования_или_тестовой_ситуации"/>]*
      [<description [format="вид_описания_ошибки"]>описание_ошибки</description>]
  </error>
</coverageInfo>

Здесь:

Квадратными скобками обозначены опциональные параметры.

- coverageInfo - может быть только один экземпляр в файле. Он содержит вложенные XML-элементы reqcoverage (один или несколько) и error (может не быть, может быть один или несколько).

- reqcoverage - элемент-ребенок для coverageInfo. Должен быть задан отдельно для каждого покрытого Requality-элемента. (Непокрытые узлы не описываются никак.) Содержит вложенные XML-элементы covered_by (один или несколько). Каждому вложенному covered_by должен соответствует одна тестовая процедура или тест. Имеет атрибут qid.
- qid - это 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"
- covered_by - элемент-ребенок для reqcoverage. Внутри reqcoverage их может быть несколько в зависимости от того, сколько тестовых процедур или тестов покрывают соответствующий ему Requality-элемент. Каждый covered_by соответствует одному покрывающему Requality-элементу. covered_by имеет атрибуты uri и hits.
- uri - атрибут XML-элемента covered_by, указывает путь к тесту, описанному в этом covered_by элементе:
  • если описывается покрытие тестовых ситуаций тестовыми процедурами, то это путь к шагу тестовой процедуры.
    • Если тестовая процедура находится в том же проекте, то путь записывается без протокола, например:
      "/TestProcedures/01/TestStep04"
      Здесь 01 - идентификатор тестовой процедуры, 04 - номер шага тестовой процедуры.
    • Если тестовая процедура находится в другом проекте Requality, то путь записывается следующим образом:
      "requality://ProjectName/TestProcedures/01/TestStep04"
      Здесь ProjectName - имя проекта, где находится тестовая процедура.
  • если описывается покрытие тестовых ситуаций тестами, то это путь к тесту, например:
    "file:///home/user/work/test1.c#12"

- hits - атрибут XML-элемента covered_by, является опциональным. Указывает количество упоминаний этого требования reqcoverage в тесте covered_by.

- error - элемент для описания ошибки, полученной в результате выполнения теста. Может содержать один элемент description с описанием ошибки. Может включать один или несколько элементов violates в ситуации, когда можно определить какие именно требования нарушает ошибка. Имеет атрибут testuri и опциональные атрибуты name и uri.
- testuri - путь к одному из тестов, описанному в covered_by элементе
- name - опциональный параметр, представляет собой отображаемое имя ошибки. В случае если не определен, используется имя "error"+порядковый_номер_ошибки.
- uri - опциональный параметр, путь к файлу с подробной информацией об ошибке

- violates - опциональный элемент, соответствует требованию, которое нарушает ошибка. Каждый элемент violates соответствует одному нарушенному требованию. Имеет атрибут qid. Если элемент violates не указан, ошибка в отчете отображена не будет.
- qid - это user-visible-name(element) или qualifying-id(element) покрываемого элемента (подробнее см. выше, в описании элемента reqcoverage).

- description - опциональный элемент, текстовое описание ошибки. Имеет опциональный атрибут format.
- format - формат описания ошибки. Может быть "html" или "plain". В случае "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 about 5 years ago · 19 revisions