10x test coverage, less drama: shift left functional & performance testing
TRANSCRIPT
1
10x Test Coverage, Less Drama: Shift Left
Functional & Performance Testing
Dave Karow, Developer Advocate – BlazeMeter
Leo Laskin, Senior Solutions Architect – Sauce Labs
3
Poll Questions Coming Up – Let’s Define Shift Left First
Shifting left means starting testing earlier in the development cycle and writing those early tests
in the same small team that is developing the code.
Put another way, shifting left means not waiting for a “hand-off” of specifications or code to a
separate group or waiting until developers think they are “done” with a sprint or release.
Shift left eliminates surprises where fundamental problems are found late in the process.
Shift left reinforces the definition of “done” being when a story has been delivered as properly
functioning code that performs to expectations.
4
Test Coverage @ Speed
+20%
Better Tools
Increased Efficiency
To achieve SUPERIOR TEST COVERAGE we must TEST MORE
HOW?
+1000%
Shift Left
Superior Test Coverage
5
“Shift Left” Vision
As code is committed
tests specific to that code run automatically
and developers get instant feedback,
so the entire team always knows the state of the code,
and bugs get fixed before anyone declares “done”
6
Shift Left Means Start At The Very Beginning…
SHIFT LEFT SHIFT RIGHT
DELIVERY
CONTINUOUS TESTING
CODE BUILD PRODUCTION
7
Before Shifting Left
Feature #1Development time
Feature #2 Development Time
Feature #3 Development Time
Feature #1Functional & Regression Testing
Feature #2Functional & Regression
Testing
Feature #1Perf Test
Automation Development
Iteration 3Iteration 2Iteration 1
Iteration 1 “ready” for release
8
Issues Always Pile Up…
Technical debt accumulates
“Release vs quality” tension a constant
Context switch = inefficient thrashing
Automation is an after thought & often abandoned
9
Let’s Try Another Way
Create simple text-based files to define small tests
Store the tests with your code
Run the code and the test on every commit
10
Demo: Build an API Endpoint Test In 3 Minutes
1. Create a template via the Chrome Extension
2. Add a variable, assertion and performance threshold
3. Test it on our desktop
4. Commit, Clone and Repeat
11
After Shifting Left
Feature #1Development time
Feature #2 Development Time
Feature #3 Development Time
Feature #1 Test Development &
Execution
Feature #2 Test Development &
Execution
Feature #3 Test Development &
Execution
Integration Tests = New Feature + Regression + Performance
Shippable Feature !