0511 874 590 50 info@agile-im.de

Einerseits sind sich meistens alle Beteiligten einig, dass eine möglichst frühzeitige und ausreichende Testabdeckung sinnvoll und notwendig ist, um Technische Schulden zu minimieren und so kontinuierlich sowohl eine hohe Produktivität als auch eine gute Qualität zu erreichen.

Anderseits ist ein Standardproblem beim Testen von Web und Mobile Anwendungen, dass das Testen der Applikationen sehr aufwändig sein kann – insbesondere wenn hochfrequente Releases ausgeliefert werden.

 

Lösung: Bamboo + Selenium

Gründe und Lösungsansätze hierfür sind schnell gefunden. Ein automatischer Build kann zwar Unit Tests gut und schnell durchführen – aber da die entsprechenden Server aber typischer Weise keine Oberfläche besitzen, auf der sie einen Browser starten können, werden die Tests häufig manuell durchgeführt.

Bereits hier hilft es wenn Entwickler Selenium Tests für einen Browser schreiben können, welcher ohne Oberfläche auskommt. Phantom.js wurde entwickelt, um genau das zu ermöglichen:

Bildschirmfoto 2016-07-12 um 10.23.03

Zusätzlich muss eine Applikation in mehreren Browsern funktionieren, was bedeutet, dass ein Tester die Tests mehrfach in verschiedenen Browsern, durchlaufen muss, um eine gute Qualität sicherzustellen.

Mit folgendem Lösungsansatz, der sowohl separat als auch als Bestandteil der AIM CodePlay DevOps Pipeline genutzt werden kann, können wir eine Automatisierung bieten, die auch mehrere Browser physisch öffnet und im Build Plan gebaute Applikation darauf ausführt und testet.

  • Unsere Selenium Tests verwenden den RemoteWebDriver.
  • 2 Selenium ‚Server‘ Instanzen dienen als ‚Clients‘ für den Bamboo Build.

Bildschirmfoto 2016-07-12 um 10.34.23

Ein Selenium Server macht einen Rechner mit Mac OS, oder einen Windows PC zu einem fernsteuerbarem Browser für Bamboo. D.h. während des Builds auf der Bamboo Instanz werden die Selenium Server remote angefragt die URL der auf der Bamboo Instanz laufende Applikation aufzurufen.

Somit benötigt Bamboo selbst keine Oberfläche und bedient sich dann der auf den per Selenium Server erreichbaren Instanzen. So kann z.B. ein Selenium Server auf Mac OS einen Safari- und einen Chome Browser zum Testen bereitstellen, während ein Windows PC den Internet Explorer bzw. den Edge Browser und etwaige andere Browser zur Verfügung stellt.

 

Wir sind Ihr Atlassian-Partner!

Sie möchten Ihre Entwickler von unliebsamen Aufgaben befreien und gleichzeitig die Qualität erhöhen? Sie möchten sich gern mehr um Ihr Geschäft kümmern anstatt um Aktualität und Aufräumen Ihrer Atlassian Landschaft? Sie möchten, dass Ihre Tools auf Ihren Entwicklungsprozess angepasst werden? Mit unserer langjährigen Erfahrung unterstützen wir Sie gern bei Einführung und Betrieb oder Erweiterungen Ihrer Atlassian Produkte. Sprechen Sie uns unverbindlich an.