SlideShare a Scribd company logo
1 of 45
О чувствах и ошибках
Иосиф Иткин, Кострома
31 января 2014
Содержание
• Чувства
• Свинство

• Пословицы и поговорки
• Книжка
• Ошибки

2
Bugs Have Feelings Too

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

3
Bugs Have Feelings Too

4
Bugs Have Feelings Too

5
Bugs Have Feelings Too

6
Bugs Have Feelings Too

7
Bugs Have Feelings Too

8
Bugs Have Feelings Too

9
Bugs Have Feelings Too

10
Bugs Have Feelings Too

11
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.

Writing Effective Defect Reports, Kelly Whitmill, IBM Printing Systems Division
https://www.stickyminds.com/sites/default/files/article/file/2012/XDD3655filelistfilename1_0.pdf

12
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
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
Пословицы
1. Краткость – сестра таланта: Говорим и пишем понятно и покороче.
2. «Давайте не будем нервничать и неспеша во всем разберемся»: Это правда дефект
или неверно интерпретированное нами требование из документа, или «просто» сами
забыли что-то подключить, и т.д.?
3. Смех без причины – признак известно чего: Только факты. Не надо сарказма, юмора и
эмоций.
4. Берём быка за рога: Без ненужных предисловий – в чем именно проблема?
5. Вот где собака зарыта: Что было сделано, чтобы понять что проблема именно здесь?
6. За деревьями леса не увидели: Может быть наша проблема гораздо шире?
7. Спрятал концы в воду: Что необходимо сделать, чтобы вызвать проблему и
воспроизвести её (среда, шаги, условия)?
8. Гроша ломаного не стоит: Почему плохо от этого будет конечному пользователю? Как
это сказывается на тестировании? «Продайте» найденный вами дефект.
9. Лучше один раз увидеть, чем сто раз услышать: Что разработчику нужно, чтобы понять
причину проблемы (логи, картинки, видео-файл, доступ, и т.д.)
10. Доверяй, но проверяй: Документация есть, где написано, как должно работать?
Процитируйте её и дайте на неё ссылку.

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

16
Patriot Software Bug
Для хранения времени использовалось 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 метров

17
Patriot Software Bug

18
Patriot Software Bug

19
Patriot Software Bug

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

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

22
Latency Measurement Discrepancies

23
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
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
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
Limit Order Book

27
Limit Order Book

28
Limit Order Book

29
Limit Order Book

30
Price Boundaries

31
Price Boundaries

32
Price Boundaries

33
Price Boundaries

34
Circuit Breaker

35
Circuit Breaker

36
Circuit Breaker

37
Circuit Breaker

38
Circuit Breaker

39
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
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
Принципы тестирования
• Нельзя обнять необъятное
• Раньше сядешь, раньше выйдешь
• Все что нас не убивает делает нас сильнее
• Примерами ничего ни доказать, ни опровергнуть нельзя

• Беда не приходит одна
• У кого щи жидки, а у кого бриллианты мелки
• Дала не кайся, легла не ворочайся
• Ничто не бывает без причины
• Плохо танцующему - всегда брюки широки
• Порядок бьет класс
• Практика - критерий истины

42
Brokerage System

43
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
Спасибо

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

More Related Content

Viewers also liked

Lightweight Static Analysis for Data Race Detection in Operating System Kernels
Lightweight Static Analysis for Data Race Detection in Operating System KernelsLightweight Static Analysis for Data Race Detection in Operating System Kernels
Lightweight Static Analysis for Data Race Detection in Operating System KernelsIosif Itkin
 
RSTQB Presentation about ISTQB Agile Tester during TMPA-2014:
RSTQB Presentation about ISTQB Agile Tester during TMPA-2014: RSTQB Presentation about ISTQB Agile Tester during TMPA-2014:
RSTQB Presentation about ISTQB Agile Tester during TMPA-2014: Iosif Itkin
 
Alias Calculus for a Simple Imperative Language with Decidable Pointer Arithm...
Alias Calculus for a Simple Imperative Language with Decidable Pointer Arithm...Alias Calculus for a Simple Imperative Language with Decidable Pointer Arithm...
Alias Calculus for a Simple Imperative Language with Decidable Pointer Arithm...Iosif Itkin
 
Delivering Large Post-Trade Initiatives: Quality Assurance and Key Challenges
Delivering Large Post-Trade Initiatives:  Quality Assurance and Key ChallengesDelivering Large Post-Trade Initiatives:  Quality Assurance and Key Challenges
Delivering Large Post-Trade Initiatives: Quality Assurance and Key ChallengesIosif Itkin
 
Reconciliation Testing Aspects of Trading Systems Software Failures
Reconciliation Testing Aspects of Trading Systems Software FailuresReconciliation Testing Aspects of Trading Systems Software Failures
Reconciliation Testing Aspects of Trading Systems Software FailuresIosif Itkin
 
Exactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in KostromaExactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in KostromaIosif Itkin
 
Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)
Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)
Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)Iosif Itkin
 
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...Iosif Itkin
 
TMPA-2013 Smirnov
TMPA-2013 SmirnovTMPA-2013 Smirnov
TMPA-2013 SmirnovIosif Itkin
 
TMPA-2013 Sharov: Client Certification
TMPA-2013 Sharov: Client CertificationTMPA-2013 Sharov: Client Certification
TMPA-2013 Sharov: Client CertificationIosif Itkin
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...Iosif Itkin
 
TMPA-2013 Keynote: Zakharov Obfuscation
TMPA-2013 Keynote: Zakharov ObfuscationTMPA-2013 Keynote: Zakharov Obfuscation
TMPA-2013 Keynote: Zakharov ObfuscationIosif Itkin
 
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...Iosif Itkin
 
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...Iosif Itkin
 
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...Iosif Itkin
 
TMPA-2015: Automated process of creating test scenarios for financial protoco...
TMPA-2015: Automated process of creating test scenarios for financial protoco...TMPA-2015: Automated process of creating test scenarios for financial protoco...
TMPA-2015: Automated process of creating test scenarios for financial protoco...Iosif Itkin
 
TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...
TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...
TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...Iosif Itkin
 
TMPA-2015: Kotlin: From Null Dereference to Smart Casts
TMPA-2015: Kotlin: From Null Dereference to Smart CastsTMPA-2015: Kotlin: From Null Dereference to Smart Casts
TMPA-2015: Kotlin: From Null Dereference to Smart CastsIosif Itkin
 
Exactpro Systems High Level Overview January 2014
Exactpro Systems High Level Overview January 2014Exactpro Systems High Level Overview January 2014
Exactpro Systems High Level Overview January 2014Iosif Itkin
 
TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...
TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...
TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...Iosif Itkin
 

Viewers also liked (20)

Lightweight Static Analysis for Data Race Detection in Operating System Kernels
Lightweight Static Analysis for Data Race Detection in Operating System KernelsLightweight Static Analysis for Data Race Detection in Operating System Kernels
Lightweight Static Analysis for Data Race Detection in Operating System Kernels
 
RSTQB Presentation about ISTQB Agile Tester during TMPA-2014:
RSTQB Presentation about ISTQB Agile Tester during TMPA-2014: RSTQB Presentation about ISTQB Agile Tester during TMPA-2014:
RSTQB Presentation about ISTQB Agile Tester during TMPA-2014:
 
Alias Calculus for a Simple Imperative Language with Decidable Pointer Arithm...
Alias Calculus for a Simple Imperative Language with Decidable Pointer Arithm...Alias Calculus for a Simple Imperative Language with Decidable Pointer Arithm...
Alias Calculus for a Simple Imperative Language with Decidable Pointer Arithm...
 
Delivering Large Post-Trade Initiatives: Quality Assurance and Key Challenges
Delivering Large Post-Trade Initiatives:  Quality Assurance and Key ChallengesDelivering Large Post-Trade Initiatives:  Quality Assurance and Key Challenges
Delivering Large Post-Trade Initiatives: Quality Assurance and Key Challenges
 
Reconciliation Testing Aspects of Trading Systems Software Failures
Reconciliation Testing Aspects of Trading Systems Software FailuresReconciliation Testing Aspects of Trading Systems Software Failures
Reconciliation Testing Aspects of Trading Systems Software Failures
 
Exactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in KostromaExactpro Systems for KSTU Students in Kostroma
Exactpro Systems for KSTU Students in Kostroma
 
Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)
Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)
Trading Day Logs Replay at TMPA-2014 (Trading Systems Testing)
 
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...
TMPA-2013 Zhuravlev: Data Migration between DBMS Using Cryptographic Hash Fun...
 
TMPA-2013 Smirnov
TMPA-2013 SmirnovTMPA-2013 Smirnov
TMPA-2013 Smirnov
 
TMPA-2013 Sharov: Client Certification
TMPA-2013 Sharov: Client CertificationTMPA-2013 Sharov: Client Certification
TMPA-2013 Sharov: Client Certification
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
 
TMPA-2013 Keynote: Zakharov Obfuscation
TMPA-2013 Keynote: Zakharov ObfuscationTMPA-2013 Keynote: Zakharov Obfuscation
TMPA-2013 Keynote: Zakharov Obfuscation
 
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
TMPA-2013 Senov: Applying OLAP and MapReduce Technologies for Performance Tes...
 
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
 
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
TMPA-2015: The Application of Static Analysis to Optimize the Dynamic Detecti...
 
TMPA-2015: Automated process of creating test scenarios for financial protoco...
TMPA-2015: Automated process of creating test scenarios for financial protoco...TMPA-2015: Automated process of creating test scenarios for financial protoco...
TMPA-2015: Automated process of creating test scenarios for financial protoco...
 
TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...
TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...
TMPA-2015: The Verification of Functional Programs by Applying Statechart Dia...
 
TMPA-2015: Kotlin: From Null Dereference to Smart Casts
TMPA-2015: Kotlin: From Null Dereference to Smart CastsTMPA-2015: Kotlin: From Null Dereference to Smart Casts
TMPA-2015: Kotlin: From Null Dereference to Smart Casts
 
Exactpro Systems High Level Overview January 2014
Exactpro Systems High Level Overview January 2014Exactpro Systems High Level Overview January 2014
Exactpro Systems High Level Overview January 2014
 
TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...
TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...
TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...
 

Similar to Exactpro Training: Defects and Feelings

Микросервисы: первая кровь
Микросервисы: первая кровьМикросервисы: первая кровь
Микросервисы: первая кровьМаксим Сячин
 
Систематизированный подход к поиску и устранению неисправностей
Систематизированный подход к поиску и устранению неисправностейСистематизированный подход к поиску и устранению неисправностей
Систематизированный подход к поиску и устранению неисправностейCisco Russia
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективыBoris Volfson
 
Делимся опытом: как мы оптимизировали тестирование крупного проекта за 3 месяца
Делимся опытом: как мы оптимизировали тестирование крупного проекта за 3 месяцаДелимся опытом: как мы оптимизировали тестирование крупного проекта за 3 месяца
Делимся опытом: как мы оптимизировали тестирование крупного проекта за 3 месяцаSQALab
 
Так говорят программисты
Так говорят программистыТак говорят программисты
Так говорят программистыprigarov
 
Управление изменениями в сложных информационных системах
 Управление изменениями в сложных информационных системах  Управление изменениями в сложных информационных системах
Управление изменениями в сложных информационных системах Valery Bychkov
 
"Тестирование распределенных систем" Сатарин Андрей, Яндекс
"Тестирование распределенных систем" Сатарин Андрей, Яндекс"Тестирование распределенных систем" Сатарин Андрей, Яндекс
"Тестирование распределенных систем" Сатарин Андрей, Яндексit-people
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаIgor Lyubin
 
Аналитическая викторина
Аналитическая викторинаАналитическая викторина
Аналитическая викторинаKathryn Iva
 
IATE Lecture 3: Quality Assurance for Highload Systems
IATE Lecture 3: Quality Assurance for Highload SystemsIATE Lecture 3: Quality Assurance for Highload Systems
IATE Lecture 3: Quality Assurance for Highload SystemsIosif Itkin
 
Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Denis Petelin
 
Test Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизацииTest Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизацииAndrey Rebrov
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 
Как заводить баги понятно всем
Как заводить баги понятно всемКак заводить баги понятно всем
Как заводить баги понятно всемSQALab
 
Юлія Свістун "From distributed to collocated team" Lviv Project Management Da...
Юлія Свістун "From distributed to collocated team" Lviv Project Management Da...Юлія Свістун "From distributed to collocated team" Lviv Project Management Da...
Юлія Свістун "From distributed to collocated team" Lviv Project Management Da...Lviv Startup Club
 
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...TrueConf__
 
Lean вокруг нас
Lean вокруг насLean вокруг нас
Lean вокруг насIrina Teteruk
 
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)Ontico
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - ТестированиеYandex
 

Similar to Exactpro Training: Defects and Feelings (20)

Микросервисы: первая кровь
Микросервисы: первая кровьМикросервисы: первая кровь
Микросервисы: первая кровь
 
Систематизированный подход к поиску и устранению неисправностей
Систематизированный подход к поиску и устранению неисправностейСистематизированный подход к поиску и устранению неисправностей
Систематизированный подход к поиску и устранению неисправностей
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективы
 
Делимся опытом: как мы оптимизировали тестирование крупного проекта за 3 месяца
Делимся опытом: как мы оптимизировали тестирование крупного проекта за 3 месяцаДелимся опытом: как мы оптимизировали тестирование крупного проекта за 3 месяца
Делимся опытом: как мы оптимизировали тестирование крупного проекта за 3 месяца
 
Так говорят программисты
Так говорят программистыТак говорят программисты
Так говорят программисты
 
Управление изменениями в сложных информационных системах
 Управление изменениями в сложных информационных системах  Управление изменениями в сложных информационных системах
Управление изменениями в сложных информационных системах
 
"Тестирование распределенных систем" Сатарин Андрей, Яндекс
"Тестирование распределенных систем" Сатарин Андрей, Яндекс"Тестирование распределенных систем" Сатарин Андрей, Яндекс
"Тестирование распределенных систем" Сатарин Андрей, Яндекс
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
Аналитическая викторина
Аналитическая викторинаАналитическая викторина
Аналитическая викторина
 
IATE Lecture 3: Quality Assurance for Highload Systems
IATE Lecture 3: Quality Assurance for Highload SystemsIATE Lecture 3: Quality Assurance for Highload Systems
IATE Lecture 3: Quality Assurance for Highload Systems
 
Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008
 
Test Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизацииTest Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизации
 
Scrum Wars
Scrum WarsScrum Wars
Scrum Wars
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Как заводить баги понятно всем
Как заводить баги понятно всемКак заводить баги понятно всем
Как заводить баги понятно всем
 
Юлія Свістун "From distributed to collocated team" Lviv Project Management Da...
Юлія Свістун "From distributed to collocated team" Lviv Project Management Da...Юлія Свістун "From distributed to collocated team" Lviv Project Management Da...
Юлія Свістун "From distributed to collocated team" Lviv Project Management Da...
 
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...
 
Lean вокруг нас
Lean вокруг насLean вокруг нас
Lean вокруг нас
 
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - Тестирование
 

More from Iosif Itkin

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Iosif Itkin
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...Iosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesIosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolIosif Itkin
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresIosif Itkin
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday SeasonIosif Itkin
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AIIosif Itkin
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresIosif Itkin
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...Iosif Itkin
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiIosif Itkin
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenIosif Itkin
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...Iosif Itkin
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...Iosif Itkin
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)Iosif Itkin
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop TestingIosif Itkin
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in ReviewIosif Itkin
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyIosif Itkin
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesIosif Itkin
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)Iosif Itkin
 

More from Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 

Exactpro Training: Defects and Feelings

  • 1. О чувствах и ошибках Иосиф Иткин, Кострома 31 января 2014
  • 2. Содержание • Чувства • Свинство • Пословицы и поговорки • Книжка • Ошибки 2
  • 3. Bugs Have Feelings Too http://cartoontester.blogspot.ru/2010/03/bug-advocacy.html 3
  • 12. 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. Writing Effective Defect Reports, Kelly Whitmill, IBM Printing Systems Division https://www.stickyminds.com/sites/default/files/article/file/2012/XDD3655filelistfilename1_0.pdf 12
  • 13. 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
  • 14. 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
  • 15. Пословицы 1. Краткость – сестра таланта: Говорим и пишем понятно и покороче. 2. «Давайте не будем нервничать и неспеша во всем разберемся»: Это правда дефект или неверно интерпретированное нами требование из документа, или «просто» сами забыли что-то подключить, и т.д.? 3. Смех без причины – признак известно чего: Только факты. Не надо сарказма, юмора и эмоций. 4. Берём быка за рога: Без ненужных предисловий – в чем именно проблема? 5. Вот где собака зарыта: Что было сделано, чтобы понять что проблема именно здесь? 6. За деревьями леса не увидели: Может быть наша проблема гораздо шире? 7. Спрятал концы в воду: Что необходимо сделать, чтобы вызвать проблему и воспроизвести её (среда, шаги, условия)? 8. Гроша ломаного не стоит: Почему плохо от этого будет конечному пользователю? Как это сказывается на тестировании? «Продайте» найденный вами дефект. 9. Лучше один раз увидеть, чем сто раз услышать: Что разработчику нужно, чтобы понять причину проблемы (логи, картинки, видео-файл, доступ, и т.д.) 10. Доверяй, но проверяй: Документация есть, где написано, как должно работать? Процитируйте её и дайте на неё ссылку. 15
  • 16. Patriot Software Bug 25 февраля 1991 года, Дахран, Саудовская Аравия Батарея Патриот не стала сбивать ракету Scud Попадание в казарму привело к гибели 28 человек Около 97 человек получили ранения Расследование обнаружило ошибку в ПО 16
  • 17. Patriot Software Bug Для хранения времени использовалось 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 метров 17
  • 21. Patriot Software Bug 25 февраля 1991 года, Дахран, Саудовская Аравия Сообщение об ошибке 11 февраля Ответ – это не баг а фича Workaround рестартовать каждые 8 часов Рестарт 60 – 90 секунд Исправление готово 16 февраля Доставка обновлений в Дахран 26 февраля 21
  • 22. На что это похоже? 22
  • 24. 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
  • 25. 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
  • 26. 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
  • 40. 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
  • 41. 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
  • 42. Принципы тестирования • Нельзя обнять необъятное • Раньше сядешь, раньше выйдешь • Все что нас не убивает делает нас сильнее • Примерами ничего ни доказать, ни опровергнуть нельзя • Беда не приходит одна • У кого щи жидки, а у кого бриллианты мелки • Дала не кайся, легла не ворочайся • Ничто не бывает без причины • Плохо танцующему - всегда брюки широки • Порядок бьет класс • Практика - критерий истины 42
  • 44. 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