Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
Разработка наукоемкого программного обеспечения отличается тем, что нет ни четкой постановки задачи, ни понимания, что получится в результате. Однако даже этом надо программировать то, что надо, и как надо. Докладчик расскажет о том, как ее команда успешно разработала и вывела в промышленную эксплуатацию несколько наукоемких продуктов, пройдя непростой путь от эксперимента, результатом которого был прототип, до промышленных версий, которые успешно продаются как на российском, так и на зарубежном рынках. Этот путь был насыщен сложностями и качественными управленческими решениями, которыми поделится докладчик
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
1. Основные понятия и определения: продукт, пакет, связи между ними.
2. Как узнать, какие изменения произошли в продукте?
3. Проблемы changelog и release note.
4. Решение: инструмент ChangelogBuilder для автоматической подготовки Release Notes
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
Разработка наукоемкого программного обеспечения отличается тем, что нет ни четкой постановки задачи, ни понимания, что получится в результате. Однако даже этом надо программировать то, что надо, и как надо. Докладчик расскажет о том, как ее команда успешно разработала и вывела в промышленную эксплуатацию несколько наукоемких продуктов, пройдя непростой путь от эксперимента, результатом которого был прототип, до промышленных версий, которые успешно продаются как на российском, так и на зарубежном рынках. Этот путь был насыщен сложностями и качественными управленческими решениями, которыми поделится докладчик
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
1. Основные понятия и определения: продукт, пакет, связи между ними.
2. Как узнать, какие изменения произошли в продукте?
3. Проблемы changelog и release note.
4. Решение: инструмент ChangelogBuilder для автоматической подготовки Release Notes
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
1. Обзор Windows Docker (кратко)
2. Как мы построили систему билда приложений в Docker (Visual Studio\Mongo\Posgresql\etc)
3. Примеры Dockerfile (выложенные на github)
4. Отличия процессов DockerWindows от DockerLinux (Долгий билд, баги, remote-регистр.)
Разработка любого софта так или иначе базируется на требованиях. Полный перечень составляют бизнес-цели приложения, различные ограничения и ожидания по качеству (их еще называют NFR). Требования к безопасности ПО относятся к последнему пункту. В ходе доклада будут рассматриваться появление этих требований, управление ими и выбор наиболее важных.
Отдельно будут освещены принципы построения архитектуры приложения, при наличии таких требований и без, и продемонстрировано, как современные (и хорошо известные) подходы к проектированию приложения помогают лучше строить архитектуру приложения для минимизации ландшафта угроз.
1. Что такое BI. Зачем он нужен.
2. Что такое Qlik View / Sense
3. Способ интеграции. Как это работает.
4. Метрики, KPI, планирование ресурсов команд, ретроспектива релиза продукта, тренды.
5. Подключение внешних источников данных (Excel, БД СКУД, переговорные комнаты).
Облегчаем процесс разработки с помощью статического анализа кода: Наш опытAndrey Karpov
Статический анализ кода является очень полезным DevOps-средством, помогающим программистам при разработке крупных (и не только) проектов. К сожалению, с ним знакомы далеко не все программисты, а те, кто знаком — часто вспоминают их как «старые добрые lint'еры».
В своем докладе автор покажет, на что на самом деле способен современный статический анализ, а также расскажет о опыте внедрения анализатора в процесс разработки Unreal Engine 4.
Доклад будет полезен программистам всех уровней, руководителям, а также DevOps-специалистам, желающим повысить качество их проектов.
Альтернативные способы изучения программирования с нуляCOMAQA.BY
Мы поговорим о мировых практиках изучения программирования с нуля в игровой форме – от программирования лего роботов, до ... интрига-интрига, приходите и узнаете 10-ток альтернативных вариантов изучения этой замечательной дисциплины.
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр КовалевPositive Hack Days
1. Сложности при распутывании перекрёстных и вложенных зависимостей.
2. Пакетный менеджер CrossPM. Его возможности и примеры использования.
3. Интеграция CrossPM и системы хранения пакетов Artifactory.
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
1. Обзор Windows Docker (кратко)
2. Как мы построили систему билда приложений в Docker (Visual Studio\Mongo\Posgresql\etc)
3. Примеры Dockerfile (выложенные на github)
4. Отличия процессов DockerWindows от DockerLinux (Долгий билд, баги, remote-регистр.)
Разработка любого софта так или иначе базируется на требованиях. Полный перечень составляют бизнес-цели приложения, различные ограничения и ожидания по качеству (их еще называют NFR). Требования к безопасности ПО относятся к последнему пункту. В ходе доклада будут рассматриваться появление этих требований, управление ими и выбор наиболее важных.
Отдельно будут освещены принципы построения архитектуры приложения, при наличии таких требований и без, и продемонстрировано, как современные (и хорошо известные) подходы к проектированию приложения помогают лучше строить архитектуру приложения для минимизации ландшафта угроз.
1. Что такое BI. Зачем он нужен.
2. Что такое Qlik View / Sense
3. Способ интеграции. Как это работает.
4. Метрики, KPI, планирование ресурсов команд, ретроспектива релиза продукта, тренды.
5. Подключение внешних источников данных (Excel, БД СКУД, переговорные комнаты).
Облегчаем процесс разработки с помощью статического анализа кода: Наш опытAndrey Karpov
Статический анализ кода является очень полезным DevOps-средством, помогающим программистам при разработке крупных (и не только) проектов. К сожалению, с ним знакомы далеко не все программисты, а те, кто знаком — часто вспоминают их как «старые добрые lint'еры».
В своем докладе автор покажет, на что на самом деле способен современный статический анализ, а также расскажет о опыте внедрения анализатора в процесс разработки Unreal Engine 4.
Доклад будет полезен программистам всех уровней, руководителям, а также DevOps-специалистам, желающим повысить качество их проектов.
Альтернативные способы изучения программирования с нуляCOMAQA.BY
Мы поговорим о мировых практиках изучения программирования с нуля в игровой форме – от программирования лего роботов, до ... интрига-интрига, приходите и узнаете 10-ток альтернативных вариантов изучения этой замечательной дисциплины.
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр КовалевPositive Hack Days
1. Сложности при распутывании перекрёстных и вложенных зависимостей.
2. Пакетный менеджер CrossPM. Его возможности и примеры использования.
3. Интеграция CrossPM и системы хранения пакетов Artifactory.
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
This is a brochure to test how SlideShare works. If you areinterested in Value Based Healthcare, please visit our website www.vbhc.eu for more information
Suggested Enrichment Program Using Cinderella (DGS) in Developing Geometric C...Mohamed El-Demerdash
Herbsttagung des Arbeitskreis Mathematikunterricht und Informatik (AKMUI), from 26th till 28th September 2008. I contribute with a talk entitled: "Suggested Enrichment Program Using Cinderella (DGS) in Developing Geometric Creativity"
Cloud IT — решение для создания частных облачных инфраструктур, построенное на базе инфраструктуры Cisco UCS, систем хранения данных EMC и виртуализации VMware.
Создание и управление виртуальными машинами любой конфигурации
Создание внутренних и маршрутизируемых сетей (с выходом в интернет или ко внешнему физическому оборудованию)
Установка любого системного и прикладного ПО
Загрузка ISO-образов и шаблонов виртуальных машин
Гибкое управление правами доступа к виртуальным машинам
Présentation de l'intervention de Philippe Crevel prononcée le 13 octobre 2016 au Domaine de Murtoli
Thèmes : les atouts de la Corse et ses moyens d'être maître de son destin économique
Сети, связи и коммуникации – заговорить на русском. Владимир Дубинкин (IBS) н...IBS
Анализ предложений российских производителей на рынке сетевых и коммуникационных решений.
Конференция "InterLab Forum. Системная интеграция нового поколения" прошла в октябре 2015 года. В центре внимания форума были новые решения в области ИТ-инфраструктуры и информационной безопасности, недавно появившиеся на российском рынке и прошедшие апробацию в IBS.
Подробности: http://www.ibs.ru
La investigación cualitativa o metodología cualitativa es un método de investigación usado principalmente en las ciencias sociales que se basa en cortes metodológicos basados en principios teóricos tales como la fenomenología, hernenéutica, la interacción social empleando métodos de recolección de datos que son no cuantitativos, con el propósito de explorar las relaciones sociales y describir la realidad tal como la experimentan los correspondientes.
Владимир Никонов "Вызовы при разработке enterprise продукта"Fwdays
В докладе мы рассмотрим этапы развития приложения, начиная от монолитного Web приложения, до распределенной платформы по управлению бизнес-процессами. Покажем этапы развития, задачи и вызовы, которые возникали на каждом их них. Проанализируем различные аспекты, влияющие на развитие архитектуры, такие как бизнес-требования, технологические тренды и возможные ограничения.
Видео: http://www.youtube.com/watch?v=vz0U3jQpHSM
Это обзор опыта применения лучших практик разработки программного обеспечения на разных проектах от госзаказов до видеоконференций в командах от 5 до 50 человек. В докладе будут описаны не только практики, но и то, как они применяются на реальных проектах и какие выгоды они действительно приносят.
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
Summary: Presentation on open source testing frameworks (improved version, more focus on real project example) at Software Engineering Forum 2009 (SEF-1) conference by Aliaksandr Ikhelis. Sponte framework developer and owner is Stanislaw Wozniak, Expedia Limited, UK. Sponte project homepage: http://rubyforge.org/projects/sponte/; http://github.com/swozniak/sponte/tree/master
The practical story telling how Devops changed the culture of quality in the Bank. Recently Devops became mainstream topic. But only few people have a deep understanding how to apply it to the process of software quality assurance. Some believe that the Devops kills manual testing.
I will talk about changes it makes to the role of QA engineers themself. The discussion main point is NOT about tools or technologies. It’s NOT about the “silver bullet” for your problems with the quality of products.
Instead, I will show you an integrated approach which we used for quality assurance. It allowed us to significantly reduce the cost of finding and fixing defects. This approach has also accelerated the development and delivery value to our customers and made the whole process more transparent and predictable.
Юрий Василевский «Автоматизация в XCode»
Yandex Mobile Camp в Санкт-Петербурге 2012
http://events.yandex.ru/events/yamobcamp/spb-may-2012/
Xcode — основной инструментарий разработки приложений под Mac OS X и Apple iOS. Он обладает широкими возможностями как для редактирования кода, так и для автоматизации задач. Мы обсудим некоторые из аспектов автоматизации (Code Sense, Targets, Services, Help), связанные с нумерацией сборок билдов, форматированием и контролем стиля кода, анализом дублированных участков кода, управлением внешними библиотеками.
Yandex Mobile Camp в Санкт-Петербурге, 30 мая 2012
Юрий Василевский, ведущий разработчик EPAM Systems, Mobile Solutions
Тема: Автоматизация в XCode
Тезисы:
Xcode — основной инструментарий разработки приложений под Mac OS X и Apple iOS. Он обладает широкими возможностями как для редактирования кода, так и для автоматизации задач.
Мы рассмотрим некоторые из аспектов автоматизации (Code Sense, Targets, Services, Help), связанные с нумерацией сборок билдов, форматированием и контролем стиля кода, анализом дублированных участков кода, управлением внешними библиотеками.
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
По-настоящему автоматизированными тесты можно назвать только тогда, когда из процесса тестирования полностью исключается человек. В идеале участие человека должно сводиться к просмотру отчетов о результатах автотестирования, которые регулярно приходят ему на почту.
Достичь этого можно только одним способом - с помощью инструментов непрерывной интеграции. Какой же инструмент лучше выбрать? Почему? Так ли этот выбор важен или можно просто взять любой из них и начать использовать?
Сравним самые популярные Java-совместимые инструменты CI и сделаем выводы!
Особенности проведения аудита безопасности корпоративной IT-инфраструктуры_PH...Ivan Piskunov
Презентация к выступлению "Особенности проведения аудита безопасности корпоративной IT-инфраструктуры", 15 мая 2018, Fast Track
Ядром доклада станет демонстрация нескольких средств аудита (ПО, скриптов) для Windows Server, инфраструктуры AD, Linux: как они работают, какие дают результаты и как облегчают жизнь аудитору.
Анонс выступления
https://ipiskunov.blogspot.ru/2018/05/phdays-8-digital-bet.html
Telegram-канал
https://t.me/w2hack или @w2hack
Презентация директора по работе с партнерами Parallels в России, СНГ и странах Балтии Константина Анисимова. Доклад был представлен на выставке RIW2011 20 октября 2011, на секции "Хостинг".
Тестирование ПО, основанного на сторонних компонентах, на примере дистрибутива ОС Linux
1. Тестирование ПО, основанного на
сторонних компонентах, на примере
дистрибутива ОС Linux
Тестирование ПО, основанного на
сторонних компонентах, на примере
дистрибутива ОС Linux
Денис Силаков
Sr. Software Architect
2. Дистрибутив LinuxДистрибутив Linux
• ~200 млн строк кода
• Оценочная стоимость разработки: $10 млрд
(оценка The Linux Foundation для Fedora 9)
• Доля собственных разработок каждого вендора – 0-5%
– Собственное уникальное ПО
– Доработка сторонних компонентов
1
3. Virtuozzo (ex-Parallels Cloud Server)Virtuozzo (ex-Parallels Cloud Server)
• Виртуализационное решение
– Модифицированное ядро Linux
– Инструменты управления контейнерами и ВМ
– …
• «Под капотом» готового продукта – дистрибутив Linux
2
4. Природа ошибок в Linux-based продуктеПрирода ошибок в Linux-based продукте
• Ошибки в собственном коде
• Ошибки upstream
• Интеграционные проблемы
Размер тестируемого кода превосходит размер
разрабатываемого
Нужна автоматизация и переиспользование существующих
решений
3
6. Библиотеки vs приложенияБиблиотеки vs приложения
• Использование API – обычно формализуется
• Использование интерактивного UI – обычно нет
5
Библиотека Приложение ПользовательAPI UI
7. Тестирование APIТестирование API
• Проработанный научный базис
• Хорошая инструментальная поддержка
• Относительно высокая степень автоматизации
6
8. РесурсоемкостьРесурсоемкость
Производительность человека при разработке тестов для Linux
Standard Base (~ 40.000 функций):
• Базовые (“shallow”) тесты – 10-50 тестов в день
• Обычные (“normal”) тесты – 2-3 функции в день
• Продвинутые (“deep”) – 0.5-1 функция в день
разрабатывать тесты для сторонних компонентов –
накладно
7
9. Существующие решенияСуществующие решения
• Self-tests, поставляемые с кодом приложения
– CentOS 7.1: тесты есть в ~750 из 2500 пакетов
• Открытые тестовые наборы
– Тесты Linux Standard Base
– Linux Test Project
– The Fuzzing Project
– TIS Interpreter – expected in 2016
8
10. Проблемы сторонних тестовПроблемы сторонних тестов
• Не всегда рассчитаны на запуск на сборочных фермах (ВМ
без доступа в сеть и программным таймером)
• Отставание от развития тестируемого кода
• У «продвинутых» тестов – ложные срабатывания
• Большое суммарное время работы (> 24 часов)
9
11. Тесты для приложений с графическим
интерфейсом
Тесты для приложений с графическим
интерфейсом
12. Особенности тестирования GUI-приложенийОсобенности тестирования GUI-приложений
• Технологические сложности воспроизведения действий
человека
• Интересны не атомарные воздействия, а сложные сценарии
работы
• Оценка корректности работы не всегда формализуема
11
13. Воздействие на GUIВоздействие на GUI
• AT-SPI – технологии для поддержки людей с ограниченными
возможностями
• Средства X11
– Xvfb – запуск графических приложений без X-сервера
• Средства виртуальных машин
12
14. AT-SPIAT-SPI
• Предоставляет доступ к внутренней структуре приложения
(a-la Form Designer)
• Возможность применения зависит от используемых
графических библиотек:
– OK: Qt, Gtk, Java, Mono
– Missing: Motif, FLTK, WxWidgets
13
15. X11X11
Расширения для эмуляции действий пользователя
• Не зависят от библиотек, только к X11
– ? Wayland, Mir ?
• Позволяют работать только с низкоуровневой структурой
окон
14
16. Средства виртуальных машин (QEMU)Средства виртуальных машин (QEMU)
Эмуляция пользовательских действий внутри окна ВМ
• Нет привязки к ПО, используемому внутри ВМ
• Ничего не знает об окнах, графических стеках и прочем
15
17. Проверка результатов GUI-тестовПроверка результатов GUI-тестов
• Снимок экрана
– Сравнение с эталоном
– Поиск заданного текста на картинке через OCR
• AT-SPI
– Анализ доступного меню, текстовых полей, …
• X11
– Анализ доступных окон и их заголовков
16
19. Runtime тестыRuntime тесты
• Модульные тесты приложения == интеграционные тесты для
внешних компонентов, которые оно использует
Установить все приложения и протестировать
Осталось написать тесты для всех приложений
18
20. Статические тестыСтатические тесты
• Конфликты по файлам
• Замкнутость репозиториев по зависимостям и бинарным
символам
• Права доступа к файлам приложения
• …
См.: SECR-2013 – Автоматизация поддержки репозиториев
ПО для Linux
19
22. Однотипные тесты для множества приложенийОднотипные тесты для множества приложений
• Возможность запустить сервис (при наличии service-файла)
• Возможность запустить программу (при наличии desktop-
файла с параметрами запуска)
21
23. Тестирование на соответствие требованиям
стороннего заказчика
Тестирование на соответствие требованиям
стороннего заказчика
Например, сертифицирующей лаборатории
24. ROSA Test SuiteROSA Test Suite
Пункт ПМИ тест
• Разумное количество тестов
• Разумное время работы
• Возможно использование тестового набора в процессе
приемки
23
26. Запуск тестовЗапуск тестов
• При сборке пакета
– Self-tests, возможность установки, Rpmlint, …
• Ежедневно
– Сборка ISO-образа и тестирование установки
– ROSA Test Suite, LTP, LSB (частично), избранные приложения
• Еженедельно
– LSB, тесты service- и desktop-файлов
25
27. Характеристики тестовХарактеристики тестов
Тестовый набор Число тестируемых пакетов Качество
Self-tests ~750 Normal
LSB ~50 From Shallow to Deep
LTP ~10 From Normal to Deep
Rosa Test Suite ~100 From Shallow to Normal
Desktop files ~500 Shallow
Service files ~100 Shallow
26
(для ~2.500 официально поддерживаемых пакетов)