Testgetriebene Entwicklung von eingebetteter Software bei simultaner Entstehung der Zielhardware - Jan Heimann (2024)
Die testgetriebene Entwicklung ist eine Arbeitsweise der Softwareentwicklung, die es vorsieht, den Code inkrementell zu schreiben. Es wird zunächst ein Testfall formuliert, der die Software auf ein bestimmtes Verhalten überprüft. Anschließend wird gerade ausreichend Code implementiert, um den Testfall erfolgreich zu bestehen. Diese Arbeit untersucht, wie die testgetriebene Entwicklung für eingebettete Software eingesetzt werden kann, ohne die finale Zielhardware zum Ausführen der Tests bereitstehen zu haben. Dafür werden drei Test-Frameworks auf ihre Eignung hin untersucht. Anschließend werden Methoden, wie das Dual-Targeting und der Einsatz von Doubles und Mock Objekten vorgestellt, gefolgt von einer Betrachtung der Auswirkungen des Ansatz auf die Softwareentwicklung. Es wird eine Toolchain beschrieben, die für den testgetriebenen Ansatz und die vorgestellten Methoden geeignet ist. Danach wird auf das Thema Automatisierung eingegangen und beschrieben, wie sich der Ansatz mithilfe von Continuous Integration für größere Projekte skalieren lässt. Abschließend wird die testgetriebene Entwicklung in den Kontext von agilen Vorgehensmodellen eingeordnet.
Keywords: Testgetriebene Entwicklung; Eingebettete Systeme; Dual-Targeting