Microsoft TechDayshttp://www.techdays.ru
Microsoft Pex: обзор
Сергей ПоповНезависимый разработчик
Microsoft TechDayshttp://www.techdays.ru
Microsoft Pex: обзор
Тестируемый код
Pex Exploration:
Динамический анализ кода
Подбор параметров для лучшего Code Coverage
Результат:
Отчет
Unit-тесты
Microsoft TechDayshttp://www.techdays.ru
Microsoft Pex
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
Тестируемый код
Input OutputA1 1B2 2C3 3
…AZ1 52
…XFC1 16383XFD1 16384
Microsoft TechDayshttp://www.techdays.ru
Pex:исправление ошибок
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
Pex:сохранение тестов
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
Параметризованные тесты
Необходима инициализация тестового окруженияВходные параметры имеют ограничения
Microsoft TechDayshttp://www.techdays.ru
Тестируемый код
int GetColumnIndex(string value):value != nullvalue != String.Emptyvalue.StartsWith("A", "B", "C", ...)value.EndsWith("1", "2", "3", ...)
Microsoft TechDayshttp://www.techdays.ru
Pex: параметри-зованные тесты
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
Pex: выводы
Pex != замена «ручных» unit-тестовPex = анализ кода, поиск проблемных наборов аргументовPex = быстрое создание набора тестов для унаследованного кода
Microsoft TechDayshttp://www.techdays.ru
Дополнительная информация
Pex and Moles - Isolation and White box Unit Testing for .NET
http://research.microsoft.com/pex
Microsoft TechDayshttp://www.techdays.ru
Как установить?
Pex and Moles – Downloadshttp://research.microsoft.com/en-us/projects/pex/downloads.aspx
Academic (Free)Некоммерческое использованиеx86VS2008 и командная строка
MSDN Subscribersx86 и x64VS2008, VS2010 и командная строка
Microsoft TechDayshttp://www.techdays.ru
Контакты
Сергей ПоповE-mail: [email protected]Блог:http://sergeypopov.info/Twitter:http://twitter.com/psg1234