Гибкие методологии разработки набирают всё большую популярность среди команд разработчиков. Одним их основных инструментов достижения результата при этом является TDD - программисты стараются покрыть юнит-тестами как можно больше своего кода. Зачем тогда нужны тестировщики в гибких командах? Если все же нужны, то сколько? И как они должны тестировать? А как тестировать нетестируемое? В докладе разбираются данные вопросы на примере трех разных проектов.
По материалам конференции .NET разработчиков http://www.dotnetconf.ru/Materialy/Postroenie_procesa_testirovaniya
Урок 8. Статический анализ для выявления 64-битных ошибокTatyanazaxarova
Статический анализ кода - методология выявления ошибок в программном коде, основанная на просмотре программистом участков кода, помеченных статическим анализатором. Помеченные участки кода с большой вероятностью содержат ошибки определенного типа.
Гибкие методологии разработки набирают всё большую популярность среди команд разработчиков. Одним их основных инструментов достижения результата при этом является TDD - программисты стараются покрыть юнит-тестами как можно больше своего кода. Зачем тогда нужны тестировщики в гибких командах? Если все же нужны, то сколько? И как они должны тестировать? А как тестировать нетестируемое? В докладе разбираются данные вопросы на примере трех разных проектов.
По материалам конференции .NET разработчиков http://www.dotnetconf.ru/Materialy/Postroenie_procesa_testirovaniya
Урок 8. Статический анализ для выявления 64-битных ошибокTatyanazaxarova
Статический анализ кода - методология выявления ошибок в программном коде, основанная на просмотре программистом участков кода, помеченных статическим анализатором. Помеченные участки кода с большой вероятностью содержат ошибки определенного типа.
Использование анализатора PVS-Studio в процессе инкрементальной сборки в Micr...Tatyanazaxarova
Одним из нововведений в последних версиях MSBuild/Visual Studio для компиляторов Visual C++ стала новая система минимальной сборки (также известная как инкрементная сборка), основанная на отслеживании зависимостей между входными и выходными данными при работе компилятора и позволяющая осуществлять пересборку только для файлов, затронутых модификацией исходного кода или не имеющих связанных с ними выходных объектных файлов. В отличие от старой методики минимальной пересборки, завязанной на генерируемые компилятором cl.exe файлы состояний (idb-файлы, Minimal Rebuild Dependancy Database, ключ /Gm) и обладавшей рядом недостатков (как например затруднённость распараллеливания сборки из-за конфликтов доступа и отсутствие прямого отслеживания выходных объектный файлов), новая система не зависит от типа используемых сборочных инструментов (может использоваться как для компиляции, так и для линковки) и имеет открытый API. Данная новинка позволила интегрировать проверку кода анализатором PVS-Studio в процесс разработки на C/C++ с использованием инкрементных пересборок для последней версии Visual Studio 2010. Эта возможность появилась в версии PVS-Studio 4.30.
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
Summary: Presentation on open source testing frameworks (improved version, more focus on real project example) at Software Engineering Forum 2009 (SEF-1) conference by Aliaksandr Ikhelis. Sponte framework developer and owner is Stanislaw Wozniak, Expedia Limited, UK. Sponte project homepage: http://rubyforge.org/projects/sponte/; http://github.com/swozniak/sponte/tree/master
Отладка и оптимизация многопоточных OpenMP-программTatyanazaxarova
Задача знакомства программистов с областью разработки параллельных приложений становится все актуальней. Данная статья является кратким введением в создание многопоточных приложений, основанных на технологии OpenMP. Описаны подходы к отладке и оптимизации параллельных приложений.
Статья рассказывает о новом направлении в развитии статических анализаторов кода - верификации параллельных программ. В статье рассказывается о нескольких статических анализаторах, которые могут претендовать на звание "Parallel Lint".
Специфика разработки и тестирования статического анализатораAndrey Karpov
В докладе я расскажу об особенностях разработки и тестирования такого программного продукта, как статический анализатор. Опишу как стандартные методики тестирования, которые мы используем (обзоры кода, Unit и UI-тесты, нагрузочное тестирование), так и специфические, позволяющие контролировать качество поиска ошибок при внесении доработок в ядро анализатора.
Как создать качественный статический анализаторAndrey Karpov
В докладе я расскажу о методиках достижения высокого качества продукта, которые наша команда использует при разработке статического анализатора. Упор сделаю на особенности разработки, а также на повышение качества именно анализа, то есть поиска реальных ошибок и потенциальных уязвимостей в коде.
Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
Использование анализатора PVS-Studio в процессе инкрементальной сборки в Micr...Tatyanazaxarova
Одним из нововведений в последних версиях MSBuild/Visual Studio для компиляторов Visual C++ стала новая система минимальной сборки (также известная как инкрементная сборка), основанная на отслеживании зависимостей между входными и выходными данными при работе компилятора и позволяющая осуществлять пересборку только для файлов, затронутых модификацией исходного кода или не имеющих связанных с ними выходных объектных файлов. В отличие от старой методики минимальной пересборки, завязанной на генерируемые компилятором cl.exe файлы состояний (idb-файлы, Minimal Rebuild Dependancy Database, ключ /Gm) и обладавшей рядом недостатков (как например затруднённость распараллеливания сборки из-за конфликтов доступа и отсутствие прямого отслеживания выходных объектный файлов), новая система не зависит от типа используемых сборочных инструментов (может использоваться как для компиляции, так и для линковки) и имеет открытый API. Данная новинка позволила интегрировать проверку кода анализатором PVS-Studio в процесс разработки на C/C++ с использованием инкрементных пересборок для последней версии Visual Studio 2010. Эта возможность появилась в версии PVS-Studio 4.30.
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
Summary: Presentation on open source testing frameworks (improved version, more focus on real project example) at Software Engineering Forum 2009 (SEF-1) conference by Aliaksandr Ikhelis. Sponte framework developer and owner is Stanislaw Wozniak, Expedia Limited, UK. Sponte project homepage: http://rubyforge.org/projects/sponte/; http://github.com/swozniak/sponte/tree/master
Отладка и оптимизация многопоточных OpenMP-программTatyanazaxarova
Задача знакомства программистов с областью разработки параллельных приложений становится все актуальней. Данная статья является кратким введением в создание многопоточных приложений, основанных на технологии OpenMP. Описаны подходы к отладке и оптимизации параллельных приложений.
Статья рассказывает о новом направлении в развитии статических анализаторов кода - верификации параллельных программ. В статье рассказывается о нескольких статических анализаторах, которые могут претендовать на звание "Parallel Lint".
Специфика разработки и тестирования статического анализатораAndrey Karpov
В докладе я расскажу об особенностях разработки и тестирования такого программного продукта, как статический анализатор. Опишу как стандартные методики тестирования, которые мы используем (обзоры кода, Unit и UI-тесты, нагрузочное тестирование), так и специфические, позволяющие контролировать качество поиска ошибок при внесении доработок в ядро анализатора.
Как создать качественный статический анализаторAndrey Karpov
В докладе я расскажу о методиках достижения высокого качества продукта, которые наша команда использует при разработке статического анализатора. Упор сделаю на особенности разработки, а также на повышение качества именно анализа, то есть поиска реальных ошибок и потенциальных уязвимостей в коде.
Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
Presentation from 11th SQADays conference in Kiev (April 2012) and Selenium Camp 2013 (February 2013) about how to measure what functional tests are really testing from requirements, code and UI perspective.
Functional tests are usually the slowest layer of automated tests for almost every product. They use product via UI, store data in real DB, integrate with external services and do other “slow” things. The first easy answer how to make them fast is to run in parallel. But in reality tests depends on the same data and intersect by some common functionality. In this talk we will review useful techniques and approaches how to win this battle.
Юрий Василевский «Автоматизация в XCode»
Yandex Mobile Camp в Санкт-Петербурге 2012
http://events.yandex.ru/events/yamobcamp/spb-may-2012/
Xcode — основной инструментарий разработки приложений под Mac OS X и Apple iOS. Он обладает широкими возможностями как для редактирования кода, так и для автоматизации задач. Мы обсудим некоторые из аспектов автоматизации (Code Sense, Targets, Services, Help), связанные с нумерацией сборок билдов, форматированием и контролем стиля кода, анализом дублированных участков кода, управлением внешними библиотеками.
Yandex Mobile Camp в Санкт-Петербурге, 30 мая 2012
Юрий Василевский, ведущий разработчик EPAM Systems, Mobile Solutions
Тема: Автоматизация в XCode
Тезисы:
Xcode — основной инструментарий разработки приложений под Mac OS X и Apple iOS. Он обладает широкими возможностями как для редактирования кода, так и для автоматизации задач.
Мы рассмотрим некоторые из аспектов автоматизации (Code Sense, Targets, Services, Help), связанные с нумерацией сборок билдов, форматированием и контролем стиля кода, анализом дублированных участков кода, управлением внешними библиотеками.
Реклама PVS-Studio - статический анализ кода на языке Си и Си++Andrey Karpov
Этот документ рекламирует статический анализатор PVS-Studio. Описывается, как использование PVS-Studio уменьшит количество ошибок в коде проекта на языке C/C++/C++11 и сократит затраты на тестирование, отладку и сопровождение кода. Приводится большое количество примеров ошибок, найденных анализатором в различных Open-Source проектах. Документ описывает PVS-Studio на момент версии 4.38 от 12 октября 2011 и, как следствие, не отражает возможности следующих версий. Чтобы познакомиться с новыми возможностями, предлагаем посетить сайт продукта <a>http://www.viva64.com</a> или поискать обновленный вариант этой статьи.
основы ооп на языке C#. часть 1. введение в программированиеYakubovichDA
Основы объектно-ориентированного программирования на языке C#. Часть 1. Введение в программирование.
Рассматривается базовые понятие алгоритмов, блок-схем, объектно-ориентированного программирования на базе платформы .NET Framework.
Регулярное использование статического анализа кода в командной разработкеTatyanazaxarova
Технологии статического анализа кода применяются в компаниях со зрелыми процессами разработки программного обеспечения. Однако уровень применения и внедрения в процесс разработки инструментов анализа кода может быть различным. Начиная от ручного запуска анализатора "время от времени" или при поиске трудноуловимых ошибок, и кончая ежедневным автоматическим запуском или запуском при добавлении нового исходного кода в систему контроля версий.
В статье рассмотрены различные уровни использования технологий статического анализа кода в командной разработке, показано как "перевести" процесс с одного уровня на другой. В качестве примера в статье используется разрабатываемый авторами анализатор кода PVS-Studio.
Эдуард Сергеев расскажет о том, как выработать единый подход к метрикам, что становится необходимо, когда в компании появляется хотя бы один по-настоящему крупный проект. Это позволит не только отслеживать его развитие в динамике, но и сравнивать эти показатели в дальнейшем с другими проектами.
Ссылка на видеозапись: https://youtu.be/rysvNokETnQ
8. Как это работает? Sonar не является .NET решением изначально. Для него существует группа плагинов, которые допускают использование с .NET/C# (включая версию 4.0). Каждый плагин отвечает за адаптацию отчетов некоторого инструмента оценки кода для Sonar. Соответственно, для получение полной функциональности необходимы все эти инструменты :)
10. Gallio — инструмент для запуска юнит-тестов. Нужен для оценки числа пройденных и неудачных тестов.
11. PartCover .NET / NCover — инструменты для оценки code coverage. PartCover .NET создавался как бесплатная, открытая альтернатива к NCover. Но PartCover умеет оценивать только lines coverage, в то время как Ncover позволяет оценить и branch coverage.
12. FxCop — инструмент статического анализа кода на соответствие guidelines. Оценивает IL код.
13. StyleCop — проверяет стиль исходного кода для языка C#. Содержит такие категории правил: документация, разметка кода, наименования, читаемость, порядок блоков.
15. Установка Sonar и плагинов После установки нужно скопировать плагины для dotnet в $SONAR_HOME/extensions/plugins . Установка внешних инструментов Те, для которых были скопированы плагины. И как же связать Sonar, инструменты и проект?
16. Maven Apache Maven — инструмент сборки проектов, который в этом случае и будет “отправлять” отчеты в Sonar. После установки и настройки самого Maven, к нему нужно подключить Maven Dotnet Plugin ( maven-dotnet-plugin.appspot.com ) и настроить файл settings.xml, добавив в него пути к инструментам оценки кода, а также к платформам .NET разных версий. Установка Maven и его настройка ( maven.apache.org )
17. Сборочный файл Maven Файлом проекта является pom.xml. Для целей Sonar он будет иметь такой вид:
18. Запускаем! Файл pom.xml должен находиться в корневой папке проекта (там, где *.sln). После запуска самого Sonar, в папке проекта нужно вызвать такую команду: mvn sonar:sonar ... После сборки проект появится в списке Sonar!