Quick Navigator
© 2004-2016 by Rocketlab

hand crafted in the beautiful mountains of Switzerland

Testautomatisierung

 

Die Erwartung der Qualitätssicherung bei automatisierten Tests ist, inbesondere den Bereich Regressionstests zu automatisieren. Dies hat den Vorteil, dass schnell und effizient festgestellt werden kann, ob eine Releaselieferung im Bereich Regression und evtl. Baseline fehlerfrei ist. In der Praxis hat sich herausgestellt, dass auch hier häufig Fehler gefunden werden. Automatisierte Tests bringen diese aber deutlich schneller ans Licht als dies mit manuellem Testaufwand möglich wäre.

Keine Software ist völlig frei von Fehlern (sogenannten Bugs). Abhängig von der zur Verfügung stehenden Zeit und den Testressourcen, sowie des Testbudgets lassen sich Fehler aber auf ein vertretbares Minimum bringen. Hat man ein erfahrenes Team und insbesondere erfahrene Testautomatisierer zur Hand, kann das vorhandene Budget höchst effektiv ausgenutzt werden.

Rocketlab ist spezialisiert auf Webanwendungen wie Portale, eCommerce, eBanking, Content Management (ECMS/ WCMS/ AEM), Buchungssysteme (Flug, Hotel, Reisen) und webbasierte Applikationen. Je nach Kunde und Anforderungen arbeiten wir mit unterschiedlichen Werkzeugen. Hierbei kommen einerseits HP ALM (Application Lifecycle Management) bzw. QC (Quality Center), QTP (Quick Test Pro) bzw. UFT (Unified Functional Testing) und Load Balancer zum Einsatz, andererseits Selenium bzw. Selenium GRID. Wir haben diese beiden Technologien in der Fülle vieler zur Verfügung stehender Tools als unsere Standards ausgewählt und beste Erfahrung gemacht.

Einen Überblick über generelles Website Testing finden Sie, wenn Sie den Link anklicken.

 

Voraussetzung für Testautomatisierung

  • Regressionstests sind bereits vorhanden oder zumindest definiert (z.B. in Form von Abnahmekriterien)
  • Die zu testende Applikation (AUT – Application under test) hat bereits eine gewisse Lebensphase hinter sich
  • Es ist ausreichend (zeitliches und monitäres) Budget vorhanden
  • Es sind erfahrene Testautomatisierer vorhanden, welche die manuellen Tests (oder Anforderungen) zügig und effizent in Testingscripts umsetzen können*

* Viele unserer Kunden haben diesen Bereich komplett outgesourced. Rocketlab kümmert sich komplett um die gesamte Testautomatisierung innerhalb agiler oder klassischer Vorgehensmethoden. Hierbei ist weniger entscheidend, dass die Testautomatisierer permanent vor Ort sitzen, als dass sie die Anforderungen komplett verstehen, weiter entwickeln und in direktem und permanentem Kontakt zur Projektleitung und zum Testmanager stehen.
Der jeweilige Testfortschritt wird in einem gemeinsamen Tool dokumentiert (ebenso wie das Bug-/ Issuehandling) wie z.B. HP QC/ ALM, Jira usw. Somit haben unsere Kunden ständig den aktuellen Stand des Testfortschritts.
Das Projekt spart sich somit das Rekrutieren und Einlernen von Test Spezialisten für Testautomatisierung und profitiert dabei auch von unserer langjährigen Praxis- und Industrieerfahrung zu insgesamt deutlich günstigeren Kosten.

 

UFT – Unified Functional Testing

  • Hat das bekannte QTP – Quick Test Professional abgelöst
  • Professionelles Test Automatisierungs Framework im Zusammenspiel mit HP ALM (Application Lifecycle Management), früher HP QC (Quality Center)
  • Sehr leistungsfähig und zuverlässig unter Windows Umgebungen
  • Quasi industrieller Testing Standard
  • Scripting in verschiedenen Programmiersprachen möglich (bspw. VBScript)
  • Dokumentation/ Reporting und Defectsmanagement automatisiert im ALM möglich

 

Selenium GRID

  • Basiert auf einem Open Source Framework Selenium
  • Einsatz nur für webbasierte Anwendungen möglich
  • Cross-Browser und cross-device (iOS, Android) Testing möglich
  • GRID Einsatz möglich
  • Scripting in verschiedenen Programmiersprachen möglich (Java, Ruby, PHP, …)

Mit Selenium ist ein schneller Einstieg in die Testautomatisierung möglich, da man mit der Selenium IDE (Firefox Extension) Abläufe aufzeichnen kann, die später als Testingscript dienen. Natürlich grenzt man hier schnell an seine Möglichkeiten und deshalb bietet Selenium noch weitere Techologien bzw. Tools wie RC (Remote Control) und WebDriver (heute beides vereint im WebDriver 2), mit der man die Testautomatisierung direkt in Browsern ablaufen lassen kann, auf verschiedenen Betriebssystemen und Geräten (PC, Smartphone etc.) in Verbindung mit Selendroid und iOS-Driver.

Wie eine Selenium GRID grundsätzlich aufgebaut werden kann (hier gesteuert durch Jenkins – Continous Integration) entnehmen Sie unten stehender Skizze:

SeleniumGRID

 Klicken Sie das Bild an, um es in der Großansicht zu sehen.

Der entwickelte Software Code (hier oben links dargestellt) wird in ein Repository eingecheckt. Zusammen mit den Selenese Testingscripts (Java in Verbindung mit TestNG), welche auch im gleichen Repository verwaltet werden, können z.B. nightly builts erstellt (Steuerung durch Jenkins CI) und sogleich automatisiert getestet werden. Das Entwicklerteam weiß somit gleich am Morgen, ob die Commits erfolgreich waren.

Zudem können weitere Testscripts in Selenese erstellt und eingecheckt sein, die zur Testautomatisierung von Regressions- und Fachtests dienen. Entweder manuell gestartet oder durch Jenkins CI können Sie in einer GRID über verschiedene Nodes (Betriebssysteme, Browsertypen z.B. Internet Explorer, Firefox, Chrome, Safari, … und Browserversionen) gezielt zum Einsatz kommen und Testresultate liefern. Die Scripts sind hier jeweils (für alle Plattformen) die gleichen. Über Parameter werden Attribute mitgegeben (im Jenkins CI konfiguriert) welche optimal auf die Zielplattform abgestimmt sind.

 

Testautomatisierung – Kurzüberblick

Launch the rocket!


Wir freuen uns auf neue Partner, die mit uns gemeinsam
außergewöhliche Dinge erschaffen möchten.
Schreiben Sie uns, wenn Sie mit uns zusammenarbeiten möchten.