Overview

Command-line interface

Added in version 1.1.0.

We provide a user-friendly interface to the building blocks: Define and run a traffic test using a simple JSON configuration file.

Have a look at our Installation & Quick start to run your first test in no time!

Or jump to the detailed information in Command-line interface to see more detailed information about the command-line options.

Example Test Scenarios

You can find examples of test scenarios on Examples.

Building blocks

The ByteBlower Test Framework provides high-level building blocks for different traffic test scenarios.

There are three major categories of building blocks:

  • Traffic generation

  • Traffic analysis

  • Reporting

Next to these three, the framework also provides interfaces for ByteBlower host management (ByteBlower Server and Meeting Point), endpoint management (ByteBlower Ports, ByteBlower Endpoints, …) and more!

Test execution interface

The entrypoint of the framework: A test Scenario, familiar from the ByteBlower GUI.

The entrypoint interfaces are defined in byteblower_test_framework.run module.

Host management

Connect to the ByteBlower Server or ByteBlower Meeting Point.

These interfaces are more in general called host of a ByteBlower traffic endpoint.

The traffic generator/analyser host interfaces are defined in byteblower_test_framework.host module.

Endpoint management

Create and manage ByteBlower Ports and ByteBlower endpoints (more in general called traffic endpoints).

The traffic endpoint interfaces are defined in byteblower_test_framework.endpoint module.

Traffic generation

Define traffic flows between one or more source and destination ports (traffic endpoints).

Each flow defines a specific type of network traffic with given addresses, ports and metrics.

The generated traffic can be analysed by one or more analysers.

The traffic generation interfaces are defined in byteblower_test_framework.traffic module.

We have basic flow definitions for:

Next to standard traffic tests, the framework also provides flows to form the base of application simulation:

Traffic analysis

Collect and analyse the traffic generated and received by the flows.

An analyser has specific pass/fail criteria which can be fine-tuned for each test. It is attached to a flow to analyse the traffic generated and received by that specific flow.

Note

Each analyser has its own right to exist. Most analysers can only be applied to a specific type of flow.

The traffic analysis interfaces are defined in byteblower_test_framework.analysis module.

Reporting

Generate one or more reports to visualize or post-process the analysis.

The HTML reports include interactive charts. The JSON reports are very useful for automated post-processing. The Unit XML report finally can be used to integrate in your favorite test automation platform (for example Jenkins, GitLab, …) and issue tracking system (for example JIRA, …).

The reporting interfaces are defined in byteblower_test_framework.report module.