Project

General

Profile

Actions

Coverage format » History » Revision 13

« Previous | Revision 13/19 (diff) | Next »
Viktoria Kopach, 10/06/2014 01:42 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="uri_элемента_covered_by" [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"+порядковый_номер_ошибки.

uri_элемента_covered_by - путь к одному из тестов, описанному в covered_by элементе

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

уникальный_идентификатор_требования_или_тестовой_ситуации - путь к требованию или тестовой ситуации, соответствующий 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 · 13 revisions