Непрерывная интеграция. Зачем, как и почему?Andrii Dzynia
Современные команды сталкиваются со многими проблемами на пути разработки программного обеспечения: позднее нахождение дефектов (на этапе интеграции), большое количество времени, затрачиваемое на ожидание новой/стабильной версии, на регрессионное тестирование, на регистрацию ошибок и их последующую верификацию.
Continuous Integration может выступать как способ оптимизации процесса разработки и помогает сделать эти проблемы менее ощутимыми, но при этом требует соблюдения определенных правил.
Доклад поможет разобраться, что же это за подход, как он реализуется и что нужно для поддержания действующего процесса.
А примеры из реального проекта, по использованию системы непрерывной интеграции, покажут все детали реализации.
Способы организаций больших Java проектов по Автоматизированному тестированиюCOMAQA.BY
В процессе работы автоматизатора часто приходится сталкиваться с написанием новых фреймворков или модификации прежде написанных. И тут возникает ощущение, что "когда-то я уже это писал". В ходе доклада я расскажу как же решить известную задачу "не повторяться" в рамках большого проекта или кросс-проектно или почему работа автоматизатора часто требует навыков системного администрирования, программирования, "девопса".
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
Достичь этого можно только одним способом - с помощью инструментов непрерывной интеграции. Какой же инструмент лучше выбрать? Почему? Так ли этот выбор важен или можно просто взять любой из них и начать использовать?
Сравним самые популярные Java-совместимые инструменты CI и сделаем выводы!
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
В своем докладе я расскажу, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование. Также расскажу с какими проблемами столкнулись, и как мы их устраняли. И да, каких результатов смогли добиться уже через полгода. А самое интересное, покажу как мы смогли добиться того, чтоб у нас pull request долетал до боя за 3 часа со всеми этапами тестирования.
Доклад будет содержать большое количество лайфхаков и обзоров инструментария, который мы использовали.
Непрерывная интеграция. Зачем, как и почему?Andrii Dzynia
Современные команды сталкиваются со многими проблемами на пути разработки программного обеспечения: позднее нахождение дефектов (на этапе интеграции), большое количество времени, затрачиваемое на ожидание новой/стабильной версии, на регрессионное тестирование, на регистрацию ошибок и их последующую верификацию.
Continuous Integration может выступать как способ оптимизации процесса разработки и помогает сделать эти проблемы менее ощутимыми, но при этом требует соблюдения определенных правил.
Доклад поможет разобраться, что же это за подход, как он реализуется и что нужно для поддержания действующего процесса.
А примеры из реального проекта, по использованию системы непрерывной интеграции, покажут все детали реализации.
Способы организаций больших Java проектов по Автоматизированному тестированиюCOMAQA.BY
В процессе работы автоматизатора часто приходится сталкиваться с написанием новых фреймворков или модификации прежде написанных. И тут возникает ощущение, что "когда-то я уже это писал". В ходе доклада я расскажу как же решить известную задачу "не повторяться" в рамках большого проекта или кросс-проектно или почему работа автоматизатора часто требует навыков системного администрирования, программирования, "девопса".
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
Достичь этого можно только одним способом - с помощью инструментов непрерывной интеграции. Какой же инструмент лучше выбрать? Почему? Так ли этот выбор важен или можно просто взять любой из них и начать использовать?
Сравним самые популярные Java-совместимые инструменты CI и сделаем выводы!
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
В своем докладе я расскажу, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование. Также расскажу с какими проблемами столкнулись, и как мы их устраняли. И да, каких результатов смогли добиться уже через полгода. А самое интересное, покажу как мы смогли добиться того, чтоб у нас pull request долетал до боя за 3 часа со всеми этапами тестирования.
Доклад будет содержать большое количество лайфхаков и обзоров инструментария, который мы использовали.
Виктор Розаев - Как не сломать обратную совместимость в Public APIMoscowJS
Представьте что у вас есть публичный JavaScript API. Им пользуются сторонние девелоперы от Индии до Канады, чтобы писать свои облачные сервисы. Эти сервисы продают телекомуникационные компании с многомиллиардными оборотами превышающими стоимость вашей компании. Любая остановка сервиса - миллионные убытки. Представили? А нам и представлять не надо - это наша работа. Добро пожаловать в нашу реальность. В рамках доклада мы расскажем о том, как сохранить обратную совместимость при активном развитии и неизвестных пользователях, ну и причем тут вообще интерны.
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...COMAQA.BY
Автоматизация тестирования визуальных регрессий, как особый вид тестирования, может поставить в тупик даже опытных специалистов своей отрасли. Тем более, если речь идёт об адаптивном дизайне.
Задача тестирования адаптивной верстки не является простой, хотя бы по той причине, что требует большого времени на проверку отображения визуального контента и покрытие всей требуемой матрицы платформ, браузеров и разрешений экрана.
Тем не менее существуют способы эффективного использования таких инструментов как Galen Framework и Applitools Eyes и интеграции их в уже существующую среду тестирования.
На наглядном примере сайта, имеющего адаптивный дизайн, я расскажу о том, как можно с лёгкостью применять вышеуказанные инструменты с целью избежать как можно больше разнообразных регрессионных визуальных ошибок.
Также будут подробно рассмотрены варианты построения архитектуры тестов и организации работы с дизайном приложения в целом.
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
1. Основные понятия и определения: продукт, пакет, связи между ними.
2. Как узнать, какие изменения произошли в продукте?
3. Проблемы changelog и release note.
4. Решение: инструмент ChangelogBuilder для автоматической подготовки Release Notes
Виктор Розаев - Как не сломать обратную совместимость в Public APIMoscowJS
Представьте что у вас есть публичный JavaScript API. Им пользуются сторонние девелоперы от Индии до Канады, чтобы писать свои облачные сервисы. Эти сервисы продают телекомуникационные компании с многомиллиардными оборотами превышающими стоимость вашей компании. Любая остановка сервиса - миллионные убытки. Представили? А нам и представлять не надо - это наша работа. Добро пожаловать в нашу реальность. В рамках доклада мы расскажем о том, как сохранить обратную совместимость при активном развитии и неизвестных пользователях, ну и причем тут вообще интерны.
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...COMAQA.BY
Автоматизация тестирования визуальных регрессий, как особый вид тестирования, может поставить в тупик даже опытных специалистов своей отрасли. Тем более, если речь идёт об адаптивном дизайне.
Задача тестирования адаптивной верстки не является простой, хотя бы по той причине, что требует большого времени на проверку отображения визуального контента и покрытие всей требуемой матрицы платформ, браузеров и разрешений экрана.
Тем не менее существуют способы эффективного использования таких инструментов как Galen Framework и Applitools Eyes и интеграции их в уже существующую среду тестирования.
На наглядном примере сайта, имеющего адаптивный дизайн, я расскажу о том, как можно с лёгкостью применять вышеуказанные инструменты с целью избежать как можно больше разнообразных регрессионных визуальных ошибок.
Также будут подробно рассмотрены варианты построения архитектуры тестов и организации работы с дизайном приложения в целом.
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
1. Основные понятия и определения: продукт, пакет, связи между ними.
2. Как узнать, какие изменения произошли в продукте?
3. Проблемы changelog и release note.
4. Решение: инструмент ChangelogBuilder для автоматической подготовки Release Notes
Approach on how make Continuous Integration development cycle with InterSystems Caché.
Caché Object Script solution for CI with Github
https://github.com/intersystems-ru/CacheGitHubCI
Приемы Сontinuous Integration при разработке приложений на CachéInterSystems CEE
Об организации автоматизированного рабочего процесса в InterSystems Caché, Лебедюк /
Implementing modern developement practices with InterSystems Caché, Eduard Lebedyuk
Практический доклад о том, как мы внедряли devops в банке, а конкретнее какую роль в этом процессе сыграло тестирование.
В докладе рассмотрены основные проблемы, с которыми команда столкнулась при внедрении и способы их устранения.
Продемонстрированы результаты, которых смогли достичь в течении полугода.
Доклад содержит большое количество лайфхаков и обзоров инструментария, который использовался для достижения цели.
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
Дмитрий Лукьяненко, QA Automation рассматривает:
- Selenium IDE;
- Selenium WebDriver;
- Page Obgect Pattern;
- Page Factory Pattern;
- локаторы;
- как построить фреймворк и куда его можно дальше развивать.
В рамках доклада я хотел бы рассмотреть сложности, которые мы испытываем с построением инфраструктуры распределенных систем.
Можно ли строить приложения и не думать о серверах и контейнерах? Насколько это будет дорого?
Ответить на эти вопросы помогут принципы «Бессерверной архитектуры». На простых примерах мы рассмотрим из чего состоит приложение, не зависящее от серверов. А также, рассмотрим возможности, которые предоставляют популярные провайдеры облачных сервисов, для построения таких приложений.
Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015Maxim Avdyunin
Сертификация приложений по требованиям федеральных и отраслевых регуляторов, требованиям компаний (если они есть) — необходимое условие разработки и поставки коробочного решения. Требования потребителей и пользователей современных технологий по функционалу и удобству развиваются значительно быстрее эволюции ограничений. В результате, исследования практической защищенности, если и рассматриваются, то вне темы сертификации, что порождает двойной объем работ и сложности в управлении проектами.
Презентация, подготовленная сотрудниками компании «Перспективный Мониторинг» для конференции DevCon 2015, содержит информацию о том, какие практики безопасной разработки позволяют удовлетворить как требования сертификации, так и потребности практической безопасности. Рассматриваются тонкие моменты на стыке этих задач, вопросы, в которых можно опереться на мировой опыт, а также планы регуляторов по развитию требований сертификации.
В докладе представлен опыт ЗАО «ПМ» по внедрению безопасной разработки в проекты создания и развития линейки средств защиты информации для сетевого оборудования, мобильных платформ и рабочих станций, подлежащих сертификации по требованиям регуляторов.
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...ScrumTrek
В наши дни возраст многих информационных систем достигает нескольких десятков лет. Если за это время применяемые технологии и процессы разработки не эволюционировали, а уровень технического долга должным образом не контролировался, то дальнейшее развитие таких систем сильно затруднено, а стоимость внесения изменений чрезмерно высока. Не минует эта учесть и государственные системы, с одной из которых нашей команде и пришлось столкнуться. Нам было поручено дальнейшее развитие системы, автоматизирующей предоставление услуг населению в режиме 24х7. Разработка системы более 15 лет велась различными подрядчиками, качество работ в последние годы значительно ухудшилось, участились срывы сроков. Нам требовалось вывести процесс разработки на новый уровень и выполнить контрактные обязательства по развитию функционала! В докладе речь пойдет о том, как мы успешно прошли этот путь, применяя современные процессные и инженерные Agile практики: как провели аудит системы, какие риски учли, а какие нет, какие практики применили, какой порядок работ выработали. Материалы доклада можно рассматривать как практические советы.
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
Similar to Continuous Integration for PHP projects - Theory by Alex Simanovich (20)
Презентация Владимира Храмцова к докладу про оптимизацию двух маленьких PHP проектов. Основыне тезисы: что происходит, когда увеличивается нагрузка, какие возникают проблемы и способы их решения.
В продолжение темы непрерывной интеграции, Макс расскажет о своем подходе организации непрерывной интеграции и деплоймента в Symfony проектах. Рассказ включает следующие темы:
- Управления зависимостями
- Процесс и инструменты для сборки
- Сервера непрерывной интеграции и в частности Jenkins, плагины к нему, jobs
- Процесс разработки в git
- Процесс выгрузки релиза
- Миграция БД
- Откат релиза
Александр на протяжении длительного времени занимался тестированием драйверов MongoDB для разных языков, в том числе и PHP. В докладе:
- Введение в MongoDB
- Сравнение NoSQL баз данных
- Ответы на популярные вопросы: как? когда? почему?
- MongoDB и PHP фреймворки
Use Composer locally and commit the lock file to the repository. No stable version of Composer exists yet. Developers and CI servers should use the same Composer version. Optimize the autoloader and understand how install, update, and require work. Only use update to upgrade dependencies and check that the lock file is not accidentally committed during code reviews.
1) The document discusses various tips and best practices for using Composer, the PHP dependency manager. It covers how to install and configure Composer globally and for projects, managing dependencies and repositories, debugging issues, and advanced techniques like overriding dependencies.
2) The global Composer configuration allows setting default options and repositories to avoid repeating them in each project. Private repositories can be secured using SSH or SSL client certificates.
3) When dependencies need patching before being merged, forks can be required directly or used as replacements for the original packages. This allows using unmerged fixes until the changes are incorporated upstream.
3. Долгий процесс интеграции
Актуальность базы данных
Стандарты кодирования
Copy/Pasting
Сложность кода
Новый человек в проекте
4. Уменьшение количества повторяемых
процессов
Снижение рисков
Возможность быстрого построения ПО
Обеспечение лучшего контроля проекта
Повышение доверия к ПО
5. Компиляция исходного кода
Проверка
Инспекция
Интеграция базы данных
Развертывание
Документирование
Обратная связь
6. Очистка окружения
Загружаем код из репозитория
Запуск тестов, анализ кода
Генерация документации (API)
Подключение библиотек и фреймворка
Развертывание приложения и базы данных
7.
8.
9.
10.
11.
12.
13.
14. Уменьшение количества повторяемых
процессов
Снижение рисков
Возможность быстрого построения ПО
Обеспечение лучшего контроля проекта
Повышение доверия к ПО
15. Долгий процесс интеграции
Актуальность базы данных
Стандарты кодирования
Copy/Pasting
Сложность кода
Новый человек в проекте
16. Передавайте код часто
Ликвидируйте проблемы
незамедлительно
Пишите автоматизированные проверки
Все проверки должны быть пройдены
Выполняйте закрытое построение
17.
18. Затраты на поддержку CI
Изменения процессов
Слишком много неудачных построений
Издержки на ПО и «железо»
«Непрерывная интеграция это практика разработки ПО, в которой участники команды интегрируют свою работу часто, как минимум ежедневно. Каждая интеграция проверяется автоматической сборкой (включающей тесты) для обнаружения ошибок, как можно быстрее.»Мартин Фаулер
Повторяемые процессы:деплоймент, сборка/сжатие/конвертация файлов, поменять права, их последовательность…Мы люди, нам скучно, мы можем забывать, мы можем ошибаться…- «Ой, я забыл закомитить файл»- «Я забыл протестировать, запустить тесты»- «На моей машине это работает»- Реализация одной фичи убила другую фичуНе найденные во время дефекты, контроль состояния проекта, качество
Загружает код из репозиторияЗапускает buildСоставляет репортыОтправляет обратную связь
Проверка == Автоматические тесты«Качество – это когда все сделано правильно, даже если никто не проверяет»Генри Форд
Инспекция != ПроверкаИнспекция:Анализ кода на основании предопределенных правилПроверка: Динамическое исследование функциональных возможностейСнижаем сложность кодаПоддерживаем стандартыкодаСледим за дублированным кодомОцениваем покрытие кода тестами
Управляет изменениями в БДSQL Delta скрипты
В любое время, в любом местеМаркируем каждое построениеЗапускаем все проверкиОбеспечиваем возможность отката
Дописываем target «deploy»для удаленных серверовСоздаем Job для разворачивания на dev-сервереСоздаем ночной JobСоздаем Job для разворачивания на staging/live server
Состояние построенияРезультаты проверкиОтчеты об инспекцииПравильный способПравильное времяПравильные люди