Hur kommer det sig att vissa problem »bara» uppstår i produktion? Är det slarviga utvecklare eller lata testare som är roten till det onda? Så kan det vara men vi tror inte det. Istället anser vi att det är ett generellt feltänk kring hur testare och utvecklare arbetar som är problemet. I den här sessionen kommer vi därför att utmana den klassiska modellen och visa hur vi anser testare och utvecklare bör samarbeta för att bygga högkvalitativ mjukvara.
Talare: Daniel Deogun & Bobby Sanghera
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Bank equity trading app with account restrictions
1. 1 + 1 = 1
Test + Development = The Omegapoint Way
Bobby Sanghera & Daniel Deogun
Twitter: @DanielDeogun
LinkedIn: linkedin.com/in/bobbysinghsanghera
2. About Us…
Daniel Deogun Bobby Sanghera
Omegapoint
Stockholm - Gothenburg - Malmoe - Umea - New York
3. 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.png
By Spider death (Own work) [CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
[1]
4. 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.png
By Spider death (Own work) [CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
[1]
5. Build Pipeline
Compile Unit tests
Component
tests
Manual
System
tests
Compile Unit tests
Component
tests
Manual
System
tests
Build Failed!
6. 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.
7. 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
9. 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.png
By Spider death (Own work) [CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
[1]
18. Biggest Bang for the
Buck
[2]
[2] https://www.flickr.com/photos/teddylambec/3581134792/
Time
Cost
Quality
19. 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!