$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
System architecture and prototype summary:
This research presents an improved and adaptable prototype system, PreventativeTestPro, that exemplifies a proactive quality engineering approach utilizing observability data and large language models (LLMs) to further improve support issue resolution. The system seeks to tackle modern software delivery issues by automating anomaly detection, root cause analysis, and the intelligent execution and development of test cases for unaddressed coverage using synthetic monitoring, observability data, and GenAI integration. The architecture is modular and comprises three core components: Observability Data Collector and Analyzer, GenAI-Driven Intelligence Layer, and Test Orchestration and Execution Engine, as specified in detail in Figure 1.

Figure 1: The input-output of the proposed system. Observability data, along with observer output, test repository, and mapping rules, are provided as input alongside BHRAMARI test beds, which construct AI-driven test beds to enhance the robustness of test cases. The proposed system generates instrumentation of anomalies, AI-generated recommendations, execution of pertinent test cases, documentation and reporting, as well as the identification and creation of missing test cases. Please click here to view a larger version of this figure.
Figure 2 displays the architecture of the suggested approach. The figure illustrates the input, processing, and output of the system. It also provides a comprehensive depiction of the system, which is then translated into an explanation to enhance comprehension of the underlying features.

Figure 2: System architecture of the proposed system with observability data collector and analyzer, GenAI-driven intelligence layer, and test orchestration and execution engine. This figure illustrates the internal architecture of the PreventativeTestPro system, segmented into three layers: The Observability Collector Layer aggregates data from multiple sources, including browser events, logs, HAR files, backend logs, metrics, and traces.The Generative AI Intelligence Layer utilizes this data to perform root cause analysis, prioritize anomalies, and autonomously create test cases (UI, API, manual) and documentation through the usage of LLMs. The BHARAMARI module also establishes new test beds. Test Orchestration and Execution Engine maps discrepancies to test cases, executes tests concurrently, evaluates outcomes, and informs engineering teams, ticketing systems, and dashboards for real-time oversight and resolution monitoring. Please click here to view a larger version of this figure.
The Observability Data Collector and Analyzer module serves as a sensory system of the platform, continuously gathering data of the application under assessment on a large scale, with multiple aspects. In the case of frontend monitoring, synthetic monitoring agents are deployed to monitor browser-side events, such as Document Object Model (DOM) structures, user actions, such as clicks, hovers, and inputs, and HAR files capturing network and API request and response information. PreventativeTestPro is also built in with OBSERVER to increase the capability of browsers. Backend monitoring targets log analysis, in which server-side observability information is requested and processed, which includes application logs, error, informational, and debug messages, stack trace and exception logs, performance metrics such as response times, and tracing using technologies like OpenTelemetry or New Relic. The system will work with synthetic agents that simulate user traffic and interaction, and log collectors condense incoming real-time data. The gathered data are then normalized to structured formats and handed to other processing units to be further analyzed.
The essence of PreventativeTestPro is a GenAI-Driven Intelligence Layer that uses Large Language Models (LLMs) such as GPT to read and analyze observability data and contextualize and generate responses. The module undertakes root cause analysis: the process of interpreting root cause logs and traces to explain technical faults in terms that can be understood, such as a NullPointerException on a particular line of code and the assumed cause of the issue, such as an uninitialized variable. In test case generation, the system uses auto-tests that are generated by converting exception patterns or a sequence of events into executable test scripts, e.g., Selenium or API tests, but also produces human-readable test procedures that Quality Assurance staff can run. The API tests have evolved via the transformation of HAR and trace logs into a sequence of API requests with the expected assertions, and all of the generated test cases are further enhanced with effective test beds by integrating with BHRAMARI. Further improvements, test coverage enhancements, and CI/CD integration opportunities are suggested in the recommendation system, depending on the analyzed system behavior. The AI Engine uses structured observability data via prompt engineering and context enrichment to present log context with prompt templates that pass structured queries to the LLM, and finally generates output in functional form, such as code snippets, test case specifications, and natural language documentation.
The Test Orchestration and Execution Engine module handles test priority, scheduling, and execution, enabling automated validation based on code change coverage details, tags, and anomaly mapping. The mapping and selection of the test involves associating anomalies in maps or instrumentation patterns with known test cases using a Mapping Rules Engine, and then running the test cases in accordance with the established mapping. The features of concurrent test execution allow running numerous types of tests simultaneously, such as functional, performance, or security tests in different environments and coordinating the use of Selenium, JMeter, and ZAP as instruments in the automation pipelines. The feedback loop implementation makes sure that the results of executions are logged, and in case of test failure, changes are communicated to support systems, including Jira and Azure DevOps, to track and resolve them.
Hypothesis:
H1 (Operational Efficiency): It is posited that the amalgamation of observability data and AI-driven intelligence will enhance operational metrics, particularly by decreasing mean time to resolve (H1a), mean time to analyze (H1b), mean time to detect production issues (H1c), and mean time to deploy fixes in production (H1d). These changes should make it easier to meet Service Level Agreement (SLA) requirements (H1e) by speeding up detection, analysis, and deployment while keeping system downtime to a minimum.
H2 (Testing Effectiveness): It is also believed that the effectiveness of software testing will improve with more test coverage (H2a), running test cases in parallel (H2b), and smart test prioritization (H2c). AI-generated recommendations (H2d) are also expected to help with both testing and operational workflows. This will help find bugs faster, speed up feedback loops, and support quality assurance practices that are preventative and long-lasting.
Scope and audience:
This prototype shows the overall system design, the main idea, and how to set up and run the PreventativeTestPro framework step by step. It also goes into detail about how to set up the right test beds/sample inputs and gives tips on how to fix problems. The content is for software quality engineers who already know the basics of Java and want to learn how to use preventative testing to make software more reliable and efficient.
Environment setup:
Supplementary File 1 contains a step-by-step description and program required in communicating with the PreventativeTestPro. This includes instructions for installing the necessary environment, how to start and stop the tool's services, and a clear explanation of the tool's fundamental usage. To obtain a more detailed documentation, along with instructions on how to use advanced tools, setup instructions, and other organizational details, refer to the official GitHub sources dedicated to the project: the specific Wiki page at the location of the https://github.com/sohambpatel/PreventativeTests/wiki and the main README at https://github.com/sohambpatel/PreventativeTests?tab=readme-ov-file/readme.
Sample inputs:
The sample input files can be found in the GitHub repository: https://github.com/sohambpatel/PreventativeTests/tree/main/preventativetestframework/Inputs. The framework can run these files' pre-set test cases and datasets right away. They are used as reference inputs to check the environment setup and to get the same results that are described in this protocol.
Sample outputs:
The GitHub repository (https://github.com/sohambpatel/PreventativeTests/tree/main/preventativetestframework/SampleOutputs) contains concrete samples of the preventative test framework's output data in raw format. Through these files, users can view the layout and details of the generated reports and metrics directly, demonstrating the outcomes the tool achieved during its operation. This guide is relevant to knowing the data pipeline and confirming the anticipated framework behavior under recreating the experimental process.
Execution prototype:
This section gives a detailed, step-by-step guide on how to use the PreventativeTestPro framework. To help users reproduce the workflow, each stage is described in order. This section presents the execution steps in a structured format to make it easier to reproduce results, point out important checkpoints, and ensure that the PreventativeTestPro framework can be used consistently across different experimental or operational settings.
In this step, PreventativeTestPro GUI can be used to choose the best preventative testing workflow. Figure 3 shows five choices, each of which stands for a different step in the testing process: running tests in parallel, creating the test suite from monitoring output by prioritizing existing test cases, creating manual test cases, creating automated test cases, and finding the root cause. When the user makes a choice, the designated workflow starts. After that, additional modes (such as AI-driven test case generation or root cause analysis) can be added in later stages. This well-organized interface provides a way to do preventative testing studies that can be repeated and broken down into smaller parts.

Figure 3: User interface 1 of the system. This figure shows the PreventativeTestPro user interface, which lets one choose from five different ways to do preventative testing: 1. Preventative Test, Parallel Execution: Start Testing, 2. Preventative Test, Finalizing Test Suite Based on Synthetic App Monitoring, 3. Preventative Test, Generating Manual Test Cases using GenAI, 4. Preventative Test, Generating Automated Test Cases using GenAI, 5. Preventative Test, Root Cause Analysis using GenAI. Only one option can be chosen at a time. The modular design makes it easier to do preventative testing and adds AI-powered test creation and diagnostics. Please click here to view a larger version of this figure.
Figure 4 shows the framework's Parallel Execution interface. In this step, the user enters the URL of the application they want to test and the absolute path to the properties file that has the configuration settings. After the inputs are set, the user can start running tests at the same time by clicking the Start Testing button, which also monitors the website under test and generates the security, performance, console, and JavaScript logs. One can stop the ongoing execution by clicking the Stop Testing button. The Get Recommendation button lets one get AI-driven insights from the logs recorded. This design makes sure that multiple test categories (functional, performance, and security) run at the same time, which makes it easier to find problems more quickly.

Figure 4: User interface 2 of the system. This figure shows the Parallel Execution mode of the PreventativeTestPro framework. The user specifies the target application URL and the path to a properties file containing configuration details. Options include Start Testing (to run functional, security, and performance tests in parallel and record the logs), Stop Testing (to stop execution), and Get Recommendation (to get AI-driven insights from logs and metrics). Please click here to view a larger version of this figure.
Figure 5 shows the Monitoring based Test Finalization interface of the PreventativeTestPro framework. In this step, the user sets the path for the monitoring output file, the JSON path query to get error or exception nodes, and the test repository path to save the cases that were created. After the inputs are set, the user can first get the names of the class and method that go with them and then sort the test cases from the test pull based on the class and method that were found. This step of prioritization shows how to use monitoring data to effectively rank the test cases.

Figure 5: User interface 3 of the system. This figure shows how to prioritize a test suite in the PreventativeTestPro framework using synthetic monitoring outputs. The user types in the path to the monitoring output file, the JSON path to get exceptions/errors, and the path to the test repository(offline). The Get Class/Method Name and Get Test Cases options can be used to turn mapping anomalies into test cases that one can run. This makes sure that runtime problems are included in the testing process. Please click here to view a larger version of this figure.
Figure 6 shows the Manual Test Case Generation interface of PreventativeTestPro. In this step, the user tells the program where to find the stack trace file that shows the anomaly by providing the absolute path to the stack trace file and the path to the configuration properties file. Once the inputs are set, one can run the Generate Test Cases option, which will turn the anomaly into structured manual test cases. This makes sure that runtime errors that have happened before are always included in the testing process. The framework makes it easier to create test cases by automating the process. This cuts down on manual work, improves test coverage and makes tests more reliable, and stops the same problem from happening again. This step is a very important link between finding problems and making sure quality is good before it happens.

Figure 6: user interface 3 of the system. This figure shows the test case generation interface of PreventativeTestPro. It turns anomaly stack traces into manual test cases in the Behavior Driven Development (BDD) that can be used. The user gives the paths to the stack trace file and the properties file and then clicks "Generate Test Cases" to automatically make cases that match the failure that was found. This makes sure that runtime problems are always turned into regression tests that can be repeated. Please click here to view a larger version of this figure.
Figure 7 shows PreventativeTestPro's Automated Test Case Generation interface. In this step, the user gives the absolute path to the observability JSON output file and the path to the property's configuration file. When the Generate Automated Test Cases button is clicked, the system processes the monitoring data and makes test cases that can be run to show the same problems that were seen.

Figure 7: User interface 4 of the system. This figure shows the automated test case generation interface of PreventativeTestPro, which makes tests that can be run using observability data. The user gives the path to the properties file and the observability JSON output file. Then, they click "Generate Automated Test Cases" to make scripts that can be run (in Selenium and TestNG format). Please click here to view a larger version of this figure.

Figure 8: User interface 5 of the system. This figure shows the anomaly instrumentation interface of PreventativeTestPro for Root Cause Analysis (RCA). The user gives the path to the properties file and the stack trace file, then chooses RCA to start AI-driven analysis. This step changes detected anomalies into structured diagnostic insights, which ensures that faults can be fixed in a way that can be repeated and is specific to the problem. Please click here to view a larger version of this figure.
Troubleshooting:
Table 1 shows the most important troubleshooting points that are only about the application code. These points are a quick way to remember how to fix code-level issues that arise when running the PreventativeTestPro framework. The project documentation provides more information and step-by-step instructions for readers who want more help troubleshooting issues affecting the application's overall functionality. The full resource can be obtained from the link: https://github.com/sohambpatel/PreventativeTests/wiki/How-to-use%3F. This extra reference ensures that users not only fix coding problems but also learn how to troubleshoot functions, enabling them to use the framework more effectively.
| Error Behavior | Root Cause | How to Fix? |
| Application is not starting | Java Path is not set | In the Environment variable, set the JAVA_HOME |
| Server fails on startup | Port 8080/9090 in use (Specifically while using Docker) | Update Docker port mapping |
| GenAI content is null | Token may have expired | Generate the token and update the config.properties before you provide that as an input |
| Browser instance generated by the framework is not connecting to the network | Either ZAP server is not running or ZAP credentials are incorrect | Turn ON the ZAP before running the application, in case it is running and problem still persist, update the ZAP credentials in the config.properties before you provide that as an input |
Table 1: Common proposed system errors and quick fixes. This table shows the common application-specific errors, troubleshooting, and quick fixes that can be applied to fix the issues.