Über CoreMedia

CoreMedia ist Innovationsführer für people-centric social Software. In dem hochdynamischen Markt für Internet-Technologie hat sich das Hamburger Unternehmen erfolgreich positioniert. Innovation, Kreativität und kollektives Lernen sind die bestimmenden Faktoren für die Unternehmenskultur von CoreMedia, die sich auch in der Technologie widerspiegeln: CoreMedia entwickelt Software, die Mitarbeiter, Partner und Kunden dabei unterstützt schnell, kreativ und produktiv zu agieren.

Gegründet 1996 am Stammsitz Hamburg, beschäftigt CoreMedia weltweit 150 Mitarbeiter und verfügt über ein globales Netzwerk von Implementierungs-Partnern mit über 500 geschulten Beratern.

Über 200 Unternehmen auf 5 Kontinenten in allen Branchen setzen CoreMedia Content Management Systeme (CMS) und digitales Rechtemanagement (DRM) erfolgreich ein - darunter ARD, Bertelsmann, BenQ, BILD, Continental, DAK, DaimlerChrysler, debitel, Deutsche Telekom, GMX, IKK, NEC, MLP, Motorola, Nokia, O2, Panasonic, Plus, PREMIERE, Quelle, Qualcomm, Samsung, SEAT, Sony Ericsson, T-Mobile, T-Online und Vodafone sowie über 80 öffentliche Verwaltungen und Behörden.

CoreMedia hat für seine Innovationskultur und Produkte in den letzten Jahren viele internationale Auszeichnungen erhalten, darunter den European Business Award, den Best Innovator sowie die Aufnahme in die Deloitte Technology Fast 50 für schnell-wachsende Unternehmen.

QF-Test bei CoreMedia:
Robustheit der Tests wichtig

Deutsche Übersetzung eines Beitrags im Forum Facebook von Mark Michaelis, Software Engineer Quality Assurance, CoreMedia AG, Hamburg:

Bezüglich der armseligen GUI Testautomatisierungstools: Ich bin auch der Meinung, dass GUI Testautomatisierung eine der herausforderndsten Aufgaben im Testbereich darstellt. Es bedarf langwieriger Evaluationen, um das passende Automatisierungstool zu finden, und insbesondere eines, das vom gesamten Team angenommen wird.

Für Java (Swing Anwendungen) haben wir von WinRunner (welches wir jahrelang benutzt haben) auf QF-Test gewechselt. WinRunner wurde aufgrund seiner eigenen Sprache TSL nicht vom ganzen Team akzeptiert. Im Gegensatz dazu wurde QF-Test in Java entwickelt und verwendet Jython als Skriptsprache. Eine großartige Basis für Java-Entwickler. QF-Test besitzt noch viel mehr Vorzüge, aber ich werde mich hier auf drei beschränken:

  • Da QF-Test in Java geschrieben wurde, entstehen keinerlei Schwierigkeiten mit den neuesten Java-Releases. Es war kinderleicht, von Java 1.5 auf Java 1.6 Testen umzusatteln.
  • Tests können in einer Weise implementiert werden, dass auch Manager nachvollziehen können, was der Test macht, ohne zu sehr ins Detail gehen zu müssen.
  • Tolle Unterstützung von datengetriebenem Testen. Habe nie zuvor so viele Testfälle in so kurzer Zeit erstellen können.

Wegen der Robustheit der GUI Testautomatisierung: Ich denke, es müssen zwei Voraussetzungen geschaffen werden, um Tests so robust wie möglich zu bekommen. Eine wurde bereits in dem von Ihnen zitierten StickyMinds Artikel erwähnt: Entwickler miteinbeziehen. Es ist auf jeden Fall notwendig, Testunterstützung in die Anwendung einzubauen. Im einfachsten Fall ist das GUI Elementen eindeutige IDs zu geben (in Java über setName()).

Ein weiterer Punkt ist die Verwendung einer GUI-Map (einen Begriff, den ich von WinRunner gelernt, aber auch für QF-Test übernommen habe): Man legt die Regeln zur Identifikation von GUI Elementen in einer eigenen Datenbank/Datei ab. So muss man nur diese Datei im Falle kleinerer GUI-Änderungen anfassen.

Aber die wichtigste Sache ist die Erstellung eines Test-Frameworks. Beispielsweise habe ich für jede Menü-Aktion (jede im XP-Sinne: jede aktuell verwendete) eine Bibliotheksfunktion geschaffen. Entwickler brauchen diese nur aufrufen und sich nicht darum kümmern, ob ein Radio-Button oder ein Drop-down Liste dahinter steckt. Wenn das GUI Element seinen Typ ändert, muss man nur das Framework anpassen.

Selbst komplexere Funktionen sind in das Framework gewandert. Zu Beispiel habe ich für das CMS Bibliotheksfunktionen erstellt, die automatisch Dokumente generieren (über die Benutzeroberfläche). Dadurch ist es für Entwickler sehr einfach, Testvorrichtungen/Fixtures zu erhalten, mit denen sie arbeiten können.

Zu guter Letzt zurück zum Programm - ich ergänzte die Anwendung mit einer GUI-Test-Fassade. Das hat zwei Vorteile:

  • Ich kann auf das Innere der Anwendung zugreifen.
  • Entwickler können sehen, dass und wie ich das tue und können daher während der Programmüberarbeitung darauf Rücksicht nehmen.

Durch diese drei Hilfsmittel: GUI Maps, GUI Test Framework und GUI Test Fassade konnte ich schließlich ein sehr robustes Set von GUI-Tests schaffen.

Zusätzlicher evaluationsbericht, englischvon CoreMedia.