Skip to content

Conversation

@vascosousamindera
Copy link
Collaborator

Ticket: ALFMOB-178

This PR introduces further improvements to the performance testing framework, focusing on code maintainability and data integrity tracking.


The following features have been implemented:

Entity Mappers

  • Added dedicated Mapper classes for all main domain entities (e.g., TestPlan, TestSuite, Device, Metric, Threshold etc.).
  • These mappers are responsible for transforming between domain objects and DTOs.
  • This change improves code readability, maintainability, and separation of concerns across the backend.
  • All services in the Service Layer now utilize these mappers, reducing boilerplate and potential mapping errors.

Bootstrap Data Update Tracking

  • Introduced a new database table (DatabaseUpdate) with a timestamp column.
  • This table records the last update time for bootstrap data (such as metrics, threshold types, etc.).
  • Enables the system (and developers) to easily verify if any bootstrap data has changed since the last deployment or migration.
  • Supports future automation for data refresh or cache invalidation based on update timestamps.

These changes further strengthen the foundation of the performance testing framework by improving code clarity and enabling robust tracking of bootstrap data changes. This will facilitate easier maintenance, future feature development, and more reliable CI/CD automation.

Next steps will include:

  • Comprehensive documentation:
    • Expanding and refining project documentation to cover new features, architectural decisions, usage examples, and integration guidelines.
  • Extensive testing:
    • Implementing and automating unit, integration, and end-to-end tests to ensure reliability, maintainability, and performance of all new and existing components.

- Added Mappers for all main entities in order to make code more readable
- Added a table with a timestamp in order to check if there were any updated to bootstrap data
@vascosousamindera vascosousamindera self-assigned this Jun 3, 2025
@vascosousamindera vascosousamindera added the enhancement New feature or request label Jun 3, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Jun 3, 2025

📝 Performance Test Results

Performance Test Suite Results (Android)

Suite Execution: 1
Test Suite Version: 2

Test Execution Results

  • App Name: Alfie.apk
  • App Version: 0.8.0
  • App Package: au.com.alfie.ecomm.debug
  • Main Activity: au.com.alfie.ecomm.MainActivity
  • Execution Type: Cold Start

Test Execution: Startup Time Plan

  • Metric: App Startup Time
  • Device: Medium_Phone_API_35
  • App Name: Alfie.apk
  • App Version: 0.8.0
  • App Package: au.com.alfie.ecomm.debug
  • Main Activity: au.com.alfie.ecomm.MainActivity
  • Execution Type: Cold Start
Test Result Start Time End Time
true 2025-06-03T09:07:41.55 2025-06-03T09:08:44.381
Thresholds
Target Value Threshold Type Metric Output
20000 Max launchTime
Metric Output Results
Metric Output Value
launchTime 10702
elementFound true

@github-actions
Copy link
Contributor

github-actions bot commented Jun 3, 2025

📝 Performance Test Results

Performance Test Suite Results (iOS)

Suite Execution: 2
Test Suite Version: 1

Test Execution Results

  • App Name: Alfie.app
  • App Version: 0.8.1
  • App Package: com.mindera.alfie.debug
  • Main Activity: N/A
  • Execution Type: Cold Start

Test Execution: Startup Time Plan

  • Metric: App Startup Time
  • Device: iPhone 16 Pro
  • App Name: Alfie.app
  • App Version: 0.8.1
  • App Package: com.mindera.alfie.debug
  • Main Activity: N/A
  • Execution Type: Cold Start
Test Result Start Time End Time
false 2025-06-03T09:06:29.409 2025-06-03T09:10:05.463
Thresholds
Target Value Threshold Type Metric Output
5000 Max launchTime
Metric Output Results
Metric Output Value
launchTime 6387
elementFound true

@vascosousamindera vascosousamindera merged commit c96c1d0 into main Jun 3, 2025
2 checks passed
@vascosousamindera vascosousamindera deleted the ALFMOB-178-Capture-Metrics-For-App-Startup-Time branch June 3, 2025 09:48
@vascosousamindera vascosousamindera changed the title Added Mappers and Database Update Table ALFMOB-178 | Added Mappers and Database Update Table Jun 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants