exactpro training: defects and feelings

45
О чувствах и ошибках Иосиф Иткин, Кострома 31 января 2014

Upload: iosif-itkin

Post on 11-Nov-2014

1.381 views

Category:

Education


1 download

DESCRIPTION

О чувствах и ошибках в пословицах и поговорках Иосиф Иткин, Кострома 31 января 2014

TRANSCRIPT

Page 1: Exactpro Training: Defects and Feelings

О чувствах и ошибках

Иосиф Иткин, Кострома31 января 2014

Page 2: Exactpro Training: Defects and Feelings

Содержание

• Чувства

• Свинство

• Пословицы и поговорки

• Книжка

• Ошибки

2

Page 3: Exactpro Training: Defects and Feelings

Bugs Have Feelings Too

3

http://cartoontester.blogspot.ru/2010/03/bug-advocacy.html

Page 4: Exactpro Training: Defects and Feelings

Bugs Have Feelings Too

4

Page 5: Exactpro Training: Defects and Feelings

Bugs Have Feelings Too

5

Page 6: Exactpro Training: Defects and Feelings

Bugs Have Feelings Too

6

Page 7: Exactpro Training: Defects and Feelings

Bugs Have Feelings Too

7

Page 8: Exactpro Training: Defects and Feelings

Bugs Have Feelings Too

8

Page 9: Exactpro Training: Defects and Feelings

Bugs Have Feelings Too

9

Page 10: Exactpro Training: Defects and Feelings

Bugs Have Feelings Too

10

Page 11: Exactpro Training: Defects and Feelings

Bugs Have Feelings Too

11

Page 12: Exactpro Training: Defects and Feelings

Writing Effective Defect Reports

• Condense - Say it clearly but briefly

• Accurate - Is it a defect or could it be user error, misunderstanding, etc.?

• Neutralize - Just the facts. No zingers. No humor. No emotion.

12

Writing Effective Defect Reports, Kelly Whitmill, IBM Printing Systems Division

https://www.stickyminds.com/sites/default/files/article/file/2012/XDD3655filelistfilename1_0.pdf

Page 13: Exactpro Training: Defects and Feelings

Writing Effective Defect Reports

• Condense - Say it clearly but briefly

• Accurate - Is it a defect or could it be user error, misunderstanding, etc.?

• Neutralize - Just the facts. No zingers. No humor. No emotion.

• Precise - Explicitly, what is the problem?

• Isolate - What has been done to isolate the problem?

• Generalize - What has been done to understand how general the problem is?

13

Page 14: Exactpro Training: Defects and Feelings

Writing Effective Defect Reports

• Condense - Say it clearly but briefly

• Accurate - Is it a defect or could it be user error, misunderstanding, etc.?

• Neutralize - Just the facts. No zingers. No humor. No emotion.

• Precise - Explicitly, what is the problem?

• Isolate - What has been done to isolate the problem?

• Generalize - What has been done to understand how general the problem is?

• Re-create - What are the essentials in triggering/re-creating this problem? (environment, steps, conditions)

• Impact - What is the impact to the customer? What is the impact to test? Sell the defect.

• Debug - What does development need to make it easier to debug? (traces, dumps, logs, immediate access, etc.)

• Evidence - What documentation will prove the existence of the error?

14

Page 15: Exactpro Training: Defects and Feelings

Пословицы

1. Краткость – сестра таланта: Говорим и пишем понятно и покороче.2. «Давайте не будем нервничать и неспеша во всем разберемся»: Это правда дефект

или неверно интерпретированное нами требование из документа, или «просто» сами забыли что-то подключить, и т.д.?

3. Смех без причины – признак известно чего: Только факты. Не надо сарказма, юмора и эмоций.

4. Берём быка за рога: Без ненужных предисловий – в чем именно проблема?5. Вот где собака зарыта: Что было сделано, чтобы понять что проблема именно здесь?6. За деревьями леса не увидели: Может быть наша проблема гораздо шире? 7. Спрятал концы в воду: Что необходимо сделать, чтобы вызвать проблему и

воспроизвести её (среда, шаги, условия)?8. Гроша ломаного не стоит: Почему плохо от этого будет конечному пользователю? Как

это сказывается на тестировании? «Продайте» найденный вами дефект. 9. Лучше один раз увидеть, чем сто раз услышать: Что разработчику нужно, чтобы понять

причину проблемы (логи, картинки, видео-файл, доступ, и т.д.) 10. Доверяй, но проверяй: Документация есть, где написано, как должно работать?

Процитируйте её и дайте на неё ссылку.

15

Page 16: Exactpro Training: Defects and Feelings

Patriot Software Bug

16

25 февраля 1991 года, Дахран, Саудовская АравияБатарея Патриот не стала сбивать ракету ScudПопадание в казарму привело к гибели 28 человекОколо 97 человек получили раненияРасследование обнаружило ошибку в ПО

Page 17: Exactpro Training: Defects and Feelings

Patriot Software Bug

17

Для хранения времени использовалось 24 битаЗначение 0.1 секунд в бинарном виде:

0.0001100110011001100110011001100.... (1/24+1/25+1/28+1/29+1/212+1/213+...)

Ошибка округления0.0001100110011001100110011001100....или 0.000000095

Предполагалось, что комплекс будет работать короткое время Систему не перегружали 100 часов0.000000095×100×60×60×10=0.34 секундыСкорость Scud 1,673 метра в секунду -> ошибка 568 метров

Page 18: Exactpro Training: Defects and Feelings

Patriot Software Bug

18

Page 19: Exactpro Training: Defects and Feelings

Patriot Software Bug

19

Page 20: Exactpro Training: Defects and Feelings

Patriot Software Bug

20

Page 21: Exactpro Training: Defects and Feelings

Patriot Software Bug

21

25 февраля 1991 года, Дахран, Саудовская АравияСообщение об ошибке 11 февраляОтвет – это не баг а фичаWorkaround рестартовать каждые 8 часовРестарт 60 – 90 секундИсправление готово 16 февраляДоставка обновлений в Дахран

26 февраля

Page 22: Exactpro Training: Defects and Feelings

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

22

Page 23: Exactpro Training: Defects and Feelings

Latency Measurement Discrepancies

23

Page 24: Exactpro Training: Defects and Feelings

Mizuho Securities

• 12 October 2005

• Attempts to sell a single J-Com stock for 610,000 Yen ($5,041)

• Mistakenly price and quantity were swapped

• Risk systems failure:– Mizuho Securities

– Tokyo Stock Exchange

• Estimated loss $225 millions

• This type of errors is called

Fat Finger

24

Page 25: Exactpro Training: Defects and Feelings

Fat Finger Order on NASDAQ from ABN AMRO Client

• 18 September 2012, Stockholm. A trader had the intention of posting a sell order for 5,000 SKF B shares. Due to an input error with the Client, the order volume field was populated with a negative value (-5,000)

• Instead of returning an error, the system converted the value into a random 9-digit figure - 294,962,296

• The Sell Order corresponded to approximately 71 % of the total outstanding volume in the SKF B share. The Sell Order resulted in execution of 813,442 shares

25

Page 26: Exactpro Training: Defects and Feelings

Flash Crash

• 6 May 2010, Waddell & Reed hedges exposure in equities

• Algo to sell 75,000 E-mini contracts (~$4.1b) with 9% participation target

• No price or time constraints in the algo, only volume traded during the previous minute

• Initial selling was absorbed by HFT and arbitrageurs - buy E-mini, sell SPY or basket of equities. Lack of liquidity and hot-potato exchange between HFT increased volumes and selling pressure from the algo

• Sharp decline in prices within 5 minutes. Trigger of across the board volatility interruptions

• Participants are leaving the market, causing liquidity

crisis in equities and execution against stub quotes

• Market recovers within minutes

26

Page 27: Exactpro Training: Defects and Feelings

Limit Order Book

27

Page 28: Exactpro Training: Defects and Feelings

Limit Order Book

28

Page 29: Exactpro Training: Defects and Feelings

Limit Order Book

29

Page 30: Exactpro Training: Defects and Feelings

Limit Order Book

30

Page 31: Exactpro Training: Defects and Feelings

Price Boundaries

31

Page 32: Exactpro Training: Defects and Feelings

Price Boundaries

32

Page 33: Exactpro Training: Defects and Feelings

Price Boundaries

33

Page 34: Exactpro Training: Defects and Feelings

Price Boundaries

34

Page 35: Exactpro Training: Defects and Feelings

Circuit Breaker

35

Page 36: Exactpro Training: Defects and Feelings

Circuit Breaker

36

Page 37: Exactpro Training: Defects and Feelings

Circuit Breaker

37

Page 38: Exactpro Training: Defects and Feelings

Circuit Breaker

38

Page 39: Exactpro Training: Defects and Feelings

Circuit Breaker

39

Page 40: Exactpro Training: Defects and Feelings

Facebook IPO

• 18 May 2012, NASDAQ, One of the largest IPOs in history

• Secondary trading is preceded by a designate Display Only Period (DOP)

• Multi-component architecture that included Matching Engine, IPO Cross Application and Execution Application

• At the end of the DOP, NASDAQ’s “IPO Cross Application” analyzes all of the buy and sell orders to determine the price at which the largest number of shares will trade and then NASDAQ’s matching engine matches buy and sell orders at that price. Usually takes 1-2 ms

• NASDAQ allowed orders to be cancelled at any time up until the end of the DOP – including the very brief interval during which the IPO cross price is calculated. After calculation is completed the system performed orders validation check between ME and “IPO Cross Application”. If any of the orders were cancelled after the start of the cross, the system will have to repeat the calculation

40

Page 41: Exactpro Training: Defects and Feelings

Facebook IPO

• Over 496k orders participated in the cross and its duration exceeded 20ms

• Order cancellation arrived during this period and application had to repeat the calculation. Two more cancellations arrived during the second iteration and four more during the third

• IPO Cross Application went into infinite loop at 11:05

• NASDAQ team switched off validation check on the secondary system and performed failover 25 minutes after the start of the loop

• Unknown at that moment 38k orders submitted between 11:11 and 11:30 were stuck and had not participated in the uncross. It created another discrepancy, this time with Execution App and Members who were not able to receive confirmation for orders executed in the cross until 13:50

41

Page 42: Exactpro Training: Defects and Feelings

Принципы тестирования

• Нельзя обнять необъятное

• Раньше сядешь, раньше выйдешь

• Все что нас не убивает делает нас сильнее

• Примерами ничего ни доказать, ни опровергнуть нельзя

• Беда не приходит одна

• У кого щи жидки, а у кого бриллианты мелки

• Дала не кайся, легла не ворочайся

• Ничто не бывает без причины

• Плохо танцующему - всегда брюки широки

• Порядок бьет класс

• Практика - критерий истины

42

Page 43: Exactpro Training: Defects and Feelings

Brokerage System

43

Page 44: Exactpro Training: Defects and Feelings

Knight Capital Events

• 1 August 2012, USA

• Knight Capital – one of the most successful HFT firms

• Implemented changes related to Retail Liquidity Program в NYSE

• SMARS – ultra-fast order router

• Source code responsible for the legacy functionality PowerPeg

• 212 parent orders, millions child orders

• Accumulated loss – $460m or $170k/sec

• Incorrectly configured risk systems

• Deployment on 7 servers instead of 8…

44

Page 45: Exactpro Training: Defects and Feelings

Спасибо

45

Вопросы и Ответы?