-
Notifications
You must be signed in to change notification settings - Fork 2
Test Approach Document
Abhijeet C edited this page Apr 18, 2025
·
1 revision
Course: MSCS 710
Term: Spring 2025
Team:
- Abhijeet Cherungottil
- Arjun Suresh
- Sumanth Kumar Katapally
This document outlines the strategy, resources, schedule, and scope for testing the SPAR application. The goals are to:
- Validate real-time system metrics collection.
- Ensure smooth data transmission across Electron App, Backend Server, and iOS App.
- Confirm UI accessibility across devices.
- Verify security measures and data integrity.
- Operating Systems: Windows, macOS, iOS
- Development Tools: Electron, SwiftUI, Node.js, Spring Boot, MySQL, Visual Studio Code, IntelliJ IDEA
- Hardware: Desktop PC, iOS Devices, Backend Server Infrastructure
- System metrics collection and display validation.
- Backend data reception, storage, and retrieval.
- Database integrity and correctness validation.
- Frontend UI usability and accessibility.
- Cross-platform compatibility.
- Security and role-based access verification.
- Android platform support.
- Linux distributions other than Ubuntu.
- Full-scale production load/stress testing.
Testing Methodology: Agile Testing Framework with Continuous Testing integrated into each sprint.
| Type of Testing | Description |
|---|---|
| Unit Testing | Validate individual components (metric parsers, APIs, UI views) |
| Integration Testing | Ensure seamless communication between frontend, backend, and database |
| System Testing | Test complete end-to-end functionality |
| Regression Testing | Ensure new changes don't break existing functionality |
| User Acceptance Testing (UAT) | Validate overall usability and acceptance criteria via TestFlight/Desktop builds |
| Accessibility Testing | Confirm compliance with color contrast, navigation, and visibility standards |
MetricGauge Component:
- Ensure title, value, and subtitle render correctly.
- Validate color coding based on thresholds.
ProcessTable Component:
- Verify table headers and dynamic data rendering.
- Handle empty states gracefully.
Dashboard Integration:
- Confirm all metric gauges are populated correctly.
- Validate System Info section displays accurate static data.
SwiftUI View Testing:
- Validate onboarding screen layout and component positioning.
- Ensure "Get Started" button is visible and functional.
API Testing (Mobile View):
- Confirm Metrics API provides correct mocked response data.
- Ensure Swift Codable models successfully parse API JSON responses.
Unit Testing the Metrics Service:
- Use
MockURLProtocolto intercept API network calls. - Validate JSON decoding into Swift model structures.
- Create detailed API documentation using Postman Documenter.
- Test critical backend endpoints like
/metricsto validate data transmission of CPU, Memory, and Disk metrics.
- Test coverage includes frontend, backend, database, and mobile platforms.
- Mocking strategies ensure controlled, predictable unit tests.
- Sprint-based testing under Agile enhances early defect identification.
- Inclusion of accessibility and cross-platform testing ensures a wider user reach.
The SPAR Testing Approach ensures the system is robust, scalable, user-friendly, and secure through comprehensive, modular, and continuous testing practices.