Meister, David and Stalder, Andreas (2016) Network Unit Testing. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.
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 |