A network-connected development environment, as illustrated in Fig. 1, typically consists of a box on which changes are created using editors/IDEs/Toolchains for the task at hand, we refer to such a machine as the dev box. Said changes are then deployed for testing on one or more boxes/VMs/systems, we refer to the latter as test-targets.

With cijoe you create an Environment Definition for each of available test-target. Thus, when you are e.g. Running Testplans, then you can easily switch test-target by providing a different Environment Definition.

Development Environment

Fig. 1 Development environment containing a dev box, and multiple test-targets.

The sections Prerequisites and Installation describe what is needed on your dev box and your test-target(s).


An Example: remote environment definition for a test-target named box01 is used throughout the documentation, such as in the examples of Running Testplans and dropping into the Interactive Shell.

Once you have ensured that Prerequisites are met, have gone through the Installation, and created your Environment Definition, then you have the basics in place and you can start Running Testplans, generate reports using the Reporter, extract metrics of interest using the Extractor and feed extracted metrics to the Analyser for evaluation and Plotter to produce graphs.

In addition to the command-line tools described in the sections above, then cijoe and cijoe packages provide Bash-modules, you can familiarize yourself with these by using the Interactive Shell and have a look at how to do Provisioning using CIJOE, of your test-target(s), and integrate cijoe in CI/CD systems using the Scripting Snippet and glue together tasks in your workflow as outlined in the Scripting Example.

After going through the sections described above, then you should have gotten a feel for cijoe and you can start Creating Packages for your project(s). At this point it is likely that you have stumbled accross things you find are wrong, annoying, or for other reasons you would like to change. In that case then feel free to create a pull-request with your changes on GitHUB.