Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...Badoo Development
Доклад о том, как выжить в условиях двух релизов в день, не понижая планку
качества проекта и дать разработчикам и QA-инженерам больше времени на
полезные дела.
Подробно:
Прослушав доклад, вы узнаете:
1. Что НА САМОМ ДЕЛЕ называется непрерывной интеграцией;
2. Кому и зачем нужно переходить на Continious Integration;
3. Почему процесс контроля качества начинается ещё до написания кода;
4. Как программисты учавствуют в процессе тестирования;
5. Как устроен наш поток тестирования с пятью (!) уровнями контроля;
6. Как наши QA-инженеры тестируют задачи до релиза в максимально
реалистичных условиях;
7. Как помогает тестированию плотная интеграция Git, Jira и TeamCity;
8. Зачем нужны более 20 тысяч автоматических тестов и кто их должен
разрабатывать и поддерживать;
9. Чем непрерывно занимаются более 10 агентов-тестировщиков в нашей
TeamCity;
10. Какими средствами мы добились того, чтобы пункты 8 и 9 не превращал
QA-процесс в долгое и унылое действо.
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQAFest
В своём докладе я расскажу вам о том, кто такие тест-аналитики, тест-дизайнеры и должны ли их роль выполнять обычные тестировщики. Также сделаю обзор основных и проверенных методик тест-дизайна. Расскажу про их плюсы и минусы.
Будем учиться тестировать не 12 часов, а головой!
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...Badoo Development
Доклад о том, как выжить в условиях двух релизов в день, не понижая планку
качества проекта и дать разработчикам и QA-инженерам больше времени на
полезные дела.
Подробно:
Прослушав доклад, вы узнаете:
1. Что НА САМОМ ДЕЛЕ называется непрерывной интеграцией;
2. Кому и зачем нужно переходить на Continious Integration;
3. Почему процесс контроля качества начинается ещё до написания кода;
4. Как программисты учавствуют в процессе тестирования;
5. Как устроен наш поток тестирования с пятью (!) уровнями контроля;
6. Как наши QA-инженеры тестируют задачи до релиза в максимально
реалистичных условиях;
7. Как помогает тестированию плотная интеграция Git, Jira и TeamCity;
8. Зачем нужны более 20 тысяч автоматических тестов и кто их должен
разрабатывать и поддерживать;
9. Чем непрерывно занимаются более 10 агентов-тестировщиков в нашей
TeamCity;
10. Какими средствами мы добились того, чтобы пункты 8 и 9 не превращал
QA-процесс в долгое и унылое действо.
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQAFest
В своём докладе я расскажу вам о том, кто такие тест-аналитики, тест-дизайнеры и должны ли их роль выполнять обычные тестировщики. Также сделаю обзор основных и проверенных методик тест-дизайна. Расскажу про их плюсы и минусы.
Будем учиться тестировать не 12 часов, а головой!
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
В своем докладе я расскажу, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование. Также расскажу с какими проблемами столкнулись, и как мы их устраняли. И да, каких результатов смогли добиться уже через полгода. А самое интересное, покажу как мы смогли добиться того, чтоб у нас pull request долетал до боя за 3 часа со всеми этапами тестирования.
Доклад будет содержать большое количество лайфхаков и обзоров инструментария, который мы использовали.
Techleads Meetup #1
"Как автотесты ускоряют релизы в OK.ru"
Никита Макаров, руководитель отдела тестирования (Одноклассники)
Описание:
начиная с 2012 года Одноклассники прошли огромный путь в области ускорения релизов.
Одним из факторов успеха была автоматизация тестирования, которую внедряли «с нуля».
В своем докладе я расскажу:
— о том как мы учили тестировщиков писать автотесты;
— сколотили команду автоматизаторов и построили инфраструктуру автоматизации тестирования;
— о наших ошибках, поражениях, полезных практиках и процессах.
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QAFest
Дорогие начинающие коллеги-тестировщики! Уважаемые коллеги со „средним“ стажем! В данном докладе я постараюсь поменять ваше традиционно неполное, и местами неверное представление о том, зачем и для чего мы занимаемся тестированием, и может быть даже достучаться до сердец некоторых сеньоров нашего ремесла.
Курсы, ISTQB, Википедия, скороспелые статьи на коммерческих и бесплатных сайтах, и знаменитые „исторические причины“ - внесли неоценимый вклад в дело хаоса понятий и поверхностности „лучших практик“ в области тестирования.
В докладе я донесу свой взгляд на современное тестирование, который поддерживают некоторые из очень ведущих специалистов. Понимание целей поможет вам стать лучшими тестировщикам и не только. Давайте сдвигать парадигму вместе уже сегодня! Так победим.
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QAFest
Доклад для ленивых тестировщиков, которые не хотят набивать свои шишки, а научится на чужом опыте:
- полезные инструменты и решения для тестирования;
- работа с сетью, внутренними и внешними сервисами;
- процессы и культура тестирования в отделе разработки
- silver bullet в конце доклада
QA Fest 2015. Владимир Скляр. Организация тестирования встроенных систем в ко...QAFest
Когда наша компания стала поставлять системы на базе ПЛК на рынке атомной энергетики, возник вопрос подтверждения соответствия процессов разработки и тестирования различным стандартам в области безопасности. Мы создали и обучили команду тестировщиков, владеющую практиками статического анализа кода, функционального и структурного тестирования (как для этапа юнит-тестов, так и интеграции), а также симуляции физических сигналов. Вот как мы решили эту непростую задачу.
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестированияQAFest
Знакомо ощущение, когда смотрите на код, тест-кейc или на процесс - "здесь что-то не так"? Значит вы уловили этот запах - "test smells". К сожалению, не всегда понятно - от чего же он, и даже больше - что с ним делать. Непонимание, и как следствие, неверное применение хороших практик, собственные адаптации и приводят ошибкам, сложностям и еще большему усугублению проблемы.
В этом докладе, я поделюсь с вами своими мыслями и опытом. Как выглядят популярные проблемы, антипаттерны и запахи. Как их различить и что сделать, чтобы избавиться от них.
QA Fest 2015. Катерина Овеченко. Топ 5 уязвимостей, о которых стоит знатьQAFest
Сегодня безопасность является одним из трендов современного ИТ мира. Клиенты переводят свои решения в веб и облака, делая их еще более уязвимыми для внешних атак. Защитив свое приложения от нескольких самый распространенных уязвимостей позволит значительно сократить риски, связанные с безопасностью. Я расскажу про Топ 5 уязвимостей, о которых вам стоит знать, как их найти и обезвредить.
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
В своем докладе я расскажу, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование. Также расскажу с какими проблемами столкнулись, и как мы их устраняли. И да, каких результатов смогли добиться уже через полгода. А самое интересное, покажу как мы смогли добиться того, чтоб у нас pull request долетал до боя за 3 часа со всеми этапами тестирования.
Доклад будет содержать большое количество лайфхаков и обзоров инструментария, который мы использовали.
Techleads Meetup #1
"Как автотесты ускоряют релизы в OK.ru"
Никита Макаров, руководитель отдела тестирования (Одноклассники)
Описание:
начиная с 2012 года Одноклассники прошли огромный путь в области ускорения релизов.
Одним из факторов успеха была автоматизация тестирования, которую внедряли «с нуля».
В своем докладе я расскажу:
— о том как мы учили тестировщиков писать автотесты;
— сколотили команду автоматизаторов и построили инфраструктуру автоматизации тестирования;
— о наших ошибках, поражениях, полезных практиках и процессах.
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QAFest
Дорогие начинающие коллеги-тестировщики! Уважаемые коллеги со „средним“ стажем! В данном докладе я постараюсь поменять ваше традиционно неполное, и местами неверное представление о том, зачем и для чего мы занимаемся тестированием, и может быть даже достучаться до сердец некоторых сеньоров нашего ремесла.
Курсы, ISTQB, Википедия, скороспелые статьи на коммерческих и бесплатных сайтах, и знаменитые „исторические причины“ - внесли неоценимый вклад в дело хаоса понятий и поверхностности „лучших практик“ в области тестирования.
В докладе я донесу свой взгляд на современное тестирование, который поддерживают некоторые из очень ведущих специалистов. Понимание целей поможет вам стать лучшими тестировщикам и не только. Давайте сдвигать парадигму вместе уже сегодня! Так победим.
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QAFest
Доклад для ленивых тестировщиков, которые не хотят набивать свои шишки, а научится на чужом опыте:
- полезные инструменты и решения для тестирования;
- работа с сетью, внутренними и внешними сервисами;
- процессы и культура тестирования в отделе разработки
- silver bullet в конце доклада
QA Fest 2015. Владимир Скляр. Организация тестирования встроенных систем в ко...QAFest
Когда наша компания стала поставлять системы на базе ПЛК на рынке атомной энергетики, возник вопрос подтверждения соответствия процессов разработки и тестирования различным стандартам в области безопасности. Мы создали и обучили команду тестировщиков, владеющую практиками статического анализа кода, функционального и структурного тестирования (как для этапа юнит-тестов, так и интеграции), а также симуляции физических сигналов. Вот как мы решили эту непростую задачу.
QA Fest 2017. Иван Пашко. Антипаттерны и запахи в автоматизации тестированияQAFest
Знакомо ощущение, когда смотрите на код, тест-кейc или на процесс - "здесь что-то не так"? Значит вы уловили этот запах - "test smells". К сожалению, не всегда понятно - от чего же он, и даже больше - что с ним делать. Непонимание, и как следствие, неверное применение хороших практик, собственные адаптации и приводят ошибкам, сложностям и еще большему усугублению проблемы.
В этом докладе, я поделюсь с вами своими мыслями и опытом. Как выглядят популярные проблемы, антипаттерны и запахи. Как их различить и что сделать, чтобы избавиться от них.
QA Fest 2015. Катерина Овеченко. Топ 5 уязвимостей, о которых стоит знатьQAFest
Сегодня безопасность является одним из трендов современного ИТ мира. Клиенты переводят свои решения в веб и облака, делая их еще более уязвимыми для внешних атак. Защитив свое приложения от нескольких самый распространенных уязвимостей позволит значительно сократить риски, связанные с безопасностью. Я расскажу про Топ 5 уязвимостей, о которых вам стоит знать, как их найти и обезвредить.
Доклад Ильи Кудинова на CodeFest 2014. "Учимся на ошибках в организации и про...Badoo Development
Доклад повествует об ошибках, совершаемых при организации и проведении тестирования в различных реальных организациях. Часть информации получена на собственном опыте, часть от коллег и знакомых, часть от фидбека после моих докладов на других конференциях и часть (и это самое страшное) я почерпнул на докладах сотрудников других компаний. В докладе не будет пустословия и саксесс-стори, я на реальных примерах покажу, почему те или иные приёмы не работают и как можно было бы исправить эту ситуацию (не только на примерах Badoo, но и на примерах других успешно тестируемых проектов).
Вопросы будут подниматься самые разные - от того, как нужно организовывать отдел тестирования (внутри отдела разработки, отдельным департаментом или как-то ещё?), до того, какие права давать тестировщикам (проверяем только соответствие реализации задачи её постановке или начинаем спорить с продакт-менеджерами?). Интереснее всего доклад может быть представителям компаний с зарождающимся QA или компаниям, QA-отдел которых показал свою низкую продуктивность и должен быть модернизирован.
XP Days Ukraine 2014 - Refactoring legacy codeDmytro Mindra
Every programmer has to face legacy code day after day. It might be ugly, it might look scary, it can make a grown man cry. Some will throw it away and try rewriting everything from scratch. Most of them will fail.
Refactoring legacy code is a much better idea. It is not so scary when you take it in very small bites, introduce small changes, add unit tests. When code is refactored and unit tests are added, changes to functinality can be introduced.
We will take an open source C# project and will refactor it showing step-by-step examples of the techniques. This session is full of tips and tricks you can start applying immediately. Although the code is in C#, the same principles can be applied in any language.
QA Fest 2015. Татьяна Скрипник. Кросс-браузерность, что ты делаешь?.. Ах-ха-х...QAFest
Зачастую начинающие тестировщики предполагают, что «посмотреть» веб-приложение в «разных» браузерах и есть содержание кросс-браузерного тестирования. Но множество вопросов остаются недосказанными:
- На что обращать внимание?
- Какие браузеры выбрать? Что делать с разными версиями одного браузера?
- Какие инструменты использовать?
- Сколько времени выделить?
Зная ключевые различия браузеров, особенности отображения контролов, форм и прочих элементов страницы, можно не только улучшить карму своего веб-приложения, но и не теряя эффективности значительно сократить время на тестирование.
В докладе хочу поделиться с вами приобретенными знаниями различий известных браузеров, показать, на что стоит обращать внимание в первую очередь и, как можно более грамотно описать проблему разработчику в случае её нахождения.
Доклад с IT Global Meetup #4 Санкт-Петербург 27.02
mp3 с записью можно скачать здесь http://maxbeard12.podfm.ru/my/2/
видео тут https://www.youtube.com/watch?v=WjQaiKMYIgQ
QA Fest 2015. Татьяна Завьялова. UX тестирование: планирование, подготовка, п...QAFest
Редко когда у команды разработки возникает сомнение в том, что отточенный продукт могут не понять пользователи. К сожалению, так бывает. Особенно в сложных системах.
Как проверить, что пользователи видят и понимают продукт так же хорошо, как и вы? Надо дать им возможность поклацать. И надо контролировать, что они клацают. И надо результат проанализировать. Отделить зерна от плевел и передать результат в удобоваримой форме аналитикам. Я расскажу как.
http://slideshare.net/zettaua
У вас древний проект? Все зовут его «Legacy», а вас «неудачник»? Возможно они даже смеются над вами.
Давайте взглянем на ситуацию с другого ракурса. Все (все, Карл!) успешные проекты рано или поздно превращаются в Legacy-проекты.
Я затрону тему Legacy не просто как явление, а как возможность быть постоянно в тренде, прослыть супер-спецом (даже если ты знаешь всего два фреймворка), сделать карьеру, как делать, то что ты хочешь, а не то что тебя просят. Ладно, ладно, я наврал про два фреймворка, но все остальное чистая правда. Я покажу, что вы можете творить, имея правильный подход к Legacy коду.
Суть в том, что Legacy — это не грустно/уныло/немодно, это просто/клево/весело, если с умом подойти к задаче!
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Platonov Sergey
Кто-то верно подметил, что разработчики статических анализатора часто сталкиваются с "проблемой айсберга". Им сложно объяснить разработчикам, почему сложно написать и развивать статические анализаторы кода. Дело в том, что сторонние наблюдатели видят только вершину всего процесса, так как им доступен для изучения только простой интерфейс, который предоставляют анализаторы для взаимодействия с миром. Это ведь не графический редактор с сотнями кнопок и рычажков. В результате и возникает ощущение, что раз прост интерфейс взаимодействия, то и прост продукт. На самом деле статические анализаторы кода — это сложные программы, в которых живут и взаимодействуют разнообразнейшие методы поиска дефектов. В них реализуется множество экспертные системы, выдающие заключения о коде на основе как точных, так и эмпирических алгоритмах. В парном докладе, основатели анализатора PVS-Studio расскажут о том, как незаметно потратить 10 лет, чтобы написать хороший анализатор. Дьявол кроется в деталях!
Презентация подготовлена по материалам выступления Александра Радкевича на витебском Весеннем MiniQ (https://vk.com/spring_miniq), который был проведен 23 марта 2017.
— Александр, почему ты решил рассказать именно о техническом долге? Неужели так накипело?
— Я мог бы поговорить и на более "хардкорную" тему, но выбрал технический долг. Уверен, что эта тема в той или иной степени касается каждого проекта. Мне кажется, будет честно, если каждый участник проекта будет иметь четкое представление о том, что такое технический долг и как с ним работать. Тем более я не припомню, чтобы витебские программисты уже говорили об этом, поэтому тем интереснее будет услышать их мнение и вопросы.
Практический доклад о том, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование.
В докладе рассмотрены основные проблемы, с которыми команда столкнулась при внедрении и способы их устранения.
Продемонстрированы результаты, которых смогли достичь в течении полугода.
Доклад содержит большое количество лайфхаков и обзоров инструментария, который использовался для достижения цели.
Юлия Викторова; Александр Тарасов. DevOps без булшита.ScrumTrek
В своём докладе мы расскажем о том, что значит DevOps для нас, и как мы его готовим в большой организации со всеми её ограничениями, проблемами и челленджами как с технической, так и менеджерской точек зрения. Поделимся наработанным уникальным опытом в непростых вопросах: а зачем банку вообще нужен DevOps? как поставить более-менее правильные цели и продать это себе, своим коллегам, начальнику и бизнесу? Какие метрики нужно поставить, и попробуем разобраться есть ли в метриках счастье? Покажем, какие метрики были для нас окошком в Нарнию, и что в итоге получилось, расскажем про трансформацию людей и те инженерные практики, которые мы применяем (парная работа, тотальный кодинг, TDD, Infrastructure as a Code, API самообслуживания и т.д.), ответим на вопросы о том, что это за команда DevOps: какие грабли точно подстерегают нас, и как не наступать на них
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...RIF-Technology
В рамках доклада рассмотрим вопросы формирования команды с помощью модели МакКинси 7с (McKinsey 7s), поговорим о процессах разработки программного продукта, системе релизов, системном инжиниринге и рекомендациях по системе управления процессами.
Выступление будет интересно руководителям команд разработчиков, особенно тем, кто фокусируется на предсказуемости сроков и качестве создаваемого решения.
Невидимый фронт или тестирование digital-проектовSmartHead
Презентация к докладу "Невидимый фронт или тестирование digital-проектов" на рекламно форуме "Даёж`2015".
В докладе рассмотрены проблемы, специфика и виды тестирования digital-проектов. Дан ответ на вопрос: "Кто должен выполнять работы по тестированию?". Рассмотрены вопросы качества результата работ.
Организация эффективной работы команды при разработке и поддержке сложной инф...tabtabus
Как поддерживать высокую скорость разработки без ущерба для качества кода? Как быстро и эффективно реагировать на проблемы, возникающие у пользователей? Как автоматизировать и упростить процесс обновления клиентских систем? Как обеспечить передачу знаний между сотрудниками? Как сделать работу сотрудников более интересной? Доклад дает ответы на эти и другие вопросы, основанные на более чем шестилетнем опыте разработки и поддержки сложной многозвенной информационной системы. В частности, рассматривается практический опыт внедрения таких приемов и методологий, как code review, парное программирование, test-driven development, continuous integration, автоматизированное тестирование пользовательского интерфейса, а также собственных наработок.
Опыт ДС БАРС по внедрению процессов КТ-178BДС БАРС
Доклад "Практика внедрения процессов КТ-178B на российских предприятиях" Заместителя генерального директора ДС БАРС по качеству Михаила Судьбина на конференции «Сертификация в авиастроении по стандартам DO-178(B,C), DO-254, KT-178 при помощи инструментов MathWorks» 29 мая 2012 года.
Выход на межднародный рынок проектных работ. трудности и возможностиTanya Gadzevych
Конференция «Интеграция в мировой строительный рынок. Как обеспечить конкурентоспособность?»
Киев, 11.04.2017
Докладчик: Андрей Анатольевич Бровко,
директор ООО «Проект Консалтинг»
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...Омские ИТ-субботники
Максим Дроздов, Project Manager, ISS Art.
Работаю в ИТ более 8 лет. Руковожу большими и интересными проектами. Навожу порядок в процессах и снижаю энтропию :) Professional Scrum Master. Работал программистом и люблю это дело. Образование — прикладные математика и физика.
Источник радости для меня — настраивать процессы и видеть слаженную команду, где учитывают мнение каждого участника и всю энергию направляют на доставку качественного продукта в соответствии с целями проекта.
В своем докладе хочу показать, что навести порядок в сложном проекте могут простые и широко известные средства, которые нужно правильно применять.
Similar to Технический долг: взгляд и действия со стороны QA / QC&AT (20)
3. 1. Что такое технический долг?
2. Примеры влияния на проекты
3. Как относится к тестированию?
4. Как измерить и контролировать?
5. Внедрение
План доклада
4. Говард Каннингем – автор термина «технический долг»
Технический долг - это разница между идеальным
техническим решением и тем решением, которое
принимается сейчас (англ.яз - tech.debt).
Что такое технический долг?
5. • Осознанный (умышленный) – программист отказывается от гибкости кода или от
покрытия кода тестами, выигрывая время.
• Не осознанный – неопытность программиста в использовании конструкций языка
программирования или применении Framework-ов или платформ.
• Технологический – затягивание с обновлением версии платформы и framework
• Архитектурный – необходимость переработки архитектуры под новые требования
Разновидности технического долга
6. • Осознанный (умышленный) – программист отказывается от гибкости кода или от
покрытия кода тестами, выигрывая время.
• Не осознанный – неопытность программиста в использовании конструкций языка
программирования или применении Framework-ов или платформ.
• Технологический – затягивание с обновлением версии платформы и framework
• Архитектурный – необходимость переработки архитектуры под новые требования
Разновидности технического долга
7. Проект:
• Публичный гос.проект
• Целевая аудитория – жители РФ
Проблема:
• При нагрузке избыточная утилизация
аппаратных ресурсов
• Оптимизация критичных по производительности
компонент не помогает.
Примеры технического долга
13. • Размер технического долга – показатель качества проекта.
• Качество программного обеспечения
Тестирование и Tech.debt
14. • Размер технического долга – показатель качества проекта.
• Качество программного обеспечения
Тестирование и Tech.debt
Стандарт - ISO 9126
15. • Размер технического долга – показатель качества проекта.
• Качество программного обеспечения
Тестирование и Tech.debt
ISO 9126 (ISO 25010) аспекты:
• Функциональность
• Надежность
• Практичность
• Эффективность
• Сопровождаемость
• Переносимость
Стандарт - ISO 9126
16. • Размер технического долга – показатель качества проекта.
• Качество программного обеспечения
Тестирование и Tech.debt
ISO 9126 (ISO 25010) аспекты:
• Функциональность
• Надежность
• Практичность
• Эффективность
• Сопровождаемость
• Переносимость
Стандарт - ISO 9126
17. • Размер технического долга – показатель качества проекта.
• Качество программного обеспечения
Тестирование и Tech.debt
ISO 9126 (ISO 25010) аспекты:
• Функциональность
• Надежность
• Практичность
• Эффективность
• Сопровождаемость
• Переносимость
Стандарт - ISO 9126
Аспект «Сопровождаемость»:
• Analyzability
• Changeability
• Testability
• Stability
18. • Размер технического долга – показатель качества проекта.
• Качество программного обеспечения
Тестирование и Tech.debt
ISO 9126 (ISO 25010) аспекты:
• Функциональность
• Надежность
• Практичность
• Эффективность
• Сопровождаемость
• Переносимость
Стандарт - ISO 9126
Аспект «Сопровождаемость»:
• Analyzability
• Changeability
• Testability
• Stability
25. Измерение:
1. Анализа кода проекта
Измерение технического долга
Исходные
коды
• Получить
SCA
• Развернуть
• Настроить
Результат
26. Измерение:
1. Анализа кода проекта
Исходные
коды
• Получить
SCA
• Развернуть
• Настроить
Результат
Доступа к сорцам
может не быть
• Настроить GUI
• Установить плагины
• Интеграция с VCS
• Виртуалка или железка
• Установить ПО
Измерение технического долга
27. Измерение:
1. Анализа кода проекта
2. Принятие релевантных метрик*
* – проводится совместно с программистами
** – строк кода (Line Of Code)
Дублирование кода
Bugs per 1000 LOC*
Документирование кода
Комплексность кода
Составные метрики
Измерение технического долга
28. Измерение:
1. Анализа кода проекта
2. Принятие релевантных метрик*
* – проводится совместно с программистами
** – строк кода (Line Of Code)
Дублирование кода
Bugs per 1000 LOC*
Документирование кода
Комплексность кода
Составные метрики
Измерение технического долга
70% и более
Не больше 5%
29. Измерение:
1. Анализа кода проекта
2. Принятие релевантных метрик*
3. Устранение «шума» в измерениях*
* – проводится совместно с программистами
Измерение технического долга
30. Измерение:
1. Анализа кода проекта
2. Принятие релевантных метрик*
3. Устранение «шума» в измерениях*
* – проводится совместно с программистами
Измерение технического долга
31. Измерение:
1. Анализа кода проекта
2. Принятие релевантных метрик*
3. Устранение «шума» в измерениях*
* – проводится совместно с программистами
Измерение технического долга
151000 срабатываний на
сторонние библиотеки
32. Измерение:
1. Анализа кода проекта
2. Принятие релевантных метрик*
3. Устранение «шума» в измерениях*
* – проводится совместно с программистами
Измерение технического долга
150000 срабатываний на
сторонние библиотеки
92% ложных срабатываний
33. Измерение:
1. Анализа кода проекта
2. Принятие релевантных метрик*
3. Устранение «шума» в измерениях*
* – проводится совместно с программистами
• Positive false
• Не актуальные инспекции
• Ложный приоритет инспекций
• Проблемы с кодировками
• …
Измерение технического долга
34. Измерение:
1. Анализа кода проекта
2. Принятие релевантных метрик*
3. Устранение «шума» в измерениях*
4. Задать приемлемый уровень метрик*
* – проводится совместно с программистами
Измерение технического долга
35. Измерение:
1. Анализа кода проекта
2. Принятие релевантных метрик*
3. Устранение «шума» в измерениях*
4. Задать приемлемый уровень метрик*
* – проводится совместно с программистами
Измерение технического долга
Единая стилистика кода
36. 1. Инспектирование кода на периодической основе
2. Включение обсуждения «долгов» в планирование проекта
3. Прецедентная работы над приоритетами инспекций
Контроль tech.debt
37. 1. Слежение за трендами и метриками
2. Регулярный критический просмотр результатов
3. Работа по прецедентам*
Контроль tech.debt
* – проводится совместно с программистами
38. Не стоит внедрять, если ваш проект:
• Выводится из эксплуатации;
• Не планируется поддерживать после разработки;
• Прототип;
• Личный проект.
Внедрение в рабочий процесс
39. Внедрение в рабочий процесс
Обсудить выгоды от котроля tech.debt с руководством проекта:
1. Исправление дефектов на ранней стадии разработки;
2. Прогнозирование рефакторинга;
3. Исключение нелепых ошибок.
40. • Нет инструмента всеобъемлюще измеряющего tech.debt
• Измерение и контроль tech.debt – процесс итеративный
• Мониторинг tech.debt задача отдела контроля качества
• Измерение проблем проекта - «Осведомлён – значит вооружён»
Итоги
Предсказуемость влияния изменений на программу
Зрелость процессов
Прозрачность разработки и внесения изменений