Slide 1

Slide 1 text

ASSURING QUALITY IN BORSA ISTANBUL: From A to Z

Slide 2

Slide 2 text

About Me ›  Head of Enterprise Architecture ›  @IsaGoksu ›  http://github.com/isa

Slide 3

Slide 3 text

I get paid by the code that works, not for the tests

Slide 4

Slide 4 text

Secret  Sauce   ›  Organize It Well ›  Regress It Well ›  Build a Pipeline

Slide 5

Slide 5 text

Organize  It  Well   ›  Habit of having good test cases all the time ›  Have testing pyramid setup ›  Consumer driven contracts for cross-functionality

Slide 6

Slide 6 text

Build  the  Habit   ›  Automated ›  Specification by Examples ›  Early in the Cycle ›  Fast Feedback Loops ›  Simple ›  Not Fragile ›  Truthful

Slide 7

Slide 7 text

Test  Pyramid  

Slide 8

Slide 8 text

Consumer-­‐Driven  Contracts   ›  Design by Contract ›  Write Tests against these contracts ›  Don’t run yourself, just give it

Slide 9

Slide 9 text

Regress  It  Well   ›  Safety net ›  Run Often ›  If needed parallelize it

Slide 10

Slide 10 text

Regressing  Trading  Engine   ›  Full Regression in 67 minutes ›  Fully automated ›  Run 52,567 tests ›  Dynamic Configuration per each-run including securities, sessions, data, etc ›  Various types of securities

Slide 11

Slide 11 text

Some  StaBsBcs  

Slide 12

Slide 12 text

More  on  StaBsBcs   Security Type Total Count Used % Order Type Total Count Used % Total Securities 633 31 4,90% New Order 385.025 33.325 8,66% Order Update 52.558 9.033 17,19% Normal and Fix Price Trade Securities 409 18 4,40% Order Cancel 33.347 4.475 13,42% Warrants 177 6 3,39% Order Split 2.765 162 5,86% Funds 17 5 29,41% Quotation 49.329 5.572 11,30% Certificates 26 2 7,69% Total 523.024 52.567 10,05% Securities with Market Maker 239 19 7,95%

Slide 13

Slide 13 text

Build  a  Pipeline   ›  Virtualization ›  Infrastructure ›  Continuous Delivery Pipeline

Slide 14

Slide 14 text

VirtualizaBon   ›  Time ›  Dynamic provisioning ›  Easily configurable ›  Snapshots

Slide 15

Slide 15 text

Infrastructure   Trading Engine Gateway 6 Gateway 5 Gateway 4 Orders & Transactions Gateway 3 Gateway 2 Client 6 Test Controller Client 5 E-Mail Server Client 4 Log Server Client 3 Client 2 Message Store Client 1 Gateway 1

Slide 16

Slide 16 text

ConBnuous  Delivery  Pipeline   SVN   Compile   Measure   Test   Deploy   Acceptance   Document   Publish   Central   Repository   One Click Deployment

Slide 17

Slide 17 text

Details  

Slide 18

Slide 18 text

Q/A   ? ? ?