ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с ProductionVladimir Malinin
Если приложение регулярно падает, заказчики нервничают, сроки поджимают и не понятно в чём проблема, не стоит паниковать. Мы расскажем вам, что делать в такой ситуации и покажем, как мы выходили из сложившейся ситуации. В докладе на примере двух реальных проектов рассматриваются проблемы, которые могут возникать с Web приложениями на production environment’ах, пути их решения и инструменты, которые для этого могут быть использованы. Подробно будет рассмотрена настройка и использование JavaMelody. Докладчики: Владимир Малинин и Антон Семаник (Nix Solutions)
Всем привет!
Жарким (ну, для Петербурга) как пора перед дедлайном летним днем хотим поговорить про плагины для тестирования.
У нас будут гости из солнечного Лиссабона, ребята из команды XpandIT, создатели Xporter и XRay. Они расскажут про свою тест менеджмент систему и ответят на ваши вопросы. Готовьте вопросы на английском!
А потом Надя Минчева из T-Systems расскажет про свой опыт выбора плагина для управления тестированием, какие были критерии, на чем остановились и почему.
А после - пицца и время для новых знакомств!
ThinkJavaKharkiv#1 Шеф, все пропало. Проблемы с ProductionVladimir Malinin
Если приложение регулярно падает, заказчики нервничают, сроки поджимают и не понятно в чём проблема, не стоит паниковать. Мы расскажем вам, что делать в такой ситуации и покажем, как мы выходили из сложившейся ситуации. В докладе на примере двух реальных проектов рассматриваются проблемы, которые могут возникать с Web приложениями на production environment’ах, пути их решения и инструменты, которые для этого могут быть использованы. Подробно будет рассмотрена настройка и использование JavaMelody. Докладчики: Владимир Малинин и Антон Семаник (Nix Solutions)
Всем привет!
Жарким (ну, для Петербурга) как пора перед дедлайном летним днем хотим поговорить про плагины для тестирования.
У нас будут гости из солнечного Лиссабона, ребята из команды XpandIT, создатели Xporter и XRay. Они расскажут про свою тест менеджмент систему и ответят на ваши вопросы. Готовьте вопросы на английском!
А потом Надя Минчева из T-Systems расскажет про свой опыт выбора плагина для управления тестированием, какие были критерии, на чем остановились и почему.
А после - пицца и время для новых знакомств!
Сергей Чистович "Подходы к кешированию на UGC-сервисе"Yandex
Сергей Чистович "Подходы к кешированию на UGC-сервисе"
Я.Субботник в Санкт-Петербурге
О докладе:
Данные на UGC-сервисах очень быстро меняются, и у каждого пользователя они свои. Выборка этих данных – дорогостоящая операция, поскольку может определяться множеством параметров и сложными условиями. Что и как мы можем кешировать в этой непростой ситуации?
Распространенные ошибки применения баз данныхSergey Xek
Распространенные ошибки применения баз данных. Сергей Аверин, Badoo.
Выбор хранилища данных — сложная задача, с которой часто сталкиваются раз- работчики. Чаще всего результат этого выбора — это компромисс. Я расскажу о собственном опыте, набитых «шишках», рассмотрю важные, на мой взгляд, связанные с этой задачей проблемы.
• Зачастую в стартапе изначально проектируется архитектура вокруг БД, рассчитанная на огромные нагрузки, на большое масштабирование, ко- торые потом в реальной жизни никогда не понадобится.
• Или проектируется архитектура, которая якобы дает отказоустойчи- вость, но при этом проблемы нижних уровней абстракции во внимание не принимаются.
• При выборе основной БД для проекта выбирается БД, которая не дает большого запаса фич в будущем, появляется дороговизна и сложность изменения.
• Используйте инструменты, которые вы хорошо изучили. «Психологиче- ская» популярность NoSQL. Достоинства и недостатки SQL и NoSQL БД.
• Проблемы использования БД как хранилища/движка обработки собы- тий зачастую не оправдано. Альтернативы.
• Использование БД для поиска, плюсы и минусы.
• Eventual consistency рулит, и как из этого можно извлечь пользу.
Целевая аудитория:
Доклад будет интересен веб-разработчикам, особенно из стартапов и неболь- ших команд, техническим руководителям.
Не все базы данных одинаково полезны. Сергей Аверин, Badoo.
Выбор хранилища данных — сложная задача, с которой часто сталкиваются раз- работчики. Чаще всего результат этого выбора — это компромисс. Я расскажу о собственном опыте, набитых «шишках», рассмотрю важные, на мой взгляд, связанные с этой задачей проблемы.
• Зачастую в стартапе изначально проектируется архитектура вокруг БД, рассчитанная на огромные нагрузки, на большое масштабирование, ко- торые потом в реальной жизни никогда не понадобится.
• Или проектируется архитектура, которая якобы дает отказоустойчи- вость, но при этом проблемы нижних уровней абстракции во внимание не принимаются.
• При выборе основной БД для проекта выбирается БД, которая не дает большого запаса фич в будущем, появляется дороговизна и сложность изменения.
• Используйте инструменты, которые вы хорошо изучили. «Психологиче- ская» популярность NoSQL. Достоинства и недостатки SQL и NoSQL БД.
• Проблемы использования БД как хранилища/движка обработки собы- тий зачастую не оправдано. Альтернативы.
• Использование БД для поиска, плюсы и минусы.
• Eventual consistency рулит, и как из этого можно извлечь пользу.
Целевая аудитория:
Доклад будет интересен веб-разработчикам, особенно из стартапов и неболь- ших команд, техническим руководителям.
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)SPB SQA Group
Доклад посвящен вопросам создания и использования собственной системы управления процессами сборки и тестирования ПО. Описываются ключевые моменты построения таких систем, в частности: вопросы интерфейсов, быстродействия, качества и интеграции в общую инфраструктуру. Затрагиваются концепции встраивания качества в код, сбора и использования метрик ПО, неотделимости сборки от тестирования, автоматизированного ведения базы знаний об ошибках и другие.
Не все базы данных одинаково полезны. Сергей Аверин, Badoo.
Выбор хранилища данных — сложная задача, с которой часто сталкиваются разработчики. Чаще всего результат этого выбора — это компромисс. Я расскажу о собственном опыте, набитых «шишках», рассмотрю важные, на мой взгляд, связанные с этой задачей проблемы.
О компании:
Badoo — не только самая большая, но и одна из самых инновационных и высокотехнологичных компаний в сфере социальных сетей, входящий в топ-100 крупнейших мировых проектов. Она насчитывает 139 миллионов пользователей, и еще более чем 100,000 новых пользователей присоединяются к ней каждый день.
Badoo — это глобальная социальная онлайн-система, которая дает возможность знакомиться с новыми людьми, живущими пососедству и по всему миру. Мы предлагаем многочисленные технические возможности социальных сетей, делая акцент на играх и сервисах, позволяющих расширить социальный круг. Мы продолжаем расширять географию своего пребывания и использовать самые последние технологии в сетевом общении, позволяющие нашим пользователям знакомиться друг с другом и изменять реальность вокруг себя.
Видеоприглашение на конференцию:
http://www.youtube.com/watch?v=2mRGcz0UODY
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Ontico
HighLoad++ 2017
Зал «Найроби + Касабланка», 8 ноября, 16:00
Тезисы:
http://www.highload.ru/2017/abstracts/2996.html
Наш проект – это облачный CI-сервис, на котором пользователи запускают тесты разрабатываемых проектов.
В этом году система автозакупки нашего проекта приобрела 37218 машин (Amazon Instances). Это позволило обработать 189488 "задач" (прогонов тестов) наших клиентов.
Тесты – это всегда ресурсоемкие задачи с максимальным потреблением процессорных мощностей и памяти. Мы не можем прогнозировать, сколько параллельных вычислений и в какой момент времени будет. Перед нами стояла задача построения архитектуры системы, которая умеет очень быстро увеличивать, а также быстро уменьшать мощности кластера.
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQAFest
Меня часто спрашивают, за что я не люблю в тестах Page Objects, TestNG, ReportPortal, try/catch, циклы и условия, неявные ожидания, явные ожидания, Dependency injection, Spring и т.д.
Расскажу коротко и быстро. На каждую тему 5 минут.
2. 2
Введение: от слов к делу
http://sqadays.com/en/talk/34880 https://github.com/griddynamics/test-data-pool
3. 3
1.
План
1. Проблема.
2. Традиционные подходы решения.
3. Концепция дата-пулов.
4. Как пользоваться java-библиотекой для автоматизированного
тестирования.
5. Как можно было бы пользоваться для ручного тестирования.
4. 4
Проблемы при автоматизации: данные
Local/Dev
Environment
QA
Environment
SIT
Environment
Pred-Prod
Environment
Production
Environment
Updatable,
Predictable
Partially updatable,
Pretty predictable
Not-updatable,
Unpredictable
5. 5
Проблемы при автоматизации: сервисы
Local/Dev
Environment
QA
Environment
SIT
Environment
Pred-Prod
Environment
Production
Environment
Mockable,
Restricted
Partially mockable,
Partially restricted
Non-mockable,
Fully-deployed
X X
V
V X
V
V V
V
6. 6
Проблемы при ручном тестировании
Такие же:
Данные меняются непредсказуемым образом на “старших” тестовых окружениях.
7. 7
Методы решения проблем
Дуплицирование тестов
Дуплицирование данных
Добавление
синтетических данных
Генерация данных
Фильтрованные потоки
данных
Stubs, Mocks, Fakes
8. 8
Пусть тесты сами найдут себе данные
Test 1
1. Get fresh data
2. Do test
Test 2
1. Get fresh data
2. Do test
Test N
1. Get fresh data
2. Do test
...
9. 9
Пусть тесты сами найдут себе данные
Test 1
1. Get fresh data
2. Do test
Test 2
1. Get fresh data
2. Do test
Test N
1. Get fresh data
2. Do test
...
Sub-suite 1
1. Get fresh data
2. Do test
Sub-suite 2
1. Get fresh data
2. Do test
Sub-suite N
1. Get fresh data
2. Do test
...
10. 10
Задача
Написать один тест, который в зависимости от окружения и настроек будет
подбирать необходимые данные для проведения эксперимента, соответствующие
тому окружению, на котором тест запущен.
11. 11
Решение
Использовать в тестах атрибутированные данные, которые тесты могут выбрать из
заранее подготовленного “пула данных”, заполненного непосредственно перед
тестом на том окружении, в котором он запущен.
12. 12
Концепция дата-пулов
Define Data Types
Write a Datatype
Manager for every Data
Type
Fetch data from different
Data Sources into Data
Pools
Use attributed data in
tests
Reuse Data Pools
among test runs