Automated Cloud App Performance Testing via Virtualized Multi-Platform Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems fail to provide effective cross-platform and cross-browser performance testing for apps, especially in complex distributed systems, leading to difficulties in identifying and addressing performance bottlenecks across multiple operating systems, devices, and networks, which can result in negative user experiences and loss of user adoption.

Innovation Solution

An automated testing method and system that measures app performance across various platforms, including desktop, laptop, mobile, and server devices, using a cloud-based architecture to simulate user experiences, isolate performance components, and collect comprehensive metrics without manual intervention, employing tools like Selenium and PhantomJS for browser automation and multi-tenant design for collaboration and data security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current market tools are used for app performance testing, then testing can be performed in non-virtualized environments, but the tools fail to provide adequate solution for cross-platform and cross-browser performance testing

Engineering Contradiction:
Improvecross-platform compatibilityVSAvoidperformance measurement accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system creates a universal virtualized testing environment that can execute app performance tests across multiple operating systems (Windows, macOS, Linux, Android, iOS) and browsers simultaneously. The virtual machine infrastructure allows a single testing platform to adapt to diverse platform requirements while maintaining consistent measurement methodologies, thereby achieving both cross-platform versatility and reliable performance metrics.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces a virtualized environment as an intermediary layer between the testing tools and the target apps. This virtualization layer acts as a mediator that standardizes the testing interface across different platforms while preserving the unique characteristics of each operating system and browser, enabling accurate cross-platform performance comparison without sacrificing measurement reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If more resources are allocated for measuring and monitoring app performance in complex distributed systems, then measurement capability improves, but system complexity increases

Engineering Contradiction:
Improveperformance monitoring capabilityVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments the complex distributed testing environment into modular virtual machine instances, each handling specific testing scenarios. The testing framework is divided into independent components including test case management, virtual machine orchestration, performance metric collection, and analysis modules. This segmentation allows precise performance monitoring capabilities to be built incrementally without proportionally increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of creating a single complex monitoring system, the patent uses virtualization to create multiple simplified copies of the testing environment. Each virtual machine instance is a lightweight copy that can independently monitor performance metrics. This approach achieves comprehensive monitoring coverage across distributed systems while keeping each individual monitoring component simple and manageable.

Inventive Principle:
Principle #26Copying

3Productivity

If automated testing is implemented across multiple platforms and browsers, then testing efficiency improves, but resource requirements increase

Engineering Contradiction:
Improvetesting efficiencyVSAvoidcomputational resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system merges multiple testing functions and resource requirements into a single virtualized infrastructure. Instead of maintaining separate physical testing environments for each platform and browser combination, the patent consolidates these into shared virtual machine resources that can be dynamically allocated and reused across different test scenarios, thereby improving testing efficiency while optimizing resource utilization.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The automated testing system implements periodic execution of test suites across different virtual machine instances rather than continuous simultaneous testing. Test cases are scheduled to run in cycles across available virtual resources, allowing efficient utilization of computational power while maintaining high testing throughput. This periodic action pattern enables the system to handle multiple platforms and browsers without requiring proportional increases in permanent resource allocation.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10372600B2Systems and methods for automated web performance testing for cloud apps in use-case scenarios
Publication Date: 2019.08.06 SALESFORCE INC
  • US10372600B2 patent drawing
  • US10372600B2 patent drawing
  • US10372600B2 patent drawing

AI summary

Systems and methods for measuring performance metrics of apps where a controller schedules performance testing of a plurality of apps to generate a set of performance metrics from a client, server and device relating to performance of each app wherein the generated set of performance metrics comprises processing times and requests of the app. The scheduled performance testing is executed by a combination of the client, server, and device includes different networks, operating systems, and browsers. A performance engine captures the set of performance metrics of each app from the different client, server and device, and organizes the app metrics into categories based on an instrumentation and profile of each app. The categories include clusters comprising performance metrics of the client, server, and device. A user interface renders the set of performance metrics to facilitate comparisons between each cluster and category of the set of performance metrics.