Ein TestCenter betreut viele Projekte in vielen verschiedenen Fachdomänen. Dies führt über die Zeit zu einer großen Anzahl von abstrakten Testfällen und deren Anwendung in verschiedenen Testumgebungen. Durch diese Breite an betreuten Projekten ergeben sich Möglichkeiten der statistischen Auswertung hinsichtlich Effizienz und Effektivität von Testfällen. Testumgebungen können im Bezug auf allgemein notwendiger Konfigurationen analysiert und vorkonfiguriert werden, damit die Initialphase eines Testprojektes signifikant verkürzt wird, was zusätzlich zu einer Steigerung der Effizienz beiträgt. In diesem Zusammenhang ist mit einer Testumgebung eine Software-Testumgebung gemeint, die virtualisiert werden kann. Hier geht es also um (Vor-) Konfigurationen von z.B. Betriebssystemen, Browsern und Werkzeugen. Die Analyse zur Wiederverwendung von Testfällen und Testumgebungen läuft in verschiedenen Phasen ab:
1. Analysieren und Kategorisieren
In dieser Phase wird in Abhängigkeit der verschiedenen Fachdomänen und deren Rahmenbedingungen, in denen getestet wurde, analysiert, welche Ergebnisse die konkreten Testfälle liefern konnten. Die verschiedenen Kontexte werden abstrahiert und kategorisiert, damit die Testfälle verschiedenen Kategorien zugordnet werden können.
2. Abstraktion
Innerhalb der Kategorien werden die konkreten Testfälle bezüglich genereller Gemeinsamkeiten untersucht und zu abstrakten Testfällen modelliert. Wie mit den Testfällen wird auch mit den Testdaten und Testumgebungen verfahren. Auch diese werden in Bezug auf die jeweiligen Kategorien nach allgemein gültigen Gemeinsamkeiten hin analysiert und abstrahiert.
3. Prüfung
Bei diesem Schritt findet eine Prüfung der Anwendbarkeit der so gewonnen Testfälle, Testdaten und Testumgebungen mit konkreten Testobjekten statt. Die abstrakten Testfälle werden also wieder zu funktionalen instanziiert und zur Anwendung gebracht. Dies soll gewährleisten, dass das richtige Maß der
Abstraktion gefunden wurde, damit Effizienzvorteile gewährleistet sind. Sind die Testfälle zu speziell, können sie nicht übergreifend für verschiedene Testobjekte wiederverwendet werden. Sind sie dagegen zu abstrakt, liefern sie keine Vorteile bezüglich der Effizienz gegenüber einer völligen Neuerstellung.
4. Persistierung
In dieser Phase werden die Testfälle, Datensätze (inklusive Variationsprinzipien) und Testumgebungen zur Wiederverwendung indiziert und persistiert. Die Indizierung stellt dabei die größte Herausforderung dar, denn von ihr hängt ab, ob in einem neuen Projekt dann auch die effizientesten und effektivsten Testfälle gefunden werden. Ist die Indizierung ungenügend, so wirkt sich dies direkt negativ auf die Suche und Auswahl aus. Dies kann dazu führen, dass in der Datenbank zwar optimal wiederverwendbare Testfälle, Daten und Umgebungen vorhanden sind, aber nicht zur Anwendung kommen.
Im TestCenter ist dieser Prozess permanent zu den laufenden Testprojekten aufgestellt. Mit jedem Projekt wird daher das Wiederverwendungspotential des TestCenters größer. Davon profitiert auch direkt eine andere wichtige Technologie des TestCenters zur Steigerung der Effizienz, das modellbasierte Testen. Die statistischen Erhebungen helfen bei der Auswahl und Konfiguration bzw. Programmierung der Codegeneratoren. Die in den oben beschriebenen Phasen modellierten Testfälle können dann direkt für diesem Ansatz verwendet werden.
Über die Zeit wächst die Menge an wieder verwendbaren Testfällen, die es erlaubt das Produktportfolio des TestCenters besser an Kundenbedürfnisse anzupassen. Es können also spezifischere Produkte bzw. Dienstleistungen angeboten werden. Das TestCenter deckte bis dato eher allgemein die Aufgaben der Qualitätssicherung ab. Dies ist auch in Zukunft weiter gewährleistet. Es kann jetzt aber um punktuelle in sich abgeschlossene Produkte erweitert werden, die es dem Kunden erlauben, sich beliebig einen "Warenkorb" an Qualitätssicherungsmaßnahmen zusammenzustellen. Jedes dieser Produkte umfasst ein genau definiertes und in Preisen fixiertes Basispaket an Aufgaben, Leistungen und Ergebnissen. Dieses wird dann mit hoher Kostensicherheit auf Basis der statistischen Daten kundenspezifisch erweitert. Um den Unterschied zum bisherigen TestCenter zu verdeutlichen, sind drei der Produkte exemplarisch genannt:
1. GUI-basierter Smoketest
Ein Test, der sich auf die Basisfunktionalität eines Testobjekts beschränkt. Gerade bei der Basisstabilität zeigen sich immer wieder generelle und von einem konkreten Testobjekt relativ unabhängige Testabläufe, die Qualitätsdefizite aufzeigen.
2. Performancetest
Hier sind Aufgaben und Abläufe definiert, die rein auf die Güte der Performance eines Testobjekts fokussieren.
3.Installationstest
Hier kommen besonders die vorkonfigurierten virtuellen Testumgebungen zum Tragen. Die Testabläufe sind relativ einfach und standardisiert, sie werden aber an vielen Varianten von Testumgebungen durchgeführt.