Project

General

Profile

Coverage format » History » Revision 17

Revision 16 (Viktoria Kopach, 10/08/2014 06:00 PM) → Revision 17/19 (Viktoria Kopach, 10/10/2014 05:46 PM)

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

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

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

 Здесь: 

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

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

 - +*reqcoverage*+ - элемент-ребенок для *coverageInfo*. Должен быть задан отдельно для каждого покрытого Requality-элемента. (Непокрытые узлы не описываются никак.) Содержит вложенные XML-элементы *covered_by* (один или несколько). Каждому вложенному *covered_by* должен соответствует одна тестовая процедура или тест. Имеет атрибут *qid*. 

 - +*covered_by*+ - элемент-ребенок для *reqcoverage*. Внутри *reqcoverage* их может быть несколько в зависимости от того, сколько тестовых процедур или тестов покрывают соответствующий ему Requality-элемента. Каждый *covered_by*    - это один покрывающий Requality-элемент. *covered_by* имеет атрибуты *uri* и *hits*. 
 - +*qid*+ +*hits*+ - атрибут XML-элемента *covered_by*, является опциональным. Указывает количество упоминаний этого требования *reqcoverage* в тесте *covered_by*. 

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

 - +*violates*+ - опциональный элемент, соответствует требованию, которое нарушает ошибка. Каждый элемент *violates* соответствует одному нарушенному требованию. Имеет атрибут *qid*. Если элемент *violates* не указан, ошибка в отчете отображена не будет. 

 - +*description*+ - опциональный элемент, текстовое описание ошибки. Имеет опциональный атрибут *format*. 

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

 * *user-visible-name(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)* 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_элемента_covered_by* - +*uri*+ путь к одному из тестов, описанному в covered_by элементе 

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

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

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

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

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

 <pre> 
 <?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> 
 </pre>