Manual Testing Process
In This Document
Manual Testing Overview
Manual testing is a critical part of our quality assurance process. It involves the human-driven verification of changes by both developers and QA specialists to ensure that all features work as expected and meet the acceptance criteria.
Developer Verification
Post-Merge Verification
After a pull request is merged, the developer is responsible for:
-
Verifying that their changes have been properly deployed to the appropriate environment:
- For regular features: verify on the
developenvironment - For hotfixes: verify on the
stagingenvironment
- For regular features: verify on the
-
Conducting a comprehensive review of their changes on the test servers to ensure:
- All functionality works as expected
- No regressions have been introduced
- UI/UX elements display correctly
- Performance is acceptable
-
Documenting any issues found during this verification process
Handoff to QA
Once the developer has completed their verification, they must:
- Move the task to the appropriate column in Trello for QA review
- Provide clear instructions on how to test the changes
- Be available to answer any questions from the QA team
QA Testing Process
Test Execution
The QA specialist will:
- Review the task and its acceptance criteria
- Test the changes on the appropriate environment (
developorstaging) - Verify that all acceptance criteria have been met
- Perform exploratory testing to identify potential edge cases
- Check for any regressions in related functionality
Test Results
Based on the testing results, the QA specialist will:
- Approved
- Rejected
Approved Changes
If all acceptance criteria are met and no issues are found:
- The task is moved to the "Approved" column in Trello
- The QA specialist adds a comment confirming approval
- The task is considered complete
Rejected Changes
If issues are found during testing:
- The task is moved to the "Rejected" column in Trello
- The QA specialist documents all issues in the Trello card, including:
- Detailed description of each issue
- Steps to reproduce
- Expected vs. actual results
- Screenshots or recordings when applicable
- The developer is notified of the rejection
The developer must then:
- Review and fix all reported issues
- Create a new pull request with the fixes
- Follow the standard review and merge process
- After merging, verify the fixes on the appropriate environment
- Move the task back to the QA column for re-testing
This cycle continues until all issues are resolved and the task is approved.
Acceptance Criteria
Every task must have clearly defined acceptance criteria that:
- Are specific and measurable
- Define what constitutes successful implementation
- Cover all aspects of the feature or fix
- Are understood by both developers and QA specialists
All acceptance criteria must be met for a task to be approved. Partial implementation is not acceptable.
Continuous QA Monitoring
In addition to task-specific testing, the QA team continuously monitors different parts of the system:
- Daily checks of critical system functionality
- Regular exploratory testing of different features
- Monitoring of system performance and stability
Issue Reporting
When issues are found during continuous monitoring:
- The QA specialist creates a new task in Trello
- The task is placed in the "Properties" column
- The issue is documented with detailed reproduction steps
- The product team assigns priority to the issue
- The issue is scheduled for fixing based on its priority
Testing Environments
Develop Environment
- Used for testing regular feature development
- Updated with each merge to the
developbranch - Accessible to all team members for testing
Staging Environment
- Used for testing hotfixes and pre-production verification
- More stable than the develop environment
- Closely resembles the production environment
- Used for final verification before production deployment
Communication During Testing
- Developers and QA specialists should maintain open communication
- Questions about testing or implementation should be addressed promptly
- Complex testing scenarios may require collaboration between developers and QA
- All testing-related communication should be documented in the Trello card
Test Documentation
For complex features, additional test documentation may be required:
- Test plans outlining the testing approach
- Test cases covering specific scenarios
- Test data requirements
- Expected results for each test case
Integration with Automated Testing
Manual testing complements our automated testing:
- Automated tests verify basic functionality and prevent regressions
- Manual testing focuses on user experience and complex scenarios
- Issues found during manual testing should be considered for addition to the automated test suite