Opentest is an open-source, distributed and scalable Test Automation Framework based on STAF developed to address the needs of embedded software testing.
STAF "is an open source, multi-platform, multi-language framework designed around the idea of reusable components, called services...The STAF framework provides the foundation upon which to build higher level solutions, and provides a pluggable approach supported across a large variety of platforms and languages" (from STAF website).
Opentest adds new STAF services on top the default services provided by STAF and integrates them with TestLink, an open source Test Management System, to provide a complete open source test automation solution.
A complete Opentest system can be installed on a single machine but it can scale into a system with hundreds of machines. At Texas Instruments, we typically have few dozens machines registered in the system at any point in time.
Opentest offers a flexible but also complex full-fledged test automation system that provides among other things:
- A feature-rich Test Management System based on TestLink.
- A Test Queuing mechanism that allow users' to submit test requests at any time. The test will run when resources become available.
- Support to run the same test case on different hardware.
- Resource Management. Equipment such as device under tests are managed and shared across all users.
- Tools to automatically generate and publish test reports.
- Tools to setup continuous test execution such as Nightly tests.
- Performance Test reports.
- Test Execution engines used by Texas Instruments to test its own products.
- Web and CLI driven test execution.
Opentest goal is:
- to provide a fully reusable test infrastructure that provides basic services to address the typical needs of any group doing embedded software test automation, and
- to define an interface that allow people to develop and share their own services that can be easily plugged-in to the rest of the system.