unit tests ru

12
Краткий обзор технологий и средств автоматизации, используемых в рамках непрерывной интеграции проекта.

Post on 21-Oct-2014

416 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Unit tests ru

Краткий обзор технологий и средств автоматизации, используемых в рамках непрерывной интеграции проекта.

Page 2: Unit tests ru

White-box testing

«White-box» — тестирование кода на предмет логики работы программы и корректности её работы.

Техника тестирования по принципу Белого ящика, также называемая техникой тестирования, управляемой логикой программы, позволяет проверить внутреннюю структуру программы. Исходя из этой стратегии тестировщик получает тестовые данные путем анализа логики работы программы.

Концепция White-box может быть применена в unit, integration и system levels тестировании. Данные виды тестирования могут помочь решить ряд важных проблем разработки, однако они не гарантируют обнаружение нереализованных частей спецификаций, или упущенных требований. Последнее обеспечивается функциональными и приемочными тестами.

Page 3: Unit tests ru

Units Tests

Unit тестирование (тестирование по блокам) заключается в проверке блока отдельно от остальной системы. Обычно блок представляет собой функцию или небольшой набор функций (библиотеки, классы), которые выполняются одним разработчиком. Основная отличительная характеристика блока состоит в том, что он достаточно небольшой по объему для проведения тщательной проверки, которую можно назвать исчерпывающей. Обычно такое тестирование проводится разработчиками. Небольшой размер блоков позволяет обеспечить высокий уровень проверки. Таким образом легче обнаружить и устранить ошибки на данном уровне тестирования.

Page 4: Unit tests ru

Интеграционные тесты

Одним из аспектов разработки программного обеспечения являются интеграция и тестирование больших подсистем. Интегрированная система часто дает существенные и необъяснимые сбои, которые трудно устранить. Тестирование в таком случае затрагивает несколько блоков, которые взаимодействуют между собой. Интеграционное тестирование должно гарантировать совместимость блоков и их корректную совместную работу.

Page 5: Unit tests ru

Используемые средства

MSTest (Unit Testing Framework) nUnit (Unit Testing Framework) FitNesse MSBuild CruiseControl

Page 6: Unit tests ru

MSTest (Unit Testing Framework)

http://msdn.microsoft.com/en-us/library/ms243147%28v=vs.80%29.aspx

Unit Testing Framework создан для поддержки юнит тестирования в Visual Studio. Для написания тестов используются классы и члены из пространства имен Microsoft.VisualStudio.TestTools.UnitTesting.

Page 7: Unit tests ru

nUnit (Unit Testing Framework)

http://www.nunit.org/

NUnit открытый тестовый фреймворк для тестирования приложений на языках .Net. Изначально был портирован из JUnit, текущий релиз version 2.6.

Page 8: Unit tests ru

FitNesse

http://fitnesse.org/

FitNesse представляет собой инструмент совместной разработки тестов/сценариев основанный на платформе FIT (Framework for Integration Testing fit.c2.com) и предоставляющий средства для создания набора требований (тестов) отражающих требования к функционированию системы на интуитивно понятном языке, а также предосталяющий механизмы получения быстрой ответной реакции о состоянии системы предсталенный в наглядном виде и доступном к использованию

FitNesse позиционируется как естественное дополнение к юнит тестированию. FitNesse призван помочь создавать правильный код, в то время как юнит тесты призваны помочь создавать код правильно.

Page 9: Unit tests ru

FitNesse Tests

FitNesse тесты позволяют получить обратную связь на ранних стадиях проекта, при написании тестов первыми, могут рассматриваться как требованияю. Тесты пишутся интуитивно понятным языком доступным постановщику задачи (заказчику или специалистом в предметной области).

FitNesse позволяют получить результаты выполнения с желаемой частотой. Могут запускаться вручную или автоматически всеми кто имеет доступ к WEB-серверу. FitNesse имеют интуитивно понятное отображение результатов: зеленый –все хорошо, красный-проблемы. Таким образов в случае написания тестов до написания кода приложения, каждый новый зеленый тест, говорит о реализации нового требования и таким образом позволяет отслеживать прогресс.

Будучи основанными на примерах данных тесты FitNesse служат наглядными примерами бизнес-логики приложения.

Однако техническая реализация действий связанных с такими сценариями (тестами) заключается в написании кода для проверки описанной функциональности - так называемых фиксур (fixture) и требует навыков в области программирования. Кроме того FitNesse могут быть достаточно сложны в отладке.

Page 10: Unit tests ru

MSBuild

http://msdn.microsoft.com/en-us/library/wea2sca5%28v=vs.90%29.aspx

http://ru.wikipedia.org/wiki/MSBuild

Microsoft Build Engine (MSBuild) это build-платформа от Microsoft и Visual Studio. MSBuild позволяет разработчикам создавать продукты в средах, где Visual Studio не установлена.

Page 11: Unit tests ru

CruiseControl

http://cruisecontrol.sourceforge.net/

http://ru.wikipedia.org/wiki/CruiseControl

CruiseControl это средсво continuous integration и фреймворк для создания настраиваемого процесса непрерывной интеграции. Он включает ряд плагинов для различных source controls, build-технологий и схем оповещения, включающих рассылку e-mail. Так же он предоставляет web-интерфейс для отображения состояния текущей и предыдущих сборок.

Page 12: Unit tests ru

Елена Тарасевич, ISSoft, 2013