technical testing introduction

11
Technical Testing Alexey Zverev EXTENT February 2011

Upload: extentconf-tsoy

Post on 13-Nov-2014

248 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Technical Testing Introduction

Technical Testing

Alexey Zverev

EXTENT February 2011

Page 2: Technical Testing Introduction

Contents

• Technical Testing

• Our world of trading systems

• Approach – Performance Testing

• Approach – Stability Testing

• Approach – Operability Testing

• Approach – Debugging

• Tasks – Test Tools

• Tasks – Test Preparation/Load Shape

• Tasks – Test Execution

• Tasks – Result analysis

Page 3: Technical Testing Introduction

Technical Testing

• Technical Testing or NFT – Validation of Non-functional Requirements

• Performance• Stability• Operability

• These requirements are usually applied to complex distributed server

applications– Supports many interactive users – Processing high volume of data coming from and disseminated to several

sources

• Example: Web Sites or Web Services

• Our world – Trading Systems, Exchanges, SOR, DMS, Brokerage, Trading

Desks

Page 4: Technical Testing Introduction

Our world of Trading Systems

TradingSystem

Broker/Trader

Market Data Provider

Downstream Systems

ALGO

Bad ALGO

DMA/OMS

SOR

Transaction StorageBackofficePost Trade

Market Data Distributor

Page 5: Technical Testing Introduction

The Approach to Performance Testing

• Load Test – Emulate load– Measure KPIs (Latency, Throughput, Capacity)– Determine the load, under which the KPIs become worse than required

• Stress Test– Emulate extreme load– Monitor system behaviour– Ensure that we sustain it

• Soak Test (Long Running Test)– Emulate load for a long time– Check whether we have any deterioration

Page 6: Technical Testing Introduction

Approach

• Stability Testing – Apply Load

• kill• unplug• do something crazy

– Operability Testing• Manage the environment

– Debugging• Help developers identify issues• Complex vs. Simple load

Page 7: Technical Testing Introduction

Tasks Test Tools

• Load injector

• PCAP analyzer

• These are some of the most essential pieces of any NFT project: – Correctly emulate the connections, implement protocol, use API– Make sure that KPI measurements are valid and accurate– Make sure that a tool does not experience performance issues itself and

doesn’t influence KPI measurements– Developers whose application you are testing will blame your tools! You

will require a proof of your figures based on valid sources (as the developers think)

Page 8: Technical Testing Introduction

Tasks Test Preparation Load Shape

• Live production system is the ultimate source of information

Page 9: Technical Testing Introduction

Tasks Test Execution

• Automated system restart and test execution is a good idea

• Our system is a complex look at what’s going on

• Be ready to run tests again and again

Page 10: Technical Testing Introduction

Tasks Result Analysis

• Monitoring hardware reconciles your latency and hardware results

• Be ready to advocate test results

• Perform in-depth analysis

• Make sure results are repeatable – unicorns are non-existent– Most of your odd results are probably invalid test runs

Page 11: Technical Testing Introduction

Questions & Answers

Thank you.