Blog

Test Intelligence - Richard Seidl

Geschrieben von Richard Seidl | 25.09.2023

Wir machen einen Ausflug in die Welt von Test Intelligence, Coverage Profiling und Test-Gap-Analyse. Wie analysiert man Entwicklungs- und Testartefakte, um Fehler effizient zu identifizieren? Wie bewertet man die Diskrepanz zwischen erwarteten und tatsächlichen Ergebnissen? Und wie baut man das ganze in die Pipeline ein? Analysetools versprechen eine kontinuierliche Verbesserungen der Testqualität und -effizienz. Aber was steckt dahinter?

“Wir haben bei uns selber mal ’ne Studie gemacht, ob wir es als Entwickler schaffen, in den Entwickler-Tests die Funktionalität wirklich abzudecken” – Elmar Jürgens

Dr. Elmar Jürgens hat über statische Codeanalyse promoviert und für seine Doktorarbeit den Software-Engineering-Preis der Ernst Denert-Stiftung erhalten. Er ist Mitgründer der CQSE GmbH und begleitet seit zehn Jahren Teams bei der Verbesserung ihrer Qualitätssicherungs- und Testprozesse. Elmar spricht regelmäßig auf Forschungs- und Industriekonferenzen und wurde für seine Vorträge mehrfach ausgezeichnet. 2015 wurde er zum Junior Fellow der Gesellschaft für Informatik ernannt.

Highlights in dieser Episode:

  • Elmar Jürgens und ich sprechen über Test Intelligence und wie es hilft, Fehler effizienter zu finden
  • Wir diskutieren die Bedeutung von Test Gap Analyse und Coverage Profiling
  • Elmar erklärt, wie manuelle Tests in die Analyse einbezogen werden können
  • Es wird erörtert, wie Test Intelligence Entwicklungsprozesse verbessern kann und welche Zukunftstrends es gibt
  • Wir sprechen über die Herausforderungen und Vorteile der Einführung von Test Intelligence in Teams
  • Elmar gibt Einblicke in die Bedeutung von Change Management bei der Implementierung von Analysewerkzeugen
  • Es wird diskutiert, wie Test Intelligence dabei helfen kann, Ressourcen zu sparen und effizienter zu arbeiten
  • Elmar teilt, wie Test Intelligence in der Praxis angewendet wird und was es für die Zukunft bereithält

Von Test-Gap-Analyse bis Test-Suite-Minimierung: Test Intelligence

In dieser Folge teile ich meine Erkenntnisse aus einem aufschlussreichen Gespräch mit Elmar Jürgens über Test Intelligence. Wir decken die Bedeutung und Anwendung von Analysetechniken im Entwicklungs- und Testprozess auf, um Fehler effizienter zu finden und die Qualität der Softwareentwicklung zu verbessern.

Test Intelligence

Heute durfte ich Elmar Jürgens im Podcast begrüßen. Wir sprachen über das Thema Test Intelligence. Dieser Begriff mag zunächst abstrakt erscheinen, doch er umfasst eine Reihe von Analysetechniken, die darauf abzielen, Fehler in weniger Zeit zu finden und dadurch den Softwareentwicklungsprozess erheblich zu verbessern. Von statischer Analyse bis hin zu Coverage Profiling – unser Gespräch deckte ein breites Spektrum an Themen ab, die alle unter dem Dach der Test Intelligence zusammengeführt werden.

Die Test-Gap-Analyse

Eines der herausstechenden Themen unseres Gesprächs war zweifelsohne die Test-Gap-Analyse. Diese Technik ermöglicht es Teams, ungetestete Änderungen noch vor dem Release aufzudecken. Durch das Zusammenführen von Daten aus dem Versionskontrollsystem und Coverage-Profilern wird eine lückenlose Dokumentation aller durchlaufenden Testschritte erstellt – ein wesentlicher Schritt zur Verbesserung der Qualitätssicherung. Besonders beeindruckend ist dabei, dass nicht nur automatisierte Tests berücksichtigt werden, sondern auch manuelle – eine entscheidende Erweiterung des herkömmlichen Verständnisses von Testabdeckung.

Abdeckung jenseits automatisierter Tests

Elmar hob hervor, dass Coverage-Profiler seit Jahren vor allem für automatisierte Tests genutzt worden sind. Die Tatsache, dass wir diese Technologien nun auch erfolgreich für manuelle Tests einsetzen können, markiert einen signifikanten Fortschritt. Diese Entwicklung zeigt deutlich, dass die Grenzen zwischen manuellen und automatisierten Tests verschwimmen und wir uns einer umfassenderen Sichtweise auf Testing nähern.

Erfahrungen aus erster Hand: Überraschungen aus der Praxis

Elmars Erfahrungen mit verschiedenen Projekten offenbarten überraschende Einsichten: In einem Fall führte eine besonders geringe Testabdeckung sogar zur Beendigung eines Projekts. Solche Momente verdeutlichen die Wichtigkeit einer gründlichen Analyse und Überwachung der Testabdeckung. Es zeigt auch, dass selbst in technisch versierten Teams nicht immer alle Änderungen adäquat getestet werden – ein weiteres Argument für den Einsatz von Test Intelligence.

Blick in die Zukunft

Unser Gespräch gab auch einen spannenden Ausblick darauf, was uns in der Zukunft im Bereich Test Intelligence erwartet. Von der Nutzung derselben Technologien in Produktion bis hin zur Einführung neuer Analysen wie Test-Smell oder Requirement-Smells – die Möglichkeiten scheinen endlos. Dieser kontinuierliche Fortschritt verspricht nicht nur eine effizientere Fehlerfindung und -behebung, sondern auch eine allgemeine Qualitätssteigerung im Softwareentwicklungsprozess.

Statische und dynamische Analysen vereint

Ein besonders interessanter Aspekt ist die Kombination von statischen und dynamischen Analysen. Durch das Verschmelzen beider Ansätze können wir ein präziseres Bild davon erhalten, wo unser Code steht und was verbessert werden muss. Diese hybriden Analysen stellen einen innovativen Ansatz dar, um sowohl Entwickler als auch Tester besser zu unterstützen und letztendlich bessere Software zu entwickeln.