Dr. Dmitry Chibisov – Impulsgeber beim systems.camp Berlin

Dr. Dmitry Chibisov

Dr. Dmitry Chibisov

+++Informatiker, der überzeugt ist, dass absolut fehlerfreie Software in Zeit und Budget oft ein durchaus erfüllbarer Traum sein kann.+++

Wer bist Du? Was machst Du?

Als Software- und Test-Ingenieur unterstütze ich seit 2010 meine Kunden aus der Medizin- und Automatisierungstechnik in der Software-Entwicklung für mechatronische Systeme. Vor ungefähr fünf Jahren habe ich auch Interesse an Algorithmen entdeckt, die in zwei Klassen unterteilt werden können: Algorithmen, die bestimmte Software-Fehler finden, und solche, die beweisen, dass eine Software von bestimmten Fehlern frei wäre.

Warum machst Du beim systems.camp mit? Warum nimmst Du am systems.camp teil?

Impulse geben, Impulse erhalten, Kontakten-Netzwerk vergrössern. Anderen darüber berichten, was sich auf dem Gebiet der Testautomatisierung tut.  Über Fortschritte berichten und offene Probleme beschreiben, Feedback einholen.

Welche Erwartungen hast Du an das systems.camp?

Interessante Vorträge und Diskussionen zu kniffligen Themen der System-Entwicklung.

Welches Thema bringst Du mit? Welches Session/Workshop-Thema bringst Du mit?

In meinem Beitrag möchte ich mich einem klassischen Problembereich aus einer modernen Sichtweise widmen, nämlich dem Testen von Software:

Die wachsende Komplexität der Software, die sich laut einigen Studien alle 18 Monate verdoppelt, und der steigende Effizienzdruck, dem sowohl Entwickler-Teams als auch Managementetagen ausgesetzt sind, haben zu einer Art von Paradigmenwechsel in der Software-Entwicklung geführt, die oft mit dem Wort „agile“ bezeichnet wird.
Im Gegensatz zu klassischen Vorgehensweisen, wo die Release-fähige Software typischerweise erst dann entsteht, wenn alle geplanten Funktionalitäten implementiert sind, setzt die agile Entwicklung die Idee um, dass ein Software-Produkt von Anfang an in kurzen und regelmäßigen Abschnitten Release-fähig sein muss, obgleich noch nicht alle Funktionalitäten implementiert sind.

Bekanntermaßen ändert sich dabei auch die Arbeitsweise der Tester. In agilen Projekten müssen die gleichen Tests viel häufiger ausgeführt werden, schließlich muss die Software immer wieder auslieferungsfähig sein. Die Tester verfügen in der Regel über bestimmte Kapazitäten, die für den Test der aktuell umgesetzten Arbeitspakete reichen sollen, aber sicher nicht für die Durchführung aller Tests aller bereits erstellten Pakete. Daher wird in agilen Projekten der hohe Grad der Automatisierung von Regressionstests zwingend notwendig.

Doch zunehmende Komplexität der zu testenden Software macht erfahrungsgemäß die Entwicklung robuster und wartbarer automatischen Tests 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 mein Impulsbeitrag die Quellen der Komplexität aufzeigen, mit der Test-Entwickler konfrontiert werden. Um diese Komplexität in Griff zu bekommen, werden die Grundprinzipien der Testware-Entwicklung vorgestellt. Zum Schluss werden ausgewählte Software-Design-Patterns und Best-Praktiken diskutiert, die anderen Test-Entwicklern helfen können, einen übersichtlichen, lesbaren, und somit auch wartbaren Test-Code schreiben zu können.

Profile im Netz

www.cesdo.com (under construction, will be available soon)

https://www.xing.com/profile/Dmitry_Chibisov

0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar