Обеспечение качества и диагностика ASP.NET приложений с помощью инструментов Visual Studio Дмитрий Андреев Эксперт по разработке Microsoft Россия dmitryan@microsoft.com Некоторые методы обеспечения качества • • • • • • • • • 0 – Процесс 1 – Проектирование 2 – Статический анализ 3 – Юнит Тестирование 4 – Сценарное веб-тестирование 5 – Нагрузочное тестирование 6 - Профилирование 7 – Ручное тестирование 8 – Эксплуатационная диагностика ДЕМОНСТРАЦИЯ Архитектурный анализ ДЕМОНСТРАЦИЯ Статический анализ ДЕМОНСТРАЦИЯ Веб и нагрузочное тестирование ДЕМОНСТРАЦИЯ Профилирование ДЕМОНСТРАЦИЯ Ручное тестирование Что такое IntelliTrace • «Цифровой магнитофон» событий происходящих с приложением • Фиксация вызовов функций, параметров • Гибкая возможность настройки типов фиксируемых событий Зачем нужен IntelliTrace • Простейший сценарий – дополнительная диагностика при отладке (catch без throw) • Диагностика при тестировании для предоставления полной информации о поведении приложения (MTM) • Наиболее заманчивый сценарий: диагностика в «боевых» условиях для выявления непонятных, трудновоспроизводимых в среде разработки проблем Запуск IntelliTrace без Visual Studio • Ранее требовалось Visual Studio 2010, в Visual Studio 11 beta отдельный устанавливаемый компонент • Свободно скачиваемый Cab файл с сайта Microsoft • Отсутствует необходимость в установке, требуется только распаковка в каталог на диске Предварительные настройки • IntelliTraceCollection.cab • <путь к visual studio>\Common7\IDE\CommonExtensions\Microsoft\IntelliTrace\11.0.0 • expand IntelliTraceCollection.cab . -F:* • Import-Module .\Microsoft.VisualStudio.IntelliTrace.PowerShell.dll – get-help Intellitrace Параметризация диагностики • collection_plan.ASP.NET.default.xml – Сбор только событий (IntelliTraceEvents) • collection_plan.ASP.NET.trace.xml – Сбор событий и информации о вызовах Привязка к исходному коду • Важно наличие актуальной исполняемому файлу соответствующей версии файла PDB – Есть особенности для ASP.NET приложений • При работе с TFS и BuildServer возможно автоматическое извлечение нужной версии файла – Source And Symbol Server Settings • Index Sources : True • Path to Publish Symbols \\Server\path ДЕМОНСТРАЦИЯ IntelliTrace в эксплуатационной среде Влияние на производительность • Влияет ли IntelliTrace на производительность? Да. • Насколько сильно? Это зависит от сценария вызовов функций. Минимальные значения -2-5% • Осторожно: Циклы+запись информации о вызовах Дополнительная информация • http://msdn.microsoft.com/enus/library/dd264915(v=vs.110).aspx • http://channel9.msdn.com/Events/BUILD/BUIL D2011/TOOL-792T • Diagnosing Issues in Production with IntelliTrace and Visual Studio 11 – На русском: Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 11 СПАСИБО ЗА ВНИМАНИЕ Дмитрий Андреев dmitryan@microsoft.com