«Code review как средство обеспечения качества программного обеспечения» Надежда Кобозева. КРОК Инкорпорейтед.

Презентация:



Advertisements
Похожие презентации
Код-ревью На страже ваших багов. © Александр Швец.
Advertisements

Методология PMI для управления проектами.. 2 Состояние рынка разработки Web-сайтов Почему так мало?
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 8. Управление качеством.
IDEF-ZERO Курсовой проект Редактор диаграмм нотации IDEF0 IDEF-ZERO Менеджер проекта: Лихачев Д.В. Архитектор: Кравчук А.А. Главный разработчик: Аниськов.
Цель: гарантировать понимание процессов всеми членами команды Автор: Михаил Смирнов
На основании курса Тестирования программных продуктов Терехов А. А. Слайд 1 Анализ стандартных методов тестирования. Применимость к разработке игр. Шишенин.
Волгоградский Государственный Технический Университет Менеджер проекта: Мамонтов Д.П. Архитектор :Сухарев К.А. Тестировщик: Гончарова И.В.
Жизненный цикл и фазы проекта. Контрольные вопросы Понятие жизненный цикл проекта Фазы жизненного цикла проекта Наиболее часто допускаемые ошибки.
Team System - фреймворк для автоматизации тестирования от Microsoft Футорняк Елена Apriorit Сообщество Тестировщиков Днепропетровска 29/09/2011.
КОД 2009 МОУ СОШ «Эврика-развитие» 27 августа 2009 г. Томск.
1С:Автоматическое тестирование конфигураций. Программный продукт представляет собой инструмент, предназначенный для максимально полной автоматической.
Анализ проекта [Проект] [Докладчик]. Исполнение и цели Цель: укажите исходные цели или цели проекта –Перечислите критерии оценки успешного выполнения.
Волгоградский государственный технический университет Кафедра ЭВМ Дисциплина «Технологии программного обеспечения» Проект «ERModelData» Разработчики :
EXtreme Programming XP Тема 2. XP Заказчики определяют: объем работ; приоритеты; композиции версий; сроки выпуска версий. Разработчики определяют: оценку.
Тестировщик на все руки в Scrum-команде Наталья Медведева.
Автоматизированное тестирование веб-приложений Вадим Кадученко.
Фазы проекта действия и результаты продолжение Microsoft Solution Framework.
Волгоградский Государственный Технический Университет Курсовой проект Редактор диаграмм нотации IDEF0 IDEF0 Diagram Editor Менеджер проекта и архитектор:
Контроля качества ПО. развития службы Три ступени Докладчик: Гринкевич Сергей
Управленческие инструменты 23 октября 2014 г.. 4 принципа конструктивного общения Четыре принципа конструктива, предложенные Энди Гроувом, одним из основателей.
Транксрипт:

«Code review как средство обеспечения качества программного обеспечения» Надежда Кобозева. КРОК Инкорпорейтед

Code review.Что же это такое?? Инспекция кода или рецензия кода или ревизия кода (от англ.Code review) систематическая проверка исходного кода программы с целью обнаружения и исправления ошибок, которые остались незамеченными в начальной фазе разработки. Найденные на ранних этапах разработки ошибки «ценнее», чем ошибки, найденные при формальном тестировании!

«Зачем?!» Цели внедрения процесса: унифицировать код; обучить новичков; ускорить тестирование; найди и уничтожить ошибки там, где они живут; разъяснение кода гарантирует его понимание; уменьшить риск выбиться из графика, потому что качество продукта растет с каждой завершенной фазой проекта; выявить синтаксические ошибки, которые компиляторы не могут отследить;

Что такое «хорошо» и что такое «плохо»? Для качественного построения процесса тестирования, правила рецензирования кода следует унифицировать! Code Review Checklist Очень индивидуален для каждого проекта, НО! Выделим базовые контрольные точки: Поиск уязвимостей Поиск синтаксических ошибок Поиск утечки ресурсов Контроль структуры Комментарии

Кому доверить процесс? Каждый проект по-своему подходит к ревизиям: используются различные инструменты, различные процедуры, в приоритет ставятся различные цели. Возможные схемы процесса: 1. По времени -До check-in – a -После сheck-in –а 2. По ответственному за процесс: -Ответственный ведущий разработчик -Распределенная схема рецензирования между разработчиками -Ответственный ведущий тестировщик

1. Ведущий разработчик ревьюит Преимущества: -Единообразие кода -Одинаковые требования -Гуру делится опытом Недостатки: -Упущенные возможности -Только выборочная проверка -Скорее всего off-line проверка -Более важные задачи в приоритете, на ревью зачастую не хватает времени

2. Друг за другом Преимущества: -Полная взаимозаменяемость -Единообразие кода -Обучение Недостатки -«Если мой коллега пишет такой ужасный код, зачем и мне стараться»

Инструменты для организации процесса анализа кода Сводят к минимуму хлопоты по организации, отслеживанию, подведению итогов и отчетности. Открытые решения: Codestriker (David Sitsky) Review Board (Beanbag, Inc.) Rietveld (Google) Платные продукты: Code Collaborator (SmartBear Software) Crucible (Atlassian)

3. Тестировщики! Преимущества: -разработчики стараются писать качественнее; -знание кода. Проще локализовать ошибку, проще читать логи; -сокращение времени тестирования; Недостатки: - технический уровень тестировщика; - знание кода может помешать найти ошибки.

Легко отловим рецензированием ошибки форматирования строк; состояние гонки; утечка памяти; переполнение буфера.

Инструменты для статического анализа кода. StyleCop StyleCop статический анализатор C# кода на предмет соответствия стилю. + плагин StyleCop Team Foundation Server check-in policy

Инструменты для статического анализа кода. NDependent NDepend – инструмент для Visual Studio для проведения комплексного анализа.NET кода и обеспечения его высокого качества.

Спасибо за внимание! Кобозева Надежда Компания КРОК p.s. Не гонитесь за идеалом!!! Лучшее-враг хорошего!