Automated verification is becoming increasingly important. Getting a product from idea to customer as fast as possible in a Continuous Delivery, or a Deployment pipeline is crucial in more businesses than ever before. But how do we get a product through that pipe line, with high quality? Kristian will talk about how automated verification can get you there.
16. Pre-merge
● Quick feedback loop
● The total time for the build needs to
be time boxed
● Style checking
● Static code analysis
● Unit tests
● Stable functional tests
● Stable integration tests
● Packaging
17. Post-merge
● All the steps from the pre-review
build
● Longer running functional and
integration tests
● System tests
● Non-functional tests, like:
- resource leaks
- performance
20. The Test
The Test
Data Service
Some Production
Service
Request:
● Premium user
● Not connected to Facebook
● Using feature flag X
Query for user(s) matching
The criterias
List a matching user(s)
Return selected user
Pick one user, and lock it,
Prevent any other test from
using that user.
Time
30. Backend teams
● Backend teams work with smallish micro
services.
● High degree of automation on all parts of the
pipeline.
● No one but the team touches the team’s code.
● They have operational responsibility.
● Few defects found after definition of done.
31. Frontend [mobile & desktop] teams
● Building monoliths
● 200+ people involved
● Low degree of automated verification
● Low testability
● High number of defects are
found after definition of done.
That hurts productivity...
32.
33.
34. Tragedy of the
commons
Individuals acting independently and
rationally according to each other's
self-interest, behave contrary to the
best interests of the whole group
35.
36. What can you do to improve?
● Ways of working are more important than tools
and frameworks.
● Zero bug policy, instead of huge backlog of bugs.
● Pairing and embed
● Everyone writes and maintain
automated verification.
● Testability will require
non-functionality.
● Failed verifications must be
fixed ASAP.
37. Automated verification matters, because it can
● Increase your productivity
● Give you confidence to deliver anytime
● Enable you work with
defect prevention, rather than defect
detection