Добрый день. Вопрос №1 Какова стоимость получения диплома о мини-МБА по данному курсу? Или ориентироваться на указанную на сайте? Вопрос №2 Возможно ли начать обучение без потери результатов, не отправив документы на зачисление, а отправку выполнить позже? |
Документация, сопровождающая процесс верификации и тестирования (отчеты)
13.1. Отчеты о покрытии программного кода
13.1.1. Технологические цепочки и роли участников проекта, использующих отчеты о покрытии. Связь отчетов о покрытии с другими типами проектной документации
Степень покрытия программного кода тестами - важный количественный показатель, позволяющий оценить качество системы тестов, а в некоторых случаях - и качество тестируемой программной системы. Данные о степени покрытия помещаются в отчеты о покрытии, которые генерируются при выполнении тестов инструментальными средствами, поддерживающими процесс тестирования, т.е. по сути, генерируются средой тестирования (Рис 13.1). Формат отчетов о покрытии обычно единый внутри проекта или нескольких проектов и часто зависит от особенностей инструментальных средств тестирования.
В отчете о покрытии в стандартизированной форме указываются участки программного кода тестируемой системы (или ее части), которые не были выполнены во время выполнения тестовых примеров, т.е. не были покрыты тестами. Причины непокрытия анализируются тестировщиками, по результатам анализа составляются отчеты о проблемах и запросы на изменение - документы, где описываются объекты разработки, которые необходимо изменить, и причины этих изменений.
Недостаточное покрытие может свидетельствовать о неполноте системы тестов или тест-требований, в этом случае в запросе об изменении указывается на необходимость расширения системы тестов или тест-требований. Другой причиной недостаточного покрытия могут быть участки защитного кода, которые никогда не выполнятся даже в случае нештатной работы системы. В этом случае в запросе на изменения указывается на необходимость модификации исходных текстов либо отмечается, что для этого участка программной системы не требуется покрытие. В качестве третьей причины недостаточного покрытия может выступать рассогласование требований и программного кода системы, в результате которого в коде могут остаться неиспользуемые более участки либо, наоборот, появиться участки, рассчитанные на будущее (и реализующие функциональность, не описанную в требованиях). В этом случае в запросе на изменение указывается на необходимость модификации требований и/или кода системы для приведения их в согласованное состояние.
13.1.2. Возможные формы отчетов о покрытии
Типичный отчет о покрытии представляет собой список структурных элементов покрываемого программного кода (функций или методов), содержащий для каждого структурного элемента следующую информацию:
- Название функции или метода
- Тип покрытия (по строкам, по ветвям, MC/DC или иной)
- Количество покрываемых элементов в функции или методе (строк, ветвей, логических условий)
- Степень покрытия функции или метода (в процентах или в абсолютном выражении)
- Список непокрытых элементов (в виде участков непокрытого программного кода с номерами строк)
Кроме того, отчет о покрытии содержит заголовочную информацию, позволяющую идентифицировать отчет, и общий итог - общую степень покрытия всех функций, для которых собирается информация о покрытии.
Пример такого отчета о покрытии приведен ниже.
Coverage Report Generated 10/07/2006 for file Testing_Facilities.cpp ---------------------------------------------------- 1) function main_Menu() Coverage: Instructions Elements: 25 structured lines of code (SLOCs) Covered: 22 lines (88%) Not covered: 291 default: 292 return -1; 293 break; Coverage: Branches Elements: 5 branches Covered: 4 branches (80%) Not covered (starting and ending lines only): default: break; ---------------------------------------------------- 2) function item_Help() Coverage: Instructions Elements: 180 structured lines of code (SLOCs) Covered: 180 lines (100%) Coverage: Branches Elements: 2 branches Covered: 2 branches (80%) ---------------------------------------------------- Total functions: 2 Total instructions coverage: 98.5% Total branches coverage: 86%
Отчет о покрытии может создаваться либо для всех функций программного модуля или всего проекта, либо выборочно для определенных функций.
В случае, если размер функций, для которых генерируется выборочный отчет, невелик, может применяться другая форма отчета о покрытии, в котором покрытый и непокрытый программный код выделяется различными цветами. Такая форма неприменима для покрытия ветвей и логических условий, но может применяться для покрытия по строкам.
Пример такого отчета приведен ниже:
Зеленым цветом отмечены выполненные в результате тестирования участки метода, красным - не выполненные.
Конкретная форма отчета о покрытии определяется инструментарием и технологическими процессами проекта.
Рассмотрим, например, отчет о структурном покрытии, генерируемый при помощи средства для анализа программного кода CodeTEST компании Metrowerks.
Сбор покрытия производится по определенному уровню покрытия, информация об этом входит в состав заголовка отчета о покрытии. В данном случае програмный код покрывался по MC/DC.
CodeTEST Advanced Coverage Tools Modified Condition Decision Coverage Report (MCDC), DO-178B Level A CodeTEST Report Generator 2.2.04 Report generated on Sun Aug 21 14:28:16 2005 IDB File: <Path_to_IDB_file> 42963330-1C0 Thu May 26 21:36:00 2005
Далее выводится информация о проценте покрытия по всем модулям в совокупности (в данном случае, это 33 модуля):
Overall Summary (MCDC): 33 Files 1405 true-false decisions 674 48.0% covered 494 35.2% partially covered 237 16.9% not covered 1928 conditions in the decisions 1068 55.4% covered 571 29.6% partially covered 289 15.0% not covered 278 case branches 154 55.4% covered 124 44.6% not covered 581 coverage events 504 86.7% covered 77 13.3% not covered