![Page 1: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/1.jpg)
| CALLISTAENTERPRISE.SE
AGILE LOAD TESTING
BJÖRN BESKOW
2015-01-29
![Page 2: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/2.jpg)
BRIDGING THE GAP
2
![Page 3: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/3.jpg)
3
![Page 4: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/4.jpg)
AGILITY IS WILLINGNESS TO LEARN
“Experience is simply the name we give our mistakes.” Oscar Wilde
![Page 5: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/5.jpg)
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 Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/6.jpg)
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 Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/7.jpg)
7
![Page 8: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/8.jpg)
8 Image courtesy Elisabeth Hendrickson, www.qualitytree.com
![Page 9: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/9.jpg)
9
![Page 10: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/10.jpg)
WHAT ABOUT NON-FUNCTIONAL ASPECTS?
10
![Page 11: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/11.jpg)
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 Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/12.jpg)
• 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 Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/13.jpg)
13
![Page 14: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/14.jpg)
14
![Page 15: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/15.jpg)
15
![Page 16: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/16.jpg)
16
![Page 17: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/17.jpg)
• Generate sufficient data • Generate sufficient load
AUTOMATION CHALLENGES
24
![Page 18: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/18.jpg)
• 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 Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/19.jpg)
JMETER WITH FRIENDS: ISSUE #1 GRAPHICAL USER INTERFACE
26
![Page 20: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/20.jpg)
Severely affects maintainability
JMETER WITH FRIENDS: ISSUE #1
27
![Page 21: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/21.jpg)
Clumsy integration with build automation and Continuous
Integration tools
JMETER WITH FRIENDS: ISSUE #1
28
![Page 22: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/22.jpg)
Blocking I/O
means
1 user = 1 thread
JMETER WITH FRIENDS: ISSUE #2 PERFORMANCE
29
![Page 23: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/23.jpg)
JMETER WOE: THREADS
30
![Page 24: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/24.jpg)
JMETER WITH FRIENDS: ISSUE #2 SOLVED?
31
![Page 25: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/25.jpg)
• 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 Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/26.jpg)
GATLING TO THE RESCUE!
33
![Page 27: Agile Load Testing - Callista Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/27.jpg)
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 Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/28.jpg)
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 Enterprise · - Uses modern, non-blocking technology (Scala, Akka, Netty), which means generating sufficient load on a single machine suddenly becomes](https://reader034.vdocument.in/reader034/viewer/2022050304/5f6d171e9c4e525154497fe2/html5/thumbnails/29.jpg)
36
TIME FOR QUESTIONS!