Project

General

Profile

Coverage format » History » Revision 8

Revision 7 (Denis Kildishev, 07/16/2014 01:54 PM) → Revision 8/19 (Denis Kildishev, 07/16/2014 01:54 PM)

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

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

 <pre> 
 <?xml version="1.0" encoding="UTF-8"?> 
 <coverageInfo>  
   <reqcoverage qid="уникальный_идентификатор_требования_или_тестовой_ситуации"> 
     <covered_by uri="путь_к_покрывающему_элементу" hits="1"/> 
   </reqcoverage> 
 </coverageInfo> 
 </pre> 

 Здесь: 

 Элемент *coverageInfo* *coverageInfos* только один и может содержать несколько элементов reqcoverage. 
 Для каждого покрытого узла должен быть свой элемент reqcoverage. Непокрытые узлы не описываются вовсе. 
 Элемент *reqcoverage* может содержать несколько элементов test path, если его покрывают несколько тестовых процедур или тестов. 
 Атрибут hits является опциональным, он указывает количество упоминаний этого требования в тесте. 

 *_уникальный_идентификатор_требования_или_тестовой_ситуации_* это 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" 


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

 <pre> 
 <?xml version="1.0" encoding="UTF-8"?> 
   <coverageInfo> 
     <reqcoverage qid="TR-FMF-01-01-001/TR-FMF-01-01-001_T02"> 
       <test path="/TestProcedures/01/TestStep05" local="true" cnt="1"/> 
     </reqcoverage> 
     <reqcoverage qid="TR-FMF-01-01-001/TR-FMF-01-01-001_T01"> 
       <test path="/TestProcedures/01/TestStep03" local="true" cnt="1"/> 
     </reqcoverage> 
     <reqcoverage qid="TR-FMF-01-01-001"> 
       <test path="/TestProcedures/01/TestStep01" local="true" cnt="1"/> 
     </reqcoverage> 
     <reqcoverage qid="TR-FMF-01-01-002/TR-FMF-01-01-002_T01"> 
       <test path="/TestProcedures/01/TestStep02" local="true" cnt="1"/> 
     </reqcoverage> 
     <reqcoverage qid="TR-FMF-01-01-006"> 
       <test path="/TestProcedures/01/TestStep04" local="true" cnt="1"/> 
     </reqcoverage> 
   </coverageInfo> 
 </pre>