Software-Tests

Warum Tests genauso wichtig sind wie Software-Entwicklung

Tech // Lilli Ahner-Wetzel // Sep 23, 2018
Illus 01 mach learn horizontal 1232px 2x

Software Tests sind ein wichtiger Bestandteil und Erfolgsfaktor der Software-Entwicklung. Bei einem korrekt durchgeführten Testmanagement können mit Hilfe des Testings wichtige Software Fehler im Vorfeld vermieden und eine hohe Qualität der Software sichergestellt werden

Können Software-Tests Leben retten?

Wenn man sich Meldungen von spektakulären Rückrufen von Autokonzernen wie Ford, Nissan und GM in Erinnerung ruft, kann man diese Frage durchaus mit ja beantworten.

Aber auch wenn kein Leben auf dem Spiel steht, können Fehler in der Softwareentwicklung hohe Verluste verursachen: Unmittelbar, indem wie bei Starbucks die Preise nicht berechnet wurden, oder mittelbar wenn ein Feature nicht hält, was es verspricht und der enttäuschte Kunde deswegen dem Unternehmen irgendwann den Rücken kehrt.

So ist es kein Wunder, dass in Projekten zur Softwareentwicklung heute immer das Testing mit berücksichtigt wird.

Ziel ist, die Software auf folgende Kriterien zu überprüfen um eine hohe Softwarequalität zu sichern:

  • Korrektheit
  • Vollständigkeit
  • Anwenderfreundlichkeit (Usability)

Methoden

Um hier richtig vorzugehen ist es wichtig, dass keine Insellösungen getestet werden, sondern der Überblick über möglichst alle die Zielgruppe betreffenden Software-Releases behalten und eine Abfolge von vier Schritten beachtet wird.

Grafische Darstellung der Phasen von Testing

Umgebungsmanagement

Zunächst geht es um die gründliche Vorbereitung.

Die Tallence AG testet unter anderem im Umfeld von Telekommunikations-Produkten, Mitgliedermodellen und Touristik. Dafür müssen Kundenprofile, Nummernkreise und eMail-Adressen speziell für Testzwecke zur Verfügung gestellt werden. Was sich einfach anhört, ist für viele Unternehmen eine Herausforderung, zumindest aber ein gewisser zeitlicher Aufwand.

Aber hier gilt das englische Motto: By failing to prepare, you are preparing to fail.

Test-Management (Vorbereitung, Planung, Entwurf)

Danach kommt das Test-Management, bei dem vor allem die Test-Ziele und daraus resultierenden Test-Fälle festgelegt werden. Wichtig ist, auch den zeitlichen (und damit finanziellen) Umfang spätestens an dieser Stelle mit den Projektleitern der Software-Entwicklung zu besprechen.

Hier muss festgelegt werden, welche Art von Tests (Komponententest, Systemtest, Integrationstest, E2E-Test) nötig sind und welcher Umfang dafür eingeplant wird.

Test-Durchführung – automatisiert und manuell

Anschließend geht es ins „echte“ Testing. Hier unterscheiden wir grundsätzlich zwischen automatisiertem und manuellem Testing.

Beim automatisierten Testing kann beispielsweise mit Hilfe von Robotern die Bedienung eines Touchscreen imitiert oder auch durch den Einsatz von Emulatoren und Ablaufskripten das menschliche Nutzungsverhalten im Wesentlichen getestet werden.

Wenn es jedoch um neuere Felder wie die fehlerlose Spracherkennung geht, ist es wichtig, dass „echte“ Menschen mit der Maschine sprechen um die Software zu testen und die Algorithmen in einem jungen Stadium zu trainieren.

Ob automatisiert oder manuell, wichtig ist, dass die Test-Fälle die definierten Anforderungen abdecken. Hier erweist sich eine mit der Softwareentwicklung und der Business-Seite abgestimmte Priorisierung als sinnvoll.

Ziel ist, in den Bereichen von

  • Installation
  • Funktion
  • Anwendung
  • Wartung

eine möglichst hohe Testabdeckung zu erreichen.

Bug Fixing / Fehlerbehebung

Schließlich geht es darum, die Testergebnisse zum Bug Fixing weiterzugeben. Wir übertragen unsere Testergebnisse üblicherweise direkt an ein Jira-basiertes Ticketing-System.

Dabei gibt der Tester bereits erste Informationen aus dem Test mit:

  • Was wurde getan?
  • Was wurde erwartet?
  • Was ist das tatsächliche Ergebnis?
  • Wie lautet die erste Einschätzung (z.B. kritisch oder zunächst vernachlässigbar)?

Testing at Tallence AG

Seit fünf Jahren betreut Terence als Senior Consultant bei der Tallence AG die wachsenden Testingaufgaben. Gefragt nach den Fähigkeiten, die ein erfolgreicher Software-Tester mitbringen muss, zögert er nicht lange: Gründlichkeit, Geduld, Technikaffinität sowie eine Portion Kreativität sind unerlässlich. Nur so ist es möglich, auch größere Zusammenhänge im Blick zu behalten und sich in den Kunden als letztendlichen Nutzer hineinzuversetzen.

Als Tallence AG haben wir bereits in mehr als 100 Testprojekten das Ergebnis für unsere Kunden und den Endnutzern optimiert und gesichert. Unsere Tester sind ISTQB-zertifiziert und werden höchsten Anforderungen gerecht.

Gerne besprechen wir mit Euch die Potenziale eures Geschäftes. Sprecht uns an.

Außerdem sind wir stets auf der Suche nach neuen Talenten und bieten u.a. spannende Jobs für angehende und erfahrene Software Tester.