Nicht erzählte Wahrheiten über das Testen
Immer wieder wird Testautomatisierung generell als Zeitverschwendung abgetan. Dies ist natürlich so nicht richtig.
Testautomatisierung ist dann Zeitverschwendung, wenn diese strukturlos z.B. mit Unit Tests beginnt und mit einem nur von einem Experten durchführbar und wartbaren automatisierten Systemtests endet.
Mit automatisch generierten Unit Test gestaltet sich der Anfang noch mühelos da für die Entwickler gewohnte Werkzeuge noch reichlich zur Verfügung stehen.
Es werden Tests automatisiert, ohne dass die nötige Zeit für R&D und
die Entwicklungsteams zum Nachziehen von für die Automatisierung benötigten Schnittstellen nachzuziehen.
Auf System Test Ebene wird dann entweder gar nicht mehr automatisiert da der Komplexitätsgrad zu hoch erscheint oder die System Tester kein Know-How im Bereich der Entwicklungsprinzipen und Praktiken haben. Auch wird dann gerne an den falschen Stellen mit der Automatisisierung begonnen.
Gerade Vorbedingungen für das System Deployment (Firmware der Geräte, das System in einen definierten Ausgangszustand bringen, usw) lassen sich sehr gut automatisieren.
Gerne unterstützen wir Sie dabei, die richtigen Test richtig zu automatisieren,
aber auch die richtigen Tests nicht zu automatisieren. Hierbei ist es wichtig, die Testautomatisierungsframeworks einfach zu halten und auch den Projektteilnehmern, die nicht zum Kernentwicklungsteam
gehören die Möglichkeit zu geben effizient an der Testautomatisierung mitzuwirken.
Wer viel misst misst Mist. Das ist natürlich richtig. Wir helfen Ihnen dabei die richtigen Metriken zu erarbeiten und diese auch zu verargumentieren. Nur mit den richtigen Metriken kann der Testmanager beurteilen, ob die Qualität sich stetig verbessert oder den erwünschten Grad beibehält.
Es gilt zu klären, welche Ziele mit den Metriken erreicht werden sollen, welche Daten hierfür erfasst werden müssen und ob Erfassungs- und Konfigurationsaufwand angemessen in Relation zum Zugewinn sind.
Natürlich besteht die Gefahr mit Prozessen eine Menge Papier zu erzeugen. Vor allem dann, wenn Prozesse ihrer selbst willen geschrieben werden. Prozesse erfüllen aber nie einen Selbstzweck. Wir helfen Ihnen bei der Definierung der erforderlichen Prozesse mit dem Umfang, den Sie benötigen, um Überreglementierung zu verhindern und trotzdem den erwünschten Grad an Standardisierung zu erreichen.
Selbstverständlich ist Visualisierung ein guter Weg technische Sachverhalte in Richtung des Managements zu transportieren. Neben diesem hat die richtige Visualisierung aber auch den Vorteil eine multiple Datenlage schnell und einfach z. B. während eines Testlaufs so zu kondensieren, dass schnell und eindeutig Zustände aufgenommen und benötigte Aktivitäten schnell abgeleitet werden können. So kann ein allfälliger Testabbruch oder ein komplettes Scheitern eines Testlaufes verhindert und Kosten gespart werden.
Neue Ansätze lösen immer erst eine Diskussion der Sinnhaftigkeit aus. Dies ist völlig normal und sogar ein wichtiger Teil von Veränderungsprozessen. BDD stellt eine Weiterentwicklung von TDD dar und die Qualität Ihrer Produkte wird sich verbessern.
Verantwortung ist weder deligier- noch teilbar. Es muss immer allen klar sein, wer den "Testhut" führend trägt und das Thema Qualitätssicherung treibt. Im Scrum getroffene Entscheidungen von fachfremden führen zu Qualitätsverlust.
Der wichtigste Punkt beim Softwaretesten ist die innere Einstellung. Testen dient hierbei massgeblich dem Finden von Fehlerzuständen und Fehlerwirkungen. Es ist nicht im Fokus zu beweisen, das ein Testobjekt funktioniert.