1 About Solution Test Automation Platform

Learn about Oracle Communications Solution Test Automation Platform (STAP), its key features, benefits, and architecture.

Introduction to STAP

STAP is a powerful automation platform that allows users to automate their end-to-end business use cases without writing a single line of code. By providing a no-code automation solution, STAP enables users to automate their workflows easily with a built-in Behavior-Driven Development (BDD) language, without much technical expertise. This makes it an ideal automation platform for improving efficiency and productivity.

STAP's key feature is Virtual Tenant functionality. Virtual Tenant functionality enables you to simulate customer-like traffic to measure potential issues with a software application under a significant real-time volume of load for an extended period of time. This helps test customer workflows before deploying them in a live environment.

STAP is a highly extensible platform, and comes with several built-in plugins that allows you to interact with different types of application interfaces, such as REST and SOAP.

Note:

STAP can be used for testing in a lab environment and is licensed to be used only on test or lab platforms and environments.

Features of STAP

STAP offers a robust suite of features designed specifically for automating testing processes.

Table 1-1 describes the various features of STAP.

Table 1-1 Features of STAP

Feature Description
Extensible plugins Provides a comprehensive set of plugins and frameworks for automating the end-to-end validation of software applications. It supports various types of plugins, including web, mobile, and API testing.
Customer Environment Simulation or Virtual Tenant Enables the simulation of customer profiles to test software applications under real-world conditions. The Virtual Tenant represents a typical tenant, covering how they run their business and the various subscriptions and services offered.
Monitoring Monitors application interfaces such as Web or REST endpoints in real-time and provides insights into the performance and behavior of the application, allowing users to identify potential issues and optimize performance.
No-code Automation Allows users to automate tests without code. This feature makes it easy for all teams to use, including those with no or limited coding knowledge.
End-to-end Scenario Automation Supports end-to-end scenario automation, which enables users to test complete workflows. This feature helps ensure that software is tested in a real-world scenario, providing accurate results.
Customer Environment Simulation Allows users to simulate customer environments, making it easier to test software in different environments. This feature helps to identify any potential issues that may arise in different environments.
Integration with Other Testing Tools Works seamlessly with other testing tools, enabling users to integrate it into their existing workflows. This feature makes it easier for teams to adopt STAP without disrupting their current processes.
Virtual Tenant Simulates customer traffic to measure potential problems. This functionality is not available at the moment but may be supported in future releases.
Reduce Dependency with Stubs Helps in designing end-to-end tests without access to a service, prototyping and creating a mock service for runtime.
Data-driven Testing Supports data-driven testing. Data sets are mapped to the tests to run repeatedly against multiple data sets.
Seed Data Loaders Loads seed data into target systems with configuration and without any code or scripts.
Swift Issue Detection Helps detect failures swiftly. The screenshot and test execution video gives a visual replay of the test execution and help in identifying the error.
Error Handling and Logging Robust error handling and detailed error logging.
Performance and Metrics Logs performance information which can be used to generate metrics and comparisons with previous runs (builds or releases).
Reports Generates standard reports and supports plugins to generate reports.
Core Functionality as Library Integrates the core engine with any application Integrated Development Environment (IDE), and enables you to store data in the file system and include the execution in build systems.
Continuous Integration and Continuous Delivery or Deployment. (CI/CD) The lightweight STAP core engine library enables you to run the scenarios in CI/CD with ease.
STAP Microservices Robust automation platform which has a web interface and stores the data in a database.
STAP User Experience Runtime web application enables the users to configure, run, monitor execution in real-time, and view the results in modern dashboards.
STAP Container A valuable STAP tool for teams looking to streamline their testing processes and improve the quality and reliability of their software applications. It provides a flexible and scalable testing environment, enabling teams to achieve faster and more efficient testing results.

Benefits of STAP

The key benefits of STAP include:
  • Improved software quality: STAP helps to improve software quality by automating the tests and identifying potential issues. It provides accurate results that help to ensure that software is functioning as expected.
  • Time-saving: STAP automates testing, saving time and effort for testing teams. It enables teams to focus on other critical tasks, such as improving software functionality.
  • Scalability: STAP is designed to handle high traffic and growing demands, making it an ideal automation solution for diverse testing requirements. It supports horizontal scaling, allowing you to add more servers to distribute the load efficiently.

Microservice Architecture

In addition to its extensive automation capabilities, STAP is designed with a microservice architecture. Microservices allows the platform to be broken down into smaller, more manageable components that can work together to deliver the full functionality of the platform.

There are four sub-microservices that make up STAP: the Engine microservice, the execution microservice, the data microservice, and web application (user experience) microservice.

Figure 1-1 shows the STAP architecture.

Figure 1-1 Microservice Architecture



This figure has the following components:

STAP Engine

The STAP Engine microservice is the core of STAP and is responsible for the actual execution of tests and simulation functionality. It enables you to author and run the test cases which interact with the system being tested. It is a standalone library that can be used either independently or as a dependency which enables users to integrate STAP functionality into their existing testing frameworks.

The Engine microservice provides an automation engine that supports end-to-end scenario automation, allowing you to test software applications across multiple systems and components. It helps testing processes achieve faster and more reliable testing results. It is highly extensible, with a plugin architecture that enables users to customize the engine to support specific testing requirements.

The Engine microservice also includes advanced simulation functionality, enabling you to simulate real-world conditions and test applications under a variety of different scenarios. This includes the ability to simulate network latency, data throttling, and other performance factors.

Execution Service

The Execution Service microservice is responsible for running test cases in STAP. It manages the execution of test cases and ensures that all necessary resources are available for testing. The Execution Service can run test cases in parallel, allowing for faster testing and more efficient use of resources.

Data Service

The Data Service microservice is responsible for managing the data used in STAP. It stores test case data, test results, and other important information related to testing. The Data Service is designed to be highly scalable, allowing it to handle large amounts of data without impacting STAP performance.

STAP UI Service

The UI microservice provides a web-based interface allowing you to interact with the STAP application. It offers a user-friendly interface for creating environment details for applications being tested and running test jobs. The service features a dashboard that gives real-time insights into test execution. The history of executions can be tracked using the History dashboard, which provides detailed reports of each test scenario and case.