John Stinson Test Automation In Finance

Post on 05-Aug-2015

444 views 1 download

Tags:

Transcript of John Stinson Test Automation In Finance

• Challenges in Finance• How to Automate

1. Automation Tools2. Getting the Basics Right3. One Size Does Not Fit All4. Build the Team5. Coverage – Science or Craft?6. Get Inside the Code!7. Pick your Arguments8. Incentivise Good Behaviour

Test Automation

John Stinson

Challenges in Finance• Finance IS technology• Complexity is higher than ever before• Mergers have lead to accumulation of systems• Increased regulations have increased pressure• Teams are frequently spread globally• Volumes have increased 20 times since 1995• Latencies have decreased to milliseconds• Proliferation of custom software. Approval to use open-source takes

time.• Operations separated from developers via entitlements• No sharing of information via blogs or social media• Different personalities, some driving automation, some not• Automation may pay off in 2-3 years. Bonus cycle is annual

1) Automation Approaches• Server

– Unit Tests eg JUnit– Fluent Tests eg AssertJ, FEST – Message Record/Replay, eg Rational Integration Tester– Custom Frameworks– BDD: Cucumber Ruby or JVM– Prod Log File Replay

• GUI– Unit Tests – BDD: Specflow – Selenium (Web)– QTP, UFT, TestComplete– Bitmap eg Sikuli

CheaperTo

Maintain

- How easy to Maintain?

2) Get the Basics Right

• Stub the Interfaces!• Lock the Data Down• Sort Out the Environments!

3) One Size Does Not Fit All

Different Approaches for Different Sizes

Statement,Method,Class,

Component

System

Unit/Fluent/BDDMessage Replay,

Custom Framework,BDD

GUI

Google Testing SizesSimon Stewart

Different Approaches for Different Lines of Business

Different Approaches for Different Lifecycle Stages

Cutting Edge Proceed Cautiously

Stable Move Forward

Legacy Handle with Care Focus on Changes or Wrap with Cheap Regression

Dev/BA

BA/QA

BA/QA

Dev/Envt/Auto

Dev/Envt/Auto

Dev/Envt/Auto

Dev/Envt/Auto

Dev/BA

Dev/BA

Dev/BA

Dev in Test

Classic BDD

Developer in Test

Dev/BA

Dev/Envt/Auto

Dev/Envt/Auto

Dev/Envt/Auto

Dev/Envt/Auto

Dev/Envt/Auto

BA

Dev/Envt/Auto

Developer Quality Mentality

Gherkins

Developers automate

Dev in Test

Dedicated automators help

keep paceAutomation focused

Dev lead drives team behaviour

4) Team Models that Work

Devswrite

frame-work Dev in

Test

BA/QA

QAQA checks coverage

5) Coverage

Science or Art?

Science of Coverage

2*12*2*2*2*4*10 = 7680

Understand RiskPerform Exploratory TestingSummarise Coverage to Stakeholders

Art of Coverage

6) Get Inside the Code!

Diff Code to understand risk of late changesView Unit Test Code Coverage in IntellijFind interesting edge cases in C# using PEXAnalyse Dependency Graph in JavaAnalyse Performance with jvisualvm

7) Pick your Arguments

• Teamcity vs Jenkins?• Cucumber Ruby vs Cucumber JVM?• Config Management in SVN or GIT/Stash?• Certain level of unit test Coverage?• Code review process?

8) Incentivise Good Behaviour with Metrics

• What are we trying to achieve?

• How many test scenarios automated out of the manual pack?

• Unit test coverage?• Total time taken to test?• Production defects?