Reinventing Quality

ERROR: Content Element with uid "6606" and type "dce_dceuid16" has no rendering definition!

Patterns of Test Automation

Die wachsende Komplexität der Software, die sich laut einigen Studien alle 18 Monate verdoppelt, die kürzere Auslieferungszeiten und die steigende Qualitätsansprüche machen die Automatisierung einzelner Testaktivitäten auf Modul-, Integrations- und System-Test-Ebenen notwendig. Doch zunehmende Komplexität der zu testenden Software macht erfahrungsgemäß die Entwicklung zuverässiger und wartbarer automatischen Tests, insbesondere auf der System-Test-Ebene, zu einer nicht trivialen Aufgabe. Oft gilt die Regel: automatische Tests sind nicht einfacher als die Software, die sie testen. Je komplexer die zu testende Software wird, desto komplexer wird die Testlogik, die automatisierte Tests implementieren müssen.

Anhand von praktischen Beispielen soll der Vortrag die Quellen der Komplexität in der Testautomatisierung aufzeigen. Um diese Komplexität in Griff zu bekommen, werden die Grundprinzipien, ausgewählte Software-Design-Patterns und Best-Praktiken vorgestellt, die helfen können, einen übersichtlichen, lesbaren, und somit auch wartbaren Test-Code zu schreiben. In diesem Workshop wird die Programmiersprache C# eingesetzt, jedoch können die vorgestellten Techniken auch in anderen objekt-orientierten Programmiersprachen umgesetzt werden.

Inhalte:

  1. Einführung in die Testautomatisierung
  2. Einführendes Beispiel: Was kann schiefgehen?
  3. Grundlegende Software-Design-Patterns für automatisierte funktionale Tests
  4. Anwendung der Software-Design-Patterns auf das Beispiel-Test
  5. Software-Design-Patterns für automatisierte GUI-Tests
  6. Zusammenfassung

Lernziele:

  • Wesentliche Bestandsteile der Testautomatisierung
  • Grundlegende Prinzipien des Testautomatisierung-Software-Designs
  • Entwicklung vom transparenten und lesbaren Test-Code
  • Verwendung von Abstraktion, um die Testautomatisierungskomplexität zu beherrschen
  • GUI-Testautomatisierung
  • Techniken zur Erhöhung der Zuverlässigkeit der automatisierten Tests

Dr. Dmitry Chibisov, Dr. Chibisov Software

Dmitry (Dmytro) Chibisov, born in 1978, completed the diploma degree program in computer science at the Munich Technical University from 1998 to 2003.

From 2004 to 2010, Dmitry Chibisov was a research associate at the Computer Science Department, Munich Technical University. His teaching and research was focused on development of efficient approximation algorithms and software for selected computationally hard problems arising in such fields as fluid mechanics and robotics. In 2010, Dmitry Chibisov received his doctorate.

Since 2010, Dr. Dmitry Chibisov works as independent software- and test engineer for a number of internationally renowned companies in industrial automation, robotics, and medical devices sectors. His work is focused on software and algorithm engineering for test automation.