Your SlideShare is downloading. ×
Code review как средство обеспечения качества программного обеспечения
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Code review как средство обеспечения качества программного обеспечения

899
views

Published on

Надежда Кобозева - доклад на SQA Days, 2-3 декабря 2011, Москва

Надежда Кобозева - доклад на SQA Days, 2-3 декабря 2011, Москва

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
899
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. «Code review как средствообеспечения качества программного обеспечения» Надежда Кобозева. КРОК Инкорпорейтед
  • 2. Code review.Что же это такое??Инспекция кода или рецензиякода или ревизия кода (отангл.Code review) —систематическая проверкаисходного кода программы сцелью обнаружения иисправления ошибок, которыеостались незамеченными вначальной фазе разработки.Найденные на ранних этапах разработкиошибки «ценнее», чем ошибки, найденные приформальном тестировании!
  • 3. «Зачем?!»Цели внедрения процесса:• унифицировать код;• обучить новичков;• ускорить тестирование;• найди и уничтожить ошибки там, где они живут;• разъяснение кода гарантирует его понимание;• уменьшить риск выбиться из графика, потому что качество продукта растет с каждой завершенной фазой проекта;• выявить синтаксические ошибки, которые компиляторы не могут отследить;
  • 4. Что такое «хорошо» и что такое «плохо»? Для качественного построения процесса тестирования, правила рецензирования кода следует унифицировать! Code Review ChecklistОчень индивидуален для каждого проекта, НО! Выделим базовые контрольные точки:  Поиск уязвимостей  Поиск синтаксических ошибок  Поиск утечки ресурсов  Контроль структуры  Комментарии
  • 5. Кому доверить процесс?Каждый проект по-своему подходит к ревизиям: используются различные инструменты, различные процедуры, в приоритет ставятся различные цели. Возможные схемы процесса:1. По времени- До check-in – a- После сheck-in –а2. По ответственному за процесс:- Ответственный ведущий разработчик- Распределенная схема рецензирования между разработчиками- Ответственный ведущий тестировщик
  • 6. 1. Ведущий разработчик ревьюит• Преимущества:- Единообразие кода- Одинаковые требования- Гуру делится опытом• Недостатки:- Упущенные возможности- Только выборочная проверка- Скорее всего off-line проверка- Более важные задачи в приоритете, на ревью зачастую не хватает времени
  • 7. 2. Друг за другом • Преимущества: - Полная взаимозаменяемость - Единообразие кода - Обучение • Недостатки - «Если мой коллега пишет такой ужасный код, зачем и мне стараться»
  • 8. Инструменты для организации процесса анализа кода Сводят к минимуму хлопоты по организации, отслеживанию, подведению итогов и отчетности. Открытые решения:• Codestriker (David Sitsky)• Review Board (Beanbag, Inc.)• Rietveld (Google) Платные продукты:• Code Collaborator (SmartBear Software)• Crucible (Atlassian)
  • 9. 3. Тестировщики!• Преимущества:-разработчикистараются писать качественнее;-знание кода. Проще локализовать ошибку, проще читать логи;-сокращение временитестирования;• Недостатки:- технический уровень тестировщика;- знание кода может помешать найти ошибки.
  • 10. Легкоотловим рецензированием •ошибки форматирования строк; •состояние гонки; •утечка памяти; •переполнение буфера.
  • 11. Инструменты для статического анализа кода. StyleCopStyleCop — статический анализатор C# кодана предмет соответствия стилю.+ плагин StyleCop Team Foundation Server check-inpolicy
  • 12. Инструменты для статического анализа кода. NDependentNDepend – инструмент для Visual Studio для проведениякомплексного анализа .NET кода и обеспечения его высокогокачества.
  • 13. Спасибо за внимание! Кобозева Надежда Компания КРОК E-mail: nkobozeva@croc.rup.s. Не гонитесь за идеалом!!! Лучшее-враг хорошего!