Title: | Testgetriebene Entwicklung von eingebetteter Software bei simultaner Entstehung der Zielhardware | Language: | German | Authors: | Heimann, Jan | Keywords: | Testgetriebene Entwicklung; Eingebettete Systeme; Dual-Targeting | Issue Date: | 14-Jun-2024 | Abstract: | 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. Test-driven development is a method of software development where the code is written incrementally. First a testcase is written which tests the software for a specific behaviour. Next, just enough logic is implemented for the test to pass successfully. This thesis examines how test-driven development can be used for embedded software under the assumption that the final target-hardware is not yet available for executing the tests. Three test-frameworks will be analyzed regarding their suitablity. Followed by an introduction of a set of methods which allow for testing without the hardware, including dual-targeting and the use of test-doubles and mock objects. A toolchain is proposed, which enables the application of the described methods and test-driven development. The impact of the approach on the software development itself is described. Automation of the workflow and scalability of the approch for more complex projects gets explored. Finally, the test-driven development is put into the context of agile methodologies. |
URI: | http://hdl.handle.net/20.500.12738/15920 | Institute: | Fakultät Technik und Informatik Department Informations- und Elektrotechnik |
Type: | Thesis | Thesis type: | Master Thesis | Advisor: | Dierks, Henning | Referee: | Schädler, Kristina |
Appears in Collections: | Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
MA_Testgetriebene_Entwicklung.pdf | 4.85 MB | Adobe PDF | View/Open |
Note about this record
Export
Items in REPOSIT are protected by copyright, with all rights reserved, unless otherwise indicated.