Vorteile des checkerberry test centers
Lassen Sie sich von den Vorteilen des checkerberry test centers überzeugen.
Vorteile des checkerberry test centers im Detail
Steile Lernkurve, hohe Produktivität Details einblenden
Das checkerberry test center basiert auf Standardtechnologien, die jeder Software-Entwickler bei seiner täglichen Arbeit verwendet wie z.B. XML und JUnit/TestNG. Durch die übersichtliche API des checkerberry test centers und die ausführliche Dokumentation ist der Software-Entwickler in der Lage, bereits nach kurzer Zeit produktiv mit dem checkerberry test center zu arbeiten.
Details ausblenden
Geringe Kosten Details einblenden
In zahlreichen Projekten werden aufgrund fehlender Alternativen eigene Frameworks für die Erstellung von Integrationstests entwickelt. Aus Zeit- und Budgetgründen sind diese Frameworks in der Regel unzureichend dokumentiert und nicht aureichend getestet. Das Ergebnis sind oft Frameworks, die zunächst sinnvoll funktionieren, mit steigender Vielfalt und zunehmender Anzahl von Integrationstests jedoch an ihre Grenzen stoßen.
Aufgrund dieser Probleme kommt es bei der Entwicklung eines eigenen Test-Frameworks häufig zu hohen Wartungsaufwänden. Im schlimmsten Fall ist die Weiterentwicklung nicht mehr wirtschaftlich, sodass das Test-Framework nicht weiter verwendet wird. Die Investitionen sind dann unwiederbringlich verloren.
Durch die Verwendung des checkerberry test centers ist die Entwicklung eines eigenen Test-Frameworks nicht erforderlich. Auf diese Art und Weise sparen Sie schnell eine zwei- bis dreistellige Anzahl an Personentagen ein, die für die Umsetzung fachlich relevanter Themen eingesetzt werden können.
Details ausblenden
Vorhandenes Know-how nutzen Details einblenden
Software-Entwickler sind sehr effizient in der Verwendung ihrer Werkzeuge wie z.B. eclipse IDE, Maven oder Hudson. Das checkerberry test center integriert sich nahtlos in die Infrastruktur ihrer Software-Projekte, sodass die Software-Entwickler sich an keine neue Umgebung anpassen müssen. Stattdessen können sie ihr gesamtes Know-how verwenden, um schnell und effizient das checkerberry test center einzusetzen.
Details ausblenden
Nahtlose Integration Details einblenden
Das checkerberry test center macht keine Vorgaben bezüglich der zu verwendenden Klassenhierarchie. Es gibt somit keine Basisklasse, von der eine Testklasse erben muss, um das checkerberry test center einzubinden. Aus diesem Grund kann das checkerberry test center in jeder bestehenden Testklasse verwendet werden. Darüber hinaus ermöglicht dieses Vorgehen die Kombination von beliebigen Teilmodulen wie z.B. checkerberry db und checkerberry web.
Details ausblenden
Schnelle Einbindung Details einblenden
Das Einbinden des checkerberry test centers erfolgt zentral in der Setup- und Teardown-Methode der Testklasse. Da es keine weiteren Konfigurationsdateien gibt, ist die Einbindung somit sehr schnell und einfach möglich.
Details ausblenden
Unabhängig vom Test-Framework Details einblenden
Das checkerberry test center verwendet intern eine Abstraktion des verwendeten Unit-Test-Frameworks. Für JUnit3, JUnit4 und TestNG sind Standard-Implementationen vorhanden, wodurch der Großteil der Projekte abgedeckt ist. Durch die Implementierung eines einfachen Interfaces können auch andere Test-Frameworks eingebunden werden.
Details ausblenden
Umfangreiche Features Details einblenden
Das checkerberry test center bietet eine Reihe von Features, die die tägliche Arbeit erheblich erleichtern. Dazu gehören vor allem auch Funktionen, die nicht der Testerstellung allein dienen, sondern z.B. auch die Analyse unterstützen. Durch die Möglichkeit in checkerberry db Reports anzeigen zu lassen, können vorhandene Tests einfacher analysiert werden. Durch die Möglichkeit in checkerberry web Browserinstanzen wiederverwenden zu können, wird die Ausführungszeit der Tests beschleunigt.
Details ausblenden
Best Practices Details einblenden
Bei der Erstellung von automatisierten Integrationstests gibt es viele Stolpersteine und Sackgassen, die es zu vermeiden gilt. Die Wahl des Testdatenformats oder die Verwendung von Capture & Replay sind nur zwei Beispiele für kritische Entscheidungen, die einen Entwickler langfristig auf den falschen Pfad führen können. Aufgrund unserer langjährigen Erfahrung im Bereich der automatisierten Integrationstests machen wir im checkerberry test center klare Vorgaben, die Sackgassen verhindern und nachhaltige Tests ermöglichen.
Details ausblenden
Best of Breed Details einblenden
Das Ziel des checkerberry test centers ist es nicht, das Rad neu zu erfinden. Mit unserem Best of Breed-Ansatz verwenden wir etablierte Open-Source-Produkte wie DBUnit oder Selenium. Der Mehrwert des checkerberry test centers liegt zum einen in den zahlreichen Features, die die Testerstellung auf unterschiedlichen Ebenen vereinfachen. Zum anderen bietet das checkerberry test center eine Out-of-the-Box-Lösung, die schnell einsatzfähig ist. Während andere Open-Source-Produkte bewusst sehr allgemein einsatzfähig sind, macht das checkerberry test center viele wichtige Vorgaben und vermindert so den Einarbeitungsaufwand. Für den Einsatz des checkerberry test centers ist somit deutlich weniger Know-how erforderlich, als bei der Erstellung eines eigenen Test-Frameworks aus den genannten Open-Source-Produkten.
Details ausblenden
Minimiertes Risiko Details einblenden
Die Erstellung eines eigenen Test-Frameworks erfordert umfangreiches Know-how. Gerade im Bereich der automatisierten Integrationstests gibt es viele Entscheidungen, die ein Team langfristig in eine falsche Richtung leiten, da die Aufwände für die Wartung der Tests explosionsartig steigen. Es ist daher wichtig, schon zu Beginn der Entwicklung die richtigen Entscheidungen zu treffen, wobei zu diesem Zeitpunkt das erforderliche Know-how oftmals nicht vorhanden ist. Das checkerberry test center minimiert dieses Risiko, da viele Design-Entscheidungen vorgegeben sind und Sie vor dem Weg in die Sackgasse bewahren.
Details ausblenden
Zielgerichtete Projektsteuerung Details einblenden
Die Erstellung von automatisierten Integrationstests verbessert die Planbarkeit eines Software-Projekts. Die automatisierten Tests können permanent ausgeführt werden, was eine kontinuierliche Standortbestimmung ermöglicht. Wie bei einem Navigationssystem kennen Sie permanent den aktuellen Status und können daher mit ruhiger Hand steuern.
Wenn Sie keine automatisierten Integrationstests verwenden, erfahren Sie den Status Ihres Projekts lediglich in den manuellen Testphasen. Stellen Sie sich ein Navigationsgerät vor, das Ihnen nur alle 10 Minuten die aktuelle Position mitteilt. Dieses Navigationsgerät wäre vermutlich ein Ladenhüter; in IT-Projekten ist dieses Vorgehen dagegen häufig anzutreffen.
Details ausblenden
Verlässliche Planbarkeit Details einblenden
Die Software-Qualität spielt eine wichtige Rolle bei der Planbarkeit eines Projekts. Verfügt das Projekt lediglich über wenige automatisierte Tests, kann die Qualität der Software nur schwer ermittelt werden. Lediglich die manuellen Testphasen geben dann einen Überblick über die Qualität der Software. Ist die Qualität der Software gering, werden viele Bugs/Defects entdeckt. Die Behebung der Fehler kann starke Auswirkungen auf den Projektplan haben, da die eingeplanten Zeiten nicht ausreichen, um die schlimmsten Fehler zu beheben.
Durch den Einsatz von automatisierten Unit- und Integrationstests behalten Sie die Qualität Ihrer Software permanent im Blick. Unliebsame Überraschungen in den manuellen Testphasen bleiben Ihnen erspart und das Projekt bleibt planbar.
Details ausblenden
Kostengünstige Fehlerbehebung Details einblenden
Je früher ein Fehler innerhalb eines Software-Systems entdeckt wird, desto günstiger ist seine Behebung. Fehler, die während der Software-Entwicklung auftreten, können sofort behoben werden. Fehler, die in Testphasen entdeckt werden, müssen verwaltet und auf verschiedenen Ebenen (Stages) nachgetestet werden. Fehler, die erst in der Produktion auftreten, können darüberhinaus Umsatzausfälle oder Imageverlust bedeuten.
Da das checkerberry test center bereits in der Entwicklungsphase eingesetzt wird, werden Fehler frühzeitig entdeckt und können kostengünstig behoben werden.
Details ausblenden
Reduzierung manueller Testaufwände Details einblenden
Mit dem checkerberry test center hat der Software-Entwickler die Möglichkeit schnell und einfach automatisierte Integrationstests zu erstellen. Die zusätzliche Durchführung dieser Tests in manuellen Testphasen ist gerade bei sehr einfachen Tests nicht erforderlich. Dadurch besteht die Möglichkeit manuelle Testaufwände zu reduzieren; viele Tests können automatisiert durchgeführt werden. Alternativ besteht die Möglichkeit, die manuellen Testaufwände unverändert bestehen zu lassen, wobei die verfügbare Zeit für komplexere Tests oder andere Testverfahren, z.B. exploratives Testen, verwendet werden kann. Durch den Einsatz des checkerberry test centers halten Sie sich somit neue Optionen offen.
Details ausblenden
Unbegrenzte Testausführung Details einblenden
Mit dem checkerberry test center erstellen Sie automatisierte Integrationstests, die beliebig oft ausgeführt werden können. Im Vergleich zu manuellen Tests ist die automatisierte Ausführung schneller, kostengünstiger und weniger fehleranfällig. Zudem kann die Testausführung über Continuous-Integration-Systeme wie z.B. Hudson zyklisch wiederholt werden.
Details ausblenden
Regressionssicherheit Details einblenden
Ein wesentlicher Vorteil bei der Erstellung von automatisierten Tests besteht darin, dass auch ältere Tests immer wieder ausgeführt werden. Auf diese Art und Weise wird permanent sichergestellt, dass auch bestehende Features durch die Entwicklung neuer Funktionalität nicht beeinträchtigt wird. Gerade bei stark wachsenden Systemen ist dies manuell kaum sicherzustellen, da die Kosten und der Zeitbedarf für manuelle Tests erheblich sein können. Des Weiteren schließen häufig Bugfixing-Phasen an die manuellen Testphasen an, in denen wiederum beliebige bestehende Funktionalitäten korrumpiert werden können.
Ein vollständiger manueller Test der gesamten Software ist nach jedem behobenen Fehler nicht möglich. Hier bietet die Automatisierung von Integrationstests eine kostengünstige Lösung, um die Regressionssicherheit der Software zu gewährleisten.
Details ausblenden
Fachliche Sicht (Business View) Details einblenden
In agilen Prozessen wie Scrum oder ATDD (acceptance test driven development; Akzeptanztest-getriebene Entwicklung) wird die Interaktion aller Projektbeteiligten forciert.
Die Fachabteilung, die Software-Entwicklung und das Test-Team besprechen gemeinsam die fachlichen Anforderungen und fassen sie in Form von User Stories zusammen. Darüber hinaus werden Akzeptanztests für umzusetzende fachliche Funktionalitäten diskutiert und festgelegt. Die Umsetzung der fachlichen Akzeptanztests in Form eines automatisierten Integrationstests erfolgt durch die Software-Entwicklung. Die Fachabteilung wird an dieser Stelle jedoch technisch ausgegrenzt, da sie keine Möglichkeit hat, den Status der definierten Akzeptanztests kontinuierlich zu verfolgen.
Das Teilmodul checkerberry business view schließt diese Lücke und ermöglicht der Fachabteilung den (fachlichen) Blick auf die Testergebnisse. Innerhalb der Continuous-Integration-Umgebung Hudson wird ein Report angezeigt, der den Status aller User Stories bezogen auf die zugehörigen Akzeptanztests enthält. Dies ermöglicht der Fachabteilung jederzeit den aktuellen Stand der Entwicklung aus fachlicher Sicht zu betrachten. Diese Transparenz ist eine gute Basis für einen offenen und vertrauensvollen Umgang zwischen den technischen und den fachlichen Projektbeteiligten.
Darüber hinaus ermöglicht die checkerberry business view eine fachliche Einschätzung der Qualität des aktuellen Softwarestands. Zeigt der Bericht an, dass eine User Story fehlerhaft ist, kann anhand der fachlichen Tragweite entschieden werden, ob dennoch ein Release erstellt wird.
Details ausblenden
Versionierung der Testdaten Details einblenden
Die Software-Entwicklung wird stetig komplexer. Es ist heute nur noch selten der Fall, dass ein Software-Produkt gradlinig entwickelt wird. Stattdessen gibt es verschiedene Verzweigungen für verschiedene Releases, für verschiedene Features und für Fehlerbehebungen. Es gibt die Software somit nicht nur in einer Version, sondern in vielen Versionen, die vollkommen unterschiedlich aussehen können.
Durch die Verwendung von verschiedenen Versionen ein und derselben Software steigt auch die Anforderung an die Software-Tests, da die Tests auch in verschiedenen Versionen gepflegt werden müssen. Das Zusammenstellen der relevanten Tests für eine bestimmte Version einer Software ist nicht trivial. Es muss sichergestellt werden, dass alle relevanten Tests ausgeführt werden und dass alle nicht relevanten Tests nicht ausgeführt werden.
Das checkerberry test centers löst dieses Problem auf die einfachste Art und Weise. Da die Tests direkt mit der Software zusammen gespeichert werden, ist die korrekte Zuordnung von Test und Software-Version schon implizit immer sichergestellt. Das checkerberry test center benötigt daher keine eigene Datenhaltung für Ihre Tests. Stattdessen speichern Sie Ihre Tests in dem gleichen Versionierungstool wie den Quell-Code Ihrer Software auch. Sie nutzen somit optimal Ihre vorhandenen Resourcen und Ihr vorhandenes Know-how.
Details ausblenden