"Опыт создания системы управления сборкой и тестированием" (полная)SPB SQA Group
Доклад посвящен вопросам создания и использования собственной системы управления процессами сборки и тестирования ПО. Описываются ключевые моменты построения таких систем, в частности: вопросы интерфейсов, быстродействия, качества и интеграции в общую инфраструктуру. Затрагиваются концепции встраивания качества в код, сбора и использования метрик ПО, неотделимости сборки от тестирования, автоматизированного ведения базы знаний об ошибках и другие.
Statistical analysis and mining of huge multi-terabyte data sets is a common task nowadays, especially in the areas like web analytics and Internet advertising. Analysis of such large data sets often requires powerful distributed data stores like Hadoop and heavy data processing with techniques like MapReduce. This approach often leads to heavyweight high-latency analytical processes and poor applicability to realtime use cases. On the other hand, when one is interested only in simple additive metrics like total page views or average price of conversion, it is obvious that raw data can be efficiently summarized, for example, on a daily basis or using simple in-stream counters. Computation of more advanced metrics like a number of unique visitor or most frequent items is more challenging and requires a lot of resources if implemented straightforwardly. In this article, I provide an overview of probabilistic data structures that allow one to estimate these and many other metrics and trade precision of the estimations for the memory consumption.
Probabilistic data structures. Part 2. CardinalityAndrii Gakhov
The book "Probabilistic Data Structures and Algorithms in Big Data Applications" is now available at Amazon and from local bookstores. More details at https://pdsa.gakhov.com
In the presentation, I described common data structures and algorithms to estimate the number of distinct elements in a set (cardinality), such as Linear Counting, HyperLogLog, and HyperLogLog++. Each approach comes with some math that is behind it and simple examples to clarify the theory statements.
"Опыт создания системы управления сборкой и тестированием" (полная)SPB SQA Group
Доклад посвящен вопросам создания и использования собственной системы управления процессами сборки и тестирования ПО. Описываются ключевые моменты построения таких систем, в частности: вопросы интерфейсов, быстродействия, качества и интеграции в общую инфраструктуру. Затрагиваются концепции встраивания качества в код, сбора и использования метрик ПО, неотделимости сборки от тестирования, автоматизированного ведения базы знаний об ошибках и другие.
Statistical analysis and mining of huge multi-terabyte data sets is a common task nowadays, especially in the areas like web analytics and Internet advertising. Analysis of such large data sets often requires powerful distributed data stores like Hadoop and heavy data processing with techniques like MapReduce. This approach often leads to heavyweight high-latency analytical processes and poor applicability to realtime use cases. On the other hand, when one is interested only in simple additive metrics like total page views or average price of conversion, it is obvious that raw data can be efficiently summarized, for example, on a daily basis or using simple in-stream counters. Computation of more advanced metrics like a number of unique visitor or most frequent items is more challenging and requires a lot of resources if implemented straightforwardly. In this article, I provide an overview of probabilistic data structures that allow one to estimate these and many other metrics and trade precision of the estimations for the memory consumption.
Probabilistic data structures. Part 2. CardinalityAndrii Gakhov
The book "Probabilistic Data Structures and Algorithms in Big Data Applications" is now available at Amazon and from local bookstores. More details at https://pdsa.gakhov.com
In the presentation, I described common data structures and algorithms to estimate the number of distinct elements in a set (cardinality), such as Linear Counting, HyperLogLog, and HyperLogLog++. Each approach comes with some math that is behind it and simple examples to clarify the theory statements.
Big Data Day LA 2015 - Large Scale Distinct Count -- The HyperLogLog algorith...Data Con LA
"At OpenX we not only use the tools in big data ecosystems to solve our business problems, but also explore the cutting edge algorithms for practical uses. HyperLogLog is one of the algorithm that we use intensively in our internal system. It has really low computation cost and can easily plug into map-reduce framework (hadoop or spark). Some of the applications that worth to highlight are:
* high cardinality test
* distinct count of unique users over time
* Visualize hyperloglog for fraud detection"
Анализ количества посетителей на сайте [Считаем уникальные элементы]Qrator Labs
Конференция Highload++ / 7 ноября 2016 / Спикер - Константин Игнатов, инженер-разработчик в отделе исследований Qrator Labs.
Для точного ответа на вопрос, сколько уникальных посетителей было на моём сайте за произвольный интервал времени в прошлом, нужно через равные интервалы времени сохранять множество посетителей сайта (пусть это для простоты будут IP-адреса), которых мы за прошедший интервал увидели. Понятное дело, что такой объём информации хранить нереально, а даже, если получится, придётся объединять большое количество множеств и считать элементы в том множестве, которое получилось в итоге. Это очень долго. Не спасает ситуацию даже переход от точных алгоритмов к приблизительным: гарантировать точность либо не получится, либо придётся использовать объём памяти и вычислительные ресурсы, сопоставимые с точным алгоритмом.
Presentation from 11th SQADays conference in Kiev (April 2012) and Selenium Camp 2013 (February 2013) about how to measure what functional tests are really testing from requirements, code and UI perspective.
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
Александр Петренко, ИСП РАН
Профессор, доктор физико-математических наук, заведующий отделом технологий программирования Института системного программирования (ИСП РАН), профессор ВМК МГУ. Основные работы в областях: формализация требований, генерация тестов на основе формализованных требований и формальных моделей (model based testing – MBT). Приложения: тестирование операционных систем и распределенных систем, тестирование компиляторов, верификация дизайна микропроцессоров, формализация стандартов на API операционных систем и телекоммуникационных протоколов. Сопредседатель оргкомитетов International MBT workshop (http://www.mbrworkshop.org/), Spring Young Researcher Colloquium on Software Engineering – SYRCoSE (http://syrocose.ispras.ru), городского семинара по технологиям разработки и анализа программ ТРАП/SDAT (http://sdat.ispras.ru/).
Тема доклада
Модели в профессиональной инженерии и тестировании программ.
Тезисы
Model Based Software Engineering (MBSE) является расширением подхода к разработке программ на основе моделей. В MBSE в отличие, например, от MDA (Model Driver Architecture) существенное внимание уделяется не только задачам собственно проектирования и разработки кода, но и задачам других фаз жизненного цикла – анализу требований, верификации и валидации, управлению требованиями на всех фазах жизненного цикла. Model Based Testing (MBT) хронологически возник гораздо раньше, чем MBSE и MDA, однако его место в разработке программ в полной мере раскрылось вместе с развитием MBSE. По этой причине MBT и MBSE следует рассматривать в тесной связке. В докладе будут рассмотрены концепции MBSE-MDA-MBT, основные источники и виды моделей, которые используются в этих подходах, методы генерации тестов на основе моделей, известные инструменты для
В преддверии тренинга Тест-дизайн и все все все, который пройдет этой осенью в четырех городах (24-25 сентября в Харькове; 15-16 октября в Нижнем Новгороде; 29-30 октября в Москве; 18-19 ноября в Самаре) Александр Федоров решил лучше познакомиться со своей аудиторией и провести бесплатный вебинар Тест-дизайн «в цикле».
Любые процессы цикличны по своей природе, и разработка тестов не исключение. Тест-кейсы придумываются, создаются и используются на продукте и иногда в его последующих версиях. На разных этапах разработки к тестированию и тест-дизайну выдвигаются разные требования, которые мы рассмотрим в рамках вебинара.
Особенности тест-дизайн при итерационной разработке
Польза и спорная эффективность автоматизации тестирования
Наследование тест-кейсов новыми и «родственными» версиями продукта
Поддержание тест-кейсов в актуальном состоянии на разных этапах жизненного цикла продукта
Big Data Day LA 2015 - Large Scale Distinct Count -- The HyperLogLog algorith...Data Con LA
"At OpenX we not only use the tools in big data ecosystems to solve our business problems, but also explore the cutting edge algorithms for practical uses. HyperLogLog is one of the algorithm that we use intensively in our internal system. It has really low computation cost and can easily plug into map-reduce framework (hadoop or spark). Some of the applications that worth to highlight are:
* high cardinality test
* distinct count of unique users over time
* Visualize hyperloglog for fraud detection"
Анализ количества посетителей на сайте [Считаем уникальные элементы]Qrator Labs
Конференция Highload++ / 7 ноября 2016 / Спикер - Константин Игнатов, инженер-разработчик в отделе исследований Qrator Labs.
Для точного ответа на вопрос, сколько уникальных посетителей было на моём сайте за произвольный интервал времени в прошлом, нужно через равные интервалы времени сохранять множество посетителей сайта (пусть это для простоты будут IP-адреса), которых мы за прошедший интервал увидели. Понятное дело, что такой объём информации хранить нереально, а даже, если получится, придётся объединять большое количество множеств и считать элементы в том множестве, которое получилось в итоге. Это очень долго. Не спасает ситуацию даже переход от точных алгоритмов к приблизительным: гарантировать точность либо не получится, либо придётся использовать объём памяти и вычислительные ресурсы, сопоставимые с точным алгоритмом.
Presentation from 11th SQADays conference in Kiev (April 2012) and Selenium Camp 2013 (February 2013) about how to measure what functional tests are really testing from requirements, code and UI perspective.
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
Александр Петренко, ИСП РАН
Профессор, доктор физико-математических наук, заведующий отделом технологий программирования Института системного программирования (ИСП РАН), профессор ВМК МГУ. Основные работы в областях: формализация требований, генерация тестов на основе формализованных требований и формальных моделей (model based testing – MBT). Приложения: тестирование операционных систем и распределенных систем, тестирование компиляторов, верификация дизайна микропроцессоров, формализация стандартов на API операционных систем и телекоммуникационных протоколов. Сопредседатель оргкомитетов International MBT workshop (http://www.mbrworkshop.org/), Spring Young Researcher Colloquium on Software Engineering – SYRCoSE (http://syrocose.ispras.ru), городского семинара по технологиям разработки и анализа программ ТРАП/SDAT (http://sdat.ispras.ru/).
Тема доклада
Модели в профессиональной инженерии и тестировании программ.
Тезисы
Model Based Software Engineering (MBSE) является расширением подхода к разработке программ на основе моделей. В MBSE в отличие, например, от MDA (Model Driver Architecture) существенное внимание уделяется не только задачам собственно проектирования и разработки кода, но и задачам других фаз жизненного цикла – анализу требований, верификации и валидации, управлению требованиями на всех фазах жизненного цикла. Model Based Testing (MBT) хронологически возник гораздо раньше, чем MBSE и MDA, однако его место в разработке программ в полной мере раскрылось вместе с развитием MBSE. По этой причине MBT и MBSE следует рассматривать в тесной связке. В докладе будут рассмотрены концепции MBSE-MDA-MBT, основные источники и виды моделей, которые используются в этих подходах, методы генерации тестов на основе моделей, известные инструменты для
В преддверии тренинга Тест-дизайн и все все все, который пройдет этой осенью в четырех городах (24-25 сентября в Харькове; 15-16 октября в Нижнем Новгороде; 29-30 октября в Москве; 18-19 ноября в Самаре) Александр Федоров решил лучше познакомиться со своей аудиторией и провести бесплатный вебинар Тест-дизайн «в цикле».
Любые процессы цикличны по своей природе, и разработка тестов не исключение. Тест-кейсы придумываются, создаются и используются на продукте и иногда в его последующих версиях. На разных этапах разработки к тестированию и тест-дизайну выдвигаются разные требования, которые мы рассмотрим в рамках вебинара.
Особенности тест-дизайн при итерационной разработке
Польза и спорная эффективность автоматизации тестирования
Наследование тест-кейсов новыми и «родственными» версиями продукта
Поддержание тест-кейсов в актуальном состоянии на разных этапах жизненного цикла продукта
Модуль 8. Лекция 37-38. Управление качеством проектаYana Brodetski
Управление качеством проекта
● Планирование управление качеством
● Определение и характеристики дефекта;
● Задачи управления дефектами;
● Классификация важности дефектов;
● Виды тестирования;
● Правильное описание дефекта;
● Жизненный цикл дефекта;
● Работа с базами дефектов;
● Метрики на основе дефектов.
● Составление тест плана
Орки, демоны и космодесантники. Покраска миниатюр как семейный досуг — Натали...PechaKucha Ukraine
Покраска миниатюр как семейный досуг — О покраске миниатюр для настольных игр. Как человек приходит к такому хобби, какие его особенности, что необходимо, чтобы начать красить миниатюры, и нужно ли для этого играть в настольные игры. О важности индивидуальных и совместных хобби для гармонии в семье
Чому Андалусія (Іспанія) це muy bien! - Євгенія ОгризкоPechaKucha Ukraine
Чому Андалусія (Іспанія) це muy bien! — Що спільного між кайтсьорфінгом, мавританськими замками, фламенко та нічними трапезами? — Усім можна насолодитися в Андалусії! Чим готова покорити південна частина Іспанії! Що варто відвідати? Як добратися з Києва та коли краще їхати? Як вбити двох зайців, поєднавши море та sightseeing? Та чому окрім Барселони та Валенсії в Іспанії треба побачити Севілью
Замки Украины: семейные путешествия — Михаил и Руслана КашиныPechaKucha Ukraine
Замки Украины: семейные путешествия — Когда-то мы решили, что наши дети должны увидеть разную Украину. Не из окна отеля. И решили им показать свою Малую Родину — часть Украины, которая за последние 100 лет была в 5ти разных странах: Российская Империя, Австро-Венгерская Империя, Польша, Советский Союз, Украина. Мы провели несколько автопробегов «Замками Западной Украины». Наши дети за это время выросли. А фотки — и впечатления — остались. Надеемся, не только в нашей памяти, но и в сердцах наших детей. Мы хотим, чтобы они понимали историю не только по школьным учебникам, но и по своим личным воспоминаниям.
TraveLEaring — Подорожуй, Навчайся і Заробляй одночасно - Орест ЗубPechaKucha Ukraine
Як мені вдалося поєднати улюблене заняття з численними і тривалими мандрами таким чином, щоб мати на хліб та до хліба, а також допомагати при цьому іншим людям і постійно підвищувати якість власного життя.
Східні бойові мистецтва і як вони змінюють життя — Юрій ПочтарPechaKucha Ukraine
Я хочу розказати про те, для чого я починав займатися бойовими мистецтвами, і як вони змінюють життя. Також хочу розказати про поширені міфи і реальність.
Под парусом к действующим вулканам - Сергей ТолокунскийPechaKucha Ukraine
Летом мы отправились в путешествие на яхте к Липарским островам. Там находится настоящий, извергающий лаву вулкан Стромболи. Мы поднялись к самому кратеру вулкана, видели взрывы и наблюдали, как раскаленная магма стекает вниз в море. Это был самый крутой спецэффект в моей жизни.
1. Use Case 2.0 - универсальный подход к
документированию функциональных
требований
Евгений Сафроненко
2. Основные положения доклада
Базовые принципы Use Case подхода
Суть подхода Use Case 2.0
Алгоритм работы с требованиями
Работа по методологиям
Выводы
3. Базовые принципы
Рассказ историй
Понимание общей картины
Фокусировка на ценности
Наращивание системы
Итеративная разработка
Адаптация для нужд команды
6. Фокусировка на значимости
Чтобы понять как система будет использоваться,
важно сфокусироваться на ценности, которую она
предоставляет своим пользователям.
7. Построение системы из слоев
1 2 3 4 5
Определить наиболее
важную часть
системы
Декомпозировать ее на
слои
Разработать тест кейсы
Выбрать основной
слой
Оценить и разработать
выбранный слой
8. Инкрементная поставка системы
Каждый инкремент имеет определенную ценность
для пользователей, добавляет в систему новый
функционал или улучшает существующий
9. Адаптация для нужд команды
Различные команды и различные клиенты
требуют различного уровня формализации и
детализации
10. Суть подхода
Распределить сценарии UC по итерациям
Задать порядок реализации сценариев
Слои
позволяют:
Выбрать подходящую единицу работы
Использовать соразмерные единицы работы
11. Проверка и приоритезация
требований
Действия при выявление, проверке и
приоритезации требований:
Find actors Slice the use Inspect and
and use cases cases adapt UC
12. Find actors and use cases
Согласование Согласовать
Согласование
поведения объем
целей системы
системы. поставки
системы
Согласование ценности, которую система
Find Click toand
actors обеспечивает.
use cases
add Text Определение способов использования и
тестирования системы.
13. Реализация и тестирование системы
Действия при реализации и тестировании
системы:
Prepare a use Analyze the Implement
case slice use cases software
14. Prepare the use case slice
Определить
Подготовить Определить
критерии
слой к требуемые
Успешной
реализации. характеристики
реализации
Prepare the use
Click to Сфокусировать разработку на тестах,
cases Text
add slice которым она должна
соответствовать.
16. Использование подхода в рамках
различных методологий
SCRUM и прочие итеративные
1 методологии
Kanban методологии основанные на
2 ограничении количества незавершенной
работы
Waterfall традиционная каскадная
3 модель
17. SCRUM
При использовании SCRUM очень важным является
правильный выбор элементов для Product Backlog’a
Backlog
• Slice 1.1
1 • Slice 1.2
• Slice 1.3
2 • Slice 2.1
• Slice 2.2
• Slice 2.3
3 • Slice 3.1
•…
•…
4
•…
5
•…
6
19. Waterfall
Эффективное управление масштабом с
использованием Use Case slice’s
Требования Анализ Разработка Тестирование
1 2 3 4
Все требования Все требования Все требования Вся система
выявлены проанализирова разработаны протестирована
ны
20. Выводы
Простота - как в определении и в
применении.
Адаптация - подходит для команд и
систем любого масштаба.
Универсальность - подходит для всех
типов систем
Совместимость с актуальными
методологиями разработки ПО.
http://www.ivarjacobson.com
http://www.analysts.com.ua
Use Case 2.0