Network Testcase Engine
Oliver Zürcher, Ymyr Osman · HSR (HSR University of Applied Sciences Rapperswil) · 2010
Das INS hat 2003 für den Flughafen Zürich die Internet Access Plattform MPP entwickelt. Seither hat sich der Kundenstamm auf Hochschulen, Grossfirmen und Service-Provider vergrössert. Auch die Anzahl Clients ist an diesen Hotspots in den letzten Jahren regelrecht explodiert, was zu einem sehr starken Anstieg der Last auf den Portalen geführt hat. Durch den grossen Zuwachs verkompliziert sich die Durchführung von Tests gegen das MPP. Die Anzahl Clients für ein in der Realität entsprechendes Szenario ist bereits zu gross, um solche Tests von Hand effizient durchführen zu können. Es soll nun ein Applikation zum effizienten Testen des MPPs entwickelt werden. Da ein Computer alleine nicht mehrere tausend Clients (virtuelle Maschinen) simulieren kann, werden diese auf mehrere Computer verteilt (sogenannte Nodes). Das verteilte System wird über eine Webapplikation gesteuert. Ein Service stellt der Webapplikation eine Schnittstelle zur Steuerung der Nodes und VMs zur Verfügung. In der Webapplikation können Szenarien definiert werden. Diese legen fest, welche Testcases auf wieviele Clients verteilt und wie oft diese wiederholt werden sollen. Testcases bestehen aus einzelnen Tasks, welche workflowartig zusammengebaut werden können. Nachdem alle Nodes via Multicast im Netzwerk gefunden worden sind, kann über die Webapplikation ein Szenario gestartet werden. Es werden automatisch genügend virtuelle Maschinen auf die Nodes verteilt, aufgestartet und ein Testcase zugewiesen. Der Fortschritt des Prozesses wird in der Webapplikation angezeigt. Die VMs warten nach dem Aufstarten auf ein weiteres Multicast Start-Paket, bevor sie mit der Ausführung des Testcases beginnen. Die Ergebnisse der einzelnen Testcases eines Szenariodurchlaufes werden in der Datenbank gespeichert und sind in der Webapplikation einsehbar. Mit der Task-API können weitere Tasks implementiert werden, welche in der Webapplikation in Testcases verwendet werden können. Auf den Nodes kommt die aktuelle Linux Distribution Ubuntu 10.4 „Lucid Lynx“ zum Einsatz. Auf den virtuellen Maschinen wird Debian 5.0 „Lenny“ eingesetzt.