Доклад посвящен разработке корректного программного обеспечения с применением одного из видов статического анализа кода. Будут освещены вопросы применения подобных методов, их слабые стороны и ограничения, а также рассмотрены результаты, которые они могут дать. На конкретных примерах будет продемонстрировано, как выглядят разработка спецификаций для кода на языке Си и доказательство соответствия кода спецификациям.
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
1. Система мониторинга ресурсов различных отделов
2. Шаблоны и роли серверов, разграничение доступа и зон ответственности
3. ptzabbixtools - конфигурация мониторинга на целевых серверах
4. Пример встраивания системы мониторинга в процессы разработки/тестирования
Доклад посвящен разработке корректного программного обеспечения с применением одного из видов статического анализа кода. Будут освещены вопросы применения подобных методов, их слабые стороны и ограничения, а также рассмотрены результаты, которые они могут дать. На конкретных примерах будет продемонстрировано, как выглядят разработка спецификаций для кода на языке Си и доказательство соответствия кода спецификациям.
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
1. Система мониторинга ресурсов различных отделов
2. Шаблоны и роли серверов, разграничение доступа и зон ответственности
3. ptzabbixtools - конфигурация мониторинга на целевых серверах
4. Пример встраивания системы мониторинга в процессы разработки/тестирования
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноBadoo Development
В условиях большой инфраструктуры и немалого количества критичных компонентов, время реакции на инцидент должно быть как можно меньше. В докладе я расскажу, какие инструменты помогают увеличить скорость реакции и уведомить о проблеме качественнее.
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
Вячеслав Марков, QA engineer в Weezlabs
Я расскажу о том, как в нашей фирме организовано тестирование бэкенда с помощью тестового фреймворка TestNG и Java. Расскажу о data-driven тестировании и о том, почему его удобно применять. Покажу и опишу разработанную нами структуру типового тестового проекта. Представлю применяемые нами способы сбора и документирования результатов, а так же их анализ в условиях CI.
Проверка на прочность или нагрузочное тестирование с JmeterAleksey Derkach
Мой доклад на второй мини-конференции компании Anadea в феврале 2015 года. Обобщение опыта, полученного в результате проведения полноценной сессии нагрузочного тестирования Web-приложения с использованием Jmeter.
Тема: Как перестать бороться с графиками и начать жить
Я расскажу вам про интеграцию Zabbix и Grafana, чтобы вы могли улучшить возможности визуализации данных мониторинга с помощью Grafana.
1. Зачем нужны графики?
2. Как нарисовать 100 графиков за 10 секунд? (Query Editor, Regex, Templating)
3. И что потом с этим делать? ( Max Data Points, Functions, Performance)
4. События – это тоже Time Series (Annotations)
5. Seek & Destroy (Alerting в Grafana)
6. Бонус: Heatmap
Вероятно, многие пробовали использовать решение Zabbix для мониторинга баз данных. Из моего доклада вы узнаете о нашем опыте его применения, и к чему мы в итоге пришли.
1. Штатный Zabbix-мониторинг баз данных: особенности реализации/настройки в промышленных масштабах
2. Преимущества/недостатки решения мониторинга баз данных от Zabbix SIA
3. Преимущества/недостатки существующих расширений Zabbix для мониторинга баз данных
4. Подробнее о расширении DBforBix v2.3 beta: конфигурирование, возможности
5. Доработка DBforBix: сохраняем преимущества и устраняем недостатки штатного мониторинга баз данных Zabbix
6. Варианты развития идеи
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинPositive Hack Days
1. VIX API против pysphere.
2. vSphereTools - это набор скриптов от DevOps для поддержки работы с vSphere и виртуальными машинами.
3. Описание инструмента, его достоинства и недостатки, возможные доработки.
В докладе я расскажу о том как я вижу и применяю TDD, почему мне это нравится и почему я хочу, чтобы это нравилось другим. Все это на примере какого-нибудь мини-приложения на базе Django.
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...Ontico
Современные процессоры имеют на борту по нескольку вычислительных ядер, позволяющих запускать задачи на них параллельно. И, казалось бы, вот оно — счастье: бей большие задачи на куски, запускай эти куски параллельно на разных ядрах и радуйся.
Но не все так просто. Для того чтобы одновременный доступ к общим данным выполнялся корректно, современные системы используют разные примитивы синхронизации. В основе одних лежат блокировки (locks), в основе других — операции типа сравнение-с-обменом (compare-and-swap). Однако и у тех и у других есть свои слабые места. О них мы и поговорим.
Из доклада вы узнаете, чем блокирующие алгоритмы отличаются от неблокирующих, и какими достоинствами и недостатками обладает каждый из этих классов. Кроме того, будут показаны различные подводные камни тех и других решений: Deadlock, Livelock, Starvation, Mutable vs Immutable hype.
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноBadoo Development
В условиях большой инфраструктуры и немалого количества критичных компонентов, время реакции на инцидент должно быть как можно меньше. В докладе я расскажу, какие инструменты помогают увеличить скорость реакции и уведомить о проблеме качественнее.
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
Вячеслав Марков, QA engineer в Weezlabs
Я расскажу о том, как в нашей фирме организовано тестирование бэкенда с помощью тестового фреймворка TestNG и Java. Расскажу о data-driven тестировании и о том, почему его удобно применять. Покажу и опишу разработанную нами структуру типового тестового проекта. Представлю применяемые нами способы сбора и документирования результатов, а так же их анализ в условиях CI.
Проверка на прочность или нагрузочное тестирование с JmeterAleksey Derkach
Мой доклад на второй мини-конференции компании Anadea в феврале 2015 года. Обобщение опыта, полученного в результате проведения полноценной сессии нагрузочного тестирования Web-приложения с использованием Jmeter.
Тема: Как перестать бороться с графиками и начать жить
Я расскажу вам про интеграцию Zabbix и Grafana, чтобы вы могли улучшить возможности визуализации данных мониторинга с помощью Grafana.
1. Зачем нужны графики?
2. Как нарисовать 100 графиков за 10 секунд? (Query Editor, Regex, Templating)
3. И что потом с этим делать? ( Max Data Points, Functions, Performance)
4. События – это тоже Time Series (Annotations)
5. Seek & Destroy (Alerting в Grafana)
6. Бонус: Heatmap
Вероятно, многие пробовали использовать решение Zabbix для мониторинга баз данных. Из моего доклада вы узнаете о нашем опыте его применения, и к чему мы в итоге пришли.
1. Штатный Zabbix-мониторинг баз данных: особенности реализации/настройки в промышленных масштабах
2. Преимущества/недостатки решения мониторинга баз данных от Zabbix SIA
3. Преимущества/недостатки существующих расширений Zabbix для мониторинга баз данных
4. Подробнее о расширении DBforBix v2.3 beta: конфигурирование, возможности
5. Доработка DBforBix: сохраняем преимущества и устраняем недостатки штатного мониторинга баз данных Zabbix
6. Варианты развития идеи
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинPositive Hack Days
1. VIX API против pysphere.
2. vSphereTools - это набор скриптов от DevOps для поддержки работы с vSphere и виртуальными машинами.
3. Описание инструмента, его достоинства и недостатки, возможные доработки.
В докладе я расскажу о том как я вижу и применяю TDD, почему мне это нравится и почему я хочу, чтобы это нравилось другим. Все это на примере какого-нибудь мини-приложения на базе Django.
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...Ontico
Современные процессоры имеют на борту по нескольку вычислительных ядер, позволяющих запускать задачи на них параллельно. И, казалось бы, вот оно — счастье: бей большие задачи на куски, запускай эти куски параллельно на разных ядрах и радуйся.
Но не все так просто. Для того чтобы одновременный доступ к общим данным выполнялся корректно, современные системы используют разные примитивы синхронизации. В основе одних лежат блокировки (locks), в основе других — операции типа сравнение-с-обменом (compare-and-swap). Однако и у тех и у других есть свои слабые места. О них мы и поговорим.
Из доклада вы узнаете, чем блокирующие алгоритмы отличаются от неблокирующих, и какими достоинствами и недостатками обладает каждый из этих классов. Кроме того, будут показаны различные подводные камни тех и других решений: Deadlock, Livelock, Starvation, Mutable vs Immutable hype.
Content Marketing; 6 stappen om gaten te voorkomenSOCIALR B.V.
Content is koning. Tot op zekere hoogte, want de klant is en blijft nog altijd koning. De content die je als bedrijf verspreidt moet dus aansluiten op de behoefte van de klant. Je moet als marketeer constant de klant in je achterhoofd houden, zodat alles wat je creëert effectief is. Toch komt het voor dat je als marketeer cruciale behoeftes over het hoofd ziet. Met dit stappenplan voorkom je gaten in je content strategie.
В этом докладе вы услышите историю о том, как можно построить процесс автоматизированного тестирования и непрерывной интеграции за короткий период времени. Мы поговорим о точках роста, развития и внедрения автоматизированного тестирования на уже существующем проекте. Вы узнаете, что с чего начинать автоматизированное тестирование и как выбрать "работающую" стратегию. После доклада вы захотите избавиться или значительно сократить ручное тестирование и ручной труд у себя на проекте. Вы откроете для себя целую систему, элементы который можно будет внедрять у себя, и которые будут работать.
Доклад будет интересен всем тестировщикам, разработчикам и менеджерам проектов.
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.
There is an opinion that tester's responsibility ends after product release to production. However we should not forget about such a crucial aspect as quality assurance on product maintenance phase.
We'll talk about methodologies of testing in production environment, operational data collection approaches, monitoring, synthetic performance tests and relatively new TestOps role.
Видео: http://www.youtube.com/watch?v=vz0U3jQpHSM
Это обзор опыта применения лучших практик разработки программного обеспечения на разных проектах от госзаказов до видеоконференций в командах от 5 до 50 человек. В докладе будут описаны не только практики, но и то, как они применяются на реальных проектах и какие выгоды они действительно приносят.
Джоэл Спольски много лет назад придумал тест на качество и адекватность IT-компании, но ценности он не теряет и по сей день.
Сентябрь 2014, TechTalks NSU, Новосибирск
Эдуард Сергеев расскажет о том, как выработать единый подход к метрикам, что становится необходимо, когда в компании появляется хотя бы один по-настоящему крупный проект. Это позволит не только отслеживать его развитие в динамике, но и сравнивать эти показатели в дальнейшем с другими проектами.
Ссылка на видеозапись: https://youtu.be/rysvNokETnQ
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
Матерый enterprise проект с "зоопарком" из разнообразных технологий. Часто меняющаяся команда и требовательный заказчик. Менеджер, активно пытающийся вытянуть проект... Все составляющие для сюжета, достойного Титаника.
Было перепробовано множество практик для улучшения процесса разработки, и больше всего это влияло на нас, разработчиков. В одночасье рушились привычные устои, а новые, не успев прижиться, менялись снова. Разве возможна нормальная работа в такой нервной обстановке?
Автор критически оценит парное программирование, тестирование, code review и прочие практики из мира улучшения разработки, а также расшарит набитые шишки и обнаруженные грабли.
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Ontico
РИТ++ 2017, AppsConf
Зал Найроби + Касабланка, 5 июня, 16:00
Тезисы:
http://appsconf.ru/2017/abstracts/2807.html
- Как мы решили связаться с автоматизацией тестирования и что из этого вышло.
- Наша инфраструктура для тестирования. Что тестируем, как тестируем и как следим за результатами.
- Как получать пользу от автоматизации, если продукт сильно меняется минимум раз в год.
- Особенности текущего инструментария. Что стоит учитывать и на что обратить внимание.
Тест-план и исследовательское тестированиеVasiliy Burov
В своем докладе я расскажу как мы в своей работе совмещаем тест-план и исследовательское тестирование. С первого взгляда, может показаться что это не совсем совместимые вещи. Исследовательское тестирование ассоциируется с методом свободного поиска, а тест-план наоборот – следование заданному порядку. Как совместить эти сущности и ничего не потерять – я попытаюсь рассказать.
2. Что такое EDI
• Быстро принять, преобразовать, переслать и отобразить в морде
много сообщений (400 000 в день)
3. Терминология
unit, системные, браузерные, на интеграцию
код EDI
Часть кода EDI, в которой сосредоточена бизнес-логика
Функциональный макет на реакте
EDI
Тесты
EDI для
девочек
Макет
9. Цепочки производства
Аналитик Проектировщик Фронтендер Программист Ревью Тестировщик Ревью Бой
EDI для девочек
Фуллстек таск
Задача на производительность мимо тестирования
Обычная задачка
10.
11. Релизы
• 1-2 релиза в неделю
• Еще столько же нагрузочных релизов мимо тестеров
• Не релизим после 13:00, и по пятницам
• С 2-4 фичами каждый релиз
• Есть блог релизов в вики
18. Когда тестируем
Разработчик:
• Код – тесты – полный прогон тестов – Ревью
Тестировщик:
• Еще тесты – полный прогон тестов
• Выкатываем на тестинг и гоняем на старых данных
• Заливаем в мастер – полный прогон тестов
• Прогон основного кейса на тестинге (5 минут)
• Релиз
20. Числа по тестам
• 6496 тестов всех уровней (на 4 марта 2016)
0 500 1000 1500 2000 2500 3000
Юнит
Системные
Браузерные
21. Числа по тестам
• Время прохождения тестов (без очереди) 9 часов =(
• Параллелим в 24 потока, но по типам тестов:
11+10+5+42+14+9+250+2+2+1+13+7+11+55+31+15+230+77+54+37+
528+20+40 (минут)
• Полное время прогона в 1 поток: 25 часов
• 14 агентов
22. Поток задач (прочеканы 30+ штук)
Параметр
Минимум,
дни
Максимум,
дни
Среднее, дни 90% за, дни
Время ожидания
задачи в очереди
0 10 2 4
Время в тестировании 0 42 6 13
Время ожидания
релиза
0 6 3 5
От готовности к тесту
до релиза
0 44 11 16
От создания до релиза 3 47 13 16
23. Практики
• Код приложения читают все (я понимаю не всё, но всё равно
читаю)
• Код тестов пишут и читают все
• Стараемся писать контракты в вики
• Демо задач проводилось, но умерло
• Частая ситуация: разработчик чинит код с машины тестера. Этакая
парная разработка
24. Планы
В основном связаны с тестирующей системой и исполнением
контрактов:
• Ревью кода
• Регламент релиза
• Оптимизация времени прохождения тестов
• Понижение уровня тестов (browser system, systemunit)
• Повышение стабильности тестов