Главная » Просмотр файлов » Лабораторная работа 8

Лабораторная работа 8 (1035390), страница 3

Файл №1035390 Лабораторная работа 8 (Лабораторная работа 8) 3 страницаЛабораторная работа 8 (1035390) страница 32017-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

// Подготовка тестового окружения

BaseCalculator.Test.BaseCalculator_CalcClassAccessor._lastError = "";

BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.opz =

new System.Collections.ArrayList();

BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.opz.Add("2");

BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.opz.Add("2");

BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.opz.Add("+");

BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.opz.Add("+");

actual = BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.RunEstimate();

Assert.AreEqual(expected, actual,

"BaseCalculator.AnalaizerClass.RunEstimate did not return the expected value.");

}

Пример 12.1.

Несмотря на то, что явных блоков try-catch не стоит, сгенерированное исключение не приведет к прекращению работы тестов, а будет корректно обработано. В этом можно убедиться, загляну в окно на RunEstimateTest[Result] (рис. 12.5).


Рис. 12.5. Результат работы RunEstimateTest

Предположим теперь, что при неверных входных параметрах метод RunEstimate() действительно должен генерировать исключение, которое будет перехватываться в другом месте. Создадим еще один тест:

/// <summary>

///A test for RunEstimate ()

///</summary>

[DeploymentItem("BaseCalculator.exe")]

[TestMethod()]

[ExpectedException(typeof(ArgumentOutOfRangeException),

"Была обработана неверная синтаксическая конструкция")]

public void RunEstimateTest1()

{

BaseCalculator.Test.BaseCalculator_CalcClassAccessor._lastError = "";

BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.opz =

new System.Collections.ArrayList();

BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.opz.Add("2");

BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.opz.Add("2");

BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.opz.Add("+");

BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.opz.Add("+");

BaseCalculator.Test.BaseCalculator_AnalaizerClassAccessor.RunEstimate();

}

Пример 12.2.

Отметим, что, опять же, нет блока try-catch с явным тестом на ArgumentOutOfRangeException. Вместо этого тест включает дополнительный атрибут, ExpectedException, который принимает тип параметра, и произвольное сообщение об ошибке, которое будет показано, если исключение не было брошено. Когда тесты выполняются, среда будет явно следить за тем, чтобы исключение ArgumentException было сгенерировано, и если метод не будет генерировать такое исключение, то тест будет провален.

Покрытие кода тестами

Чтобы увидеть, какая часть кода проекта фактически тестируется, используйте такой инструмент для тестировщиков в Visual Studio Team System, как Покрытие кода. Этот инструмент показывает процент кода, который был выполнен, и "раскрашивает" его, показывая, какие линии кода были выполнены, а какие нет.

Для начала откроем BaseCalculator. Далее в меню Test выбираем Edit Test Run Configuration. В подменю выбираем Local Test Run (localtestrun.testrunconfig), чтобы запустить файл конфигурации. (аналогично запустить файл конфигурации можно, щелкнув в Solution Explorer под Solution Items на localtestrun.testrunconfig). Появится диалоговое окно localtestrun.testrunconfig (рис. 19.2).


Рис. 19.2. Диалоговое окно "localtestrun.testrunconfig"

Выбираем Code Coverage.

В поле Select artifacts to instrument отмечаем пункты BaseCalculator.exe и BaseCalculator.Test.dll

Нажмите Apply, затем закройте диалоговое окно. Мы настроили файл конфигурации.

Далее в меню Test выберите Select Active Test Run Configuration. Подменю показывает все конфигурации запуска теста вашего решения. Поместим метку на конфигурацию запуска, которую мы только что редактировали, localtestrun.testrunconfig; что сделает её активной конфигурацией запуска теста.

В окне Test View выделяем все тесты и нажимаем кнопку Run Selection.

После выполнения всех тестов в окне Test Results в меню Test выберем Windows и в раскрывшемся подменю нажмем на Code Coverage Results. Откроется окно Code Coverage Results. (рис. 19.3)



Рис. 19.3. Окно "Code Coverage Results"

Раскроем узел для сборки BaseCalculator.exe, для пространства имен BaseCalculator и для класса CalcClass, как показано на рис.19.4.


Рис. 19.4. Окно "Code Coverage Results"

Строки в классе CalcClass представляют его методы. Колонки в окне Code Coverage Results показывают статистику покрытия для отдельных методов, для классов, и для всего пространства имен.

Статистика покрытия кода показывает покрытие блоков и линий кода.

Чтобы посмотреть, какая именно часть кода была покрыта, щелкнем два раза на строку с методом 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.


Рис. 19.5. "Окрашивание" покрытия кода

Прокручивая файл, вы можете увидеть в нем покрытие для других методов.

Точно так же можно просмотреть покрытие кода наших модульных тестов, то есть, можно увидеть, какие из тестовых методов были осуществлены (раскрыв в окне Code Coverage Results сборку BaseCalculator.Test.dll). Применяется та же самая схема окрашивания: голубой показывает выполненный в процессе выполнения теста код; красный — невыполненный.

Упорядоченные тесты

Упорядоченный тест содержит в себе другие тесты и предназначается для того, чтобы запускать их в указанном порядке. Упорядоченный тест появляется как отдельный тест в окне Test View, а результаты его выполнения появляются одной строкой в окне Test Results.

Упорядоченный тест может содержать тесты любого типа кроме нагрузочных тестов. Ещё одной особенностью упорядоченного теста является то, что, если мы запустим его удаленно или из командной строки, будет показано предупреждение о том, что, чтобы запустить тест, все ручные тесты, которые содержатся в нем, будут временно из него удалены.

Для начала откроем BaseCalculator, с которым мы работали на 5-ом и 6-ом семинарах. Он уже содержит тесты.

Добавим в тестовый проект упорядоченный тест. Для этого в меню Test выберем New Test. В появившемся диалоговом окне Add New Test выбираем Ordered Test. В поле Test Name введем название теста, например, OrderedTest.orderedtest, а в пункте Add to Test Project выберем наш тестовый проект BaseCalculator.Test. Для добавления теста в проект нажимаем OK. (рис.21.1)


Рис. 21.1. Диалоговое окно Add New Test

В Solution Explorer добавится файл OrderedTest.orderedtest и откроется окно редактирования упорядоченного теста OrderedTest.orderedtest. Мы будем использовать это окно, чтобы выбирать и включать тесты в наш упорядоченный тест (рис. 21.2).


Рис. 21.2. Окно редактирования упорядоченного теста

Рассмотрим подробнее работу с окном редактирования нашего упорядоченного теста OrderedTest.orderedtest.

В ниспадающем меню Select Test List to View можно выбрать список тестов: Lists of Tests, Tests Not in a List, All Loaded Tests или определенный тестовый список. Выберем All Loaded Tests. В Available tests отобразятся все созданные нами ранее тесты.

Чтобы добавить тесты в упорядоченный тест, нужно в Available tests выделить те тесты, которые вы хотите добавить (например, используя SHIFT+click и CTRL+click), и нажать на стрелку вправо . Тесты добавлены в упорядоченный тест.

Замечание. Можно добавлять одни и те же тесты многократно к одному и тому же упорядоченному тесту.

Чтобы удалить тест из упорядоченного теста, нужно в Selected tests выделить те тесты, которые вы хотите удалить (например, используя SHIFT+click и CTRL+click), и нажать на стрелку влево . Тесты удалены из упорядоченного теста.

Чтобы изменить порядок тестов в упорядоченном тесте, нужно в Selected tests выделить те тесты, порядок которых вы хотите изменить (например, используя SHIFT+click и CTRL+click), и нажать на стрелку вверх или вниз . Порядок тестов в упорядоченном тесте будет изменен.


Рис. 21.3. Окно редактирования упорядоченного теста

Замечание. Выставленный флаг Continue after failure указывает на то, что упорядоченный тест продолжит работать независимо от того, закончатся ли один или несколько входящих в его состав тестов неудачей. Если флаг Continue after failure не будет выставлен, то упорядоченный тест прекратит свою работу при первом же возникновении неудачного теста

Упорядоченный тест готов для запуска. Следующий этап – запуск теста тестировщиком.

В окне Test View нажмем правой кнопкой мыши по созданному нами упорядоченному тесту (OrderedTest) и выберем Run Selection (или нажмем в окне Test View на кнопку ).

Откроется окно Test Results, в котором после выполнения упорядоченного теста отобразятся результаты его выполнения Passed или Failed (рис.21.4).


Рис. 21.4. Окно Test Results

Чтобы увидеть результаты выполнения каждого из тестов, входящих в упорядоченный тест, в окне Test Results нужно щелкнуть два раза на строке для упорядоченного теста. Эти результаты появятся в окне OrderedTest [Results]. (рис.21.5)


Рис. 21.5. Окно OrderedTest [Results]

Чтобы увидеть детальные результаты отдельных тестов, нужно щелкнуть два раза на них в окне OrderedTest [Results].

Замечание. Если бы перед запуском теста не был выставлен флаг Continue after failure, то упорядоченный тест прекратил бы свою работу при первом же возникновении неудачного теста. (рис.21.6)


Рис. 21.6. Окна OrderedTest [Results] и Test Result

Замечание. Результаты выполнения тестов можно экспортировать в отдельный файл. Для этого в окне Test Result надо выбрать Export Test Run Results и указать имя и местоположение файла.

Задание

  • Ручное тестирование:

  • Подготовить тестовый вариант 1 (далее ТВ, набор исходных данных и ожидаемых результатов) для функционального тестирования приложения.

  • В среде MS Visual Studio создать новый проект типа Тест.

  • Изменить содержимое файла ручного теста в соответсвии с ТВ-1.

  • Выполнить ручной тест и просмотреть результаты.

  • Создание драйвера тестирования:

  • Подготовить ТВ-2 для структурного тестирования одной из функций приложения.

  • В среде MS Visual Studio создать новый проект типа приложения.

  • Подключить тестируемую функцию, библиотеку или класс.

  • Создать функцию драйвера тестирования (подготовка исходных данных, запуск теста, проверка результатов) в соответсвии с ТВ-2.

  • Запустить тестовую программу и просмотреть результаты.

  • Модульное тестирование:

  • Подготовить ТВ-3 для структурного тестирования одной из функций приложения.

  • В среде MS Visual Studio открыть исходный код тестируемого приложения.

  • Добавить Unit-тест для одной из функций в соответсвии с ТВ-3.

  • Запустить тест и просмотреть результаты.

  • Создать несколько разных тестов для проверки значений и перехвата исключений.

  • Покрытие кода тестами:

  • Установить параметры сбора статистики покрытия кода.

  • Повторить модульные тесты и просмотреть данные о покрытии кода.

  • Упорядоченные тесты:

  • Подготовить ТВ-5 как последовательный набор ТВ для БД (например, очистка таблицы, добавление записи, просмотр и т.д.).

  • Создать упорядоченный тест на основе созданных тестов БД.

  • Выполнить тест и просмотреть результаы.

Контрольные вопросы

  1. Что такое тестирование?

  2. Что такое верификация?

  3. Что такое модульное тестирование?

  4. Что такое ручное тестирование?

  5. Что такое упорядоченное тестирование?

  6. Что такое драйвер тестирования?

  7. Как создавать тесты в среде MS Visual Studio?

  8. Как запускать тесты в среде MS Visual Studio?

  9. Как готовить тестовые варианты?

Литература

  • Орлов С.А., Цилькер Б.Я. Технологии разработки программного обеспечения. - СПб.: Питер. - 2012 г.

  • Материалы сайта http://www.intuit.ru

24

Характеристики

Тип файла
Документ
Размер
808 Kb
Тип материала
Высшее учебное заведение

Список файлов лабораторной работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6451
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее