Architecture - amosproj/amos2025ss04-ai-driven-testing GitHub Wiki

Software Architecture Documentation

1. Overview

This system enables AI-driven software testing by generating test code automatically using Large Language Models (LLMs). It is designed to simplify and accelerate the creation of test cases for existing software, including Python and C++ codebases, with a focus on UI, logic, and persistence layer testing. The solution is operated on-premise to ensure security, and interacts via a chat-based interface to provide developers with a seamless and intuitive user experience.

By leveraging LLMs through a local model runtime (e.g. Ollama), the system supports incremental test code generation, adaptation to code changes, and the creation of self-healing scripts — ultimately reducing manual effort and increasing test coverage.


2. Key Components

Chat Interface Provides the main entry point for user interaction. Allows developers to input prompts, share code, and receive generated test cases in a conversational manner.

Python Backend (Dockerized) Acts as the core logic layer of the system. It receives requests from the chat interface, communicates with the LLM engine, processes the returned data, and handles code parsing and test case formatting.

LLM Engine (Dockerized, via Ollama) Hosts a local LLM (such as Mistral or LLaMA) using a containerized model runner like Ollama. Responsible for generating relevant test code based on provided source code and instructions.

Test Code Generator Converts LLM outputs into valid test scripts, supporting formats like Python unittest, pytest, and RobotFramework. Responsible for outputting ready-to-use files or returning results through the chat.

Output System (File Writer or Chat Response) Delivers the final test scripts either as downloadable files or as text within the chat interface.


3. Architecture Diagram

architecture1 drawio


4. Technology Stack

Break down the technologies used by each layer of the system.

Layer Technology
Frontend TBD
Backend TBD
Database TBD
Media Processing TBD
Messaging TBD
DevOps / CI/CD TBD
Hosting TBD