QA Fest 2017. Анастасия Павленко. А ты готов к интеграционному тестированию?QAFest
Системное интеграционное тестирование является важным этапом тестирования и обязательным для больших проектов, но обычно это плохо изученная и часто плохо управляемая фаза тестирования.
В своем докладе я хочу продемонстировать один из подходов к интеграционному тестированию на практике банковского проекта, рассказать об особенностях и на что стоит обратить внимание при организации и проведении интеграционного тестирования систем.
Основной фокус доклада - раскрыть все «изюминки» интеграционного тестирования и дать общие рекомендации по тому как не наступить на грабли.
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Ontico
РИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 5 июня, 12:00
Тезисы:
http://rootconf.ru/2017/abstracts/2750.html
Web-отдел 2ГИС - это 5 команд разработки и более 20 проектов разного калибра. Это означает множество релизов каждый день и постоянные изменения.
Что мы имели раньше? Команда - bottleneck из нервных админов, работающих часто сверхурочно.
Что сейчас - команда инфраструктурных инженеров, предоставляющая сервисы для команд разработки.
В своем докладе я расскажу, чем первое отличается от второго, как мы к этому пришли, и почему теперь нервов стало меньше.
QA Fest 2017. Святослав Логин. Как провести тестирование на безопасность Web ...QAFest
В своем докладе на практических примерах поведаю вам, как проводить поиск различных видов уязвимостей для улучшения безопасности веб-приложений. Специальными гостями нашей программы будут:
- xss
- sql injection
- man in the middle
- brute force
QA Fest 2017. Алексей Буль.Тестирование геолокационных системQAFest
Хочу рассказать вам историю о том, как мы строили и продолжаем строить тестирование геолокационных сервисов. На самом деле доклад будет не столько про географию, а о том, как сделать тестирование сложного простым.
QA Fest 2017. Анастасия Павленко. А ты готов к интеграционному тестированию?QAFest
Системное интеграционное тестирование является важным этапом тестирования и обязательным для больших проектов, но обычно это плохо изученная и часто плохо управляемая фаза тестирования.
В своем докладе я хочу продемонстировать один из подходов к интеграционному тестированию на практике банковского проекта, рассказать об особенностях и на что стоит обратить внимание при организации и проведении интеграционного тестирования систем.
Основной фокус доклада - раскрыть все «изюминки» интеграционного тестирования и дать общие рекомендации по тому как не наступить на грабли.
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Ontico
РИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 5 июня, 12:00
Тезисы:
http://rootconf.ru/2017/abstracts/2750.html
Web-отдел 2ГИС - это 5 команд разработки и более 20 проектов разного калибра. Это означает множество релизов каждый день и постоянные изменения.
Что мы имели раньше? Команда - bottleneck из нервных админов, работающих часто сверхурочно.
Что сейчас - команда инфраструктурных инженеров, предоставляющая сервисы для команд разработки.
В своем докладе я расскажу, чем первое отличается от второго, как мы к этому пришли, и почему теперь нервов стало меньше.
QA Fest 2017. Святослав Логин. Как провести тестирование на безопасность Web ...QAFest
В своем докладе на практических примерах поведаю вам, как проводить поиск различных видов уязвимостей для улучшения безопасности веб-приложений. Специальными гостями нашей программы будут:
- xss
- sql injection
- man in the middle
- brute force
QA Fest 2017. Алексей Буль.Тестирование геолокационных системQAFest
Хочу рассказать вам историю о том, как мы строили и продолжаем строить тестирование геолокационных сервисов. На самом деле доклад будет не столько про географию, а о том, как сделать тестирование сложного простым.
Когда говорят о машинном обучении, обычно рассматривают его в контексте создания спам-фильтров, рекомендательных систем, распознавания текста, лиц и голоса. В данном докладе машинное обучение будет рассмотрено применительно к фармацевтике, а именно drug discovery. Доклад условно разделён на 3 части. В первой части Андрей на реальном примере рассмотрит реализацию и основные стадии пайплайна, который используется в drug discovery. Во второй части доклада применительно к C++ будут рассмотрены возможности, которые можно использовать для организации параллельных вычислений. В третьей части Андрей расскажет, как можно использовать распределённые вычисления для масштабирования существующего решения, когда нежелательно или невозможно поменять существующую кодовую базу.
Современный мир ускоряется, и от тестирования требуется быстрые и стабильные тесты. В этом мастер-классе предлагается уйти от UI автоматизации и перейти на уровень ниже "пирамиды тестирования", на уровень WEB API. Не обещаю теорию, но будет много практических кейсов. В качестве примера я возьму популярный веб сайт с открытым API и покажу как за относительно небольшое время можно создавать хорошие тесты! Причем тесты мы будем создавать совместно, и особых навыков программирования от участников здесь не потребуется, достаточно включить логику и желание освоить что-то новое.
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...JSC “Arcadia Inc”
Представьте себе ситуацию: к вам приходит заказчик, у него уже есть продукт, и вам надо организовать процесс и создать соответствующую инфраструктуру так, чтобы сделать работу над продуктом максимально удобной и эффективной. Какие шаги были сделаны и почему, какие проблемы встретились и как были решены проектной командой в вышеописанной ситуации, к чему всё это привело на данный момент — об этом и будет рассказано в докладе.
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
HighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 17:00
Тезисы:
http://www.highload.ru/2017/abstracts/2991.html
Нынче стало модно выделять UI-компоненты в отдельную библиотеку и использовать её в нескольких проектах. Мы в команде почты Mail.ru делаем так же, но столкнулись с проблемой: каждый разработчик, меняя библиотеку под свои нужды, обязательно ломает что-нибудь, что работало у других.
Я расскажу о том, как мы решили эту проблему, и о том, какие инструменты для этого можно использовать. Storybook, BackstopJS, Jest, Webdriver.io, TypeScript - в их числе.
Поплоухина Елена, Руководитель отдела тестирования в Usetech
https://vk.com/lena_flower
Расскажу об опыте организации процесса внутреннего тестирования проекта со строго формализованным техническим заданием от момента получения технического задания для тестирования требований до момента передачи релиза на приемочное тестирование.
Багфиксинг процесса разработки в iOS: взгляд с двух сторонBadoo Development
Techleads Meetup #1
"Багфиксинг процесса разработки в iOS: взгляд с двух сторон"
Екатерина Николаенко, iOS QA Lead и
Катерина Трофименко, iOS Developer (Badoo)
Описание:
Приложение Badoo для iOS существует около 7 лет и пережило уже 4 реинкарнации. Наши процессы и подходы не всегда были оптимальны и мы не единственные, кто познали релизы через боль и страдание всех участников процесса разработки.
Чтобы найти идеальный баланс между скоростью и качеством мы решили отрефакторить процессы разработки и тестирования в iOS команде и добились релизов раз в неделю. Из нашего доклада вы узнаете об эволюции команды с точки зрения разработки и тестирования. А так же мы расскажем как мы уменьшили crash-rate в 40 раз.
The main questions this presentation awsers:
How to replace all software development support tools - bug tracker, task trackers, boards, dashboards, source control, build machines with TFS and not broke anything.
How to extend TFS with typescript and have fun doing this
Scrum глазами тестировщика или как создать стратегию для любой задачиIT61
Елена Кузнецова, QA engineer в VIAcode
https://vk.com/nedotroga401
Как я попала в scrum-команду и это изменило мое представление о тестировании и разработке программного обеспечения. Я расскажу как заменить чек-листы стратегиями, что диаграммы связей - это не страшно, почему общаться с клиентом каждый день - здорово, а четкие требования не сделают продукт лучше.
Keyword-driven testing, Геннадий Алпаев
Keyword-driven подход к автоматизации тестирования был описан в литературе более 10ти лет назад, однако в русскоязычных источниках по этой теме информации довольно мало. В докладе Геннадий расскажет о том, в чем заключается подход, когда применяется, его достоинства и недостатки, а также покажет пример практической реализации Keyword-driven подхода для простого тестируемого приложения с помощью TestComplete и SilkTest.
Когда говорят о машинном обучении, обычно рассматривают его в контексте создания спам-фильтров, рекомендательных систем, распознавания текста, лиц и голоса. В данном докладе машинное обучение будет рассмотрено применительно к фармацевтике, а именно drug discovery. Доклад условно разделён на 3 части. В первой части Андрей на реальном примере рассмотрит реализацию и основные стадии пайплайна, который используется в drug discovery. Во второй части доклада применительно к C++ будут рассмотрены возможности, которые можно использовать для организации параллельных вычислений. В третьей части Андрей расскажет, как можно использовать распределённые вычисления для масштабирования существующего решения, когда нежелательно или невозможно поменять существующую кодовую базу.
Современный мир ускоряется, и от тестирования требуется быстрые и стабильные тесты. В этом мастер-классе предлагается уйти от UI автоматизации и перейти на уровень ниже "пирамиды тестирования", на уровень WEB API. Не обещаю теорию, но будет много практических кейсов. В качестве примера я возьму популярный веб сайт с открытым API и покажу как за относительно небольшое время можно создавать хорошие тесты! Причем тесты мы будем создавать совместно, и особых навыков программирования от участников здесь не потребуется, достаточно включить логику и желание освоить что-то новое.
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...JSC “Arcadia Inc”
Представьте себе ситуацию: к вам приходит заказчик, у него уже есть продукт, и вам надо организовать процесс и создать соответствующую инфраструктуру так, чтобы сделать работу над продуктом максимально удобной и эффективной. Какие шаги были сделаны и почему, какие проблемы встретились и как были решены проектной командой в вышеописанной ситуации, к чему всё это привело на данный момент — об этом и будет рассказано в докладе.
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
HighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 17:00
Тезисы:
http://www.highload.ru/2017/abstracts/2991.html
Нынче стало модно выделять UI-компоненты в отдельную библиотеку и использовать её в нескольких проектах. Мы в команде почты Mail.ru делаем так же, но столкнулись с проблемой: каждый разработчик, меняя библиотеку под свои нужды, обязательно ломает что-нибудь, что работало у других.
Я расскажу о том, как мы решили эту проблему, и о том, какие инструменты для этого можно использовать. Storybook, BackstopJS, Jest, Webdriver.io, TypeScript - в их числе.
Поплоухина Елена, Руководитель отдела тестирования в Usetech
https://vk.com/lena_flower
Расскажу об опыте организации процесса внутреннего тестирования проекта со строго формализованным техническим заданием от момента получения технического задания для тестирования требований до момента передачи релиза на приемочное тестирование.
Багфиксинг процесса разработки в iOS: взгляд с двух сторонBadoo Development
Techleads Meetup #1
"Багфиксинг процесса разработки в iOS: взгляд с двух сторон"
Екатерина Николаенко, iOS QA Lead и
Катерина Трофименко, iOS Developer (Badoo)
Описание:
Приложение Badoo для iOS существует около 7 лет и пережило уже 4 реинкарнации. Наши процессы и подходы не всегда были оптимальны и мы не единственные, кто познали релизы через боль и страдание всех участников процесса разработки.
Чтобы найти идеальный баланс между скоростью и качеством мы решили отрефакторить процессы разработки и тестирования в iOS команде и добились релизов раз в неделю. Из нашего доклада вы узнаете об эволюции команды с точки зрения разработки и тестирования. А так же мы расскажем как мы уменьшили crash-rate в 40 раз.
The main questions this presentation awsers:
How to replace all software development support tools - bug tracker, task trackers, boards, dashboards, source control, build machines with TFS and not broke anything.
How to extend TFS with typescript and have fun doing this
Scrum глазами тестировщика или как создать стратегию для любой задачиIT61
Елена Кузнецова, QA engineer в VIAcode
https://vk.com/nedotroga401
Как я попала в scrum-команду и это изменило мое представление о тестировании и разработке программного обеспечения. Я расскажу как заменить чек-листы стратегиями, что диаграммы связей - это не страшно, почему общаться с клиентом каждый день - здорово, а четкие требования не сделают продукт лучше.
Keyword-driven testing, Геннадий Алпаев
Keyword-driven подход к автоматизации тестирования был описан в литературе более 10ти лет назад, однако в русскоязычных источниках по этой теме информации довольно мало. В докладе Геннадий расскажет о том, в чем заключается подход, когда применяется, его достоинства и недостатки, а также покажет пример практической реализации Keyword-driven подхода для простого тестируемого приложения с помощью TestComplete и SilkTest.
Вадим Мадисон "Опыт разработки через микросервисы"Tanya Denisyuk
Мы начали разработку через микросервисы когда это еще не было трендом, было не ясно - это реально работающий подход или просто очередная модная штука. Не было понимания как это делать правильно, где подводные камни и что за одним словом “микросервисы” по факту стоит куча всего, что придется узнать, изучить и понять.
Сейчас у нас большой парк микросервисов, но оперировать ими становится все проще - сказывается опыт.
В ходе доклада я поделюсь основными моментами в разработке микросервисов, расскажу как это делаем мы и что для этого используем.
Приемы Сontinuous Integration при разработке приложений на CachéInterSystems CEE
Об организации автоматизированного рабочего процесса в InterSystems Caché, Лебедюк /
Implementing modern developement practices with InterSystems Caché, Eduard Lebedyuk
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
В нашей большой компании мы столкнулись с задачей выкладывания релизов наших проектов на несколько групп серверов по нескольким сотням машин.
Мы решили разработать свой софт для удобного деплоя, поскольку задача, на мой взгляд, достаточно сложная, потому что каждая секунда при выкатке решает очень многое.
Почему именно разработать что-то свое, а не использовать что-то готовое, например, Fabric или Capistrano?
Все просто:
1. Система должна быть написана на языке, на котором принято разрабатывать в компании.
2. Все возникающие трудности и проблемы должны быть решены в кратчайшие сроки, нет времени ждать пока чья-то техподдержка прилетит на помощь на голубом вертолете :)
3. Система должна быть безопасна, полностью с открытыми кодами для безопасников.
4. Минимизированы зависимости от внешних модулей.
Вкратце расскажу о том, как мы раскладываем front-end для наших проектов в Mail.ru Group в продакшн и на тестовые сервера.
В частности, расскажу, как мы собираем версточный релиз.
Расскажу о том, как его запаковать и как аккуратно раздать на несколько сотен серверов.
Расскажу об архитектуре мониторинга системы обновлений, а также покажу, как выглядит наш дашборд, по которому мы понимаем, что все хорошо.
Отвечу на все интересующие вас вопросы и дам несколько рекомендаций, которые помогут вам обойти подводные грабли, на которые наступали мы.
Тест-план и исследовательское тестированиеVasiliy Burov
В своем докладе я расскажу как мы в своей работе совмещаем тест-план и исследовательское тестирование. С первого взгляда, может показаться что это не совсем совместимые вещи. Исследовательское тестирование ассоциируется с методом свободного поиска, а тест-план наоборот – следование заданному порядку. Как совместить эти сущности и ничего не потерять – я попытаюсь рассказать.
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
HighLoad++ 2017
Зал «Кейптаун», 8 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/2957.html
Расскажем о нашем опыте разработки модуля межсетевого экрана для MySQL с использованием генератора парсеров ANTLR и языка Kotlin.
Подробно рассмотрим следующие вопросы:
— когда и почему целесообразно использовать ANTLR;
— особенности разработки ANTLR-грамматики для MySQL;
— сравнение производительности рантаймов для ANTLR в рамках задачи синтаксического анализа MySQL (C#, Java, Kotlin, Go, Python, PyPy, C++);
— вспомогательные DSL;
— микросервисная архитектура модуля экранирования SQL;
— полученные результаты.
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Parallels, Таллин
1. Создаем команду автотестирования в
нетипичных условиях
«Время разбрасывать камни, и время собирать камни»
Экклезиаст
Team Leader, Parallels Test Automation
Vasilii Nikishin
April 08, 2016
2. 1
Начало
• Исходные данные
• Команда разработчиков 10 SDETов
• Собственный фрэймворк
• Собственная инфраструктура
• ~2500 тестов (~250000 тесткейсов)
• Python, Linux, Windows, Virtuozzo
• 10 лет
• Цель
• Создать новую команду
• Склонировать существующую систему
• В кратчайший срок
5. 4
Свистать всех наверх!
• Формирование команды
• 3 SDETа, 4 ручника
• Знакомство с наследием
• Технические консультации с командой
Virtuozzo, документация
• Нахождение ограничений системы по
Голдратту (TOC)
• Выявление истинных причин и ключевых
проблем ограничений
6. 5
Принципы TOC
• Система как цепь
• Всегда существует слабое звено (ограничение системы)
• Основные усилия на устранение ограничения
• Поиск ограничений с помощью логических деревьев
• Дерево текущей реальности
• Диаграмма разрешения конфликтов
• Дерево будущей реальности
• Дерево перехода
• План преобразований
• Процесс непрерывных улучшений
• Поиск новых ограничений
8. 7
На буксире
• Тесты и «железо» под присмотром
• Каждому тесту по мантейнеру
• Каждой «железке» свое место
• Поддержка тестов и «железа» в
инфраструктуре Virtuozzo под строгим
контролем команды Virtuozzo.
• «Прокачка скилзов» команды
• Знакомство с проектами Parallels
• Написание тестов для новых проектов
• Митинги, техтоки
9. 8
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Team
Virtuozzo + Parallels
Поддержка своих тестов и «железа»
Test HW resources
Tests
10. 9
Организация процесса
• Взаимодействие внутри команды и с внешним
миром
• Стэндапы, спринты, постмортемы
• Jira dashboards
• Виды активностей
o Разбор багов
o Разработка новых тестов
o Поддержка инфраструктуры (дежурство)
• Области компетенции
• Раскраска спринтов
13. 12
Поднять паруса!
• Отправляемся в
самостоятельное плавание
• Клонируем репозиторий с тестами и
тестовым фрэймворком
• Изменяем review workflow
o Был e-mail
o Стал Stash + 2 reviewers
• Вводим сode style
14. 13
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Team
Virtuozzo + Parallels
Клонирование тестового фрэймворка
Test HW resources
Tests
Test Framework
15. 14
Полный вперёд!
• В пути
• Клонируем тестовую инфраструктуру
Virtuozzo в сеть Parallels
• Под полными парусами!
• Самостоятельно поддерживаем
унаследованную инфраструктуру
• Пишем автотесты для всех проектов
Parallels
• Разрабатываем свою инфраструктуру
17. 16
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Team
Virtuozzo + Parallels
Перенос тестовой инфраструктуры
Test HW resources
Tests
Test Framework
Test infrastructure
Network
18. 17
Шторм!
• Проверка на зрелость
• Переезд в новый офис
• Восстановление сервиса deploy из
архива
• Безболезненный запуск тестовой
инфраструктуры
o Подключение нод (60 шт./1 день)
o Запуск сервисов и тестов (1 день)
19. 18
Team
Test HW resources
Test Framework
Tests
Test infrastructure
Network
Parallels
Team
Test HW resources
Test Framework
Tests
Test infrastructure
Network
Virtuozzo
Переезд в новый офис
20. 19
Итого
• Новая команда – 8 SDETов
• Боевая система авто тестирования
• ~300 тестов(~20000 тесткейсов)
• Python, Windows, Mac OS X, Linux, iOS, Android, web
• 10 месяцев
21. 20
Продукты и технологии
• Parallels Remote Application Server
• Python, Windows, Mac OS X, Linux, iOS, Android, web, Java, Ruby
• Parallels Desktop
• Python, Mac OS X, Linux, Windows, GUI
• Parallels Access
• Python, iOS, Android, web, , Java, Ruby
• Parallels Mac Management
• Python, Windows, MS SCCM, Mac OS X
• Parallels web site
• Python, web
22. 21
Новые горизонты
• Выявление новых
ограничений, истинных
причин и ключевых проблем
• Ключевая проблема –
легаси-инфраструктура
• Трудно масштабировать
• Сложно поддерживать и
развивать