SlideShare a Scribd company logo
1 of 17
Download to read offline
SONARQUBE
НЕПРЕРЫВНЫЙ АНАЛИЗ КАЧЕСТВА КОДА
ЧТО ТАКОЕ И ЗАЧЕМ НУЖЕН?
SONARQUBE
SONARQUBE
СМЕРТНЫЕ ГРЕХИ ПРОГРАММИСТА
▸ Ошибки и потенциальные ошибки
▸ Нарушение стиля (code style)
▸ Дублирование кода
▸ Отсутствие unit тестов
▸ Сложный код
▸ Spaghetti Design
▸ Мало или слишком много комментариев
SONARQUBE
КАКИЕ ФУНКЦИИ ВЫПОЛНЯЕТ?
▸ Поддерживает анализ кода и поиск ошибок согласно
правилам стандартов программирования MISRA C,
MISRA C++, MITRE/CWE и CERT Secure Coding Standards
▸ Распознаёт ошибки из списков OWASP Топ-10 и CWE/
SANS Топ-25 ошибок программирования
SONARQUBE
РЕШАЕМЫЕ ЗАДАЧИ
▸ Выявление ошибок в программах.
▸ Рекомендации по оформлению кода
▸ Подсчет метрик
▸ Покрытие кода тестами
▸ Кол-во потенциальных ошибок
▸ Кол-во потенциальных уявимостей
▸ Кол-во ошибок оформления кода
SONARQUBE
ПРАВИЛА НА СЕРВЕРЕ
SONARQUBE
ПРАВИЛА НА СЕРВЕРЕ
SONARQUBE
ПРАВИЛА НА СЕРВЕРЕ
SONARQUBE
ПРАВИЛА НА СЕРВЕРЕ
SONARQUBE
ПРАВИЛА НА СЕРВЕРЕ
ПОСТОЯННЫЙ КОНТРОЛЬ
КАЧЕСТВА КОДА
GITHUB PULL REQUEST PLUGIN
GITHUB PULL REQUEST PLUGIN
АНАЛИЗ КАЧЕСТВА КОДА ПРИ PULL REQUEST'АХ
ПОСТОЯННЫЙ КОНТРОЛЬ
КАЧЕСТВА КОДА В IDE
SONAR LINT & SONARQUBE PLUGINS
SONAR LINT & SONARQUBE PLUGINS
АНАЛИЗ КАЧЕСТВА КОДА В IDE
SONARQUBE | SONARLINT | GITHUB PLUGIN
ВОПРОСЫ?
SONARQUBE
ССЫЛКИ
▸ http://www.sonarqube.org/
▸ http://www.sonarlint.org/intellij/
▸ http://www.sonarlint.org/eclipse/index.html
▸ http://docs.sonarqube.org/display/PLUG/GitHub+Plugin
▸ http://setx.crystals.ru/view/SONAR/job/
set_retail10_pull_analysis/
▸ http://setx.crystals.ru/view/SONAR/job/sonar_setretail10/
ЧЕРНОВ ВАСИЛИЙ
ТЕСТИРОВЩИК
EMAIL: V.CHERNOV@CRYSTALS.RU
SKYPE: CHERNOWASILY
BLOG: HTTP://QAQUESTIONS.WORDPRESS.COM/
©2016

More Related Content

What's hot

Getting Tested: методология интеграционного тестирования
Getting Tested: методология интеграционного тестированияGetting Tested: методология интеграционного тестирования
Getting Tested: методология интеграционного тестированияAlexander Byndyu
 
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019GoQA
 
QA Fest 2015. Владимир Скляр. Организация тестирования встроенных систем в ко...
QA Fest 2015. Владимир Скляр. Организация тестирования встроенных систем в ко...QA Fest 2015. Владимир Скляр. Организация тестирования встроенных систем в ко...
QA Fest 2015. Владимир Скляр. Организация тестирования встроенных систем в ко...QAFest
 
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Tatyanazaxarova
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюCOMAQA.BY
 
Test design techniques basics
Test design techniques basicsTest design techniques basics
Test design techniques basicsArtem Bykovets
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QAFest
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...COMAQA.BY
 
Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Technopark
 
Dmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QADmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QAAndriy Krayniy
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQAFest
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Alexei Lupan
 
Kiuwan 2015
Kiuwan 2015 Kiuwan 2015
Kiuwan 2015 Softmart
 
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QAFest
 
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...COMAQA.BY
 
Тестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиТестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиSQALab
 
Тимур Шевляков
Тимур ШевляковТимур Шевляков
Тимур ШевляковCodeFest
 

What's hot (20)

Sqa8 urazov
Sqa8 urazovSqa8 urazov
Sqa8 urazov
 
Getting Tested: методология интеграционного тестирования
Getting Tested: методология интеграционного тестированияGetting Tested: методология интеграционного тестирования
Getting Tested: методология интеграционного тестирования
 
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
 
QA Fest 2015. Владимир Скляр. Организация тестирования встроенных систем в ко...
QA Fest 2015. Владимир Скляр. Организация тестирования встроенных систем в ко...QA Fest 2015. Владимир Скляр. Организация тестирования встроенных систем в ко...
QA Fest 2015. Владимир Скляр. Организация тестирования встроенных систем в ко...
 
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированию
 
Test design techniques basics
Test design techniques basicsTest design techniques basics
Test design techniques basics
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 
Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3
 
Dmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QADmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QA
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестированияQA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
 
Kiuwan 2015
Kiuwan 2015 Kiuwan 2015
Kiuwan 2015
 
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
 
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
 
Тестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиТестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностями
 
Тимур Шевляков
Тимур ШевляковТимур Шевляков
Тимур Шевляков
 
Enter: testing
Enter: testingEnter: testing
Enter: testing
 

Similar to Непрерывный анализ качества кода с помощью SonarQube

Безопасность на максималках: как писать надёжный C/C++ код для встраиваемых с...
Безопасность на максималках: как писать надёжный C/C++ код для встраиваемых с...Безопасность на максималках: как писать надёжный C/C++ код для встраиваемых с...
Безопасность на максималках: как писать надёжный C/C++ код для встраиваемых с...Andrey Karpov
 
Константин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороныКонстантин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороныTatyanazaxarova
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияSQALab
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаSkillsWiki
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаgeekfamilyrussia
 
SAST, борьба с потенциальными уязвимостями
SAST, борьба с потенциальными уязвимостямиSAST, борьба с потенциальными уязвимостями
SAST, борьба с потенциальными уязвимостямиAndrey Karpov
 
Опыт Автоматизации тестирования
Опыт Автоматизации тестированияОпыт Автоматизации тестирования
Опыт Автоматизации тестированияAgile Ukraine
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQubePositive Hack Days
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаAleksandr Makhomet
 
Специфика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомСпецифика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомSQALab
 
Особенности тестирования открытого ПО
Особенности тестирования открытого ПООсобенности тестирования открытого ПО
Особенности тестирования открытого ПОAlexey Lyanguzov
 
Алексей Лянгузов
Алексей ЛянгузовАлексей Лянгузов
Алексей ЛянгузовSQALab
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовOlesya_V
 
Код-ревью в Drupal
Код-ревью в DrupalКод-ревью в Drupal
Код-ревью в DrupalShvetsGroup
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
Реклама PVS-Studio - статический анализ кода на языке Си и Си++
Реклама PVS-Studio - статический анализ кода на языке Си и Си++Реклама PVS-Studio - статический анализ кода на языке Си и Си++
Реклама PVS-Studio - статический анализ кода на языке Си и Си++Andrey Karpov
 
SQA Days 19 - Self-dependent QA Assessment - how to start (Самостоятельная оц...
SQA Days 19 - Self-dependent QA Assessment - how to start (Самостоятельная оц...SQA Days 19 - Self-dependent QA Assessment - how to start (Самостоятельная оц...
SQA Days 19 - Self-dependent QA Assessment - how to start (Самостоятельная оц...Andrey Ladutko
 
Статический анализатор кода PVS-Studio
Статический анализатор кода PVS-StudioСтатический анализатор кода PVS-Studio
Статический анализатор кода PVS-Studiocppclimber
 

Similar to Непрерывный анализ качества кода с помощью SonarQube (20)

Безопасность на максималках: как писать надёжный C/C++ код для встраиваемых с...
Безопасность на максималках: как писать надёжный C/C++ код для встраиваемых с...Безопасность на максималках: как писать надёжный C/C++ код для встраиваемых с...
Безопасность на максималках: как писать надёжный C/C++ код для встраиваемых с...
 
Константин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороныКонстантин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороны
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчика
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчика
 
SAST, борьба с потенциальными уязвимостями
SAST, борьба с потенциальными уязвимостямиSAST, борьба с потенциальными уязвимостями
SAST, борьба с потенциальными уязвимостями
 
Опыт Автоматизации тестирования
Опыт Автоматизации тестированияОпыт Автоматизации тестирования
Опыт Автоматизации тестирования
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кода
 
Специфика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомСпецифика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодом
 
Особенности тестирования открытого ПО
Особенности тестирования открытого ПООсобенности тестирования открытого ПО
Особенности тестирования открытого ПО
 
Алексей Лянгузов
Алексей ЛянгузовАлексей Лянгузов
Алексей Лянгузов
 
PVS-Studio в 2021
PVS-Studio в 2021PVS-Studio в 2021
PVS-Studio в 2021
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
Код-ревью в Drupal
Код-ревью в DrupalКод-ревью в Drupal
Код-ревью в Drupal
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Реклама PVS-Studio - статический анализ кода на языке Си и Си++
Реклама PVS-Studio - статический анализ кода на языке Си и Си++Реклама PVS-Studio - статический анализ кода на языке Си и Си++
Реклама PVS-Studio - статический анализ кода на языке Си и Си++
 
SQA Days 19 - Self-dependent QA Assessment - how to start (Самостоятельная оц...
SQA Days 19 - Self-dependent QA Assessment - how to start (Самостоятельная оц...SQA Days 19 - Self-dependent QA Assessment - how to start (Самостоятельная оц...
SQA Days 19 - Self-dependent QA Assessment - how to start (Самостоятельная оц...
 
Статический анализатор кода PVS-Studio
Статический анализатор кода PVS-StudioСтатический анализатор кода PVS-Studio
Статический анализатор кода PVS-Studio
 

Непрерывный анализ качества кода с помощью SonarQube