The architecture of the testbed is based on the use of self-containing containers (Docker) for the software products (IdP, SP, Proxy). These containers are maintained by a product maintainer and made available at a location of their choice (e.g. Docker Hub). The key component of the testbed is a centrally managed repository (GitHub) that contains the configurations of all products, i.e. deployment and test instructions. A user only has to clone the central repository and can then select the required software products and have it deployed in a target environment (e.g. local or cloud). In addition, the testbed provides a way to run automated web-based tests using Selenium, which are tailored to the selected software products.
This approach makes the administration of the testbed very lightweight and gives developers and other maintainers the opportunity to make their own products easily available.
Product Maintainer
Testbed Administrator
Testbed User
[01] package product
[02] provide config
[03] accept config
[04] update testbed
[05] fetch config
[06] deploy config
[07] fetch product
[08] manage
The testbed offers the capability to define and execute automated web-based tests using Selenium.
<<test sequence diagram>>