studentkonferens 2015 1 + 1 = 1 (the omegapoint way)
TRANSCRIPT
1 + 1 = 1Test + Development = The Omegapoint Way
Bobby Sanghera & Daniel DeogunTwitter: @DanielDeogun
LinkedIn: linkedin.com/in/bobbysinghsanghera
About Us…
Daniel Deogun Bobby Sanghera
Omegapoint Stockholm - Gothenburg - Malmoe - Umea - New York
Equity Fund Account Case
• A bank offers its customers the service of investing in stock through equity accounts
• Each account may target specific types of stock, e.g. only fair trade companies in Africa
• An account may only include stock satisfying the account limitations
• A customer may have multiple accounts
• Each account may have different risks
• Assignment: Write an application service allowing customers to trade stocks
[1] http://upload.wikimedia.org/wikipedia/commons/4/4c/Emblem-money.pngBy Spider death (Own work) [CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
[1]
Equity Fund Account Case
• Test data • Account 1 may only include stock A, B, C, D, E • Account 2 may only include stock D, F, G • Account 3 may only include stock A, C, D, E
[1] http://upload.wikimedia.org/wikipedia/commons/4/4c/Emblem-money.pngBy Spider death (Own work) [CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
[1]
Build Pipeline
Compile Unit tests Component tests
Manual System
testsCompile Unit tests Component
tests
Manual System
tests
Build Failed!
Test Interpretation
• Pre-condition Select customer X with equity account 1 & 3 Select account 3
• Testcase Step 1: Select stock A Step 2: Choose TRADE 50% Step 3: Confirm
• Expected Result 50% of the value of stock A in account 3 is traded Account 1 is untouched.
Developer Interpretation
• Accounts Each account is a portfolio of risk Each stock should be distributed among the accounts according to the risk chosen by the customer
• Assumptions Customer X has 100 stock of type A 30% of stock A is placed in account 1 70% of stock A is placed in account 3
• Test Execute Trade 50% of stock A => 50 stock A should be traded Expected Result 30% of stock A resides in account 1 => 15 stock A Expected Result 70% of stock A resides in account 3 => 35 stock A
Analysis
https://flic.kr/p/5aghr9
Equity Fund Account Case
• A bank offers its customers the service of investing in stock through equity accounts
• Each account may target specific types of stock, e.g. only fair trade companies in Africa
• An account may only include stock satisfying the account limitations
• A customer may have multiple accounts
• Each account may have different risks
• Assignment: Write an application service allowing customers to trade stocks
[1] http://upload.wikimedia.org/wikipedia/commons/4/4c/Emblem-money.pngBy Spider death (Own work) [CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
[1]
Analysis
No common understanding
Focus on independence
Ambiguous requirements
Parallel work to ensure time efficiency
Stop Fumbling in the Dark…
https://flic.kr/p/9J6ZYG
The old problem we always try to solve
Cost for solving bugs
Time elapsed
HOW?
Our savior?
http://martinfowler.com/books/continuousDelivery.html
bugs are still expensive
Cost for solving bugs
Time elapsed
observation -collaboration
DDD modeling
Pair programming
Pen test collaboration
The Omegapoint Way
https://flic.kr/p/68hEqK
Biggest Bang for the Buck
[2]
[2] https://www.flickr.com/photos/teddylambec/3581134792/
Time
Cost
Quality
Different Roles
• Developers still need to develop code
• Testers still need to develop tests
• However, we both want to develop software that is quality assured!
Strategic Development
Continuously analyze risks
Tactical testing
See the whole map
Logic review
Bugs
[3] https://www.flickr.com/photos/joealterio/3154810970/
our new savior!
Cost for solving bugs
Time elapsed
+
Why isn’t the Omegapoint way the standard way?
Culture
Not objective
Overall cost
overall effects?
Team constellations
Productivity
Quality
Overall cost
Q & A
https://flic.kr/p/9ksxQa