DEV & QA
*Quality Assurance
Slides: j.mp/dev-and-qa
DEV QA
[ PLAN ]
[ PLAN ]
1/ Different steps
α/ A few words
β/ On the graph
1/ Different steps
α/ A few words
γ/ MTP status
β/ On the graph
[ PLAN ]
1/ Different steps
2/ Summary
α/ A few words
γ/ MTP status
β/ On the graph
[ PLAN ]
[ Different steps ]
[ Development phase ]
[ Different steps ]
[ Steps ● Development phase ]
Source control
Source control ●
[ Source control @ MTP ]
[ Steps ● Development phase ]
Code quality rules
● Exception monitoring
Code quality rules ●
[ Code quality rules @MTP ]
[ Steps ● Development phase ]
Code reviews
Code reviews ●
[ Code reviews @ MTP ]
[ Steps ● Development phase ]
Code analysis
● Code analysis
[ Code analysis @ MTP ]
[ Steps ● Development phase ]
Automated testing
Automated testing ●
[ Automated testing @ MTP ]
[ Steps ● Development phase ]
Continuous integration
Continuous integration ●
[ Continuous integration @ MTP ]
[ Deployment phase ]
[ Different steps ]
[ Steps ● Deployment phase ]
Release management
Release management ●
[ Release management @ MTP ]
[ Steps ● Deployment phase ]
Smoke tests
● Smoke tests
[ Smoke tests @ MTP ]
[ Steps ● Deployment phase ]
Rollbacks
● Rollbacks
[ Rollbacks @ MTP ]
[ Validation phase ]
[ Different steps ]
[ Steps ● Validation phase ]
Manual testing
Manual testing ●
[ Manual testing @ MTP ]
[ Steps ● Validation phase ]
Platform/device testing
Platform/device testing ●
[ Platform/device testing @ MTP ]
[ Steps ● Validation phase ]
Acceptance testing
● Acceptance testing
[ Acceptance testing @ MTP ]
[ Steps ● Validation phase ]
Usability testing
Usability testing ●
[ Usability testing @ MTP ]
[ Operation phase ]
[ Different steps ]
[ Steps ● Operation phase ]
Exception monitoring
● Exception monitoring
[ Exception monitoring @ MTP ]
[ Steps ● Operation phase ]
Performance monitoring
● Performance monitoring
[ Performance monitoring @ MTP ]
[ Steps ● Operation phase ]
Resources monitoring
Resources monitoring ●
[ Resources monitoring @ MTP ]
[ Steps ● Operation phase ]
Security monitoring
Security monitoring ●
[ Security monitoring @ MTP ]
[ Last but not least... ]
[ Different steps ]
[ Steps ● Validation phase ]
Help desk & support
Help desk & support ●
[ Help desk & support @ MTP ]
[ Summary ]
[ The complete graph ]
[ Summary ]
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 ●
[ The glue ]
➡ Issue tracker
[ Different steps ]
● Github ("Source control" + issues manually entered)
● Sentry ("Exception monitoring")
● Mails ("Resouces monitoring")
● Slack ("Specifications")
[ Timeline ]
[ Summary ]
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
[ Conclusion ]
[ The Joel test ]
[ Conclusion ]
● 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?
[ Quality VS Goals ]
[ Conclusion ]
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?
[ I don't get it ]
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
[ Goals ]
[ Thanks ]
[ Links ]
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/
Dev & QA
By Twidi - S. Angel
Dev & QA
- 2,175