Architecture Overview
TestBot features a modular architecture built around agents, test blocks, test data, and a central test execution engine. Each agent encapsulates logic for specific interfaces or protocols, enabling TestBot to adapt to a wide range of systems and communication standards.
Core Components
Test Engine
The Test Engine is the central orchestration layer responsible for executing tests, managing execution flow, coordinating agents, collecting logs, and generating test reports.
Agents
Agents are modular plugins that interact with specific protocols, platforms, or interfaces. Each agent encapsulates the logic required to communicate with the system under test.
Examples include Browser Agent, Mobile Agent, CAN Agent, Modbus Agent, and similar interface-specific agents.
Test Blocks
Test Blocks are reusable functional units provided by agents. Each block represents a single, discrete test action or operation.
For example:
Browser Agent blocks: Find Element, Click Element, Scroll to View
CAN Agent blocks: CAN Read, CAN Write
Test Blocks act as the atomic building units for test logic.
Test Procedure
A Test Procedure is a logical test workflow created by sequencing and configuring Test Blocks. It defines how a test is executed, independent of specific input values. Test Procedure are reusable and are executed by supplying appropriate Test data.
Test Data Set
Test Data Set contains structured input values required for test execution. They define what data is used during a test run.
Examples include:
Web application login test: Username, Password
CAN read test: CAN ID, Signal Name, Expected Value
Test Data Set allows the same Test Procedure to be executed with different inputs.
Test Cases
A Test Case represents a single executable test case. It is created by mapping one Test Procedure against one Test Data. Each Test Case produces an independent execution result (Pass/Fail).
Test Sequence
A Test Sequence represents a complete, end-to-end test flow created by sequencing multiple Test Cases in a defined execution order.
Each Test Case within a Test Set executes as part of a continuous test scenario, allowing outputs or system state from earlier steps to influence subsequent steps.
Test Sequence can still be named and organized based on purpose (such as Sanity Flow or End-to-End Validation), but their primary intent is to represent sequential, dependent test execution, not just logical categorization.
Reports
Reports are the structured test execution outputs generated by the Test Engine. TestBot primarily exports reports in Excel format, providing detailed step-level results, execution logs, timestamps, and pass/fail status for analysis and traceability.
This architecture enables scalable, maintainable, and data-driven test automation by clearly separating test logic, test data set, and execution, while supporting reusable components and parallel expansion through modular agents.