Für den Erfolg einer Software sind Softwaretests maßgebend. So können schon vor der Programmierung relevante Fehler vermieden, eine höhere Qualität sichergestellt und kostenaufwändige Fehlerbehebungen in späteren Entwicklungsphasen verhindert werden. Um teamübergreifend einen Überblick über die unterschiedlichen Teststufen beizubehalten, ist der Einsatz von Testmanagern sinnvoll.
Testaktivitäten und Testorganisation sind mitentscheidend für den Erfolg der agilen Methoden. So profitieren auch die Entwickler- und Inkrement-Tests von den systematischen Methoden des Testens, wie der Äquivalenzklassenbildung oder den kombinatorischen Testverfahren.
Basierend auf der Teststrategie erarbeiten wir ein Testkonzept unter Einbeziehung des Ist-Zustandes. Aus den ermittelten Anforderungen leiten wir anschließend die erforderlichen Testfälle ab und definieren die notwenigen Testdaten.
Je komplexer eine Software ist, desto höher wird der Anteil der Regressionstests. Daher sollten alle Tests wiederholbar und effizient ausführbar sein. Testautomatisierung verspricht in diesem Fall eine Steigerung der Testeffizienz. Erscheint der Automatisierungsaufwand unrentabel, beraten Sie unsere ISTQB-zertifizierten Tester außerdem bei der Durchführung existierender Testfälle oder überprüfen erfahrungsbasiert Ihr System mittels explorativer Tests in unterschiedlichen Teststufen wie Systemintegrationstest oder Abnahmetest.
Vereinfachtes Datenmanagement
Die effiziente Bereitstellung von Testdaten, deren Rücksetzen und die regelmäßige Überprüfung der Validität des Datenbestandes stehen im Fokus des Testdatenmanagements. Dabei berücksichtigen unsere Experten ebenfalls die Verknüpfungen und Abhängigkeiten über die verschiedenen Systeme hinweg. Darüber hinaus unterstützen wir Sie bei der Bereitstellung und Verwaltung Ihrer Testumgebung.
Analyse und Verbesserung des Testprozesses
Die Qualität eines Produktes hängt auch von dem Reifegrad des etablierten Testprozesses ab. Mittels TPI NEXT analysieren wir nach einem standardisierten Vorgehen Ihren Testprozess. Basierend auf den aufgezeigten Stärken und Schwächen des Ist-Prozesses leiten wir anschließend eine schrittweise Verbesserung des Testprozesses in ausgewählten Kernbereichen ein, um den gewünschten Reifegrad zu erreichen.
Durch das Monitoring Ihrer Testaktivitäten und das Optimieren der Testprozesse steigern wir nachhaltig die Softwarequalität.
Testautomatisierung
Über den gesamten Lebenszyklus einer komplexen Anwendung hinweg bedarf es einer Testautomatisierung. Vor allem im Hinblick auf agile Vorgehensmodelle kann auf eine gezielte Testautomatisierung nicht verzichtet werden, befreit sie doch die Testdurchführenden von wiederholenden Aufgaben, wie der Testdatengenerierung, der Testergebnisprüfung und der Testablaufprotokollierung. Die dadurch entstehenden kürzeren Iterationen geben den Entwicklern in kürzester Zeit Feedback über die Qualität der Software.
Für die schnelle und kontinuierliche Bereitstellung von Anwendungen sind vollständig automatisierte Unit-, Integrations- und UI-Tests unerlässlich. Während Unit-Tests bereits als Standard in der Softwareentwicklung etabliert sind, benötigen Integration- und UI-Tests eine komplexe Infrastruktur. Neben der Gestaltung der Anwendung muss dabei die Abhängigkeit zu anderen Systemen und Komponenten berücksichtigt werden. Daher wird beim Aufbau einer Testautomatisierung immer auch Entwicklungserfahrung benötigt.
Testautomation ist eine Langzeit-Investition in eine Softwareentwicklung, die die bisherigen manuellen Tests ergänzt bzw. ersetzt und den Entwicklungsprozess letztendlich beschleunigt. Wir unterstützen Sie bei der End-to-End-Automatisierung vom Build-Prozess bis zur Bereitstellung.
Testdatenmanagement
Ein entscheidender Faktor für den Erfolg eines Projektes ist die Bereitstellung von Testdaten in den jeweiligen Entwicklungs- und Testumgebungen. Dabei gilt es, die für Testdaten relevanten Eigenschaften wie Qualität, Ausprägung, Abdeckung, Zeit und Quantität zu berücksichtigen. Diese komplexe Aufgabenstellung erfordert individuelle Vorgehensweisen beim Testdatenmanagement.
Während des gesamten Entwicklungsprozesses werden mithilfe unserer Testexperten Ihre Testdaten optimal für die automatisierten und manuellen Tests erstellt, bevorratet und adäquat gealtert. Durch dieses einheitliche und strukturierte Testdatenmanagement senken wir die Kosten und den Zeitaufwand bei der Entwicklung sowie beim Test und sorgen für die Einhaltung sowohl rechtlicher Standards als auch Ihrer firmeninternen Regelungen.
Testumgebungsmanagement
Kürzere Release-Zyklen, kürzere Time-2-Market-Vorgaben sowie der Trend zu Microservices und deren notwendige Orchestrierung fordern eine hohe Effizienz und gestatten keine langen Wartezeiten auf die Bereitstellung von Testumgebungen. Um praxisnahe Tests durchführen zu können, wie es zum Beispiel für Last- und Performancetests erforderlich ist, benötigen die Tester so früh wie möglich eine Testumgebung, die der späteren Produktivumgebung entspricht bzw. entsprechend skaliert ist.
Es ist Aufgabe des Testmanagers, dem Testteam die optimalen Umgebungen bereitzustellen. Unsere erfahrenen Experten übernehmen für Sie die Konzeption, Einführung und Koordination der Bereitstellung der Testumgebung.
Testfallerstellung
Im Idealfall ist ein Tester schon in die Phase der Anforderungsableitung mit eingebunden. Hierdurch können Anforderungsdokumente und Spezifikationen frühzeitig auf die Einhaltung der notwendigen Qualitätskriterien überprüft werden. Werden die Geschäftsprozesse über mehrere Systeme abgebildet, müssen zudem Integrationstests für die gesamte Systemlandschaft vorgesehen werden.
Basierend auf den fachlichen und technischen Vorgaben erstellen unsere Tester die notwendigen Testspezifikationen nach gängigen Testfallentwurfsverfahren (z.B. Äquivalenzklassenbildung oder Grenzwertanalyse) für die unterschiedlichen Testarten. So wird eine möglichst hohe Testabdeckung erreicht und dabei gleichzeitig der Testaufwand reduziert.
Testautomatisierung für Tarifrechner
Das Projekt hatte zum Ziel, die Regressionstests für die Tarifrechner zu vereinfachen und den manuellen Aufwand während der Software-Qualitätssicherung zu minimieren. Zudem sollte die Integrität aller Validierungsregeln sichergestellt werden. Anschließend sollten die standardisierten Testverfahren als Grundlage für weitere Produktbereiche dienen.
Durch eine Echtzeit-Validierung bei Vertragsangeboten und das entsprechende neue Testverfahren wurde die Vertriebseffizienz deutlich gesteigert und die Fehlerquote bedeutend verringert.