Testmetriken

%PM, %27 %823 %2016 %18:%Nov

Es gibt sehr viele Metriken in der Welt des Testens. Aber nicht alle Metriken sind jederzeit gleich wertvoll. Und nicht nur die Auswahl der Metriken ist wichtig, sondern auch wie diese kommuniziert werden.

Nachfolgend ein Vorschlag für ein Minimalset an Metriken, welches bei jedem Testprojekt vorhanden sein sollte und das Ziel - die Entscheidungsfindung der Projektleitung zu erleichtern - nicht aus den Augen verliert.

Für die Planungsphase – die Zeit bis zur ersten Ausführung eines Testfalles – sollte die Überdeckung der Anforderungen im Zentrum stehen. Hier bietet sich eine zeitlich wachsende Grafik an, in welcher neben dem Überdeckungsgrad der Anforderungen durch Testfälle auch der prozentuale Anteil der durch die Tester fürs Testen freigegebener Anforderungen zeigt. Diese beiden Kurven klettern dann gegen 100 % hoch, wobei die 1. Kurve stets unterhalb der 2. Kurve liegt. Denn erst für freigegebene Anforderungen können Testfälle erstellt werden. Falls diese Kurven weit auseinanderliegen, deutet das auf zu wenig Testdesigner hin. Bei sehr eng Abstand dieser Kurven, harzt es bei der Freigabe der Anforderungen. Mit diesen Kurven kann schon mal grob abgeschätzt werden wann man mit der Testdurchführung starten kann.

Bei der Testdurchführung – die Zeit ab der ersten Ausführung eines Testfalles – sind vor allem 2 Informationen von grossem Interesse: Zum einen der Zustand der Testfälle für den Testfortschritt und zum anderen der Zustand der Fehler für den Projektfortschritt. Beide Informationen sollten für jede Testkampagne verfolgt und dargestellt werden. Das geplante Zeitfenster ist dann die X-Achse, was dem Kampagnenzeitfenster entspricht. Die Y-Achse zeigt die Zustands-%-Anteile der beiden Grössen pro Zeiteinheit, am besten in 2 verschiedenen Grafiken.

Folgende Zustände der Testfälle gibt es: Offen, Pass, Fail, Blocked. Die 3 letzten gelten als bearbeitet für diese Kampagne, «Offen» heisst dieser Testfall ist für die Ausführung bereit aber noch nicht bearbeitet worden. Blocked sind alle Testfälle die in dieser Kampagne nicht mehr ausgeführt werden können. Solange noch eine Chance besteht diesen Testfall während der laufenden Kampagne durchzuführen, sollte dieser Testfall im Status Offen bleiben. Den Status der Testfälle für die laufende Kampagne wird in einem Burn Down Chart dargestellt. Die Planungskurve gibt dann vor wieviel Testfälle pro Woche (oder Tag) ausgeführt werden sollten und die Ist-Kurve zeigt den realen Verlauf. In der Planung sind Feiertage, geplante Absenzen und sonstige Nichtlinearitäten berücksichtigt.

Der Zustand der Fehler wird mit folgenden Zuständen beschrieben: offen, gefixt, qualifiziert. Die offenen Fehler sind im Backlog der Entwicklung, die gefixten gehören den Testern und der Zustand qualifiziert ist das Ziel für alle Fehler.

Neben all diesen Metriken, welche möglichst automatisiert erstellt werden sollten, darf ein Statement vom Testmanager für jeden Bericht nicht fehlen. Darin sollten alle Besonderheiten in Prosaform kommuniziert werden, wie z.B. ob neue gravierende Fehler gefunden wurden, welche TCs (neu) blocked sind und wieso, oder ob ein Regressionstestfall fehlgeschlagen ist und Folgefehler entdeckt wurden oder ob jemand krank wurde, etc. Dieses Statement hilft dem Management seine Entscheidungen aufgrund des Teststatus möglichst effizient zu fällen.

Autor: Raphael Grüter

Internet of Things (IoT)

%AM, %07 %368 %2016 %07:%Okt

Das Internet in seiner jetzigen Form ist eine grossartige Sache und hat unser Leben in jüngster Vergangenheit tiefgreifend verändert. Bis heute wird das Internet allerdings hauptsächlich von Menschen benutzt. Nun zeigt sich jedoch, dass diese Vernetzung eine nächste Stufe erreicht: Die Rede ist vom Netz der Dinge, wie zum Beispiel Produktionsanlagen, Fahrzeuge, oder so genannte Wearables, welche z.B. die Gesundheit ihrer Nutzer überwachen können. Das ist jedoch nur die Spitze des Eisbergs. Es wird noch viele weitere Möglichkeiten geben, welche aus heutiger Perspektive noch nicht ersichtlich sind.

Angesichts dieser Entwicklung fragen wir uns, was dieser Trend für einen Einfluss auf das Testen hat.

Wir gehen davon aus, dass es in naher Zukunft zuerst mal ein regelrechter Wildwuchs geben wird was die benutzten Schnittstellen und Übertragungsprotokolle angeht. Eine solche Entwicklung zeigte sich z.B. auch vor der Einigung auf das Blu-ray Format, wo verschiedene Hersteller zunächst diverse Alternativen angeboten haben wie HD-DVD oder DVD Plus, etc. Um dem gerecht zu werden, müssen Tester am Puls der Zeit bleiben und die gängigen Übertragungsprotokolle und Schnittstellen kennen. Dieser Wildwuchs wird mit zunehmender Reife des IoT zwar wieder abflachen. Wann das sein wird, ist jedoch schwer vorherzusagen und bis es soweit ist, müssen wir auch im Testing vorne dabeibleiben.

Ziemlich sicher jedoch ist die Tatsache, dass diese Vernetzung von Dingen die Komplexität der zu testenden Systeme stark erhöhen wird. Somit müssen die Tester nicht nur am Puls der Zeit sein, sondern auch mit dieser starken Erhöhung der Komplexität umgehen können.

Durch den zusätzlichen Anschluss von Dingen an die Internet-Infrastruktur wird vermutlich auch der Datenverkehr stark zunehmen. Dadurch wird das Testen und Überwachen der Performance dieser vernetzten Dinge einen noch wichtigeren Teil einnehmen als dies heute der Fall ist.

Die aus meiner Sicht wichtigsten Aspekte, welche beim Testen im Bereich IoT verstärkt in den Fokus rücken, sind allerdings die Sicherheit und der Datenschutz.

Vor allem, wenn das Internet in Zukunft nicht mehr nur Sensordaten aufnimmt und verarbeitet, sondern diese verarbeitete Information auch dafür nutzt um Aktoren wie Schalter, Ventile und Stellmotoren zu steuern. Mit dieser Neuerung wird der Sicherheitsaspekt deutlich erhöht, was auch vermehrt Tests im Bereich Sicherheit erforderlich macht. Und der Einbezug solcher Aktoren erfordert auch vermehrt Hardwaretests und Systemtests welche neben Software auch Hardwareaspekte abdecken werden.

Betreffend Datenschutz und Anonymisierung von Daten wird es ebenfalls viele neue Anforderungen geben. Und diese müssen nicht nur adäquat entwickelt, sondern auch entsprechend getestet werden

Sie sehen - uns Testern wird es so bald nicht langweilig werden.

Autor: Raphael Grüter