TAPPER FACT SHEET

Infrastructure for all aspects of testing

Automation

  • Network boot (PXE + TFTP + NFS)

  • Machine self-setup driven by abstract specfiles

  • Image-based or kickstart/autoyast based installation

  • Lightweight status API to easily plug in foreign installers

  • Support for virtualization setups (Xen and KVM)

  • Inject packages, programs, files into hosts/guests

  • Control execution of test scripts in hosts/guests

  • Interdependent setup and sync of co-operating machines

  • Complex timeout handling for complete test cycle, inclusive virtualizated guest

  • Reboot handling

  • Console logging

  • Hardware reset

Scheduling

  • Optimize utilization of pools with "not enough" machines for "too many use-cases"

  • Multiplex queues of freely definable use-cases (e.g., Xen, KVM, baremetal kernels, ad-hoc tests, benchmarks) with different bandwidths

  • Pluggable core scheduling algorithm (default "Weighted Fair Queuing")

  • Feature driven host matching (by memory, cores, vendor, etc. or complex combinations)

  • Dynamic queue and host management (add, delete, de/activate)

  • Host/queue binding for dedicated scheduling

  • Auto re-queuing for continuous testing

  • Multi-host scenarios

Web Application

  • Frontend to 2 databases: testruns and reports

  • Providing a "management view" and high-level test result evaluation

  • Overview lists and detailed zoom-in, GREEN/YELLOW/RED coloring

  • Filters over time, testsuites, machines, success status

  • RSS feeds on such filters

  • Visualize groups of connected results (virtualized neighbour guests)

  • Control start of testruns

Result Evaluation

  • The programmable complement to the webgui

  • Allow complex queries on the test result database

  • No client side toolchain neccessary

  • Easy API to send and get back queries embedded in templates

  • API allows SQL and XPath like queries in an abstract way

Testplan Support

  • Testplans combine many Tapper features into concise points of interest

  • Manage testplan hierarchy allowing specfile reuse for complex testplan matrix

  • Interoperation with TaskJuggler on dedicated QA tasks for automatic scheduling and reporting

  • Consequently a complete focused QA life cycle of planning, execution and reporting

Support for writing tests

  • Format test results based on standard Test Anything Protocol (TAP)

  • Existing standard TAP toolchains available for about 20 programming languages

  • Dedicated Tapper support for Shell, Perl, Python available

Many use-cases

  • Kernel testing (stress, function, reboot)

  • Virtualization Testing (Xen, KVM)

  • Test matrix of host/guest combinations

  • Distribution testing (like OS or compilers)

  • Multi-machine scenarios

  • Complex result evaluation

Technology

  • Test Anything Protocol (TAP)

  • Core system written in Perl and CPAN

  • DB independent via OR mapper, developed on MySQL and SQLite

  • HTML/CSS, cautious Javascript

  • Language agnostic testing (e.g, Perl/Python/Shell test suites)

  • PXE, GRUB, TFTP, NFS boot automation

  • Strong decoupling of functional layers (webgui, testsuites, automation) to allow you amalgamate own infrastructures