Project

General

Profile

Coverage format » History » Version 19

Viktoria Kopach, 10/15/2014 05:40 PM

1 2 Viktoria Kopach
h1. Формат файла с информацией о покрытии
2 1 Viktoria Kopach
3
Описывается на XML.
4
5 2 Viktoria Kopach
<pre>
6
<?xml version="1.0" encoding="UTF-8"?>
7
<coverageInfo> 
8
  <reqcoverage qid="уникальный_идентификатор_требования_или_тестовой_ситуации">
9 17 Viktoria Kopach
    <covered_by uri="путь_к_покрывающему_элементу" [hits="1"]/>
10 2 Viktoria Kopach
  </reqcoverage>
11 9 Denis Kildishev
  <reqcoverage qid="уникальный_идентификатор_требования_или_тестовой_ситуации">
12
    <covered_by uri="путь_к_покрывающему_элементу"/>
13
  </reqcoverage>
14 13 Viktoria Kopach
  <error [name="имя_ошибки"] testuri="uri_элемента_covered_by" [uri="ссылка_на_описание_ошибки"]>
15 10 Denis Kildishev
      [<violates qid="уникальный_идентификатор_требования_или_тестовой_ситуации"/>]*
16 11 Alexey Khoroshilov
      [<description [format="вид_описания_ошибки"]>описание_ошибки</description>]
17 9 Denis Kildishev
  </error>
18 2 Viktoria Kopach
</coverageInfo>
19
</pre>
20 1 Viktoria Kopach
21
Здесь:
22 8 Denis Kildishev
23 9 Denis Kildishev
Квадратными скобками обозначены опциональные параметры.
24 14 Viktoria Kopach
25 15 Viktoria Kopach
- +*coverageInfo*+ - может быть только один экземпляр в файле. Он содержит вложенные XML-элементы *reqcoverage* (один или несколько) и *error* (может не быть, может быть один или несколько).
26 14 Viktoria Kopach
27 1 Viktoria Kopach
- +*reqcoverage*+ - элемент-ребенок для *coverageInfo*. Должен быть задан отдельно для каждого покрытого Requality-элемента. (Непокрытые узлы не описываются никак.) Содержит вложенные XML-элементы *covered_by* (один или несколько). Каждому вложенному *covered_by* должен соответствует одна тестовая процедура или тест. Имеет атрибут *qid*.
28 17 Viktoria Kopach
- +*qid*+ - это *user-visible-name(element)* или *qualifying-id(element)* покрываемого элемента:
29 16 Viktoria Kopach
30 17 Viktoria Kopach
* *user-visible-name(element)* - это имя элемента, если оно есть (то есть если поле name в Properties view у этого элемента не пустое),
31 5 Viktoria Kopach
иначе это user-visible-name(element.parent)/id, то есть сначала user-visible-name родительского элемента, потом id - идентификатор элемента (в качестве разделителя использовать ''/'').
32
Например: 
33
"TR-FMF-01-01-002/TR-FMF-01-01-002_T01"
34
35 17 Viktoria Kopach
* *qualifying-id(element)* - это полный путь к элементу, начиная с корневого элемента (Requirements), в качестве разделителя используется ''/''.
36 5 Viktoria Kopach
Например:
37 1 Viktoria Kopach
"Requirements/01/MyRequirement01"
38 5 Viktoria Kopach
39 18 Viktoria Kopach
- +*covered_by*+ - элемент-ребенок для *reqcoverage*. Внутри *reqcoverage* их может быть несколько в зависимости от того, сколько тестовых процедур или тестов покрывают соответствующий ему Requality-элемент. Каждый *covered_by*  соответствует одному покрывающему Requality-элементу. *covered_by* имеет атрибуты *uri* и *hits*.
40 17 Viktoria Kopach
- +*uri*+ - атрибут XML-элемента *covered_by*, указывает путь к тесту, описанному в этом *covered_by* элементе:
41 1 Viktoria Kopach
* если описывается покрытие тестовых ситуаций тестовыми процедурами, то это путь к шагу тестовой процедуры.
42
** Если тестовая процедура находится в том же проекте, то путь записывается без протокола, например:
43
"/TestProcedures/01/TestStep04"
44
Здесь 01 - идентификатор тестовой процедуры, 04 - номер шага тестовой процедуры.
45
** Если тестовая процедура находится в другом проекте Requality, то путь записывается следующим образом:
46
"requality://ProjectName/TestProcedures/01/TestStep04"
47
Здесь ProjectName - имя проекта, где находится тестовая процедура.
48 6 Viktoria Kopach
49
* если описывается покрытие тестовых ситуаций тестами, то это путь к тесту, например:
50 1 Viktoria Kopach
"file:///home/user/work/test1.c#12"
51 6 Viktoria Kopach
52 17 Viktoria Kopach
- +*hits*+ - атрибут XML-элемента *covered_by*, является опциональным. Указывает количество упоминаний этого требования *reqcoverage* в тесте *covered_by*.
53 1 Viktoria Kopach
54 17 Viktoria Kopach
- +*error*+ - элемент для описания ошибки, полученной в результате выполнения теста. Может содержать один элемент *description* с описанием ошибки. Может включать один или несколько элементов *violates* в ситуации, когда можно определить какие именно требования нарушает ошибка. Имеет атрибут *testuri* и опциональные атрибуты *name* и *uri*.
55
- +*testuri*+ - путь к одному из тестов, описанному в *covered_by* элементе
56
- +*name*+ - опциональный параметр, представляет собой отображаемое имя ошибки. В случае если не определен, используется имя "error"+порядковый_номер_ошибки.
57
- +*uri*+ - опциональный параметр, путь к файлу с подробной информацией об ошибке
58
 
59
- +*violates*+ - опциональный элемент, соответствует требованию, которое нарушает ошибка. Каждый элемент *violates* соответствует одному нарушенному требованию. Имеет атрибут *qid*. Если элемент *violates* не указан, ошибка в отчете отображена не будет.
60
- +*qid*+ - это *user-visible-name(element)* или *qualifying-id(element)* покрываемого элемента (подробнее см. выше, в описании элемента *reqcoverage*).
61 9 Denis Kildishev
62 17 Viktoria Kopach
- +*description*+ - опциональный элемент, текстовое описание ошибки. Имеет опциональный атрибут *format*.
63
- +*format*+ - формат описания ошибки. Может быть "html" или "plain". В случае "plain" все html теги будут отображаться в виде текста.
64 19 Viktoria Kopach
- +*описание_ошибки*+ представляет собой описание ошибки, при этом для формата "html" допускается использование html тегов для форматирования текста.
65 9 Denis Kildishev
66 2 Viktoria Kopach
Пример описания покрытия тестовыми процедурами:
67
68
<pre>
69
<?xml version="1.0" encoding="UTF-8"?>
70 1 Viktoria Kopach
  <coverageInfo>
71 2 Viktoria Kopach
    <reqcoverage qid="TR-FMF-01-01-001/TR-FMF-01-01-001_T02">
72 9 Denis Kildishev
      <covered_by uri="/TestProcedures/01/TestStep05" hits="1"/>
73 2 Viktoria Kopach
    </reqcoverage>
74 1 Viktoria Kopach
    <reqcoverage qid="TR-FMF-01-01-001/TR-FMF-01-01-001_T01">
75 9 Denis Kildishev
      <covered_by uri="/TestProcedures/01/TestStep03" hits="1"/>
76 1 Viktoria Kopach
    </reqcoverage>
77 2 Viktoria Kopach
    <reqcoverage qid="TR-FMF-01-01-001">
78 9 Denis Kildishev
      <covered_by uri="/TestProcedures/01/TestStep01" hits="1"/>
79 2 Viktoria Kopach
    </reqcoverage>
80
    <reqcoverage qid="TR-FMF-01-01-002/TR-FMF-01-01-002_T01">
81 9 Denis Kildishev
      <covered_by uri="/TestProcedures/01/TestStep02" hits="1"/>
82 2 Viktoria Kopach
    </reqcoverage>
83
    <reqcoverage qid="TR-FMF-01-01-006">
84 9 Denis Kildishev
      <covered_by uri="/TestProcedures/01/TestStep04" hits="1"/>
85 2 Viktoria Kopach
    </reqcoverage>
86 1 Viktoria Kopach
  </coverageInfo>
87
</pre>