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