Coverage format » History » Revision 10
« Previous |
Revision 10/19
(diff)
| Next »
Denis Kildishev, 09/15/2014 03:53 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="путь_к_покрывающему_элементу_из_reqcoverage" [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"+порядковый_номер_ошибки.
путь_к_покрывающему_элементу_из_reqcoverage - путь к одному из тестов, описанных по принципу путь_к_покрывающему_элементу
путь_к_файлу_с_описанием_ошибки - опциональный параметр, путь к файлу с подробной информацией об ошибке
уникальный_идентификатор_требования_или_тестовой_ситуации - путь к требованию или тестовой ситуации, соответствующий 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 Denis Kildishev over 10 years ago · 19 revisions