Testing Strategy
UnitPylot is a VS Code extension that enhances Python testing through execution, coverage insights, a visual dashboard, and AI suggestions. Our testing strategy aimed to ensure that each of these core features functions correctly and delivers a seamless and intuitive user experience. This involved validating both the internal logic and the user interface, ensuring that data is accurately processed and clearly presented, and that the extension responds appropriately to a range of real-world usage scenarios and edge cases. We prioritised early testing for core logic and maintained a continuous feedback loop via GitHub Issues.
Testing Scope
We focused on validating:
- Test Execution & Coverage: confirmed consistent results and accurate data parsing.
- History Tracking: tested creation and filtering of test data.
- UI Behaviour: since the extension is user-facing, we ensured that UI components like the sidebar and editor components were visually pleasing and responded appropriately.
- AI Suggestions: verified that generated suggestions were accurate, well-placed, and could be accepted or rejected without errors.
Testing Methdology
- Unit Testing: written for key backend modules including
TestRunnerand its submodules (coverage, file-hash, parser, helper-functions)- Snapshot and history modules (
history-manager, history-processor) - Report generation logic (
report-generator) - History Tracking: tested creation and filtering of test data.
- Manual Testing: used to validate UI behaviour and AI generated insights, particularly where VS Code API interactions made automation impractical.
- User Acceptance Testing: development builds were shared with users to gather feedback on usability, performance, and real-world edge cases.