Quality Assurance
The mindset when going into QA is to try and break things...find edge cases...imagine you are a customer/user, find design inconsistencies. QA is not a nice walk in the park. You want to stomp on everything, click everywhere, abuse every input field with 1000 chars, regexp, SQL injections, check console logs, etc.
Integrated QA
The team owns the quality of the code. Everyone in the team is responsible for it. There is no department or single person responsible for QA. You write the code, you make sure it works in production.
Quality practices:
- Pair programming
- Testing
- Code review
- Staging
- User interviews
- Clear finish line (how do I know when I'm done) ⇒ user stories
- Functionality matches finish line
QA workflow:
- Tests are part of the PR (TDD)
- The PR is reviewed
- If review approved ⇒ PR is deployed in staging environment
- If review not approved ⇒ PR back to development/discussion
- You do QA in staging yourself
- You ask another dev to QA your features on staging
- Ensure the functionality matches user stories
- If it fails to match, leave a comment and send it back to development/review