Kontinuierliches & automatisiertes Testen ist essentiell für die Entwicklung moderner Software. Es ist bekannt dass die Anzahl von Fehlern in Software dadurch drastisch reduziert wird[1]. Außerdem wurde gezeigt dass das Beheben eines Fehlers deutlich mehr Aufwand & Geld kostet je später im Entwicklungs-Prozess er behoben wird[2]. Bei einem Bug der während der Anforderungs- oder Architektur-Phase eingeführt wird kostet die Behebung in Produktion schnell hundertmal so viel wie eine sofortige Behebung. Entsprechend müssen so viele Probleme wie möglich so früh wie möglich erkannt und behoben werden.
Ein Problem mit der Einführung von Tests ist dass es sehr viele verschiedene Ansätze zur Umsetzung gibt. Die verschiedenen Ansätze haben jeweils ihre eigenen Vor- und Nachteile und damit je nach Szenario alle ihre eigene Berechtigung. Für einige der Test-Typen ist jedoch eine Anpassung des Quellcodes notwendig.
Den richtigen Weg für ein Team & Projekt zu finden ist keine triviale Aufgabe, aber man sollte sich so früh wie möglich daran begeben diese zu lösen. Es gibt viele Stolpersteine bei der Einführung von Tests für die Erfahrung aus anderen Projekten essentiell ist um diese zu überwinden.
Der erste Schritt ist es die verschiedenen Test-Strategien kennen zu lernen. Sie müssen über die jeweiligen Vor- und Nachteile Bescheid wissen um die Entscheidung über die beste Strategie für Ihr Team, Budget & Projekt informiert treffen zu können.
Anschließend sollte das Team die wesentlichen Techniken erlernen. Das involviert die Verwendung von PHPUnit in ihrem Projekt und wie man die verschiedenen Test-Typen damit umsetzen kann. Mit den Tests kann dann neu geschriebene Software getestet werden so dass diese möglichst keine Fehler mehr aufweist. Eine Agenda für ein solches Training kann wie folgt aussehen:
Wir raten üblicherweise dazu ein solches Traning mit einem Workshop zu Clean Code & Objekt-Orientiertem-Design zu kombinieren, so dass die Entwickler wissen wie testbarer Code auszusehen hat.
Wir bieten einen Newsletter mit technischen Artikeln an für den Sie sich jetzt direkt registrieren können.
Bei Qafoo haben wir mehr als 10 Jahre Praxis-Erfahrung mit der Umsetzung verschiedener Tests in Projekten – von kleinen Open-Source-Projekten bis hin zu großen Enterprise-Projekten mit mehr als einer Million Code-Zeilen. Wir haben mit vielen Kunden zusammengearbeitet um die jeweils optimale Test-Strategie für Team, Projekt & Budget zu erarbeiten. Dabei haben wir das Testen bei vielen Unternehmen eingeführt – mit positivem Effekt auf Wartbarkeit und Entwicklungsgeschwindigkeit, so dass wir sicher sicher sind auch für Sie den richtigen Weg finden werden damit zu starten. Wir kennen alle Stolpersteine aus eigener Erfahrung und haben diese schon oft aus dem Weg geräumt. Durch das Teilen dieses Wissens können wir die Einführung von Tests bei Ihnen deutlich beschleunigen.
Wir können auch helfen existierenden Code zu Testen, aber das erfordert meistens auch das refaktorisieren des bestehenden Quellcodes. Je früher Sie mit Tests in einem Projekt starten desto einfacher ist es – deswegen sollten Sie jetzt einen Workshop für Ihre Entwickler buchen.
Kunden die Qafoo bereits vertrauen.
Technische Hintergründe in unserem Blog.
Präsentation von Qafoo auf verschiedenen Konferenzen.