I’ve been exposed to Agile/Scrum for a while and recently I tried to summarize some testing principles which are all concerned with quality.
Test Driven
- Test cases and unit test will be developed prior to coding any lines
- Unit test will be required to ensure the quality of the refactoring
Test Early
- Deliverables in each sprint/iteration will be tested in a timely manner
- Customer will never be surprised in the last minute due to the incremental testing efforts in each sprint.
Test Often
- Continuous integration will be employed to test against each successfully build
- Tests will be executed basing on sprint or iteration.
Test Unattended
- Build automation will be performed overnight
- Automated testing will be leaveraged
- Report will be automatically pushed to stakeholders
Test Completely
- code coverage will be introduced to ensure the coverage of your tests
- traceability between test assets and source code will be established
- regression tests will be conducted timely (through automated most likely)
Test Comprehensively
- Strict coding guidelines will help developer to code in a more secure way.
- Performance/load testing will be conducted to ensure the deliverables are reliable
- Static code examination will reduce the risk of security.