Das integrative Application Lifecycle Management HP und IKAN Application Lifecycle Management Hier treffen sich Entwicklung, Test und Betrieb
Table of contents Kurzübersicht...3 Die Herausforderung...4 Die Lösung...5 Das HP Quality Center Issue Tracking System plugin (HPQcITSPlugin)...5 Der HP Quality Center TestRunner (HPQcTestRunner)...5 Vorteile...6 Implementierungsszenario...7 Das HP Quality Center Issue Tracking System plugin (HPQcITSPlugin)...7 Der HP Quality Center TestRunner (HPQcTestRunner)...8 Verwendete Architektur Komponenten...9 Zusammenfassung...10 Weitere Informationen...11 4
Kurzübersicht Application Lifecycle Management (ALM) ist die Schlüsseldisziplin, wenn es darum geht, den gesamten Softwareentwicklungsprozess von den Anforderungen bis zum betriebsfertigen Rollout zu steuern und zu kontrollieren. Dabei betrifft ALM die Fachabteilungen, das Projektmanagement, die Entwickler, das Qualitätsmanagement und die Tester sowie letztendlich auch den Betrieb, welcher die Ergebnisse dieses Prozesses entgegennimmt. Die Globalisierung (verteilte Entwicklungsteams), unterschiedlichste Entwicklungsmethoden (von strukturierter bis zu agiler Vorgehensweise), Wirtschaftlichkeitsanforderungen und die Notwendigkeit, immer mehr Änderungen oder Neuerungen immer schneller zuverlässig in Betrieb nehmen zu können, erhöhen den Bedarf an automatisierten ALM-Prozessen. Dabei stehen insbesondere folgende Themen im Mittelpunkt: Die Durchsetzbarkeit Die Verbesserung der Kommunikation zwischen allen Prozessbeteiligten Die enge Zusammenarbeit im Prozess (Teamwork) Der effizientere Einsatz vorhandener Ressourcen Das schnellere Erreichen der gesteckten Ziele, bei verbesserter Qualität Und in letzter Konsequenz die Reduktion der Gesamtkosten bei steigender Produktivität Durch Partnerschaft zwischen IKAN und HP und die Integration von IKAN ALM mit HP ALM (der Erweiterung des bekannten HP Quality Centers) entstand nun eine umfassende ALM-Lösung. Diese Integration macht es möglich, Build- und Deployparameter übersichtlich zu verwalten sowie automatisierte Tests in die Softwareentwicklung zu integrieren. Grundlage dafür sind die (automatische) Zuordnung von Softwareänderungen zu Tickets und die direkte Protokollierung der Testergebnisse in die Testmodule. Der Aufruf automatisierter Tests beim Build oder Deploy und die Steuerung des Softwarelebenszyklus anhand von Testergebnis-sen ermöglichen die Gestaltung effektiver Prozesse bei gleichbleibend hoher Qualität. Somit wird nicht nur die Steuerung automatisierter Vorgänge insgesamt erleichtert, sondern auch eine zuverlässige, zielgerichtete und bei Bedarf standardisierte Dokumentation und Kommunikation über alle Testergebnisse hinweg ermöglicht. Dem Anwender bietet sich so die Möglichkeit, unternehmensweite Standards durchzusetzten und ein zentrales Qualitätsmanagement (Center of Excellence) aufzubauen, was zu einer Steigerung der Qualität bei gleichzeitiger Zeiteinsparung und Kostensenkung führen wird. Insgesamt wird mit IKAN ALM die Integration anderer Plattformen und Entwicklungssysteme in das HP ALM gefördert und vereinfacht. Diese Unterlage richtet sich an alle, die an ALM interessiert sind, seien es die Entscheider und Projektmanager, der IT-Betrieb oder Softwarearchitekten und entwickler. 5
Die Herausforderung Der aktuelle HP ALM Prozess stellt keine Verbindung zwischen der Test- und Qualitätssicherung und der Entwicklung her. Fehler werden bei der Arbeit mit dem HP Quality Center zwar identifiziert und auch dokumentiert, es findet jedoch keine Verknüpfung mit dem davon betroffenen Entwicklungszyklus statt. Auch wird keine automatische Synchronisierung mit den durch die aktuellen Softwareänderung erledigten Fehlerbehebungen vorgenommen, wenn die Entwicklung neue Versionen einer Software bereitstellt. Genau dieses Fehlen einer integrierten, konsequenten Verfolgung von Fehlerbehandlungen führt oftmals zu unnötigen Redundanzen in der Kommunikation, zu verlängerten Testzyklen und im schlimmsten Fall zu erhöhten Risiken durch den Entfall nötiger Testvorgänge aufgrund personeller und/oder zeitlicher Engpässe. Und dies alles nur, weil einige einfache Antworten auf folgende Fragen fehlen: Welche Fehler wurden durch welche Softwareänderungen behoben, wo befinden sich diese Softwareänderungen gerade und wann stehen sie zum Testen bereit? Das verlangsamt den Softwareeinsatzprozess und erhöht letztendlich die Kosten. Mit dem HPQcITSPlugin steht jedoch eine Schnittstelle zur Verfügung, die ein vollständig in den Entwicklungsprozess integriertes Testmanagement ermöglicht. Eine weitere Verbesserungsmöglichkeit liegt in der integrierten Steuerung automatisierter Tests im HP Quality Center. Bisher speicherte ein Entwickler seine Softwareänderungen und dokumentierte die Fehlerbehebung z.b. durch Angabe der Fehlerticketnummer(n) in den Kommentaren zum Versionsmanagement (commit comments). Im Buildprozess können diese Komentare und damit auch die Tickets den entsprechenden Buildergebnissen zugeordnet werden. Im nächsten Schritt startete das Test- und Qualitätsmanagement die automatisierten Testläufe im HP Quality Center und teilte die Ergebnisse dann wieder den Entwicklern mit. Mit dem HPQcTestRunner kann diese ineffektive Arbeitsweise durch ein vollständig automatisiertes Vorgehen ersetzt werden. Dabei werden die automatisierten Testläufe im HP Quality Center Bestandteil der voll automatisierten Build- und Deployvorgänge innerhalb von IKAN ALM. Das bringt gleich doppelte Vorteile. Einerseits bekommt der Entwickler unmittelbares Feedback über die Ergebnisse der automatisierten Tests und kann im negativen Fall gleich mit der Fehlerbehebung fortfahren. Andererseits gewinnt das Testund Qualitätsmanagement wertvolle Ressourcen für die Durchführung von Tests und Abnahmen, die sich nicht automatisieren lassen. Anmerkung: Wir werden im weiteren den Begriff Ticket benutzen, um sowohl die Fehlerfälle (HP ALM) als auch Tickets (IKAN ALM) zu bezeichnen, außer wenn es sich um Bestandteile eines Eigennamens handelt. 6
Die Lösung Das HP Quality Center Issue Tracking System plugin (HPQcITSPlugin) IKAN hat ein IKAN ALM Defect Tracking Plugin für das HP Quality Center entwickelt: Das HPQcITSPlugin. Durch die Installation dieses Plugins lassen sich die Vorgänge im Test- und Qualitätsmanagement automatisch mit den Abläufen der Softwareentwicklung integrieren. Das HPQcITSPlugin verwendet die HP REST API (standardisierte Webschnittstelle), um mit dem HP Quality Center zu interagieren. Beim Plugin selbst handelt es sich um ein JAVA Paket welches Bestandteil der IKAN ALM Web Applikation ist. Alle benötigten Schnittstellenparameter lassen sich so direkt mit IKAN ALM verwalten und steuern dynamisch die Aufrufe zur automatischen Synchronisation der von IKAN ALM überwachten Softwareänderungsprozesse und den Tickets und Testfällen im HP Quality Center. Der HP Quality Center TestRunner (HPQcTestRunner) IKAN hat weiterhin ein Zugriffsmodul entwickelt, mit dem sich automatisierte Tests im HP Quality Center aus IKAN ALM heraus steuern lassen: den HPQcTestRunner. HPQcTestRunner ist ein reines JAVA COM Zugriffsmodul, welches sich über einen registrierten OTA (Open Test Architecture) COM Server mit dem HP Quality Center verbindet. Dieser Server stellt die Verbindung zum HP Quality Center her und bietet alle nötigen Funktionen, um automatisierte Tests zu starten. Da diese Technologie nur als 32-bit COM Objekt zur Verfügung steht, muss der OTA Server auf einem 32-bit Windows System betrieben werden. Während der Build- oder Deploy-Vorgänge ruft IKAN ALM innerhalb eines Build- oder Deployskripts verschiedene targets (Unterprozeduren) auf. Dabei werden alle Parameter, die in IKAN ALM definiert wurden, als property (vordefinierte Konstanten) an das Skript übergeben und finden Berücksichtigung bei der Verarbeitung. Die Konfiguration des HPQcTestRunner beinhaltet bereits verschiedene Beispielskripte, um auf diese Weise automatisierte Tests aus IKAN ALM heraus zu starten. HPQcTestRunner ist eine Java Anwendung. Obwohl IKAN ALM und das HP Quality Center auch UNIX unterstützen, muss für die Realsierung von OTA mindestens eine Windows Installation zur Verfügung stehen. 7
Da Maven 2 alle Abhängigkeiten in lokalen oder entfernten Repositories speichert, wurde für Maven 2 ein weiteres Plugin entwickelt, welches die JAVA Anwendung aus einem JAVA Paket heraus startet (ikanexec-maven-plugin). Vorteile Die Integration von HP ALM mit IKAN ALM bietet viele Vorteile. Die wichtigsten davon sind: für HP ALM Nutzer: Eine bessere Kontrolle über die Buildumgebungen, nachvollziehbare und wiederholbare Buildergebnisse, automatische/regelmäßige Builds, nachvollziehbare und wiederholbare Deploy Ergebnisse, automatische Rollouts auf Test- und Produktionssysteme Versionierte Softwareänderungen (Fehlerbehebungen, Weiterentwicklungen) werden automatisch im HP ALM dokumentiert Funktionstests (Regressionstests) können automatisch (unbedient) nach jedem Build ablaufen und die Ergebnisse werden zuverlässig dokumentiert und bei Bedarf auch direkt an die Entwickler zurückgemeldet für IKAN ALM Nutzer: Anforderungsmanagement über HP Testplanung und -ausführung Automatische Testfallgeneration aus den Anforderungen heraus Zugriff auf weitere Testprodukte über HP ALM 8
Implementierungsszenario Das HP Quality Center Issue Tracking System plugin (HPQcITSPlugin) Mit der IKAN ALM Ticketverfolgungs-Funktion lassen sich Einträge externer Ticketsysteme mit Ebenenanfragen von IKAN ALM verknüpfen. Die Verknüpfung kann dabei auf folgende Arten erfolgen: 1 Als manuelle Verknüpfung nach einer erfolgreichen Ebenenanfrage direkt in der grafischen Oberfläche von IKAN ALM, in der Detailansicht der Ebenenanfrage. 2 Durch die automatische Erkennung von Ticketnummern in den Versionierungs- Kommentaren der Entwickler (commit comments). Die automatische Erkennung findet immer im Rahmen einer Bereitstellungs-Anfrage (build request) statt und basiert auf der Erkennung regulärer Ausdrücke. Momentan wird dies standardmäßig bei CVS und Subversion unterstützt. 3 Über die direkte Bearbeitung erledigter Tickets (solved defects) im HP Quality Center aus IKAN ALM heraus, bei der Auslieferung auf Test- oder Produktionsebenen. Das Szenario sieht aus wie folgt: 1 Ein IKAN ALM Ticket wird aus einem HP Quality Center Ticket erstellt/aktualisiert Das HPQcITSPlugin ermöglicht die Erstellung/ Aktualisierung von IKAN ALM Tickets aus Einträgen im HP Quality Center. 9
2 Das IKAN ALM Ticket ist mit einem Ticket aus dem HP Quality Center verknüpft Das HPQcITSPlugin ermöglicht die automatische Aktualisierung von IKAN ALM Tickets, die mit Tickets im HP Quality Center verbunden sind auf allen Bereitstellungs-, Test- und Produktionsebenen. (Ein HP Quality Center Ticket kann direkt aus IKAN ALM heraus zur Bearbeitung geöff net werden.) Der HP Quality Center TestRunner (HPQcTestRunner) Der HPQcTestRunner ermöglicht es IKAN ALM, automatisierte Tests im HP Quality Center auszuführen und zu überwachen. Durch Anpassung der projektspezifischen IKAN ALM Build- und/oder Deployskripte lassen sich automatisierte Tests zu jedem erforderlichen Zeitpunkt in die Releaseabläuf einbinden. Dadurch läßt sich die Anzahl fehlerhafter Bereitstellungen und/oder Auslieferungen deutlich reduzieren. Die folgenden Ansichten zeigen die Protokollierung der Ausführung eines automatisierten Tests innerhalb von IKAN ALM und die Ergebnisse im HP Quality Center. :
Automatisierte Tests lassen sich im HP Quality Center auf verschiedene Weise steuern: 1 Über den Ant Test Runner Der Ant Test Runner startet entweder einzelne HP Quality Center Testszenarien oder ganze Testverzeichnisse (test folder), entsprechend der im Ant XML Skript angegebenen Konfiguration. Dabei steuern die Testergebnisse den weiteren Verarbeitungsablauf. 2 Mit dem Maven 2 Test Runner Der Maven 2 Test Runner startet entweder einzelne HP Quality Center Testszenarien oder ganze Testverzeichnisse (test folder) entsprechend der in der Maven 2 POM Datei festgelegten Konfiguration. Dabei steuern die Testergebnisse den weiteren Verarbeitungsablauf. 3 Über den NAnt Test Runner Der NAnt Test Runner startet entweder einzelne HP Quality Center Testszenarien oder ganze Testverzeichnisse (test folder) entsprechend der im NAnt XML Skript angegebenen Konfiguration. Dabei steuern die Testergebnisse den weiteren Verarbeitungsablauf. Verwendete Architektur Komponenten HP ALM ist HPs zentrale Softwareplattform für das Management des gesamten Lebenszyklus von der Einführung bis zur Stilllegung einer Applikation. IKAN ALM ist ein plattformübergreifendes Framework zur sicheren Automatisierung von Application Lifecycle Management Prozessen. OTA COM Object ist die HP Quality Center client s library, bereitgestellt als COM Objekt. Damit wird ein Standardzugang zum HP ALM Server eröffnet. Jeder HP ALM client, wie auch alle Erweiterungen von Drittherstellern, nutzen diese Schnittstelle zur Kommunikation mit dem HP ALM Server. Pure Java COM Bridge ist eine Java Bibliothek, welche das DCOM wire protocol (MSRPC) implementiert, mit dem sich reine, bidirektionale, nicht native Java Programme erstellen lassen, die mit jeder COM Komponente interagieren. ;
REST API ist eine Standardschnittstelle zur Interaktion mit dem HP ALM Server. Sie basiert auf dem HTTP Protokoll und ist damit plattformunabhängig nutzbar. Allerdings stellt es keine Alternative zu OTA dar, da nicht alle Funktionen von HP ALM unterstützt werden. HPQcITSPlugin (REST API) Verwendet die REST API zur Interaktion mit dem HP Quality Center. Dabei werden Methoden zum Abruf von Ticketeigenschaften, Update von IKAN ALM Tickets, sowie zum Hinzufügen von Kommentaren zu Tickets im HP Quality Center verwendet. HPQcTestRunner (OTA): Verwendet sie Pure Java COM Bridge um OTA COM Objekt Methoden aufzurufen und damit die Ausführung von HP ALM Testszenarien zu steuern. Zusammenfassung Die Verbindung von SAP und IKAN ALM bringt das Beste aus beiden Welten zusammen. Als integrative plattform-übergreifende Lösung verknüpft IKAN ALM mit seinen Funktionen bestehende Prozesse und bereits vorhandene Werkzeuge. Damit bietet IKAN ALM die sichere und dennoch flexible Basis für alle Prozesse sowohl lokaler als auch verteilter Entwicklungsteams. Es ergänzt vorhandene Versionsverwaltungsund Ticketsysteme und automatisiert den kompletten Software Lebenszyklus. Dabei steuert IKAN ALM nicht nur die Builds und Deploys, sondern sorgt mit seinem umfassenden, flexiblen Abnahme- und Freigabekonzept auch für einen reibungslosen und gut dokumentierten Ablauf individueller Workflows. HP ist ein Technologieunternehmen, das in mehr als 170 Ländern weltweit tätig ist. Es entwickelt Technologien und Services, die neue Möglichkeiten bieten, um die täglichen Herausforderungen zu meistern und den Menschen helfen, ihre Potenziale, Wünsche und Träume zu verwirklichen. Kein anderer IT-Anbieter hat ein derart umfassendes Technologieangebot für Privatpersonen, Unternehmen jeder Größe und öffentliche Auftraggeber. Dazu gehören Lösungen in den Segmenten Drucken, Personal Computing, Software, Dienstleistungen und IT-Infrastruktur. Führende Unternehmen setzen bei der Ausrichtung Ihrer IT auf HP Software, um nachhaltig Kosten zu senken, Prozesse zu verbessern und strategische Risiken zu minimieren. 32
Gemeinsam mit HP hat IKAN eine integrierte ALM Lösung geschaffen, welche für Entwickler, Tester und Betrieb gleichermaßen eine einzigartige Plattform zur Zusammenarbeit bereitstellt: Jeder tut das, was er am besten kann, ohne lange nach benötigten Ressourcen suchen oder auf notwendige Informationen verzichten zu müssen. Unsere Lösung synchronisiert alle Qualitäts-, Test- und Entwicklungstätigkeiten und führt automatisch zu besserer Zusammenarbeit, höherer Qualität, kürzeren Erstellungszeiten und reduzierten Kosten. Weitere Informationen Wenn Sie mehr wissen wollen besuchen Sie uns im Internet: http://www.ikan-solutions.de Oder kontaktieren Sie uns direkt: info@ikan-solutions.de Copyright 2011 IKAN Development N.V. IKAN Development und IKAN ALM Logos und Namen und alle anderen IKAN Produkte oder Dienstleistungen sind eingetragene Warenzeichen von IKAN Development N.V. Alle anderen eingetragenen Warenzeichen sind Eigentum der jeweiligen Firmen. Dieses Dokument darf nicht ohne die Zustimmung von IKAN Development N.V., auch nicht in Teilen, elektronisch oder mechanisch vervielfältigt werden. 33
Minerva IKAN Solutions Unterer Dammweg 12 76149 Karlsruhe www.ikan-solutions.de 34