Testen ist nicht sexy, aber unumgänglich!

Im Zeitalter von Tablets und Smartphones sind Anwender daran gewöhnt, dass Software reibungslos funktioniert. Wenn eine App beim zweiten Ausprobieren nicht die Ergebnisse wie erwartet liefert, fliegt sie vom Device und bekommt eine schlechte Bewertung. Nach Fehlern wird nicht gefragt, schon gar nicht gesucht. Doch um dahinzukommen, bedarf es immer noch eines wohlüberlegten Workflows von der Entwicklung über das Testen bis zur Auslieferung. Wir zeigen Ihnen heute, wie wir in unserem Unternehmen testen, welche Methoden wir anwenden und wie so ein Workflow bei uns aussieht.

Software muss getestet werden!

Wer kennt es nicht: “It’s not a bug it‘s a feature!” Das war in der Vergangenheit doch immer mal wieder eine Antwort des Supportes. Wenn was nicht ging, war es zuerst die „Dummheit der Anwender“.Das gehört immer mehr der Vergangenheit an. Klar gibt es noch Fehler, aber diese werden durch agile Entwicklungsmethoden, durch das 4-Augenprinzip und durch intensives Testen meist eliminiert, noch bevor die Software zum Kunden geht. Was früher den Anschein hatte, dass Software, wie Bananen, unreif ausgeliefert wurde, ist das heutzutage nicht mehr tragbar. Software muss von Beginn an fehlerfrei funktionieren. Durch ausgereifte Apps sind die Anwender verwöhnt und erwarten einfach, dass alles einwandfrei läuft. Dazu bedarf es umfangreicher Tests.

Unser Anspruch ist es, dem Kunden fehlerfreie Software zu liefern. Aus dem Grund haben wir einige Tester bei uns beschäftigt.

Wer testet Software?

Das sind ganz besondere Typen von Menschen, die dieses Gen: „Das muss sich doch zum Absturz bringen lassen!“, in sich tragen. Menschen, die sehr kreativ sein müssen, denn Sie müssen halt vom „DAU“ (Dümmster Anzunehmender User) ausgehen und sich die unwahrscheinlichsten Vorgehensweisen ausdenken, die ein Anwender mit einer Software anstellen kann. Doch diese Kreativität muss in Bahnen gelenkt werden, denn akribisches Arbeiten ist ebenfalls extrem wichtig, damit Fehler gefunden, reproduziert und dann natürlich behoben werden können.

Automatische Tests

Jetzt werden Sie denken, was soll das alles? Heutzutage wird doch alles automatisch getestet. Nein, denn auch heute noch können nicht alle Fehler durch automatisierte Testverfahren gefunden werden. Zwar helfen die Automatismen, einiges an Fehlern zu finden, aber in vielen Bereichen ist das manuelle Testen unumgänglich. Z.B. die Bewertung für die Handhabung und Bedienbarkeit einer Software, lässt sich allein durch eine automatisierte Testausführung nicht abdecken. Aber natürlich greifen wir auch auf Tools zur Testunterstützung zurück:

  • QF Tool (GUI Testautomatisierung)
  • ATF Tool (Automatisiertes Testen für die ServiceNow Instanz)
  • Testlink (open Source) Testmanagementsystem für die Testfalldokumentation und -auswertung)
  • Burp Suite (Security Testing)

In einem weiteren Artikel werden wir Ihnen die verschiedenen Anwendungsgebiete der unterschiedlichen Verfahren vorstellen.

Nur in enger Abstimmung mit der Entwicklung

Wer glaubt, dass Entwicklung und Test gegeneinander arbeiten, ist auf dem Holzweg. Die Arbeit der Tester besteht hauptsächlich aus der engen Zusammenarbeit mit den Kollegen aus den Entwicklungsteams. Nur so kann sichergestellt werden, dass die Entwicklung zügig voranschreitet.

Erfahrung machts

Genauso wichtig, wie in der Entwicklung, ist auch beim Testen die Erfahrung. Unsere Erfahrungswerte haben wir in der gesamten Leistungsbandbreite von Media Solutions, wie in der Anwendungsentwicklung, Digitalisierung und ESM (Enterprise-Service-Management) mit ServiceNow sammeln können.

Testverfahren

Wir verwenden Testmethoden basierend auf dem Blackbox Verfahren, ohne die Codierung zu berücksichtigen. Das Verfahren enthält Testarten wie GUI Tests, IT-Security Tests, Zustand basierte Tests, Positive Tests und Negative Tests.

Der GUI (Graphical User Interface) Test

bezieht sich ausschließlich auf die Benutzeroberfläche. In diesem Verfahren werden folgende Aspekte von uns gesichtet und durchgetestet:

  • die grafische Darstellung (Bilder, Tabellen, Buttons)
  • die Funktionen (Exportieren, Suche ausführen, Speichern)
  • Anwendersicht, Usability
    Und natürlich, dass alle vorgegebenen Spezifikationen für eine Anwendung eingehalten werden.

Die IT Security Tests

berücksichtigen hier die Sicherheitsaspekte:

  • Passwortrichtlinien
  • Schutz der Anwendung vor Datenklau
  • Datenmanipulation
    So kann gesichert werden, dass unberechtigter Zugriff verweigert wird.

Der Zustand basierte Test

prüft nach einer Ausführung von einer Aktion das veränderte Systemverhalten:

  • Beinhaltet die Anwendung einen Statusworkflow so müssen die Statusveränderungen geprüft werden

Der Positive Test

soll den Nachweis erbringen, dass eine Anwendung das tun soll, was sie tun soll:

  • es wird gegen die System-Anforderung geprüft
  • es wird gegen die Kunden-Anforderung geprüft

Der Negative Test

prüft das Systemverhalten der Anwendung bei falscher Eingabe oder Bedienung:

  • bei falscher Eingabe wird dies mit einer Fehlermeldung abgefangen
  • bei falscher Bedienung ist die fehlerhafte Bedienung so nicht ausführbar

Die oben aufgeführten Testverfahren entsprechen dem ISTQB Testverfahren.

Unser Workflow

Wie schon erwähnt, stehen wir während einer Testphase in einer transparenten Kommunikation mit dem Entwicklerteam. Nachdem die Anforderungen mit dem Kunden abgestimmt worden sind, beginnt die Entwicklung mit der Umsetzung. Nach oder auch mal während der Umsetzung wird das Testteam mit einbezogen. Das ist der Beginn eines fließenden Workflows.

Von Anfang an, sind wir mit in den laufenden Projektprozess eingebunden. Der Testprozess startet sogleich mit unserer Aufwandsabschätzung. Bevor die eigentliche Testausführung beginnt, werden die Testdaten vorbereitet und die Testcases (Testfälle) geschrieben.

Je nach Anwendung führen wir die Tests, wie nach den oben genannten Methoden, aus. Wenn an einer bestehenden Anwendung, aufgrund vom Kunden, eine Erweiterung oder Änderung gewünscht ist, dann werden von uns die „Regressionstests“ ausgeführt. Dies beinhaltet den Test von einem kompletten System, ob die Änderungen oder Erweiterung vom System, eine Auswirkung hat, auf die bestehenden Module oder Komponenten im System.

Zur direkten Kommunikation und Dokumentation nutzen wird das Tool „Jira“, hier werden auch alle gefundenen Bugs erfasst und dokumentiert. Nach Abstimmung mit dem Entwicklerteam, werden die Bugs behoben. Von unserer Seite erfolgt dann ein weiterer Test, ob der Bug gefixt wurde.

Sobald wir mit allen Tests durch sind, findet die abschließende Testdokumentation statt. In diesem Zuge wird die Anwendung dem Kunden zum Testen zur Verfügung gestellt. Falls der Kunde jetzt noch einen Bug finden sollte, kommen wir wieder zum Einsatz, um den Bug zu reproduzieren. Anschließend findet seitens der Entwicklung wieder ein Bugfix statt. Prozesswiederholend müssen wir nun einen Regressionstest durchführen, um wirklich sicher zu gehen, dass der Bugfix keine weiteren Auswirkungen auf das Systemverhalten hat.

Wenn dann alles zu unserer Zufriedenheit getestet worden ist, geht dies final zum Kunden raus und wir schließen den Testprozess ab.