Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...•...

29
| CALLISTAENTERPRISE.SE AGILE LOAD TESTING BJÖRN BESKOW 2015-01-29

Transcript of Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...•...

Page 1: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

| CALLISTAENTERPRISE.SE

AGILE LOAD TESTING

BJÖRN BESKOW

2015-01-29

Page 2: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

BRIDGING THE GAP

2

Page 3: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

3  

Page 4: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

AGILITY IS WILLINGNESS TO LEARN

“Experience is simply the name we give our mistakes.” Oscar Wilde

Page 5: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

5

QUALITY ASSURANCE PRECEDES QUALITY ASSESSMENT

•  Testing is about Quality Assurance, not just Quality Assessment

•  Quality Assessment only indirectly affects quality

•  Testing reveals information •  Testing helps focus project activity

Page 6: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

6

AGILE TESTING PURPOSES: WHY DO WE TEST?

Source & Copyright: Brian Marick 2007

Functional Tests Story Tests

Exploratory Tests UAT

Unit Tests Component Tests

Performance Tests Security Tests "…ility" Tests

Business Facing

Technology Facing

Supp

ort D

evel

opm

ent

Critique Product

Automated

Automated & Manual

Manual

Tools

Page 7: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

7

Page 8: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

8 Image courtesy Elisabeth Hendrickson, www.qualitytree.com

Page 9: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

9

Page 10: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

WHAT ABOUT NON-FUNCTIONAL ASPECTS?

10

Page 11: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

11

WHAT ABOUT NON-FUNCTIONAL ASPECTS?

Source & Copyright: Brian Marick 2007

Functional Tests Story Tests

Exploratory Tests UAT

Unit Tests Component Tests

Performance Tests Security Tests "…ility" Tests

Business Facing

Technology Facing

Supp

ort D

evel

opm

ent

Critique Product

Automated

Automated & Manual

Manual

Tools

Page 12: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

• What are the real requirements, anyway?

• How can we possibly verify that (in just 2 weeks)? - Data - Load

12

Page 13: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

13

Page 14: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

14

Page 15: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

15

Page 16: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

16

Page 17: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

• Generate sufficient data • Generate sufficient load

AUTOMATION CHALLENGES

24

Page 18: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

•  Historically, Load Testing tools have been complex and expensive -  LoadRunner - Rational Performance Tester - …

•  Lately, they have been challenged by open source alternatives -  Apache JMeter -  LoadUI - Grinder - …

LOAD TESTING TOOLS

25

Page 19: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

JMETER WITH FRIENDS: ISSUE #1 GRAPHICAL USER INTERFACE

26

Page 20: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

Severely affects maintainability

JMETER WITH FRIENDS: ISSUE #1

27

Page 21: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

Clumsy integration with build automation and Continuous

Integration tools

JMETER WITH FRIENDS: ISSUE #1

28

Page 22: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

Blocking I/O

means

1 user = 1 thread

JMETER WITH FRIENDS: ISSUE #2 PERFORMANCE

29

Page 23: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

JMETER WOE: THREADS

30

Page 24: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

JMETER WITH FRIENDS: ISSUE #2 SOLVED?

31

Page 25: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

•  Released in October 2012 •  Now in version 2.0.3 •  Different in 2 significant ways - Domain Specific Language (DSL) for expressing scenarios, instead

of GUI - Uses modern, non-blocking technology (Scala, Akka, Netty), which

means generating sufficient load on a single machine suddenly becomes feasible

GATLING.IO

32

Page 26: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

GATLING TO THE RESCUE!

33

Page 27: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

34

NON-FUNCTIONAL ASPECTS …

Source & Copyright: Brian Marick 2007

Functional Tests Story Tests

Exploratory Tests UAT

Unit Tests Component Tests

Performance Tests Security Tests "…ility" Tests

Business Facing

Technology Facing

Supp

ort D

evel

opm

ent

Critique Product

Automated

Automated & Manual

Manual

Tools

Page 28: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

35

… SHOULD BE DONE PROACTIVELY AS WELL!

Source & Copyright: Brian Marick 2007

Functional Tests Story Tests

Exploratory Tests UAT

Unit Tests Component Tests Performance Tests

Performance Tests Security Tests "…ility" Tests

Business Facing

Technology Facing

Supp

ort D

evel

opm

ent

Critique Product

Automated

Automated & Manual

Manual

Tools

Page 29: Agile Load Testing - Callista Enterprisebeta.callistaenterprise.se/assets/presentationer/cadec...• Historically, Load Testing tools have been complex and expensive - LoadRunner -

36

TIME FOR QUESTIONS!