Avo Assure Architecture
Last updated
Last updated
The structural and functional architecture of Avo Assure’s platform is designed to simplify and improve the test automation process across a variety of applications and software. Central to this architecture is a server-client model, which comprises two main components: the Avo Assure Server and the Avo Assure Client. The Avo Assure Server orchestrates the entire testing process, efficiently managing resources and coordinating the execution of tests. Meanwhile, the Avo Assure Client directly interacts with the applications under test (AUT), carrying out tasks as directed by the server. This structured approach ensures testing is organized and efficient.
Integration capabilities are a vital aspect of Avo Assure’s architecture, enabling seamless connections with multiple tools and systems within the software development lifecycle (SDLC). The platform is designed to integrate smoothly with CI/CD tools, as well as test management tools, ensuring thorough test coverage and providing immediate feedback on test results. This integration also includes tools used for versioning which provides a better control on the entire testing project.
Avo Assure server-client model:
Webserver: The web server processes takes in HTTP requests from users or other integration tools. It routes these requests to appropriate resources or services, such as test scripts or test data. The server exposes RESTAPIs that allow other applications or services to interact with the testing framework programmatically.
Top of Form Bottom of Form
Avo Assure Client: The main engine that runs and executes test cases, supporting parallel execution across various browsers and platforms. Avo Assure Client is responsible for Element identification, debugging, and execution of automated scripts. The main functionalities of the Avo Assure client are to:
1) Connect with the server
2) Provide advanced Avo Client configuration
3) Get user logs
4) Acquire customized user log (Info, De-Bug, and Error)
Avo Assure API: When a request is made to the API (e.g., to run a test), it processes the request, interacts with the underlying testing engine, retrieves or updates necessary data, and returns the results in a structured format (JSON). Additionally, the API supports operations like retrieving test results, managing test configurations, and accessing logs, facilitating a more efficient and automated testing workflow. Along with this, it also offers endpoints to different functionalities of Avo Assure, accessed by the Avo Assure WebUI, Client, and Avo Agent, to provide functionalities to end users.
DAS: The Avo Assure DAS is a medium of connection between the Avo Assure web server and the database. It can be used to validate the state of the database before and after tests. Also, it provides endpoints to the different databases of Avo Assure.
Avo Assure DB: The database -Mongo DB, serves as a crucial component within software architecture, acting as a centralized repository for test data management. It facilitates the storage, retrieval, and manipulation of elements, test cases, reports, and configuration settings, ensuring consistency and reliability across multiple test runs.
Cache DB: It is Redis, which typically stores data that enhances the efficiency and speed of test execution. It has a bi-directional connection (inbound and outbound) with Avo Assure DAS. It stores the recent test executions, test metadata, frequently accessed settings or parameters, sample test data that doesn’t change frequently, etc. For example, when any test case is to be executed by the Avo Agent, the execution gets into a queue and this test execution is stored in cache DB from where it can easily be accessed by the Avo Agent.
File Server: The file server acts as a centralized repository for all necessary files, including application installation packages and configuration files.
License Server: A license server centralizes the management of software licenses, ensuring that the organization using Avo Assure for automation testing stays compliant with licensing agreements. It tracks the number of active licenses in use, preventing overuse or unauthorized access to the software.
NginX: It provides HTTPS server capabilities and is mainly designed for maximum performance and stability. It also functions as a proxy server for email communications protocols, such as SMTP, in Avo Assure.
Avo Assure Agent: This is a group of clients enabling elastic and parallel execution capabilities for Avo Assure, connected through Rest API to control the Avo Assure Client based on execution loads. The key responsibilities of Avo Agent are:
Client Management: Handles all interactions with Avo Assure Clients added to the Avo Agent during configuration, ensuring that each client's requirements are met accurately
Resource Allocation: Provides dynamic allocation and management of resources within the Elastic Execution Grid, optimized for maximum efficiency and performance
Test Execution: Oversees the execution of tests, guaranteeing that they are carried out seamlessly and effectively in accordance with pre-defined parameters
Deployment on cloud and On premises:
Cloud Hosting: For organizations preferring cloud solutions, the Avo Agent can be deployed on the cloud, offering scalability and ease of access without the complexity of on-prem infrastructure.
On-Prem Hosting: For enterprises requiring more control over their testing environments, the Avo Agent can be deployed on-premises, providing the same level of performance and flexibility.