Network Unit Testing

Meister, David and Stalder, Andreas (2016) Network Unit Testing. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of HS2016-SA-EP-AndreasStalder-DavidMeister-NetworkUnitTesting.pdf]
Preview
Text
HS2016-SA-EP-AndreasStalder-DavidMeister-NetworkUnitTesting.pdf - Supplemental Material

Download (1MB) | Preview

Abstract

Unit Testing ist in der Softwareentwicklung ein tägliches Werkzeug für automatisiertes White-Box Testing von einzelnen Softwaremodulen. Im Bereich der Computernetze ist ein solches Vorgehen nicht verbreitet. Häufig werden Devices «von Hand» auf Korrektheit und Funktionalität überprüft. Um zukünftig im Netzwerkumfeld ein automatisiertes Testen zu ermöglichen, besteht die Nachfrage nach einem geeigneten Tool, welches in der Lage ist, die wichtigsten Funktionalitäten im Netzwerk zu überprüfen und auszuwerten.
In einem ersten Schritt wurden relevante, häufig benötigte Testfälle im Netzwerkumfeld erarbeitet. Diese Testfälle sollen mit der entwickelten Software überprüft werden können. Damit geschriebene Unit Tests auf unterschiedlichen Devices ausgeführt werden können, wurde SaltStack als geeignetes Configuration Management Tool evaluiert. Mittels SaltStack werden Verbindungen auf unterschiedliche Netzwerkdevices über SSH oder RESTful HTTP hergestellt und gerätespezifische Kommandos ausgeführt. Um für Unit Tests notwendige Vergleiche zwischen angenommenen und tatsächlichen Resultaten durchführen zu können, müssen geeignete In- und Outputformate für ein reibungsloses Parsing gefunden werden.
Aus dieser Arbeit ist die Software «nuts» (Network Unit Testing System) auf Basis von Python hervorgegangen. Es konnten viele relevante Testfälle im Netzwerkumfeld umgesetzt werden. Es hat sich gezeigt, dass die vielen unterschiedlichen Outputformate der Hersteller schwierig zu Parsen sind. Häufig bleibt nur der Weg über manuelles Parsing mittels regulären Ausdrücken. So bleibt zu hoffen, dass die Hersteller zukünftig auf die Ausführung der Kommandos über RESTful HTTP setzen und deren Outputs als strukturierte JSON Objekte zur Verfügung stehen werden.

Item Type: Thesis (Student Research Project)
Subjects: Topics > Software > Testing and Simulation > Unit-Testing
Area of Application > Business oriented
Technologies > Programming Languages > Python
Technologies > Protocols > HTTP/S
Technologies > Protocols > REST
Metatags > INS (Institute for Networked Solutions)
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Depositing User: OST Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Stettler, Beat
UNSPECIFIED
Thesis advisor
Baumann, Urs
UNSPECIFIED
Date Deposited: 09 Mar 2017 13:28
Last Modified: 09 Mar 2017 13:28
URI: https://eprints.ost.ch/id/eprint/566

Actions (login required)

View Item
View Item