ETICS – a service to improve the quality of software
Isabel Matranga – Engineering Ingegneria Informatica SpA – email@example.com, firstname.lastname@example.org
ETICS is a service-oriented system to build, test and check the quality of software. Its software is open source released under the Apache 2.0 license. ETICS is a solution for software development and testing life cycle management. The ETICS system is designed to simplify and automate the development process and realize complex testing scenarios while improving the quality of software.
ETICS offers a complete range of testing tools for checking various aspects of software and a framework for writing and executing customized tests. With ETICS its users can define, execute and analyse a large range of software testing cases, from static code analysis (e.g. documentation coverage, PMD metrics) to unit testing, to standard compliance testing, to deployment and functional testing in a multi-node environment created specifically for the test execution.
ETICS main features are:
- Distributed builds - You submit the builds from the web interface and ETICS allocates the required computational resources to perform the build exploiting the computing power of a distributed environment. ETICS distributes builds across different machines enabling whole projects or single components to be built in parallel
- Support for automatic creation of distribution packages - in a number of different formats (rpm, deb, tgz) on the basis of the platform selected for the build.
- Dependency management - ETICS offers advanced management of build and runtime software dependencies. Within the ETICS infrastructure a large repository of Open Source third party tools is available for users to choose.
- Complex testing scenarios - ETICS allows to define multi-node testing environments specifying software to install and testing scripts for each node enabling whole projects or single components to be tested against different environments and operating systems.
- Distributed tests – ETICS allocates the required computational resources from its pool to perform the tests exploiting the computing power of a distributed environment and automating the execution of testing scripts. At run-time ETICS also provides a synchronization mechanism on all nodes involved in the test .
- Collection of test information - from popular testing libraries (e.g. junit, findbugs, pyunit, checkstyle etc.) and its integration in the build and test reports. Support for other tools can be added via plugins.
- Constant quality checking of software. At every build/test, ETICS executes several specific plugins to execute source code analysis and collect measures on code quality.
- Quality reports - aggregated reports as well as raw data is available for developers and managers to keep your software quality high.
The use of ETICS is mainly suggested when dealing with large, distributed software and teams and when managing multi-language and multi-platform software. With ETICS, software professionals can also check the quality of the software produced against the major quality standards by using ETICS build-in quality verification module. ETICS team is working on further enhancements of ETICS service, e.g. a new feature being developed is the cloud standard compliance check (in particular OCCI and CDMI).
ETICS aims at developing and maintaining a service which supports software professionals in producing high quality software reducing at the same time the time spent on build, integration and test activities. When dealing with large, distributed software and teams and when managing multi-language and multi-platform software, integration and testing activities may become difficult to manage, with ETICS these activities become straightforward.
We have at heart open source software and we think that the quality of the artifacts produced is a fundamental element to promote trustworthiness towards the open source world and artifacts.
ETICS can be used, at different levels:
- Developers use ETICS to configure components, manage dependencies, check software quality, automate build and test activities.
2. Release Managers can configure and integrate different components in a unique project release. ETICS also provides a repository that can be used as a distribution site for packages.
3. Project Managers with a vision of the overall project status (components build/test success rate, software quality improvements).
It is worth highlighting that being multi-language, multi-platform, the usage of ETICS does not impose any technological choice on any project willing to use the service.
There are some tools and services for continuous integration with similar features to ETICS, the most popular are Jenkins, Bamboo, Travis-CI. These competitors are usually more focused on the building phase, while ETICS covers also testing and release phases.
The initial contributors of ETICS, during the ETICS and ETICS2 project were: CERN, INFN, 4Dsoft, MTA Sztaki, Vega IT Gmbh, Forshungzentrum Jülich, University of Wisconsin-Madison and Engineering Ingegneria Informatica SpA.
At the moment Engineering Ingegneria Informatica SpA continues supporting the activities regarding ETICS service enhancement and user support.
Members of the current supporting team are:
email@example.com; firstname.lastname@example.org, email@example.com, firstname.lastname@example.org,
At the moment ETICS services are offered, free of charge, to non commercial projects to perform their build, testing and quality check activities. In the long run Engineering aims at creating ETICS open source community to maintain and further enhance ETICS software with the support of an active community. A detailed business model will be developed in the following months.
ETICS has been used by a set of EU funded projects: Diligent, D4Science, D4ScienceII, TEFIS, EGEE and EMI. It is being used by the iMarine and XiFi projects. ETICS is also one of the services offered by the OCEAN project to the projects hosted in its Open Cloud Directory.
ETICS has a global audience and global users. In the past it has been used by several European projects: Diligent, EGEE, EMI, D4Science, D4scienceII, TEFIS. Today it is used by: iMarine project and XiFi project and a set of projects hosted in OCEAN Open Cloud Directory.
At the moment the ETICS team is performing enhancements to the ETICS service and in particular is developing new, more user friendly interfaces and data visualisation tools. ETICS team is also developing a new testing feature specific for cloud software which will support cloud software developers in testing their artifacts against OCCI ad CDMI cloud standards. All the above features will be available in the short term through different releases of the ETICS service during a lapse of time that goes from January 2014 to October 2014. Through the OCEAN project ETICS team supports cloud projects, part of OCEAN Open Cloud Directory, that would like to use ETICS services to check their artifacts but also showcase some of the results of their quality checks through the Open Cloud Directory itself. In the medium and long-term ETICS team aims at continuing proposing its expertise, know-how and services to EU and National funded projects in order to continue exploiting its mission of enhancing the quality of open-source software. In the long-term ETICS team aims at creating an open source community to maintain and further enhance ETICS software with the support of an active community.
ETICS is one of the services offered by the OCEAN project. It is provided to open source projects as an on-demand build, test and quality verification service. As one of OCEAN services ETICS is mainly used to simplify, automate and support testing activities improving the quality of the software being produced. ETICS also supports software compliance and interoperability through its new features being developed through OCEAN project for the verification of the compatibility to OCCI and CDMI standards.
ETICS is being used in the context of OCEAN to execute builds and tests of two OW2 projects CompatibleOne and CHOReOS. More cloud-related OW2 projects could be analysed by OCEAN in the future.
At the moment ETICS does not use any OW2 components but we are very interested in:
- nanoko.org: could be added to ETICS with reference to its build features;
- CLIF: and the possible automation of the execution of CLIF testsuites in ETICS;
- Antepedia: its licence discovery and evaluation could be added in ETICS.
ETICS is one of the services offered by the OCEAN project, one of the collaborative projects OW2 is involved in. Through OCEAN, ETICS is performing the analysis of the software produced by two OW2 projects: CHOReOS and CompatibleOne (in cooperation with the two projects). Furthermore, ETICS team is extremely interested in the activities being performed by OW2 within its SQuAT program and in the OSCI initiative.
ETICS has already a set of users and the ETICS team is always looking for new users and new sources of funding to support activities addressed towards adding new features and enhancing the existing ones. An example of an interested party which already uses ETICS is the iMarine Consortium. Interest towards ETICS service was also shown by the partners of the OCEAN project and the projects contacted during OCEAN project activities.
At the moment ETICS neither uses nor proposes any standard or technology to be included in the OW2 code base.
We believe that OW2 community can benefit from the use of ETICS to improve the perceived quality of the code which is downloaded from its forge. The use of ETICS throughout the development process of the software simplifies build and test activities and provides constant quality checks of the software being produced. The well structured and monitorized development and itegration activities and the frequent checks done on the quality of the code beeing written undoughtedly increases the overall quality of the software produced.
OW2 is one of the leading open source communities in the world. In the last year ETICS team has had the opportunity to learn more about it and appreciate its work thanks to the cooperation taking place within the OCEAN project ad through Engineering's Group direct involvement in the consortium. OW2 is a very active community and it also concentrates on the quality of the open source software, this perfectly meets our policy and aims.
Apache Software License 2.0