TestON design - Paxterra/TestON GitHub Wiki
TestON Design :
Block diagram of TestON framework
The architecture of TestON framework involves three major components.
Automation core :
This core area takes care of text execution, parsing, logging and all other testing releated functions. It is the equivalent of any standard test harness with enhanced features. Internally, it contains following components.
Parser :
This is a component that parses the test parameters (such as notification mail id, testcases, to run, topology information, etc). Out of the box, TestON will provide two parsers (which the user can select by editing the TestON.cfg file in the home directory of TestON) - one Windows style config file parser and another XML parser. User can also write their own parser and use that in place of these.
Logger :
This is the core information provider component. This module is responsible for creating and maintaining the following files.
Log file - A detailed log file that logs messages of all internal actions that happens in the test. Report file - A summary file that lists results for each testcase and pass, fail, execution,etc percentages. Session file - This is a log file created for each OpenFlow component in the test. It logs the commands executed and the outputs received for every test case/test step.
Executor :
This is the core execution engine of the framework. Any TestON test is divided into test cases which are further divided into test steps. This component runs the test in a sequential mode, moving from case to case, step to step. It also ensures connectivity to all components in the test topology and asserts results after each test step/test case.
Debugger :
This is the core user interface for the user in the first phase. This module provides the user a shell from which tests can be compiled into scripts, executed, paused, resumed and debug statements dumped. Details on commands that can be run on this shell are listed in the SRS document.
Scheduler :
This is a phase II module that ensures ability to schedule tests in the future and share resources among multiple users.
Integration core :
This core is the key core component. It ensures the framework can talk to various OpenFlow components. This is achieved by means of a drivers. A highg level design of the driver framework is explained later.
UI Core :
This is a usability related core component which provides users the ability to quickly quthor, execute and debug tests. This will be developed as part of the second phase of TestON framework. (Refer to road-map for more details)