Anwendung von Continuous Integration am Enjine.io Framework
Application of Continuous Integration on the Enjine.io Framework
- Die tägliche Arbeit von Softwareentwicklern ist es, Software so zu schreiben, dass sie auch in Zukunft so schnell und flexibel entwickelt werden kann wie am ersten Tag. Dafür stehen ihnen zahlreiche Methoden und Tools zur Unterstützung zur Verfügung. Jedoch stellt die Einrichtung und erstmalige Anwendung solcher Hilfsmittel oftmals eine Hürde dar, vor allem, wenn man selbst in diesem Bereich noch keine Erfahrung gesammelt hat. In dieser Arbeit wird dieser Ansatz durch die Entwicklung und Anwendung einer statischen Code-Analyse und Modultests auf eine bestehende NodeJS-Software verfolgt. Diese Software ist Teil einer übergeordneten Projektinfrastruktur, auf deren Komponenten diese Testverfahren später ebenfalls angewendet werden sollen. Für die Evaluation werden etablierte Tools zur Implementierung und Automatisierung der Testprozesse ausgewählt. Der Vergleich dieser Tools erfolgt dann auf der Grundlage gewichteter Kriterien die anhand einer subjektiven Einschätzung bewertet werden. Zunächst werden die Tools JSLint, JSHint und ESLint für die statische Codeanalyse evaluiert. Dann werden Unit-Tests entworfen und definiert und anschließend mit den Unit-Test-Frameworks Mocha, Jest und Vitest implementiert. Schließlich werden die Tests mit einem CI-Tool automatisiert. Aus der Vielzahl an Plattformen wurden BitBucket Pipelines, CirleCI und Buddy als Testobjekte ausgewählt. Es stellte sich heraus, dass eine Vielzahl projektspezifischer Faktoren bei der Auswahl der CI Tools eine Rolle spielen. Die Evaluierung der Tools lieferte eine solide Grundlage für weitere Tests und damit Vertrauen und Sicherheit in die Zukunft von EnjineIO. Diese Arbeit ist besonders für Softwareentwickler interessant, die noch keine Erfahrung mit Softwaretests gemacht haben und einen Einblick in dieses Thema erhalten möchten. Zudem dient sie dazu, einen Einblick in die Besonderheiten der genannten Softwaretest-Tools zu erhalten, wenn ein Team den Wechsel auf eines davon plant.
Author: | Alexander Feilke |
---|---|
URN: | urn:nbn:de:bsz:mit1-opus4-137063 |
Advisor: | Uwe Schneider, Rico Beier-Grunwald |
Document Type: | Bachelor Thesis |
Language: | German |
Year of Completion: | 2022 |
Granting Institution: | Hochschule Mittweida |
Release Date: | 2023/01/17 |
GND Keyword: | Softwareentwicklung |
Page Number: | 47 |
Institutes: | Angewandte Computer‐ und Biowissenschaften |
DDC classes: | 005.12 Softwareentwicklung |
Open Access: | Frei zugänglich |
Licence (German): | ![]() |