Добрый день. Вопрос №1 Какова стоимость получения диплома о мини-МБА по данному курсу? Или ориентироваться на указанную на сайте? Вопрос №2 Возможно ли начать обучение без потери результатов, не отправив документы на зачисление, а отправку выполнить позже? |
Покрытие программного кода
19.3. Возможности MVSTE по построению покрытия кода
Замечание. Подробнее о покрытии кода можно прочитать по адресу: http://msdn2.microsoft.com/en-us/library/ms182496(VS.80).aspx
Чтобы увидеть, какая часть кода вашего проекта фактически тестируется, используйте такой инструмент для тестировщиков в Visual Studio Team System, как Покрытие кода. Этот инструмент показывает процент кода, который был выполнен, и "раскрашивает" его, показывая, какие линии кода были выполнены, а какие нет.
На прошлых семинарах мы познакомились с возможностями MVSTE по автоматизации модульного тестирования на примерах тестирования метода Add класса CalcClass и метода RunEstimate класса AnalaizerClass. Покажем на этих же примерах, какую часть кода покрыли созданные нами модульные тесты.
Для начала откроем BaseCalculator, с которым мы работали на "Тестовые примеры. Классы эквивалентности. Ручное тестирование в MVSTE" .
Далее в меню Test выбираем Edit Test Run Configuration. В подменю выбираем Local Test Run ( localtestrun.testrunconfig ), чтобы запустить файл конфигурации. (аналогично запустить файл конфигурации можно, щелкнув в Solution Explorer под Solution Items на localtestrun.testrunconfig ). Появится диалоговое окно localtestrun.testrunconfig (рис. 19.2).
Выбираем Code Coverage.
В поле Select artifacts to instrument отмечаем пункты BaseCalculator.exe и BaseCalculator.Test.dll
Замечание. Если вы выбрали BaseCalculator.Test.dll, то MVSTE генерирует информацию о покрытии кода для методов в вашем тестовом проекте.
Нажмите Apply, затем закройте диалоговое окно. Мы настроили файл конфигурации.
Далее в меню Test выберите Select Active Test Run Configuration. Подменю показывает все конфигурации запуска теста вашего решения. Поместим метку на конфигурацию запуска, которую мы только что редактировали, localtestrun.testrunconfig ; что сделает её активной конфигурацией запуска теста.
В окне Test View выделяем все тесты и нажимаем кнопку Run Selection. Запустятся созданные нами на "Тестовые примеры. Классы эквивалентности. Ручное тестирование в MVSTE" тесты.
После выполнения всех тестов в окне Test Results в меню Test выберем Windows и в раскрывшемся подменю нажмем на Code Coverage Results. Откроется окно Code Coverage Results. (рис. 19.3)
Замечание. Колонка Hierarchy изначально показывает единственный узел (в данном случае Belf@BLEFF 2006-11-08 01:34:12), который содержит данные обо всем покрытии кода, достигнутом в последнем запущенном и выполненном тесте. Он назван, используя следующий формат: <user name>@<computer name> <date> <time>.
Если вы раскроете этот узел, то увидите выбранные нами в файле конфигурации проекты BaseCalculator.exe и BaseCalculator.Test.dll
Раскроем узел для сборки BaseCalculator.exe, для пространства имен BaseCalculator и для класса CalcClass, как показано на рис.19.4.
Строки в классе CalcClass представляют его методы. Колонки в окне Code Coverage Results показывают статистику покрытия для отдельных методов, для классов, и для всего пространства имен.
Замечание. В этой таблице можно выбирать, в каком порядке и какие колонки будут отображаться. Для этого нужно нажать правой кнопкой мыши в окне Code Coverage Results и выбрать в контекстном меню пункт Add/Remove Columns.
Замечание. Статистика покрытия кода показывает покрытие блоков и линий кода.
Чтобы посмотреть, какая именно часть кода была покрыта, щелкнем два раза на строку с методом Add.
Откроется файл исходного текста CalcClass.cs на методе Add. В этом файле мы видем "окрашенный" код. Линии, окрашенные в голубой цвет, были выполнены в процессе выполнения тестов, а линии, окрашенные в красный, не были выполнены. (рис.19.5)
Замечание. Цвета окрашивания линий покрытия кода можно изменить. Для этого нужно зайти в Tools->Options. В открывшемся диалоговом окне нужно выбрать Environment->Fonts and Colors. Далее в раскрывающемся списке Show settings for выбираем Text Editor. Далее в Display items нужно выбрать область покрытия кода, цвет которой вы хотите изменить: это Coverage Not Touched Area, или Coverage Partially Touched Area, или Coverage Touched Area. Для этих областей покрытия кода можно изменить шрифт, его размер, жирность, цвет текста и его "окрашивание". По завершении, чтобы сохранить изменения и выйти из диалогового окна, нажмите OK.
Прокручивая файл, вы можете увидеть в нем покрытие для других методов.
Замечание. Точно так же можно просмотреть покрытие кода наших модульных тестов, то есть, можно увидеть, какие из тестовых методов были осуществлены (раскрыв в окне Code Coverage Results сборку BaseCalculator.Test.dll ). Применяется та же самая схема окрашивания: голубой показывает выполненный в процессе выполнения теста код; красный — невыполненный.
Замечание. Результаты покрытия кода можно экспортировать в отдельный XML-файл. Для этого в окне Code Coverage Results нужно нажать на кнопку Export Results, указать имя и местоположение файла.
19.4. Раздаточный материал
19.4.1. Программа
Модульные тесты, которые написали студенты, выполнив домашнее задание "Тестовые примеры. Классы эквивалентности. Ручное тестирование в MVSTE" .
19.5. Домашнее задание
Доработать модульные тесты, добившись максимального покрытия кода по MC\DC.