Entwicklung eines Testsystems durch automatische Codegenerierung
- LOGICDATA entwickelt APIs (Application Programming Interfaces) für die marktführenden Smartdevice Plattformen zur Steuerung von mechatronischen Systemen in der Möbelindustrie. Die Funktionalität dieser APIs muss durch Tests mit verschiedenen Eingabeparametern überprüft werden. Änderungen in der Implementierung der APIs während der Entwicklungs- und Testphase führen zu Wartungsaufwand des Testsystems, welcher manuell durchgeführt werden muss. Das führt zu längeren Testdurchlaufzeiten und zu Verzögerungen in der Freigabe-Phase des Projekts. Ziel dieser Masterarbeit ist es, anfallende Wartungstätigkeiten bei API-Änderungen während der Testphase zu automatisieren, um die Entwicklungszeit des Testsystems zu reduzieren. Zu diesem Zweck soll eine Codegenerierungsmethode ausgewählt werden, mit der Code in verschiedenen Programmiersprachen und Plattformen generiert werden kann. Dafür werden verschiedene Codegenerierungsmethoden hinsichtlich ihrer Eignung für diese Aufgabenstellung miteinander verglichen und eine Wahl getroffen. Aufbauend auf diese Entscheidung wird eine Softwarearchitektur eines Testsystems mit automatischer Codegenerierung entworfen. Nach Festlegung dieser werden der Codegenerator und die Softwarekomponenten des Testsystems entwickelt und die Vorteile hinsichtlich Entwicklungs-, Wartungsaufwand und Testdurchlaufzeit aufgezeigt. Tests mit den ersten implementierten APIs haben gezeigt, dass der Einsatz der automatischen Codegenerierung zu einer höheren Codeflexibilität und niedrigerem Entwicklungsaufwand führt. Das Testsystem kann für die Verifikation zukünftiger API-Releases eingesetzt werden.
- LOGICDATA develops APIs (Application Programming Interfaces) for the market leaders of smartdevice platforms to control mechatronic systems in the furniture industry. The functionality of these APIs needs to be approved by performing tests with various input parameters. Changes in the implementation of the APIs during the development and testing phase lead to maintenance of the testing framework, which has to be done manually. This causes longer test duration and delays in the release phase of the project. The aim of this master’s thesis is to find a code generation method to automize the maintenance tasks in case of an API change during the testing phase in order to reduce the development time of the test framework. The main requirement is that codes in different languages and for different platforms can be generated. Therefore, different code generation methods are compared and the most suitable method, regarding the requirements is determined. Resulting from this decision a new software architecture of a test system with code generation is created. After these investigations, the code generator and the software components of the test system are developed and the benefits regarding maintenance effort and test duration are demonstrated. Tests with the first implemented APIs have demonstrated that the use of automatic code generation leads to higher code flexibility and development effort. The test framework can be utilized for the verification of future API releases.