78
BDD. За пределами возможного 14 Октября 2017, Саратов, Конференция ЮКОН Иосиф Иткин, Exactpro - сооснователь и CEO London Stock Exchange Group Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 2460, +1 415 830 38 49 www.exactpro.com

BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Embed Size (px)

Citation preview

Page 1: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

BDD. За пределами возможного

14 Октября 2017, Саратов, Конференция ЮКОН

Иосиф Иткин, Exactpro - сооснователь и CEO

London Stock Exchange Group

Open Access Quality Assurance & Related Software Development for Financial Markets

Tel: +7 495 640 2460, +1 415 830 38 49

www.exactpro.com

Page 2: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Part of diversified international exchange and infrastructure group with assets across the entire exchange value chain. The Group can trace its history back to 1698

Вступление

Page 3: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

• A specialist firm focused on functional and non functional

testing of systems that process wholesale financial products,

particularly market infrastructures

• A UK company with operations in the US and four QA &

software development centres in Russia

• Incorporated in 2009 with 10 people, our company has

experienced significant growth as satisfied clients require

more services; now employing 536 specialists

• Office in Saratov started in 2013

Front office

Listed Derivatives CRM

Dark PoolT25 Clearing

FXFixed income

SEFReconciliation

Onboarding

Ticker PlantCommondities

Smart Order Router

Trading DesktopsIndex Dissemination

FPGA

EquitiesConnectivity

ExchangeMTF

Swaptions

История

Page 4: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Проекты

Some of our projects (start date)

• Turquoise (2010)

• Borsa Italiana (2011)

• CCP.A (2011)

• FPGA-base Ticker Plant (2012)

• LSE (2012)

• Oslo Bors (2012)

• UnaVista (2013)

• FTSE (2013)

• EuroTLX (2014)

• Russell (2015)

• IDEM (2015)

• LSEDM (2015)

• ELITE (since 2015)

• CurveGlobal (2016)

• GATElab (2016)

• LCH (2016)

• TRADEcho (2016)

• MTS (2017)

• RNS (2017)

Page 5: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Наши клиенты

Page 6: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Что мы делаем

Page 7: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Что мы делаем

Page 8: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Что мы делаем

Page 9: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Что мы делаем

Page 10: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Что мы делаем

Page 11: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Что мы делаем

Page 12: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Build Software to Test Software

Automated testing

Compares intended and received

results

Automated end 2 end

clearing system testing

Automated monitoring,

analysis and reporting

75K messages / second from a single CPU core

Measures latencies in microsecond range

A variety of algoes simulating end-clients

will run and see how system performs

Page 13: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Добыча полезной информации

Page 14: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Метод разработки

Page 15: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Определение BDD

Behavior Driven Development – методика разработки

программного обеспечения на основе поведения

Specification by Example – Совместный подход к

определению требований и функциональных тестов

для программ, на основе сбора и иллюстрирования

требований, с использованием реалистичных

примеров, вместо абстрактных утверждений

Page 16: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Спецификация на примерах

Martin Fowler

https://martinfowler.com/bliki/SpecificationByExample.html

Page 17: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Пример требований

Пользователи размещают по N заявок в день

Page 18: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Пример требований

Пользователи размещают по N заявок в день

Что хотел сказать автор?

Page 19: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Пример требований

Пользователи размещают по N заявок в день

Что хотел сказать автор?

Пользователи размещают по 5 заявок в день

Page 20: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Пример требований

Пользователи размещают по N заявок в день

Что хотел сказать автор?

Пользователи размещают по 5 заявок в день

Пользователи размещают по 50,000 заявок в день

Page 21: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Пример требований

Пользователи размещают по N заявок в день

Что хотел сказать автор?

Пользователи размещают по 5 заявок в день

Пользователи размещают по 50,000 заявок в день

Page 22: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Следите за границами

Джон Э́дгар Гу́вер

(англ. John Edgar Hoover, 1

января 1895, Вашингтон — 2

мая 1972) —директор ФБР, c

1924 года до своей смерти

Известен крутым нравом

Page 23: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Следите за границами

Page 24: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Следите за границами

J. Edgar Hoover, former director of the FBI,

had a rule stating that all FBI memoranda

were required to be shorter than two and

one-half typed pages and with wide

margins all around. Hoover himself once

received a memo that violated this

prescribed length and format.

The writer had managed to cram more

words into his memo by reducing the size

of the margins. Hoover responded by

writing on the memo, “Watch the borders!”

When Hoover’s subordinates saw the note,

they assigned hundreds of special agents

to guard our national borders with Mexico

and Canada.

Page 25: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Завязывание галстука

Накиньте на себя галстук внешней стороной, так, чтобы были видны швы. 1.

Широкий конец находится справа, а узкий конец находится слева. Кончик

маленького конце следует вытянуть на уровень, чуть выше вашего пупка (эта

величина может изменяться в зависимости от вашего роста, длины и толщины

галстука). Работать будем с широким концом галстука.

Разместите широкий конец под узким концом, формируя перекрестие.2.

Оберните узкую сторону3. широким концом галстука слева на право.

Потяните широкий конец к шее и проденьте под образовавшимся воротником 4.

(галстука).

Проденьте через петлю на лицевой стороне узла, который только что 5.

образовался.

Потяните широкий конец вниз, слегка затягивая. Поправьте получившийся 6.

простой узел (узел «Кент») так, чтобы он ровно разместился в вашем воротнике.

Page 26: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Спецификация на примерах

Page 27: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Работа бизнес аналитика

Page 28: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Совместное создание требований

Page 29: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Пользовательские истории

Способ описания требований к разрабатываемой

системе, сформулированных как одно или более

предложений на повседневном или деловом языке

пользователя

Короткий и четкий ответ на вопросы:

- Кто пользователь?

- Что хочет?

- Почему?

Приёмочные испытания

Page 30: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Три Амиго

Developer QABA

Page 31: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

User Stories

Clear, explicit title

As a <role/who>

I want <feature/what>

So that <value/why>

Acceptance criteria

Page 32: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Приёмочные испытания

Given – a set of preconditions

When – when an event occurs

Then – outcome is achieved

Page 33: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Gherkin style

Given – a set of preconditions

When – when an event occurs

Then – outcome is achieved

Page 34: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Gherkin style

Given – входные условия

When – события

Then – достигнутый результат

Вы смотрите на корнешоновую методику описания

сценариев, верный способ проведения приёмочных

испытаний, королеву аналитиков и первых пользователей,

защитницу программистов, мать тестирования, кхалиси

бескрайнего моря гибкой разработки, горячую как пирожок

разрушительницу водопадов

Page 35: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Пример проекта

Калькулятор страховой премии

??? Требования

Page 36: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Пример проекта

Калькулятор страховой премии

??? Требования Примеры

Page 37: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Исполняемая спецификация

???

Примеры Система

Page 38: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Исходная ситуация

???

Примеры Пустышка

Page 39: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Первый прототип

$100

Примеры Версия 0.1

Page 40: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Следующая версия

$100

Примеры Версия 0.2

Page 41: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Что-то сломалось

$99

Примеры Версия 0.3

Page 42: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Что-то заработало

$100

Примеры Версия 1.0

Page 43: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Процесс разработки

Page 44: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Трейдинговая система

Page 45: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Четвертый Амиго

Developer QABA Production Logs

Page 46: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

На что это похоже

Примеры Работающая

Программа

Page 47: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Машинное обучение

Примеры Работающая

Программа

Page 48: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

За пределами BDD

“Не славить Цезаря пришёл я, а хоронить”

Page 49: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Пытать огурцом

Page 50: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Использовать не по назначению

QA

User Story:

Новый способ перемалывания хлеба

Как автоматизированная мельницаЯ хочу реализовать разные требованияЧтобы лучше соответствовать требованиям

Page 51: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Gojko Adzic

Gojko Adzic is a strategic software

delivery consultant who works with

ambitious teams to align software delivery

with business goals, and improve the

quality of their software products and

processes. Gojko specialises in are agile

and lean quality improvement, in particular

impact mapping, agile testing,

specification by example and behaviour

driven development.

Gojko’s book Specification by Example

won the Jolt Award for the best book of

2012. Gojko won the 2016 European

Software Testing Outstanding

Achievement Award. In 2011, he was

voted by peers as the most influential

agile testing professional, and his blog

won the UK Agile Award for the best

online publication in 2010.

Page 52: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Вопрос

Можно ли представить ситуацию, когда

программисту лучше не показывать все

примеры и данные?

Page 53: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Пример

Page 54: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Цель

Page 55: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Изучить SQL

Page 56: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Изучить SQL

Найти все компьютеры с ценой не больше $500

Page 57: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Изучить SQL

SELECT * FROM pc

Page 58: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Изучить SQL

SELECT * FROM pc

Page 59: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Как это работает

SELECT * FROM pc

Page 60: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Подгон результатов

SELECT * FROM pc

WHERE price < 500

Page 61: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Как заставить написать хороший запрос

Page 62: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Приходится думать

Page 63: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Приходиться думать

SELECT * FROM pc WHERE price <= 500

Page 64: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Трейдинговые системы

As a transaction request is sent from the client to the heart of

the heart of the marketplace, the matching engine, it passes

through various processing tiers:

Processing tiers and horizontal scalability approach in Exchange Systems.

Source: A Cinnober white paper on: Latency

Page 65: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Трейдинговые системы

Given – a set of preconditions

Сложность настроек и статических данных

When – when an event occurs

Высокая нагрузка и асинхронность

Then – outcome is achieved

Недетерминированный результат

Много деталей

Может быть нужна модель

Page 66: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Цель

Page 67: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Создать стартап

Page 68: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Разработка по BDD

Page 69: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

How to Build Minimum Viable Product

Не ТАК

Вот КАК

Page 70: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Что там с нашей спецификацией

Page 71: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Критические системы

Что нельзя делать на подводной лодке?

Page 72: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Что мешает разработке

Page 73: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Как мы воспринимаем ПО

Page 74: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Testing is Relentless Learning

Page 75: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Критические системы

Открывать форточку

Page 76: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Сценариев катастрофы –бесконечное множество

Что бы ни случилось, не открывай форточку

При любом сценарии –

Результат должен быть один

Page 77: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Exactpro в Саратове

ул. Рабочая, 145А, 11-12 этаж, БЦ “Самсон”, +7 (8452) 338-908

Page 78: BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)

Спасибо

Дружите с нами