Kürzere Testvorbereitungsphasen durch integrierte Testlabore
Upcoming SlideShare
Loading in...5
×
 

Kürzere Testvorbereitungsphasen durch integrierte Testlabore

on

  • 380 views

 

Statistics

Views

Total Views
380
Views on SlideShare
380
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Kürzere Testvorbereitungsphasen durch integrierte Testlabore Kürzere Testvorbereitungsphasen durch integrierte Testlabore Document Transcript

  • advertorial der autor Nico Orschel(E-Mail: nico.orschel@aitgmbh.de)ISTQB zertifizierter Software-Tester und Berater des AIT TeamSystemProTeams. Hat sich u. a. anderem auf das automatische Testen mit dem VisualStudio Lab Management spezialisiert. Berät Unternehmen bei der Einführungund Anpassung des Visual Studio Team Foundation Server. Seine Erfahrungenvermittelt er zudem als Autor des TFS-Blogs, in Magazinen und in Vorträgen.Kürzere Testvorbereitungsphasendurch integrierte TestlaboreDie aktuellen Release-Zyklen von Software-Projekten haben sich in den letzten Jahren eher verkürzt, u. a. weil agileVorgehensmodelle sich in dieser Zeit rapide verbreitet haben und damit einhergehend Entwicklungs- und Testzyklen kürzerwurden. Dies stellt alle Projektbeteiligte vor neue Herausforderungen, wie z. B. viele Zwischen-Softwareversionen inTestumgebungen effizient bereitzustellen sowie die Sicherstellung der Lauffähigkeit von bereits implementiertenFunktionalitäten durch automatisierte Tests. Im Vorjahresartikel (siehe [1]) konnte bereits der Austausch von Informationenzwischen Tester und Entwickler durch den Einsatz vom Team Foundation Server (kurz TFS) und dem Microsoft Testmanager(kurz MTM) optimiert werden. Der Fokus lag hierbei primär darauf, die Bereiche Testmanagement und Bugtracking über diegemeinsame Entwicklungsplattform Team Foundation Server zu integrieren und Bug-Reports, mit automatisch im Hintergrunderfassten Diagnoseinformationen, für eine bessere Reproduzierbarkeit zu erstellen. Ein unscheinbarer Bereich mit massivemEinsparpotenzial ist nach unserer Erfahrung der Betrieb und das Management von Testumgebungen. In der Testvorbereitungs-phase schlummert zusätzlich noch eine Menge ungenutztes Potenzial bei der automatischen Bereitstellung der Testobjekte indie Testumgebungen. In diesem Artikel zeigen wir Ihnen Wege, wie Sie diese Herausforderungen effizient und effektiv mit demVisual Studio 2010 Lab Management meistern können.Einfache Bereitstellung von schon zu spät ist. An diesem Punkt kann Funktionalität kann die Testabteilung vir-Testumgebungen das TFS 2010 Lab Management sowohl tuelle und physische Testumgebungen ein-Bei vielen unserer Kunden beginnen die den Tester als auch den IT-Administrator facher verwalten. Bei virtuellen UmgebugenTestvorbereitungen mit der Bereitstellung entlasten. Mit der TFS-Lab-Management- bedeutet dies, dass man in Eigenregie ein-von Testumgebungen durch eine dedizierteinterne IT-Abteilung, die für die Bereit -stellung und den Betrieb zuständig ist. Einesolche „einfache“ Bereitstellung vonTestumgebungen kann aufgrund von eta-blierten IT-Betriebs- und Bereitstellungs -prozessen gerade bei mittleren bis großenUnternehmen mitunter mehrere Wochen inAnspruch nehmen. Die Bearbeitungsdauersteht damit in direktem Widerspruch zuden Testzyklen bei agilen Entwicklungs -prozessen. Für agile Teams ist eine poten-zielle Dauer von drei bis vier Sprintsschlichtweg untragbar. Unterstellt mandann noch die für einen agilen Prozess typi-schen sich verändernden Rahmenbedingun-gen und Anforderungen, dann bekommtein Team die Testumgebung immer dannzur Verfügung gestellt, wenn es eigentlich Abb. 1: TFS 2010 Lab Management Infrastruktur 1 www.objektspektrum.de
  • Online-Themenspecial Testing 2011 advertorial Microsoft Virtualisierungslösung Hyper-V (siehe Hyper-V Host in Abbildung 1). Ein oder mehrere dieser Server werden über die Managementlösung System Center Virtual Machine Manager 2008 R2 (kurz SCVMM) an den TFS angebunden. Alle Hyper-V-Hosts aus Abbildung 1 werden zentral über SCVMM Library Shares mit Software und Vorlagen von virtuellen Maschinen und vorkonfigurierten Testum- gebungen versorgt. Der SCVMM ist bereits ohne zusätzliche Lizenzkosten Teil der Lab- Management-Lizenz (Lizenzierungsdetails siehe [3]). Diese wiederum ist Teil derAbb. 2: Microsoft Testmanager 2010 Lab Center Programmpakete Test Professional (Micro- soft Testmanager) und Visual Studio 2010 Ultimate.fach und schnell virtuelle Maschinen erstel- zur Verfügung stellen. Über Unterschiede Als Tester sehen Sie von diesen techni-len, ändern und löschen kann. Im zwischen beiden Testumgebungstypen schen Details im Hintergrund nichts, dennFolgenden werden wir uns auf den Typ der informiert das Whitepaper unter [2]. Sie verwalten diese Testumgebungen nurvirtuellen Testumgebungen beschränken, Die technische Basis für den Betrieb von über ihren MTM in der Lab-Center-weil nur diese den vollen Leistungsumfang virtuellen Umgebungen bilden Server mit der Perspektive (siehe Abbildung 2). Die zwei-Abb. 3: Anlegen einer Testumgebung im MTMOnline-Themenspecial Testing 2011 2
  • advertorial stellen, so als würden sie mit Legosteinen einem IT-Administrator diese Frage stellt, bauen. Abbildung 3 zeigt diesen sehr einfa- dann wird man sicherlich die Antwort chen Prozess, wie die Tester mit nur vier erhalten, dass dies technisch nicht möglich Schritten Testumgebungen bereitstellen ist. Man hört in dieser Situation techni- können. In der Abbildung wird in Schritt schen Ausführungen wie u. a., dass Rech- 1. zunächst der Umgebungstyp „Virtual nername und IP Adresse im Netzwerk stets Environment“ ausgewählt, um die zuvor eindeutig sein müssen (siehe Abbildung 4). beschriebenen Vorlagen als Basis für eine Genau für diesen Anwendungsfall wurde neue Testumgebung auszuwählen. In beim TFS 2010 Lab Management die Schritt 2 hat die Auswahl der Vorlagen Funktion „Network Isolation“ eingeführt. dann stattgefunden. Danach müssen im 3. Mit Hilfe eines Dienstes – dem sogenann- Schritt noch die notwendigen Eigenschaf- ten Lab Agent – in den virtuellen ten der Testumgebung, wie Workflow-, Maschinen (siehe Abbildung 1 und Testing- und Network-Isolation-Unterstüt- Abbildung 5) können diese voneinander zung aktiviert werden. Die Eigenschaften isoliert betrieben werden, obwohl es sich sind notwendig, um Deployment-Skripte um Klone handelt. Das Duplizieren ist auszuführen, sowie für automatische Tests dank dieser Funktion so einfach wie das und das Sammeln von Diagnosedaten. In Kopieren einer CD. Schritt 4 können Sie die Erstellung mit Ein weiterer positiver Nebeneffekt dieserAbb. 4: Duplizieren einer Testumgebung Finish starten. Funktion besteht darin, dass Sie somit derohne Network Isolation Wichtig bei der Testausführung ist die Entwicklungsabteilung Duplikate ihrer Isolation unterschiedlicher Tester, um Umgebungen zur Verfügung stellen kön-te Perspektive des MTM ist das bekannte gegenseitige Auswirkungen von Tests zu nen. Im vorherigen Artikel wurde bereitsTest-Center für das Testmanagement und minimieren. Diese Anforderung macht es das Konzept der Rich-Bugs, d. h. Bugs mitdie Testausführung (siehe [1]). notwendig, Testumgebungen für jeden zusätzlichen Diagnoseinformationen vorge- Jetzt stellt sich hier natürlich die Frage: beteiligten Tester zur Verfügung zu stellen. stellt. Trotz dieser vielen Informationen las-Welche Schritte sind für die Bereitstellung Unter normalen Umständen bedeutet dies, sen sich Fehler in Entwicklungsumge-einer virtuellen Testumgebung mit dem dass Sie den Prozess aus Abbildung 3 für bungen nicht immer nachvollziehen undMTM notwendig? Der Bereitstellungs - jeden Tester x-mal wiederholen. Der man benötigt als Entwickler besser dieprozess beginnt damit, dass die interne IT- Nachteil dieser Vorgehensweise ist gerade ursprüngliche Testumgebung des Testers.Abteilung Vorlagen von virtuellen Ma- bei komplexen Testumgebungen der hohe Mit der Duplizierungsfunktion kann manschinen nur einmalig erstellt (siehe Library Zeitaufwand und die Fehleranfälligkeit bei als Tester einfach die Umgebung duplizie-Share in Abbildung 1). In diesen Vorlagen der Konfiguration und zusätzlichen Instal- ren und dem Entwickler zur Verfügung stel-werden dabei Software-Agenten der TFS lationen. Wäre es nicht schön, wenn Sie len. Ein Beispiel für dieses Szenario im FallePlattform (Build Agent, Test Agent und Lab den Aufwand der Testumgebungsvor- eines Fehlers zeigt Abbildung 6. MehrAgent) zur Fernsteuerung und weitere bereitung nur einmal tätigen müssten und noch, es lässt sich ein Link auf denSoftware (in Abhängigkeit vom Testszena- anschließend einfach für jeden Tester ein Snapshot der virtuellen Maschine zumrio) vorinstalliert. Anschließend werden exaktes Duplikat anzufertigen? Wenn man Zeitpunkt des Fehlereintritts anhängen unddiese generalisiert (Fachwort: syspreping) dem Entwickler somit die gesamte „einge-und dann über den SCVMM Library Share frorene“ Testumgebung übermitteln.den MTM-Clients zur Verfügung gestellt,so dass später auf ihrer Basis nach Bedarf Kompilieren, Ausliefern undneue Maschinen erzeugt werden können. TestenNachdem man eine Vorlage in die Libary Nachdem die Testumgebungen durch denShare kopiert hat, müssen diese einmalig MTM und Lab Management bereitgestelltim Lab Center registriert werden. Bei die- wurden, bleibt noch der Punkt dersem Registrierungsprozess werden Bereitstellung von Testobjekten durch dieStandardwerte für Computereinstellungen, Entwicklung offen. Bei der Bereitstellungwie z. B. Rechnername, Speicher, Admi - von Testobjekten folgt das aktuelle Kapitelnistrator-Konto, Administrator-Passwort der Methodik „Continous Delivery“.und Lizenzschlüssel hinterlegt, damit Continous-Delivery-Prozesse (im Folgen-Anwender diese Daten nicht bei jedem den kurz CD genannt) bestehen aus dreiAnlegen von Testumgebungen bei der IT- Phasen: Übersetzen der Lösung, AusliefernAbteilung erfragen bzw. doppelt und drei- oder Installieren der Lösung in einerfach eintragen müssen. Ist die Vorlage Zielumgebung und abschließend dieerfolgreich im Lab-Center registriert, dann Ausführung von automatisierten Tests. Ankönnen Tester Testumgebungen, bestehend dieser Stelle fällt sofort die Ähnlichkeit zuaus einem oder mehreren Rechnern, auf Abb. 5: Duplizieren einer Testumgebung dem weitverbreiteten Begriff ContinousBasis dieser Vorlagen einfach zusammen- mit Network Isolation Integration (im Folgenden kurz CI) auf. CI 3 www.objektspektrum.de View slide
  • Online-Themenspecial Testing 2011 advertorial thematik aus dem vorherigen Abschnitt zum Begriff Lab Management zusammen- gefasst wird. Ein Lab Management Workflow sorgt zu Beginn für die Übersetzung des jeweiligen Codes. Technisch gesehen führt der Lab Management Workflow einfach einen bereits existierenden Release-Build-Prozess der Entwicklung aus, so dass man für Testumgebungen und spätere Releases nur einen Build-Prozess pflegen muss. Nach der Kompilierungsphase stellt der Workflow eine Verbindung zu den Testumgebungen her und setzt diese im Fall von virtuellen Testumgebungen auf einen definierten Stand (Fachwort: Abbild oder Snapshot) zurück. Nachdem die Verbindung herge- stellt wurde, wird die Anwendung über Skripte oder Installationsprogramme in die Testumgebung ausgerollt. Die Art und Weise des Rollout-Verfahrens ist abhängig vom jeweiligen Artefakttyp (Programm, Website, Datenbankskript, Testdaten). Nach dem Rollout wird im Fall von vir-Abb. 6: Wiederherstellung einer Testumgebung im Fehlerfall tuellen Testumgebungen ein weiteres Abbild der Testumgebung erzeugt. Diesesbesteht aus der Prozesssicht aus zwei LabDefaultTemplate.xaml realisiert, wel- spezielle Abbild hat den Vorteil, dass TesterHauptphasen: Übersetzen der Lösung und che bereits alle notwendigen Basisschritte und Entwickler ihre Umgebungen zu jedemanschließendes Ausführen von Unit Tests. zur Verfügung stellt. Microsoft hat mit dem Zeitpunkt in einen nicht durch Tests beein-Die Unterschiede liegen dabei zum einen Workflow einen Release-Prozess entspre- flussten Zustand zurücksetzen können.darin, dass CI-Build-Prozesse keine Soft - chend der Darstellung in Abbildung 7 rea- Werden Testobjekte in der Testumgebungware in Zielumgebungen ausliefern und lisiert, welcher neben der Infrastruktur - bereitgestellt, starten anschließend diezum anderen, dass nur Modul- bzw. automatischen Tests in der Testumgebung.Komponententests (Unit Tests) in Isolation Die hier ausgeführten Tests sind nicht mehrausgeführt werden. CI verfolgt im Gegen- wie bei CI auf die Modul- oder Komponen-satz zum CD das Ziel, schnell Feedback tenebene begrenzt, sondern die Anwen-an die Entwickler zu liefern. CD hin- dungen können auch direkt ausge-gegen führt die Tests an führt werden. Zum Testen vonTestobjekten in den jeweiligen Oberflächen (wie z. B.Zielumgebungen aus. Die Ziel- WinForms, WPF, Silverlight,umgebungen sind dabei an Webanwendungen im IE undden Produktivumgebungen Firefox) kann man hier dasangelehnt. Desweiteren set- neue CodedUI Frameworkzen die Tests eine lauffähige einsetzen. Die auszuführen-Software für die Ausfüh- den Tests werden überrung voraus. Die auszufüh- Testfälle, welche überrenden Tests haben als Testpläne und Testsuiten imFokus die Testphasen TFS 2010 strukturiert sind,Systemtest oder Akzeptanz- ausgewählt (Testfallmanage-test und sind dadurch szena- ment mit MTM siehe [1]).rio-orientiert – prüfen also Wenn ein Fehler auftritt bzw.potentiell das Software-Produkt ein Testfall nicht erfolgreich war,als Ganzes. Zusammengefasst stellt dann kann der Tester die Test-CD erstmals die Verbindung zwischen umgebung im Fehlerzustand „einfrie-Testumgebung und Release-Prozess her. ren“, so dass der Entwickler neben denEs ist damit ein „CI plus“. Testprotokollen auch eine Testumgebung Der zuvor beschriebene CD-Prozess ist zur Fehlerdiagnose zur Verfügung hat.beim TFS 2010 über eine spezielle Build- Auf den ersten Blick scheint der beschrie-Workflow-Vorlage mit dem Namen Abb. 7: Lab Management Workflow bene Workflow recht kompliziert zu konfi-Online-Themenspecial Testing 2011 4 View slide
  • advertorialgurieren, er lässt sich aber dank der Zeit zu kopieren. Umfangreiche Konfigu- zur Verfügung stehen, so dass manuellerAssistenten im Visual Studio 2010 schritt- rations- und Installationsarbeiten können Aufwand sowohl auf Seiten derweise einrichten (technische Details siehe so eingespart werden und Tester können Qualitätssicherung- und Entwicklungs-[2]). sich auf die Testspezifikation und -ausfüh- abteilung eingespart werden kann. Das TFS rung konzentrieren. Die Lab-Management- Lab Management umfasst bereits einenFazit Infrastruktur hat zusätzlich noch den posi- Standard-Workflow, welcher der MethodikDer Artikel zeigt Ihnen Wege, wie Sie mit- tiven Nebeneffekt, dass Tester ihre „Continuous Delivery“ folgt. Konkrethilfe des TFS 2010 Lab Management die Testumgebungen mit den Entwicklern „tei- bedeutet dies, dass er bereits dieTestvorbereitungsphase optimieren kön- len“ können. Die Entwickler können „Continuous Delivery“ – Phasen Kompi-nen. Die Bereitstellung von Testumge- dadurch beim Testen und beim lieren, Ausliefern und Testen unterstützt.bungen im Baukastenprinzip kann mithilfe Nachvollziehen von Fehlern auf die glei- Im Rahmen des Schrittes Testen wirddes MTM durch Tester stark vereinfacht chen Testumgebungen zugreifen. Durch die bereits eine erste Eingangsprüfung überwerden. Für die Tester wird dabei kein neu- enge Verzahnung von Build-Prozessen der automatisierte Tests durchgeführt, so dasses Werkzeug benötigt, sondern es wird nur Entwicklung mit den Testumgebungen nur Programme mit bestimmten Qualitäts-eine andere Perspektive des MTM (Lab können neue Releases schnell, regelmäßig standards ihren Weg in die manuellenCenter) genutzt. Die interne IT-Abteilung und automatisiert in den Testumgebungen Testphasen finden.kann durch diese neue Arbeitsweise starkentlastet werden, weil sie nicht mehr jedeUmgebung individuell aufsetzen, sondernjetzt nur noch Vorlagen für virtuelleMaschinen sowie die entsprechenden Host- ReferenzenSysteme zur Verfügung stellen müssen.Gerade bei agilen Projekten gehören [1]: Ausweg aus der Kommunikationskrise oder das Ende von „Bei mir funktioniert’s“?:Wartezeiten von mehreren Sprints dank http://www.sigs.de/publications/os/2010/Testing/orschel_OS_TESTING_2010.pdfdieser neuen Möglichkeiten der Vergan- [2]: Whitepaper Lab Management: http://www.aitgmbh.de/labmngwhitepapergenheit an. Zusätzlich haben Tester nun die [3]: Visual Studio 2010 and MSDN Licensing White Paper:Möglichkeit, wenn einmal eine komplexe http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13350Umgebung aufgesetzt ist, diese einfach [4]: Continuous Delivery: Reliable Software Releases Through Build, Test, and Deploymentdurch die Duplizierungsfunktion (Network Automation, Addison-Wesley Longman, ISBN: 0321601912Isolation) ähnlich wie eine CD in kürzester 5 www.objektspektrum.de