Текст доклада: https://0x1.tv/20210617B
Обзор инструментов, технологий тестирования и способов организаций тестов, доступных в настоящий момент как в самом ядре «Linux», так и в сторонних открытых проектах. Ядро представляет собой большой и неоднородный проект, состоящий как из аппаратно-независимого кода, так и частей, работоспособность которых зависит от наличия соотвествующей аппаратуры или специфичных программ пользовательсткого пространства. Для тестирования разных частей ядра применяются разных методы и подходы. Обзор включает в себя рассмотрение таких инструментов/технологий как «kselftest», «KUnit», «KTF», «ktest» и наиболее распространённых тестовых пакетов «LTP», «LKP», «xfstests» и др.
Formal verification of operating system kernelsDenis Efremov
The speaker will share his experience of participating in projects on formal verification and analysis of access control modules for Astra Linux SE and Elbrus kernels, as well as verification of the Contiki code (OS for IoT) within the European VESSEDIA program. The speaker will disclose details about the development of formal access control models (Rodin/Event-B) and code specifications (Frama-C/ACSL), the use of static and dynamic analyzers, and the inclusion of formal analysis in the continuous integration cycle (continuous verification). Other types of work that help meet the certification requirements will also be considered.
https://standoff365.com/phdays10/schedule/development/formal-verification-of-operating-system-kernels
Продвинутое использование Celery — Александр КошелевYandex
Доклад будет интересен как тем, кто уже знаком с библиотекой для реализации очередей задач Celery, так и тем, кто только собирается её попробовать. Основные темы выступления:
- как устроена Celery;
- как перейти на альтернативные брокеры;
- как обеспечить эффективный доступ к ресурсам;
- как отслеживать работоспособность процессов Celery
Текст доклада: https://0x1.tv/20210617B
Обзор инструментов, технологий тестирования и способов организаций тестов, доступных в настоящий момент как в самом ядре «Linux», так и в сторонних открытых проектах. Ядро представляет собой большой и неоднородный проект, состоящий как из аппаратно-независимого кода, так и частей, работоспособность которых зависит от наличия соотвествующей аппаратуры или специфичных программ пользовательсткого пространства. Для тестирования разных частей ядра применяются разных методы и подходы. Обзор включает в себя рассмотрение таких инструментов/технологий как «kselftest», «KUnit», «KTF», «ktest» и наиболее распространённых тестовых пакетов «LTP», «LKP», «xfstests» и др.
Formal verification of operating system kernelsDenis Efremov
The speaker will share his experience of participating in projects on formal verification and analysis of access control modules for Astra Linux SE and Elbrus kernels, as well as verification of the Contiki code (OS for IoT) within the European VESSEDIA program. The speaker will disclose details about the development of formal access control models (Rodin/Event-B) and code specifications (Frama-C/ACSL), the use of static and dynamic analyzers, and the inclusion of formal analysis in the continuous integration cycle (continuous verification). Other types of work that help meet the certification requirements will also be considered.
https://standoff365.com/phdays10/schedule/development/formal-verification-of-operating-system-kernels
Продвинутое использование Celery — Александр КошелевYandex
Доклад будет интересен как тем, кто уже знаком с библиотекой для реализации очередей задач Celery, так и тем, кто только собирается её попробовать. Основные темы выступления:
- как устроена Celery;
- как перейти на альтернативные брокеры;
- как обеспечить эффективный доступ к ресурсам;
- как отслеживать работоспособность процессов Celery
Доклад на конференции Selenium Camp 2012.
http://seleniumcamp.com/program/#parallel-testing
Видео: http://video.yandex.ru/users/xpinjection/view/105/#hq
Оптимизация UI потока / Дмитрий Куркин (Mail.Ru)Ontico
- WatchDog. Что это такое? Схема реализации с таймером и схема реализации на RunLoop'e.
- Как собирать результат работы WatchDog. Примеры того, что можно таким образом найти, и что мы нашли на проекте ICQ.
- Как работать с полученными результатами. Анализ стеков потоков. Профилирование с учетом расходов на синхронизацию.
- Проблемы при работе с WatchDog. Системные механизмы и популярные библиотеки, вызывающие проблемы. Методы обхода этих проблем. Итоговые параметры, применяемые на проекте ICQ.
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Andrey Rebrov
Как-то так происходит, что “на 10 девчонок по статистике 9 ребят”, а точнее на группу из 5-7 разработчиков – 1 тестировщик. Или его нет совсем. Так что очень часто приходится и код писать, и тестировать, а дата релиза все ближе и ближе.
В тех случаях, когда мы пишем веб-приложение, помочь в нашей нелегкой судьбе может бодрящий микс из Selenium и TestNG... Как это сделали мы, какие потом получили выводы и результаты — все это я и хочу рассказать и показать
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Ontico
Это реальный рассказ об архитектуре Единой Фронтальной Системы (ЕФС) - системы, которая будет обслуживать абсолютно всех клиентов Сбербанка во всех каналах (отделения, интернет-банки, мобильные приложения, АТМ и т.д.). Это означает: десятки миллионов активных клиентов, 24х7, и еще пара NFR'ов, от которых порой вздрагиваешь по ночам :)
С одной стороны мы должны гарантировать 99.99% доступность, с другой стороны мы должны сокращать time-to-market для новых продуктов и быть готовыми обновлять ЕФС очень часто и по кусочкам – и это малая часть вызовов, с которыми нам приходиться сталкиваться.
В моем докладе я расскажу:
· Как мы гарантируем 99.99% доступности для всего ЕФС, включая хранилище (и особенно включая хранилище).
· Как мы масштабируемся на миллионы пользователей, оставаясь внешнее единой системой.
· Как мы реализуем zero downtime deployment, чтобы оставаться в 99.99% в условиях частых обновлений.
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...Ontico
Докладчик разберёт кейс быстрой разработки небольшого прототипа серверной части мобильной игры с геолокацией на стеке nginx, OpenResty (Lua), Redis и Docker. Вы услышите о том, почему был выбран такой стек, о его преимуществах (и некоторых недостатках), о том, как прототип устроен внутри, о том, как именно особенности стека были использованы для того, чтобы реализовать задуманное. Не будет обойден стороной вопрос о том, как максимально быстро собрать прототип и быстро итерироваться по нему, но при этом удержаться в золотой середине между Сциллой макаронной копипасты и Харибдой кристаллического перфекционизма. Немного времени будет уделено и рассказу о том, как можно превратить такой прототип в продакшен-систему.
There is a problem of finding the best instance of a service in distributed systems with dynamic configuration. Nowadays, there are many products for the configuration storage and service discovery. It should be mentioned at least Netflix Eureka, Consul, etc or good old Zookeeper. These products can keep and give configuration, manage service instances lifecycle and some of them even can be as dynamic DNS service. But main question is not about what instance may be called at the certain time. It is about what instance is better for call? This means that smart load balancing top on service discovery is required. Spring Cloud project allows to integrate these products to your project and provides powerful solutions for typical problems, that make cloud native services developing easier. This talk will review the internal structure of SpringCloud implementation of Client-Side Service Discovery and Client Load Balancing patterns. It also will include specific details of concrete implementations with examples from official libraries and the author’s own library.
DC/OS – больше чем PAAS, Никита Борзых (Express 42)Ontico
Доклад про ближайшее будущее в эксплуатации распределённых систем.
Компания Mesosphere весной 2016 сделала свою платформу DC/OS (data center operation system) бесплатной и открытой. Платформа DC/OS унифицирует и упрощает процесс поставки и эксплуатации систем.
Основными особенностями платформы являются:
– переход от host centric к resource centric подходу для всех компонентов вашего проекта за счёт представления серверов как ресурсов для приложения (с помощью mesos и marathon);
– наличие инструментов автоматического восстановления вашего проекта после аварии;
– marketplace для приложений. Например, можно развернуть MySQL, Elasticsearch, Kafka или mongodb кластер, используя готовые скрипты развертывания. Процесс развертывания кастомизируется, в случае необходимости можно описать кастомные приложения и поправить скрипты существующих;
– наличие API для интеграции в ваши системы CI/CD, мониторинга, и т.д.
Основные компоненты DC/OS:
– Apache Mesos — абстракция над датацентром, которая представляет сервера (физические и виртуальные) как ресурсы и распределяет эти ресурсы на основании данных о потребностях приложения;
– Marathon — система распределённого запуска приложений (в т.ч. docker контейнеров), основной фишкой является возможность декларативного описания вашей системы. Вы можете описать, сколько ресурсов нужно вашему приложению, зависимости между приложениями, и в каком порядке производить деплой.
Доклад разбит на три части:
– Интро про DC/OS, сравнение с kubernetes и coreos стеком;
– Рассказ про компоненты mesos и marathon, как их можно использовать с докером (и без!) уже сейчас;
– Опыт Express 42. Мы построили CI/CD платформу для приложений, с использованием Mesos, Marathon, Docker и Jenkins 2.0.
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)Ontico
РИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 6 июня, 18:00
Тезисы:
http://rootconf.ru/2017/abstracts/2679.html
Об SDN/OpenFlow говорят давно и много: разделение уровней управления и передачи данных, сетевая логика выносится в отдельный централизованный узел, называемый контроллером сети. На выходе получаем удешевление оборудования, автоматизацию и упрощение управления сетями. Уже сейчас эти технологии применяются и в ЦОД, и у операторов связи, и в больших корпоративных сетях. Но возникает справедливый вопрос: "Мы, конечно, рады за Google, AT&T и Microsoft, но что они дают нам, простым пользователям? Где мы можем их применить в наших задачах и можем ли мы вообще?". Короткий ответ: "Да, можем!".
...
How to build solid CI-CD pipeline / Илья Беда (beda.software)Ontico
РИТ++ 2017, Root Conf
Зал Конгресс-холл, 6 июня, 15:00
Тезисы:
http://rootconf.ru/2017/abstracts/2551.html
На основе своего опыта работы в консалтинге я расскажу, как избавить разработчиков от рутинных задач и как сэкономить на ресурсах команды с помощью правильно настроенного CI-CD pipeline.
Единствено верный способ упаковки приложений - это Docker-контейнеры, благодаря этому способу вы сможете унифицировать процесс деплоя. Нужно деплоить приложения с помощью Ansible-плейбука, запакованного в Docker-контейнер, это снижает требования к окружению CI-ранера. Вам нужен только Docker.
...
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Ontico
РИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 5 июня, 14:00
Тезисы:
http://rootconf.ru/2017/abstracts/2708.html
Сообщество любого открытого проекта созидательно по сути, не использовать эту силу будет большой ошибкой. Но всегда ли нужно слепо следовать за мнением большинства?
В своём докладе я расскажу о новой функциональности, ожидаемой в версии Zabbix 3.4, какие запросы наших пользователей мы решили реализовать, и какую роль в формировании роадмапа играет сообщество. Затрону тему общих принципов формирования роадмапа, и почему мы не готовы работать над всеми хотелками сообщества. Некоторые из них приходится ждать годами, а некоторые мы реализуем буквально за день.
Я расскажу о том, как мы работаем с сообществом, мониторим и реализуем запросы. Всегда ли мы это делаем эффективно или что-то можно улучшить?
Приходите! Доклад будет интересен не только тем, кто интересуется Zabbix и мониторингом в целом, но, надеюсь, что и разработчикам открытых программных продуктов.
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов НиколайOntico
Набирает обороты мода на парадигму noBackend (см., например, http://nobackend.org/). Название не стоит понимать буквально: backend никуда не делся, просто фокус разработки — особенно на начальном этапе развития нового проекта — сильно смещается в сторону «клиентской части». Это очень понятно и закономерно в эпоху Mobile First и React Ecosystem с её новомодными GraphQL и React Native.
Появляется большой соблазн взять что-то понятное для хранения данных и уже «обвязанное» REST API, максимально отказаться от PHP/Python/Ruby/Java/etc, писать 80% кода «на стороне клиента», минимально заботясь о возне «на стороне сервера». У некоторых возникает и настоящая эйфория — чувство приятное, но очень опасное (прежде всего, если в команде нет сильного backend-опыта).
Этот доклад — компиляция опыта ряда проектов, написанных на React, React Native и Swift и переходящих на парадигму (или же сразу стартанувших с неё) noBackend за счёт PostgreSQL+PostgREST.
Мы обсудим важные вопросы, которые обязан задавать себе каждый, выбравший noBackend-подход (и не обязательно на связке Postgres+PostgREST): безопасность (аутентификация/авторизация; ограничение чтения и — особенно! — модификации «чужих» данных), производительность (нетривиальные запросы а-ля «свежий контент от тех, на кого я подписан»; компромисс между сетевой сложностью и CPU; защита от «домашнего» ddos — ситуации, когда свои же, родные «фронтендеры» кладут «бэкэнд»), масштабируемость и асинхронная обработка задач.
Задача-минимум (для всех): у каждого слушателя остаётся список must-check-вопросов для работы с noBackend-подходом.
Задача-максимум (для тех, кто с Postgres-опытом): разворачивание безопасного, высокопроизводительного и годного для быстрого развития REST API — сегодня же, в день док
Доклад на конференции Selenium Camp 2012.
http://seleniumcamp.com/program/#parallel-testing
Видео: http://video.yandex.ru/users/xpinjection/view/105/#hq
Оптимизация UI потока / Дмитрий Куркин (Mail.Ru)Ontico
- WatchDog. Что это такое? Схема реализации с таймером и схема реализации на RunLoop'e.
- Как собирать результат работы WatchDog. Примеры того, что можно таким образом найти, и что мы нашли на проекте ICQ.
- Как работать с полученными результатами. Анализ стеков потоков. Профилирование с учетом расходов на синхронизацию.
- Проблемы при работе с WatchDog. Системные механизмы и популярные библиотеки, вызывающие проблемы. Методы обхода этих проблем. Итоговые параметры, применяемые на проекте ICQ.
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Andrey Rebrov
Как-то так происходит, что “на 10 девчонок по статистике 9 ребят”, а точнее на группу из 5-7 разработчиков – 1 тестировщик. Или его нет совсем. Так что очень часто приходится и код писать, и тестировать, а дата релиза все ближе и ближе.
В тех случаях, когда мы пишем веб-приложение, помочь в нашей нелегкой судьбе может бодрящий микс из Selenium и TestNG... Как это сделали мы, какие потом получили выводы и результаты — все это я и хочу рассказать и показать
Высокопроизводительная и отказоустойчивая архитектура фронтальных систем / Ма...Ontico
Это реальный рассказ об архитектуре Единой Фронтальной Системы (ЕФС) - системы, которая будет обслуживать абсолютно всех клиентов Сбербанка во всех каналах (отделения, интернет-банки, мобильные приложения, АТМ и т.д.). Это означает: десятки миллионов активных клиентов, 24х7, и еще пара NFR'ов, от которых порой вздрагиваешь по ночам :)
С одной стороны мы должны гарантировать 99.99% доступность, с другой стороны мы должны сокращать time-to-market для новых продуктов и быть готовыми обновлять ЕФС очень часто и по кусочкам – и это малая часть вызовов, с которыми нам приходиться сталкиваться.
В моем докладе я расскажу:
· Как мы гарантируем 99.99% доступности для всего ЕФС, включая хранилище (и особенно включая хранилище).
· Как мы масштабируемся на миллионы пользователей, оставаясь внешнее единой системой.
· Как мы реализуем zero downtime deployment, чтобы оставаться в 99.99% в условиях частых обновлений.
Быстрое прототипирование бэкенда игры с геолокацией на OpenResty, Redis и Doc...Ontico
Докладчик разберёт кейс быстрой разработки небольшого прототипа серверной части мобильной игры с геолокацией на стеке nginx, OpenResty (Lua), Redis и Docker. Вы услышите о том, почему был выбран такой стек, о его преимуществах (и некоторых недостатках), о том, как прототип устроен внутри, о том, как именно особенности стека были использованы для того, чтобы реализовать задуманное. Не будет обойден стороной вопрос о том, как максимально быстро собрать прототип и быстро итерироваться по нему, но при этом удержаться в золотой середине между Сциллой макаронной копипасты и Харибдой кристаллического перфекционизма. Немного времени будет уделено и рассказу о том, как можно превратить такой прототип в продакшен-систему.
There is a problem of finding the best instance of a service in distributed systems with dynamic configuration. Nowadays, there are many products for the configuration storage and service discovery. It should be mentioned at least Netflix Eureka, Consul, etc or good old Zookeeper. These products can keep and give configuration, manage service instances lifecycle and some of them even can be as dynamic DNS service. But main question is not about what instance may be called at the certain time. It is about what instance is better for call? This means that smart load balancing top on service discovery is required. Spring Cloud project allows to integrate these products to your project and provides powerful solutions for typical problems, that make cloud native services developing easier. This talk will review the internal structure of SpringCloud implementation of Client-Side Service Discovery and Client Load Balancing patterns. It also will include specific details of concrete implementations with examples from official libraries and the author’s own library.
DC/OS – больше чем PAAS, Никита Борзых (Express 42)Ontico
Доклад про ближайшее будущее в эксплуатации распределённых систем.
Компания Mesosphere весной 2016 сделала свою платформу DC/OS (data center operation system) бесплатной и открытой. Платформа DC/OS унифицирует и упрощает процесс поставки и эксплуатации систем.
Основными особенностями платформы являются:
– переход от host centric к resource centric подходу для всех компонентов вашего проекта за счёт представления серверов как ресурсов для приложения (с помощью mesos и marathon);
– наличие инструментов автоматического восстановления вашего проекта после аварии;
– marketplace для приложений. Например, можно развернуть MySQL, Elasticsearch, Kafka или mongodb кластер, используя готовые скрипты развертывания. Процесс развертывания кастомизируется, в случае необходимости можно описать кастомные приложения и поправить скрипты существующих;
– наличие API для интеграции в ваши системы CI/CD, мониторинга, и т.д.
Основные компоненты DC/OS:
– Apache Mesos — абстракция над датацентром, которая представляет сервера (физические и виртуальные) как ресурсы и распределяет эти ресурсы на основании данных о потребностях приложения;
– Marathon — система распределённого запуска приложений (в т.ч. docker контейнеров), основной фишкой является возможность декларативного описания вашей системы. Вы можете описать, сколько ресурсов нужно вашему приложению, зависимости между приложениями, и в каком порядке производить деплой.
Доклад разбит на три части:
– Интро про DC/OS, сравнение с kubernetes и coreos стеком;
– Рассказ про компоненты mesos и marathon, как их можно использовать с докером (и без!) уже сейчас;
– Опыт Express 42. Мы построили CI/CD платформу для приложений, с использованием Mesos, Marathon, Docker и Jenkins 2.0.
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)Ontico
РИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 6 июня, 18:00
Тезисы:
http://rootconf.ru/2017/abstracts/2679.html
Об SDN/OpenFlow говорят давно и много: разделение уровней управления и передачи данных, сетевая логика выносится в отдельный централизованный узел, называемый контроллером сети. На выходе получаем удешевление оборудования, автоматизацию и упрощение управления сетями. Уже сейчас эти технологии применяются и в ЦОД, и у операторов связи, и в больших корпоративных сетях. Но возникает справедливый вопрос: "Мы, конечно, рады за Google, AT&T и Microsoft, но что они дают нам, простым пользователям? Где мы можем их применить в наших задачах и можем ли мы вообще?". Короткий ответ: "Да, можем!".
...
How to build solid CI-CD pipeline / Илья Беда (beda.software)Ontico
РИТ++ 2017, Root Conf
Зал Конгресс-холл, 6 июня, 15:00
Тезисы:
http://rootconf.ru/2017/abstracts/2551.html
На основе своего опыта работы в консалтинге я расскажу, как избавить разработчиков от рутинных задач и как сэкономить на ресурсах команды с помощью правильно настроенного CI-CD pipeline.
Единствено верный способ упаковки приложений - это Docker-контейнеры, благодаря этому способу вы сможете унифицировать процесс деплоя. Нужно деплоить приложения с помощью Ansible-плейбука, запакованного в Docker-контейнер, это снижает требования к окружению CI-ранера. Вам нужен только Docker.
...
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Ontico
РИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 5 июня, 14:00
Тезисы:
http://rootconf.ru/2017/abstracts/2708.html
Сообщество любого открытого проекта созидательно по сути, не использовать эту силу будет большой ошибкой. Но всегда ли нужно слепо следовать за мнением большинства?
В своём докладе я расскажу о новой функциональности, ожидаемой в версии Zabbix 3.4, какие запросы наших пользователей мы решили реализовать, и какую роль в формировании роадмапа играет сообщество. Затрону тему общих принципов формирования роадмапа, и почему мы не готовы работать над всеми хотелками сообщества. Некоторые из них приходится ждать годами, а некоторые мы реализуем буквально за день.
Я расскажу о том, как мы работаем с сообществом, мониторим и реализуем запросы. Всегда ли мы это делаем эффективно или что-то можно улучшить?
Приходите! Доклад будет интересен не только тем, кто интересуется Zabbix и мониторингом в целом, но, надеюсь, что и разработчикам открытых программных продуктов.
noBackend, или Как выжить в эпоху толстеющих клиентов / Самохвалов НиколайOntico
Набирает обороты мода на парадигму noBackend (см., например, http://nobackend.org/). Название не стоит понимать буквально: backend никуда не делся, просто фокус разработки — особенно на начальном этапе развития нового проекта — сильно смещается в сторону «клиентской части». Это очень понятно и закономерно в эпоху Mobile First и React Ecosystem с её новомодными GraphQL и React Native.
Появляется большой соблазн взять что-то понятное для хранения данных и уже «обвязанное» REST API, максимально отказаться от PHP/Python/Ruby/Java/etc, писать 80% кода «на стороне клиента», минимально заботясь о возне «на стороне сервера». У некоторых возникает и настоящая эйфория — чувство приятное, но очень опасное (прежде всего, если в команде нет сильного backend-опыта).
Этот доклад — компиляция опыта ряда проектов, написанных на React, React Native и Swift и переходящих на парадигму (или же сразу стартанувших с неё) noBackend за счёт PostgreSQL+PostgREST.
Мы обсудим важные вопросы, которые обязан задавать себе каждый, выбравший noBackend-подход (и не обязательно на связке Postgres+PostgREST): безопасность (аутентификация/авторизация; ограничение чтения и — особенно! — модификации «чужих» данных), производительность (нетривиальные запросы а-ля «свежий контент от тех, на кого я подписан»; компромисс между сетевой сложностью и CPU; защита от «домашнего» ddos — ситуации, когда свои же, родные «фронтендеры» кладут «бэкэнд»), масштабируемость и асинхронная обработка задач.
Задача-минимум (для всех): у каждого слушателя остаётся список must-check-вопросов для работы с noBackend-подходом.
Задача-максимум (для тех, кто с Postgres-опытом): разворачивание безопасного, высокопроизводительного и годного для быстрого развития REST API — сегодня же, в день док
Selenium with py test by Alexandr Vasyliev for Lohika Odessa Python TechTalksLohika_Odessa_TechTalks
This document discusses using Selenium and py.test for testing web applications. It provides an overview of Selenium, describes finding and interacting with elements, using actions and assertions in tests. It also covers setting up fixtures in py.test for managing test resources, parameterizing tests, running tests in parallel using pytest-xdist, and integrating tests with continuous integration tools like Travis CI, SauceLabs and Jenkins.
Написание юнит-тестов большинству представляется занятием скучным и до некоторой степени бесполезным. Мое мнение — это всё оттого, что сама "классическая" схема юнит-тестов подразумевает непродуктивное написание унылого линейного кода.
В докладе я расскажу о том, как с помощью pytest начать писать тесты, которые приятно читать и поддерживать, почему setUp и tearDown — это прошлый век, как с помощью правильной организации fixtures ускорить исполнение тестов, а также какие ещё уловки могут помочь вам в вашей нелегкой борьбе с рутиной.
Александр Коротин. Безопасность систем управления турбинами в электроэнергетикеKaspersky
Александр Коротин, Специалист по анализу защищенности в «Лаборатории Касперского», в своем докладе рассказывает об особенностях безопасности систем управления турбинами в электроэнергетике.
Подробнее о конференции: https://kas.pr/kicsconf2021
Привет, Санкт-Петербург!
В разгар летнего сезона, мы поговорим об историях обновлений,
например, с 6.4 до 7.х, с разными трюками, а также об истории исследования разных регрессий на продуктах Atlassian и других плагинов.
Наша программа будет пополняться, и мы рады к сотрудничеству.
Ждем Вас на встрече в Яндекс Деньгах.
Семинар по Node.js в КПИ 20 октября 2014. Докладчики: Тимур Шемсединов, Никита Савченко, Максим Петренко. Краткое содержание:
* Что такое Node.js и как работает JavaScript в V8
* Профессионалы расскажут, почему они выбрали Node.js
* Вы узнаете его сильные и слабые стороны и где его лучше применять
* Будет полный обзор особеностей и внутреннего строения Node.js
* Примеры внедрения и Highload-проекты
* Вопросы развертывания, хостинг, тестирования, и отладки
* Где и что учить, что читать, как осваивать
Доклад от Parallels:
Методики тестировния производительности database-centric приложений
Описание: При работе над сложными продуктами в database-centric приложениях изменения в коде и тем более в SQL запросах к базе данных могут приводить к неожиданным падениям производительности или же деградации производительности приложения с ростом размера базы данных. Поэтому важно уметь как можно быстрее отлавливать и исправлять причины таких деградаций.
Доклад о том, как устроен процесс мониторинга производительности продукта автоматизации хостинга и облачных сервисов Parallels Automation, для которого определяющим фактором является производительность базы данных.
Компания покажет, как анализирует планы исполнения SQL запросов внутри PostgreSQL, как проверяет насколько быстро и эффективно в целом работают SQL запросы, как определяет стратегию дальнейшей оптимизации.
Многие из нас слышали, что при создании тестовых систем необходимо понимать из каких слоев они должны состоять. Но начинающим специалистам очень сложно четко понять за чем эти слои нужны и какие функции они выполняют. В своем докладе я хотел бы внести ясность по данному вопросу и ответить на все все вопросы.
This document discusses continuous performance testing (CPT) and introduces the Jagger CPT solution. It provides an overview of why performance testing is important, outlines the principles and goals of CPT, and describes the key parts of the Jagger CPT platform including load generation, metrics collection, test data management, and environment management. It also provides an example customer success story where Jagger was used for continuous performance testing of a large ecommerce site.
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
This document provides an overview of the JDI (Java UI test automation framework). It discusses features of JDI including being UI element oriented, providing common UI elements and solutions to common problems. It provides examples of how to write tests using JDI annotations and page object pattern. The document also summarizes benefits of JDI such as reducing test code, improving test clarity, reuse across projects. Finally it outlines new features planned for JDI 2.0 including layout verification, page object generator, integration with Selenium and expanding JDI to other languages like Python.
The document discusses testing of geolocation systems. It provides an overview of geolocation, including definitions and importance. It then outlines the speaker's experience and work testing GIS systems. The rest of the document details approaches to testing geolocation, including simulating calls, checking responses and databases, and verifying accuracy. It also discusses common data formats, projections, tools like PostGIS and QGIS, and potential bugs to watch for like coordinate jumbling. The conclusion emphasizes starting simple, practicing to improve, and for tests to grow with knowledge as geolocation is important for future IT.
3. Содержание доклада
1. Постановка задачи
2. Jenkins - сервер автоматизации процесса тестирования
3. Sikuli – автоматизация с помощью изображений
4. Robot Framework – инструмент для автоматизации
тестирования ПО
5. Staf – мультиплатформенное решения для соединения
с удаленными машинами
6. Демонстрaция примера
7. Вопросы
3
4. Постановка задачи
AVAST антивирус
Сборка инсталлятора
(setup.exe)
Сценарии тестов
и вспомогательные файлы
Результаты
Автоматизация
• передача файлов
• выполнения тестов
• оценка результатов
4
6. Jenkins – сервер автоматизации
Особенности
• open source
• простая инсталляция и конфигурация
• мультиплатформенность (Java)
• планирование периодичности выполнения задач
используя механизм подобный cron
• поддерживает работу с системами контроля версий
(CVS, Subversion, Mercurial, Git, Clearcase)
• визуализация результатов теста
• исполняет shell-скрипты и команды Windows
6
8. Особенности
• open source
• мультиплатформенность (Windows, Mac OS X
и Linux)
• собственная IDE
• написание скриптов в Jython (Python)
• широкие возможности API (запуск аппликаций
и контроль над ними, действия
мыши, клавиш, исключения)
• окружение – Java 6 + Jython 2.5
8
SIKULI (www.sikuli.org)
9. SIKULI
• + Независимость на платформе (Java)
• + Независимость от тестируемой технологии
• + Высокая надежность
• + Простота создания сценариев
• – Зависимость от разрешения экрана
• – Высокая чувствительность к измненениям GUI
• – Низкая способность распознавания текста
9
10. Robot Framework
(code.google.com/p/robotframework/)
Особенности
Поддерживаемые библиотеки
• внутренняя (OperatingSystem, Screenshot, Telnet,
Collections, String, Dialogs, Remote, XML)
• вннешние (SeleniumLibrary, watir-robot, Watir,
WatinLibrary, SwingLibrary, EclipseLibrary, AutoItLibrary,
DatabaseLibrary, SSHLibrary, HTTP test library)
• open source
• мультиплатформенность
• поддержка библиотек в Python (Jython,
IronPython) и Java
• standalone JAR дистрибуция с Jython
• поддержка языка C (Python C API)
10
11. STAF (staf.sourceforge.net)
Особенности
• open source
• мультиплатформенность
• peer-to-peer среда
• поддержка политики безопасности
• внутренне сервисы-команды
(пересылка файлов, управлние
процессами ...)
• поддержка внешних сервисов (Java
jar, C ++ dll)
• возможность управления как
локальной машиной так и удаленной
• конфигурационный файл STAF.cfg
11
STAF клиент STAF клиент
peer-to-peer
12. STAF – сервисы
12
• Внутренние сервисы
Вызываемые из процесса STAFProc
• Внешние сервисы
Подлючаемые из Java jar или C++ dll файлов
• Пользовательские сервисы
13. STAF – внутренние сервисы
13
• DIAG Provides diagnostics services Internal ("DIAG")
• DELAY Provides a means to sleep a specified amount of time Internal ("DELAY")
• ECHO Echos back a supplied message Internal ("ECHO")
• FILE SYSTEM Allows you to get and copy files across the network Internal ("FS")
• HANDLE Provides information about existing STAF handles Internal ("HANDLE")
• HELP Provides Help on STAF error codes Internal ("HELP")
• MISC Handles miscellaneous commands such as displaying the version of STAF
• that is currently running Internal ("MISC")
• PING Provides a simple is-alive message Internal ("PING")
• PROCESS Allows you to start, stop, and query processes Internal ("PROCESS")
• QUEUE Provides a network-enabled IPC mechanism for STAF Programs Internal
("QUEUE")
• SEMAPHORE Provides network-enabled named event and mutex semaphores Internal
("SEM")
• SERVICE Allows you to list services available on a machine and to examine the
• Requests that have been submitted on a machineInternal ("SERVICE")
• SHUTDOWN Provides a means to shutdown STAF and register for shutdown
• Notifications Internal ("SHUTDOWN")
• TRACE Provides tracing information for STAF services Internal ("TRACE")
• TRUST Interfaces with STAF's security Internal ("TRUST")
• VARIABLE Provides a method for maintaining configuration and runtime data
• (variables) Internal ("VAR")
14. STAF – внешние сервисы
14
• CRON Calls into STAF services at a specified time interval External (Java)
• EMAIL Allows you to send email messages External (Java)
• EVENT Provides a publish/subscribe notification system External (Java)
• EVENTMANAGER Allows you to call STAF services when a specified Event
occurs External (Java)
• HTTP Allows you to make HTTP requests which can be grouped together in a
session External (Java)
• LOG Provides a full-featured logging facility External (C++)
• MONITOR Allows a testcase to publish its current running execution status for
others to read External (C++)
• RESOURCE POOL Allows you to manage exclusive access to pools of
elements, e.g. VM UserIDs or Software Licenses External (C++)
• STAX Provides an XML-based execution engine External (Java)
• ZIP Provides a means to zip/unzip/list/delete PKZip/WinZip compatible
archives External (C++)
15. STAF – политика безопасности
15
• Политика безопасности в STAF определена уровнем
доверия машин machine level и/или пользователей
user level
• Уровень trust level равный 0 – нет доступа
• Уровень trust level равный 1 – только PING и HELP
• Уровень trust level равный 2 – только query/view
• Уровень trust level равный 3 – доступ к протоколам ...
• Уровень trust level равный 4 – копирование файлов ... удаление логов
• Уровень trust level равный 5 – доступ без ограничений
• По умолчанию машинам присваивается default trust
level
• Каждый STAF сервис определен минимальным
необходимым уровнем доверия
25. Основные тезисы доклада
1. Постановка задачи
2. Jenkins – взгляд тестировщика
3. Sikuli – автоматизация с помощью изображений
4. Robot Framework – инструмент для автоматизации
тестирования ПО
5. Staf – мультиплатформенное решения для соединения
с удаленными машинами
6. Демонстрация примера
25