Testkonzepte im Software Testing
einfach erklärt

Eine hundertprozentige Testabdeckung kann es nicht geben.
Khayrat Glende

Testkonzepte im Software Testing einfach erklärt

Die individuelle Softwareentwicklung ist immer noch aufwändig und teuer. Software Testing kann Firmen unterstützen, qualitativ hochwertige Software in Time und Budget auf den Markt zu bringen und so Wettbewerbsvorteile zu generieren. Khayrat Glende, Head of Quality Management, ist bereits seit 20 Jahren in der Softwareentwicklung und im Test- und Qualitätsmanagement tätig. Wir haben ihn zum Thema Software Testing befragt und klären, was wichtig beim Erstellen eines Testkonzepts ist?

Was ist Software Testing und in welchen Situationen wird getestet?

Beim Testing handelt es sich um einen Prozess, der Software und deren einzelne Anwendungen auf Fehler und Mängel überprüft. Es soll sichergestellt werden, dass Software-Produkte, egal ob bereits existent oder in der Entwicklung befindlich, bestimmten Anforderungen und Spezifikationen entsprechen. Dabei geht es neben der reinen Funktionalität auch um Aspekte wie Benutzerfreundlichkeit, Performance, Stabilität, Compliance, Kompatibilität oder Sicherheit, aber auch darum, wie sich das neue Produkt in den bisherigen Workflow einfügt, beziehungsweise diesen verändert. Neben diesen rein am Software-Produkt orientieren Test kann das Testing auch weiter gefasst werden und projektorganisatorische und prozessuale Aspekte umfassen. Gerade diese organisatorischen oder weichen Faktoren spielen bei Softwareprojekten eine bedeutende Rolle.

Warum ist Software Testing wichtig?

Viele Gründe sprechen für das Testen von Software-Produkten. Das Aufdecken von Fehlern und Schwächen bei Software-Produkten kann je nach Reifegrad der Software dem Kunden viel Zeit und Ressourcen sparen. Vertrauen in das auszuliefernde Produkt und dessen Qualität ist ein weiterer wichtiger Grund. Zentral ist dabei das Minimieren von Risiken durch das Verifizieren von expliziten und impliziten Anforderungen und Erwartungen an die Software. Frühzeitiges Einbeziehen von Expertise lohnt bereits in der Konzeptionsphase und hilft am Ende immer bares Geld zu sparen.

Was kann beim Testing außer Software noch überprüft werden?

Beim Testing können sowohl Software als auch Prozesse überprüft werden. Diese Evaluierung kann natürlich auch APIs im Rahmen agiler Projekte, Reviews von Angebotsdokumenten, Fachkonzepten aber auch Testfälle, Testdaten, Testumgebungen und Testausführungen selbst umfassen.

Wie wird ein Testkonzept in der Softwareentwicklung erstellt?

Ich skizziere hier einen idealisierten Prozess zum Erstellen eines Testkonzepts. Natürlich variiert das dann in der Praxis von Kunde zu Kunde. 

Wichtig für den Planungsprozess sind die folgenden Schritte:

1.     Kontext erfassen

Als erstes ist es notwendig, das Produkt und die Zielsetzung des Unternehmens genau zu verstehen. Hierbei arbeiten wir eng mit dem Kunden zusammen. Wir fragen nach Pflichtenheften, Fachkonzepten und anderen internen Materialien, die uns helfen können, den zu testenden Inhalt in seinem individuellen Gefüge zu erfassen. Dieser Schritt ist die Basis für die Testanforderungen und die Identifikation von Testobjekten. Im Anschluss stecken wir den zeitlichen Horizont ab und klären Fragen, die das Budget und sonstige Ressourcen betreffen. Interessant ist auch, ob es schon einen Softwareentwicklungsplan gibt, und welche Kommunikationswege bevorzugt werden.

2.     Zuständigkeiten klären

Zuständigkeiten und Verantwortlichkeiten müssen möglichst schnell identifiziert werden, damit allen Beteiligten klar ist, wer welche Aufgaben übernimmt und Ansprechpartner für die relevanten Bereiche bekannt sind. 

3.     Risikoanalyse

Ein valides Konzept beinhaltet eine ausführliche Risikobetrachtung. Das Erfassen und Klassifizieren möglicher Risiken erfordert Erfahrung und bedeutet einen großen Kommunikationsaufwand, ist aber essentiell für ein gutes Testkonzept, um die meist knappen Ressourcen an Zeit und Manpower optimal einzusetzen. 

4.     Entwurf einer Teststrategie

Mit Hilfe einer Teststrategie klären wir, wie wir die Testziele im Rahmen der zur Verfügung stehenden Mittel und Einflußfaktoren erreichen können. Berücksichtigt werden müssen vor allem die Aspekte Zeit, Personal (Know-How und Verfügbarkeit), Budget, Projektorganisation (agil, klassisch, mixed) und Testinfrastruktur (Testsysteme, Testdaten).
Da Testen hauptsächlich darauf abzielt, relevante Aussagen über den Zustand des Softwareprodukts zu erhalten, ist darüber hinaus das Identifizieren und Festlegen von geeigneten Testobjekten, Teststufen, Testarten sowie Testmethoden ein zentraler Bestandteil der Teststrategie. Abgerundet wird die Teststrategie durch die Wahl einer geeigneten ToolChain einschließlich des Berichtswesens.

5.     Abstimmung und Iteration

Erfahrungsgemäß gibt es nie auf Anhieb den perfekten Plan, der hundertprozentig alle Eventualitäten vorwegnehmen kann. Gleiches gilt für die Teststrategie. Eine gute und abgestimmte Teststrategie berücksichtigt aber möglichst früh die vorhandenen und relevanten Informationen und vermittelt so den relevanten Stakeholdern (insbesondere auch dem Projektteam) einen klaren Überblick über den geplanten Testumfang, sowie den geschätzten Ressourcenbedarf. Im Laufe des Projektfortschritts und dem damit einhergehenden Zuwachs an Wissen über Produkt- und Projektzustand, wird die Teststrategie den neuen Erkenntnissen angepasst.

Mit welchen Anforderungen begegnen dir die Kunden, die auf der Suche nach einem Testkonzept sind? 

Sie kommen zuallererst mit einer Vorstellung von ihrem Produkt – was die gewünschte Software idealerweise für Problemstellungen bewältigen soll. Hilfreich ist für uns immer, wenn schon etwas in schriftlicher Form vorliegt. Basierend auf diesen initialen Informationen wird ein Testkonzept entwickelt. Damit soll sichergestellt werden, dass das fertige Produkt den Vorstellungen des Kunden entspricht.

Und was passiert, wenn die Kundenanforderungen auf dem Tisch liegen?

Dann ist die Expertise der Neofonie gefragt. Ab hier beginnt unsere umfassende Beratung. Das weitere Vorgehen ist individuell. Wir erstellen auf Basis der Anforderungen und unserer Analyse gemeinsam mit dem Kunden ein passendes Testkonzept. Dazu gehört natürlich auch ein Schulungsplan für die Mitarbeitenden beim Kunden. Fachabteilungen, die selbst Tests durchführen, müssen geschult werden.

Worauf muss man bei komplexen Projekten im Software Testing besonders achten? 

Ganz wichtig ist, alle Stakeholder an einen Tisch zu bekommen. Gerade die Fachabteilungen, die später mit den Produkten umgehen sollen, müssen frühzeitig beteiligt sein. 

Des Weiteren ist an jeder Stelle des Prozesses eine umsichtige Risikobetrachtung notwendig. Die richtigen Fragen müssen gestellt werden, gerade auch in Hinblick auf die Reduktion von Komplexität. 

Ist eine längere Projektlaufzeit absehbar, empfiehlt es sich auch frühzeitig, über eine Testautomatisierung nachzudenken. Automatisierungsstrategien beziehen vor allem kritischen Testfälle ein, die regelmäßig bei Releaselieferungen erneut durchlaufen werden müssen (Regressionstests). Auf jeder Ebene sollte dabei genau abgewogen werden, ob und was automatisiert werden soll. Selbst auf Unit-Ebene lässt sich im Rahmen von Refactorings die Komplexität teilweise drastisch reduzieren. Kompatibilität ist ein weiterer Punkt. Wenn verschiedene Software-Produkte im Einsatz sind, muss unter anderem geprüft werden, wie kompatibel die unterschiedlichen Produkte untereinander sind. Wichtig in diesem Zusammenhang ist auch das Thema Schnittstellen innerhalb der Produktlandschaft, ebenso die Infrastruktur. 

Eine hundertprozentige Testabdeckung kann es nicht geben. Man kann lediglich eine hinreichend aussagekräftige Stichprobe testen. Ein Expertenrat gleich am Anfang des Testing Prozesses kann so manche kostspielige Entwicklung im Nachgang vermeiden.

Was zeichnet ein erfolgreiches Testkonzept deiner Meinung nach aus?

Das Schaffen einer Balance von Zeit, Budget und Ressourcen spielt sicher eine entscheidende Rolle für den Projekterfolg. Und: Je genauer die Anforderungen und Risiken im Vorfeld des Testings definiert sind, desto tragfähiger und umsetzbarer wird ein Testkonzept sein. Wichtig sind auch ein gemeinsames Verständnis und schriftlich fixierte Vereinbarungen. Das Konzept muss natürlich auch regelmäßig an den Projektfortschritt angepasst werden.

Nach welchen Standards arbeitet Neofonie im Testmanagement?

Neofonie orientiert sich bei der Planung, Durchführung und Dokumentation des Testkonzepts  in der Softwareentwicklung an etablierten Standards wie zum Beispiel ISO-21919. Das Arbeiten nach Standards gepaart mit langjähriger Erfahrung gewährleistet am Ende ein hohes Maß an Qualität. 

Vielen Dank für das Gespräch!

Teilen auf

L(i)ebe Deinen Job!
Du hast weitere Fragen oder Lust bei uns zu arbeiten, dann melde Dich gern bei uns! Wir sind für Dich da!

Das Interview führte Susen Rumposch.
Veröffentlichung am 31.01.2023

Khayrat Glende

Khayrat Glende

Head of Quality Management

Khayrat hat 2008 als Entwickler bei Neofonie begonnen und kam früh in Berührung mit dem Thema Testautomatisierung und Security Tests. Seit 2016 leitet er die Abteilung Qualitätsmanagement, die er kontinuierlich voranbringt.

Das könnte Sie interessieren
Arzt mit einem Mobiltelefon in den Händen

Herausforderungen für Innovatoren im komplexen E-Health-Markt

Der E-Health-Markt bietet viele Möglichkeiten für digitale Medizinprodukte, ist jedoch anspruchsvoll. Welche Herausforderungen gibt es für Unternehmen?

Portrait von Poppe Poppe

Wandern zwischen den Welten – von den USA nach Berlin

Es ist der Traum vieler Deutscher in die USA auszuwandern. Poppe wanderte nach Deutschland aus und ging nach Berlin. Ein Interview über ganz persönliche Erfahrungen.

Neofonie erhält Deep Tech Award 2023

Neofonie erhält Deep Tech Award 2023 in der Kategorie IT-Security von der Berliner Senatsverwaltung für Wirtschaft, Energie und Betriebe. Bei dem eingereichten Projekt kommt TXTWerk zur Anwendung.

EHealth_news

Zertifizierung nach ISO 13485 – Gesundheit braucht Qualität

Neofonie ist zertifiziert nach ISO 13485. Erfahren Sie, was die Zertifizierung nach der Norm beinhaltet und welche Vorteile sie bringt.

ontolux bei der Berlin Buzzwords 2023

Bei der Berlin Buzzwords stellen Qi Wu, Bertram Sändig von ontolux am 19.06.23 in ihrem Vortrag domänenspezifische Ontologien in der IT-Sicherheitsbranche im Bereich ML vor.

Carolin Meyer Senior Projektmanagerin steht vor einer Wand mit Bemalung, modern mit Robotern, Linien usw.

Women in Tech – Projektmanagement in der IT

Frauen im IT-Projektmanagement sind selten. Carolin Meyer, Senior Projektmanagerin bei Neofonie, beschreibt ihren Weg in die IT-Branche und ihren Berufsalltag.

Thomas_Interview

Qualitätssicherung im Healthcare Markt

Was Qualitätssicherung im Healthcare Markt für die Softwareentwicklung bedeutet, erklärt Thomas Kitlitschko, CEO der Digitalagentur Neofonie.

Neofonie_25th_adjustments_Header

Neofonie feiert 25 Jahre

Neofonie hat sich mit der ersten deutschen Internetsuchmaschine hin zur führenden Digitalagentur entwickelt, wie das aktuelle Internetagenturranking des BVDW zeigt.

Cert_ISO13485_neofonie

Neofonie ist ISO 13485 zertifiziert

Zur Erfüllung der neuen europäischen Standards (Medical Device Regulation) hat die Neofonie Gruppe ihr Qualitätsmanagement nach ISO 13485 zertifiziert.

ontolux bei der Minds Mastering Machines 2023

Auf der M3 Konferenz stellt Bertram Sändig von ontolux am 11.05.23 in seinem Vortrag domänenspezifische Ontologien in der IT-Sicherheitsbranche im Bereich ML vor.

typo3-1200_650px-onblack

Neofonie ist TYPO3 Gold Member

Neofonie baut die Zusammenarbeit mit der TYPO3-Association aus und zertifiziert sich als Gold Member.

AI4SCM untersucht Supply Chain Risiken

Das AI4SCM Forschungsprojekt hat zum Ziel, Methoden für die Beobachtung und Erkennung von Supply-Chain Risiken zu entwickeln.

Unser Newsletter „Neo Report“ vermittelt konkretes Praxiswissen, Trends und Know-how für Ihr digitales Business – quartalsweise und kompakt. Jetzt anmelden.