advertorial

Christoph Preschern

(E-Mail: [email protected]) ist für die technische Kundenbetreuung der Ranorex GmbH (www.ranorex.de) zuständig. Er hat mehrjährige Erfahrung sowohl in der Software-Entwicklung als auch im Bereich verschiedenster Software Test-Methoden. Im Rahmen seiner Tätigkeit beschäftigt er sich intensiv mit der Analyse unter- schiedlicher grafischer Benutzerschnittstellen und deren Automatisierbarkeit.

Ranorex – Ein neuer Weg der GUI-Testautomatisierung Je früher Software auf Fehler geprüft wird, desto schneller und kostengünstiger können diese auch beseitigt werden. Ein früh- zeitiges automatisiertes Testen von Software findet derzeit vorrangig auf der Software-Modul-Ebene statt. Solche Testmethoden – besser bekannt als Unit-Tests – werden von den Entwicklern der Software verantwortet und bereits zu Beginn in den Soft- wareentwicklungsprozess integriert. Das Zusammenspiel dieser einzelnen Module im fertigen System wird jedoch häufig noch von Hand und sehr oft erst nach der Setup-Erstellung am Ende des Entwicklungsprozesses geprüft. Warum? Weil der Zugang des Anwenders zum System sehr oft über eine Anwender-Schnittstelle (oftmals ein Graphical User Interface) erfolgt und GUI- Tests bisher nur sehr schwer zu automatisieren waren. Die Firma Ranorex mit ihrem gleichnamigen Produkt bietet nun einen völlig neuen und effizienten Weg auch das GUI einer Software automatisiert zu testen. Mit dem Framework werden dabei standardisierte und bereits etablierte Technologien angewendet. Dies ermöglicht eine einfache und frühzeitige Integration von GUI-Tests in bereits bestehende Softwareentwicklungsprozesse.

Funktionale Tests werden in den meisten Fällen vorrangig von der Testabteilung verantwortet. Doch in Zeiten der Ressour- cenknappheit und ständig steigender An- forderungen an die Qualität einer Software bedarf es immer öfter einer Aufteilung der Testaufgaben. Durch die Umwandlung ma- nueller Tests in automatisch durchgeführ- te Abläufe kann der Testaufwand an sich stark reduziert werden. Jedoch darf der Vorteil der Zeitersparnis nicht überbewer- tet werden. Es gilt zudem folgende Aspekte bei einer GUI-Testautomatisierung zu be- achten: n Können alle Elemente des GUI eindeu- tig identifiziert werden? n Wer übernimmt die Erstellung und Wartung automatisierter Tests? n Durch welche Werkzeuge soll nicht Abb.1: Unterstützung unterschiedlichster Anwendergruppen durch die flexibel einsetzba- nur die Erstellung, sondern auch die re Ranorex Automation Library

1 www.objektspektrum.de Online-Ausgabe Testing 2009 advertorial

logien auf eine Ebene. Ein Button in einer -Oberfläche besitzt einen Text als Attribut und kann ebenso gedrückt werden wie ein Button einer .NET-Applikation. Ranorex präsentiert dem Anwender jedoch lediglich ein GUI-Objekt vom Typ Button. Der Anwender muss sich so nicht direkt mit der darunterliegenden Technologie be- schäftigen und kann sich voll und ganz auf die Automatisierung und den eigentlichen Testablauf konzentrieren. Wer jedoch schon vorab einen Blick mit der Ranorex-„Brille“ auf die zu testende Applikation werfen will, startet dazu das Ranorex Spy Tool. Dieses dient zur Analyse der Applikation unter Test und zeigt bereits vor der eigentlichen Testerstellung den Aufbau der Web- oder Desktop-Applikation. Dabei werden alle für den Test eventuell relevanten Informa- tionen der GUI angezeigt. Für jedes auf der Benutzeroberfläche er- Abb. 2: Aufbau des Ranorex Test Automation Frameworks sichtliche Element wird dabei automatisch ein eindeutiger Identifikationspfad (Ranor- eXPath) generiert und im Tool angezeigt. Der RanoreXPath kombiniert dabei tech- Ausführung der Tests unterstützt wer- Studio. Dies erleichtert zusätzlich den kom- nologieabhängige IDs mit dem hierarchi- den? binierten Einsatz der Ranorex Library mit schen Aufbau der Applikation unter Test. bestehender .NET Framework Funktiona- Ranorex unterstützt dazu zahlreiche unter- Als Antwort auf diese Fragen bietet Ran- lität. Mithilfe der Library kann somit die schiedliche Technologien: orex mit dem Produkt „Ranorex – GUI Gruppe der Software-Entwickler über die Test Automation Framework“ einen völ- Ranorex API erste automatisierte Abläufe n .NET, WPF, Silverlight (Framework lig neuen und modernen Weg, die Erstel- erstellen und diese sofort in den täglichen Versionen 1.1, 2.0, 3.5) lung automatisierter Tests für jeden am Build-Zyklus der Software integrieren. Auf- n Win32 Applikationen (MFC, Delphi) Software-Entwicklungsprozess Beteiligten bauend auf der Automation Library unter- n Erkennen von 3rd party Controls (In- zu ermöglichen. Das Toolset erlaubt nicht stützen die einzelnen Ranorex-Tools bei der fragistics, DevExpress, etc.) nur Software-Test- und Entwicklungs- Erstellung der Tests. n QT Applikationen (ab Version 4.5.1) mannschaften, sondern auch anderen am n SWT Applikationen Software-Produkt beteiligten Personen die n Web 2.0 Applikationen(, Ja- Erstellung automatisierter Software-Tests. vaScript) Gleichzeitig können erste Tests durch den n Flash/Flex Applikationen flexiblen und auf Standards basierten Auf- bau des Ranorex Test Automation Frame- Über diesen Pfad werden im Testablauf die works viel früher als mit herkömmlichen einzelnen Elemente der GUI wiedererkannt Werkzeugen in bestehende Software-Ent- und mit Benutzeraktionen (Mausklick, Tas- wicklungsprozesse integriert werden. tatureingabe) verknüpft. Der Ranorex Recorder verbindet nun Als Grundstein des Ranorex – Test Auto- diese Elemente mit den einzelnen Aktionen. mation Frameworks fungiert die Ranorex Er zeichnet alle manuell ausgeführten Be- Automation Library. Mit deren Hilfe kön- nutzeraktionen auf und kann diese sofort nen nicht nur alle Benutzeraktionen über die automatisiert wiedergeben. Am Ende je- Tastatur oder die Maus simuliert, sondern des Durchlaufs wird das Ergebnis in einer gleichzeitig auch alle visuellen Informatio- Abb. 3: Analyse der GUI mittels Ranorex XML-Datei gespeichert und mittels der Ra- nen über eine Applikation oder das gesamte Spy Tool norex XSL-Datei in einem Browser-Fenster Windows Desktop abgefragt und im Laufe angezeigt. Die Benutzerschnittstelle des Ra- des Tests validiert werden. Die Ranorex Viele Software-Anwendungen kombi- norex Recorders konzentriert sich auf das Automation Library basiert wiederum auf nieren unterschiedliche Technologien zur Wesentliche. Durch die einfache Bedienung dem Microsoft .NET Framework und er- Darstellung der Benutzerschnittstelle. Ran- findet der Recorder großen Anklang und laubt dadurch eine flexible Integration in orex bringt mithilfe des RanoreXPath-Aus- erleichtert die Erstellung erster automati- bereits bestehende Entwicklungsumgebun- drucks in Kombination mit dem Ranorex sierter Abläufe vor allem für den Tester mit gen wie beispielsweise Microsoft Visual Repository alle unterschiedlichen Techno- wenig bis keiner Programmiererfahrung.

Online-Ausgabe Testing 2009 2 advertorial

Code in den Programmiersprachen C#, VB.NET oder IronPython. Auch der auto- matisch erstellte Test-Code arbeitet gänzlich auf Basis der Ranorex Automation Library und dem Ranorex Repository und ist gera- de dadurch sehr einfach lesbar. Im folgen- den Beispiel wird die Applikation „Word- pad“ automatisiert und dabei die Schriftart und Schriftgröße des eingegebenen Textes über einen Dialog eingestellt. Die Testentwicklungsumgebung Ran- orex Studio integriert alle Ranorex Tools und bietet zusätzlich einen professionellen Code-Editor zur Programmierung der Tests auf Basis der Ranorex Automation Libra- ry. Die einzelnen Tools, wie zum Beispiel der Ranorex Recorder, unterstützen den Anwender bei der Implementierung und generieren den Test-Code automatisch. Ranorex Studio übersetzt den Test-Code in ausführbare Dateien, welche somit auch Abb. 4: Aufzeichnung von Benutzeraktionen mit dem Ranorex Recorder ein einfaches Anstoßen der Tests von über- geordneten Testmanagement-Systemen er- möglicht. Das Ablageformat der Ranorex Jedoch soll die Einfachheit der Anwen- eigentlichen Suche nach den notwendigen Studio-Projekte entspricht dem Microsoft dung nicht über die zahlreichen Möglich- Steuerelementen getrennt und auch geson- Visual Studio Projektformat und erlaubt keiten der Weiterverwendung hinwegtäu- dert in einer eigenen Datei gespeichert. Das dadurch auch ein Öffnen von Ranorex Pro- schen. Während der Aufzeichnung generiert Repository kann dadurch gänzlich unab- jekten innerhalb der Microsoft Visual Stu- der Recorder automatisch für alle vom An- hängig von der Automatisierung gewartet dio IDE. Dies erleichtert vor allem die Zu- wender bedienten Elemente der GUI ein so- werden. Würde sämtliche Identifikationsin- sammenarbeit zwischen Softwaretest- und genanntes Repository zur Speicherung der formation zu einem GUI-Element innerhalb Entwicklungsteams enorm. Identifikationsinformation (RanoreXPath). der Automatisierung gespeichert werden, Das Ranorex Test Automation Frame- Dadurch wird die Automatisierung von der so müssten Anpassungen, hervorgerufen work bietet mit seinen Tools verschiedens- durch Veränderungen an der GUI der zu ten Anwendergruppen einen einfachen, aber testenden Software, an allen Stellen, an gleichzeitig modernen und professionellen welcher das GUI-Element verwendet wird, Weg, automatisierte Tests zu erstellen. Erst vorgenommen werden. Das Repository löst die Verwendung standardisierter und be- dieses Problem und verwaltet zentral alle reits etablierter Technologien in Kombina- für den Test notwendigen GUI-Elemente. tion mit der Ranorex Automation Library Neben der Ausführung einfacher Aktionen gewährleistet eine frühestmögliche Integra- wie Mausklick, Tastatureingabe oder Va- tion in bestehende Softwareentwicklungs- lidierung eines Attributs ist der Recorder prozesse. Fehler können dadurch wesent- auch in der Lage, vorgefertigte Methoden lich schneller erkannt und vom Entwickler aufzurufen. Diese Module werden entwe- der Software direkt behoben werden. der von einem Tester mit Programmier- :Das Ranorex GUI Test Automation Know-how oder von einem Entwickler auf Framework ist derzeit in den zwei Paketen Basis der Ranorex Library erstellt. Der An- Ranorex Professional und Ranorex Pre- wender kann im Nachhinein die Aufzeich- mium Edition erhältlich. Zusätzlich bietet nung durch sogenannte „Code-Aktionen“ Ranorex zur Ausführung der Tests auf wei- beliebig erweitern. teren Systemen eine Runtime-Lizenz an. Abb. 5: Automatisch generierter, leicht les- Des Weiteren generiert der Recorder für Weiterführende Informationen finden Sie barer Code des Ranorex Recorders jede einzelne Aktion den dazu passenden unter www.ranorex.de. n

3 www.objektspektrum.de