Skip to content

Test Approach Document

Abhijeet C edited this page Apr 18, 2025 · 1 revision

System Processes and Reports (S.P.A.R) - Test Approach Document

Course: MSCS 710
Term: Spring 2025
Team:

  • Abhijeet Cherungottil
  • Arjun Suresh
  • Sumanth Kumar Katapally

1. Objective

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.

1.1 Testing Environment

  • 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

1.2 Scope

Included Testing

  • 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.

Excluded Testing

  • Android platform support.
  • Linux distributions other than Ubuntu.
  • Full-scale production load/stress testing.

2. Test Approach

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

3. Test Cases

3.1 Web/Dev IDE Testing

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.

3.2 Mobile Testing (iOS)

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 MockURLProtocol to intercept API network calls.
  • Validate JSON decoding into Swift model structures.

3.3 API Documentation

  • Create detailed API documentation using Postman Documenter.
  • Test critical backend endpoints like /metrics to validate data transmission of CPU, Memory, and Disk metrics.

Notes

  • 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.

📊 Summary

The SPAR Testing Approach ensures the system is robust, scalable, user-friendly, and secure through comprehensive, modular, and continuous testing practices.