Serverless Application Testing Automation Across Multi-Cloud Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Serverless application testing is hindered by the complexity of multi-cloud environments and the inability of human testers to determine if functions are included or linked, leading to inadequate test coverage and inefficient development processes.

Innovation Solution

An automated, adaptive serverless application testing system that generates test scripts and data, capable of operating across multiple cloud providers, using an analyzer module to extract keywords from configuration files, an author module to create API scripts, and a sprinter module to execute tests, ensuring comprehensive and accurate testing without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If automated testing system is implemented, then test coverage is improved, but device complexity increases

Engineering Contradiction:
Improvetest coverageVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The testing system is divided into distinct modules: an analyzer module that parses configuration files and identifies functions, an author module that generates test scripts, and a sprinter module that executes tests. This segmentation allows each module to specialize in specific tasks, improving overall test coverage while managing complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs self-service by automatically analyzing serverless application configurations, generating appropriate test scripts without manual intervention, and executing tests autonomously. The analyzer module extracts function definitions from configuration files, the author module creates test cases based on extracted information, and the sprinter module runs the tests, eliminating the need for manual test creation and execution.

Inventive Principle:
Principle #25Self-service

2Productivity

If manual testing is used, then ease of operation is maintained, but productivity decreases

Engineering Contradiction:
Improvetesting efficiencyVSAvoidoperation simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The testing system operates autonomously by self-analyzing configuration files, self-generating test scripts, and self-executing tests. The analyzer module parses serverless application configurations to identify functions and their dependencies, the author module automatically creates comprehensive test cases, and the sprinter module executes tests without human intervention, dramatically improving productivity while maintaining ease of use through automation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms where test results are automatically analyzed and used to improve future testing. The sprinter module executes tests and captures results, which are then fed back to the analyzer and author modules to refine test coverage and identify additional functions that require testing, creating a continuous improvement cycle that enhances productivity.

Inventive Principle:
Principle #23Feedback

3Reliability

If comprehensive testing is performed, then reliability is improved, but loss of time increases

Engineering Contradiction:
Improvetest coverageVSAvoidtesting duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The analyzer module performs preliminary action by proactively analyzing configuration files and identifying all functions, triggers, and dependencies before test generation begins. This advance analysis allows the author module to create comprehensive test scripts that cover all identified functions and their interactions, ensuring thorough test coverage without extending execution time since the planning phase is completed beforehand.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The testing system maintains continuity of useful action by seamlessly transitioning from analysis to script generation to execution. The analyzer module continuously parses configuration files to identify functions, the author module continuously generates test scripts based on analyzed information, and the sprinter module continuously executes tests, creating an uninterrupted workflow that maximizes productivity while ensuring comprehensive coverage.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP4246332A1System and method for serverless application testing
Publication Date: 2023.09.20 ACCENTURE GLOBAL SOLUTIONS LTD
  • EP4246332A1 patent drawingFigure 1
  • EP4246332A1 patent drawingFigure 2
  • EP4246332A1 patent drawingFigure 3

AI summary

An autonomous system and method of comprehensively testing serverless applications. The system is configured to automatically generate test scripts and test data based on deployed and modified function code and configuration files. The system is configured to work in multi-cloud environments and is able to accommodate any cloud provider. Implementation of such a system can eliminate manual errors. Furthermore, the proposed embodiments are configured to integrate with already existing devOps pipelines for rapid test execution, and can continue automated testing in real-time as modifications to the app are made.