*Quality Assurance
Slides: j.mp/dev-and-qa
Source control ●
● Exception monitoring
Code quality rules ●
Code reviews ●
● Code analysis
Automated testing ●
Continuous integration ●
Release management ●
● Smoke tests
● Rollbacks
Manual testing ●
Platform/device testing ●
● Acceptance testing
Usability testing ●
● Exception monitoring
● Performance monitoring
Resources monitoring ●
Security monitoring ●
Help desk & support ●
Help desk & support ●
Security monitoring ●
Resources monitoring ●
● Performance monitoring
● Exception monitoring
Usability testing ●
● Acceptance testing
Platform/device testing ●
Manual testing ●
● Rollbacks
● Smoke tests
Release management ●
Continuous integration ●
Automated testing ●
● Code analysis
Code reviews ●
Source control ●
Code quality rules ●
● Github ("Source control" + issues manually entered)
● Sentry ("Exception monitoring")
● Mails ("Resouces monitoring")
● Slack ("Specifications")
10.02.15
First Dev1's commit
27.02.15
First work on tests tooling
25.03.15
First Dev2's commit
03.04.15
First Dev3's commit
08.04.15
First Dev4's commit
27.04.15
Tests: 34
Rush BigClientOnVacation
Start rush BigClient2. Mostly no tests during this phase
04.15
06.15
Tests: 0
pre 02.15
20.01.16
First release of the MTP package. Tests: 577
19.02.16
Docket pull request. Tests: 588
12.04.16
Tests: 653
31.10.15
Jenkins for MTP is alive. Tests: 452
25.11.15
Tests: 500
03.01.16
Automatic code analysis on Jenkins. Tests: 540
Start cleaning session
26.10.15
End cleaning session. Tests: 471
09.11.15
~End rush BigClient2
08.15
● Do you use source control?
● Can you make a build in one step?
● Do you make daily builds?
● Do you have a bug database?
● Do you fix bugs before writing new code?
● Do you have an up-to-date schedule?
● Do you have a spec?
● Do programmers have quiet working conditions?
● Do you use the best tools money can buy?
● Do you have testers?
● Do new candidates write code during their interview?
● Do you do hallway usability testing?
What does a product manager do every day?
What does it mean to an engineer that the code is a mess?
What was the designer trying to achieve with that colour change?
We want to communicate the value of the product in the first 5 minutes
We want to see whether customers engage with this new feature
We want to cut down how often our engineers get paged at 3am.
We want the main features to be at most 3 clicks away
A Holistic Approach to Quality -
The big picture
The Joel Test: 12 Steps to Better Code
Let's stop talking about quality
http://blog.samstokes.co.uk/blog/2016/02/24/quality-vs-empathy/