10. Quality Assurance as a general team responsibility
reflected in the team's daily practices to build the right product
(from BA, design, development to deploy and maintain in prod)
11. Quality Assurance as a general team responsibility
reflected in the team's daily practices to build the right product
(from BA, design, development to deploy and maintain in prod)
14. QA = … prevention
Tu run longer, run a bit each day ;)
sports is cheaper than rehab
15. Simplest example of QA Practice…
• Verification
• As a direct check of work planned and expected as done
• ~ do it right according to requirements
• As a part of QA-minded dev process
• Pretty obvious, based requirements
16. Another pretty natural example…
• Verification++ = Automated Verification
• As a direct check of work planned and expected as done
• ~ do it right according to requirements
• As a part of QA-minded dev process
• Obvious, based requirements
18. Price we pay for it?
• Maybe expensive if "too much sports, and less work"
• As a direct check of work planned and expected as done
• ~ do it right according to requirements
• As a part of QA-minded dev process
19. … should be balanced. How? When to stop?
• when we are confident in the acceptable level of quality, i.e. we built the
right software
• are we confident? how to “validate" = assess whether we built the right
software?
➡ 1. ask users (free, risky)
➡ 2. ask testers (paid, reduces risks) Here goes Testing... ;)
20. … should be balanced. How? When to stop?
Maybe you can stop at 0 level;) E.g., on the stage of building a prototype,
you have 0 users. And you might have small budget. So your first answer is
– everything is fine:) No need to do any QA;)
21. … should be balanced. How? When to stop?
• when we are confident in the acceptable level of quality, i.e. we built the
right software
• are we confident? how to “validate" = assess whether we built the right
software?
➡ 1. ask users (free, risky)
➡ 2. ask testers (paid, reduces risks)
➡ Here goes Testing... ;)
23. “Testing” ;)
• as an exploratory measuring quality and sharing results with
stakeholders...
• Assessing what we do not know about our system
➡ Non-obvious
➡ Expensive
24. Testing – Why?
• to validate "whether we built the right software",
• where "right software" = software of expected quality level
• and so... to close potential potential gaps in current QA practices
• i.e. improve the development process to assure final quality
25. Testing – Why?
• to validate "whether we built the right software",
• where "right software" = software of expected quality level
• and so... to close potential potential gaps in current QA practices
• i.e. improve the development process to assure final quality
– … to “not test” ;)
26. Testing – When and How much?
• depends... based on risk and resources available
• usually
• a bit – regularly… (per feature)
• more per milestone (~release)
• thorough per significant risk, often dedicated, like "security testing",
"performance testing", etc.
27. Testing – How to economize/do less? :)
• Incorporate QA practices
• to increase confidence in product quality and so reduce risks and the
need of extensive and thorough testing
28. Testing – How to economize/do less? :)
• Incorporate QA practices (as prevention;)
• to increase confidence in product quality and so reduce risks and the
need of extensive and thorough testing
29. QA as a prevention smartly tuned by Testing
• Start with basic hygiene toolbox chosen by
• gut feeling, common sense
• comparison to similar projects
• Then tune through regular smaller Exploratory Testing sessions
• planned extended/tuned/based on
• gut feeling
• user feedback (regularly collected)
34. Common ones to consider for “Start”
• Verification
• Automated verification
• Pyramid levels based
• Risk based
• Continuous Integration
• DoR, DoD
35. Common ones to consider for “Start/Build”
• Verification (+automated) by developers ~ improves discipline
• Outside-in
• Verification (i.e. TDD) ~ improves correctness, anti-compromised
• Requirements definition ~ common sense planning... first plan, then do
• Ubiquitous language
• 3 amigos meetings to align/plan/define
• Tests as docs
• Tests as specification
• Behavioral tests and reqs
36. Common ones to consider for “Start/Build”
• Verification (+ automated) by developers ~ improves discipline
• Outside-in
• Verification (i.e. TDD) ~ improves correctness, anti-compromised
• Requirements definition ~ common sense planning... first plan, then do
• Ubiquitous language
• 3 amigos meetings to align/plan/define
• Tests as docs
• Tests as specification
• Behavioral tests and reqs BDD ;)
37. Advanced ones to consider for “Grow”
• Continuous Delivery
• Trunk Based Development
• “feature flags”
• a/b testing
• gradual feature rollout
• Change Management
• WiP limit
• etc.
• …