Sie sehen gerade einen Platzhalterinhalt von Podigee. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen"Wer Mist automatisiert, hat Mist - nur schneller" - Richard Seidl
In dieser Podcastfolge geht es um das Thema Software-Qualität und wie man diese im Team leben kann. Dabei geht es um drei Erfolgsfaktoren: Der Erste ist die Nutzung der Grundlagen, sprich das Anwenden der Teststufen- und arten, die Verwendung von Testfallentwurfsmethoden und statische Analysen. Der Zweite ist Testautomatisierung auf allen Ebenen in der Softwareentwicklung. Der Dritte ist die Qualität als Haltung des ganzen Teams, das selbstverantwortlich die notwendigen Testaktivitäten umsetzt - unabhängig von der Rolle im Team.
Richie ist Experte für Software-Qualität und Agilität und leidenschaftlicher Zukunftsoptimist. Als Berater, Coach und Mentor unterstützt er Konzerne, Startups und KMUs auf ihrem Weg zu mehr Qualität in ihrer Software. Er hat in seiner beruflichen Laufbahn schon viel Software gesehen: gute und schlechte, große und kleine, neue und alte. Software so schön, dass man weinen könnte und auch solche, bei der sich die Fußnägel aufrollen. Für ihn ist klar: Wer heute exzellente Software kreieren möchte, denkt den Entwicklungsprozess ganzheitlich: Menschen, Kontext, Methoden und Tools – erst wenn alles zusammenspielt, entsteht ein Mindset für Potentialentfaltung und Innovation.Seine Erfahrungen teilt er in mehreren Fachbüchern, Fachartikeln und Vorträgen.
Highlights in dieser Episode:
- Qualität als Haltung ist zentral für den Erfolg von Softwareprojekten
- Drei Schlüsselaspekte für gute Softwarequalität sind: Testgrundlagen, Testautomatisierung und Qualität als Teamverantwortung
- Testgrundlagen umfassen Teststufen, Testarten und Testmethoden
- Testautomatisierung erleichtert die häufige Freigabe von Software
- Qualität als gemeinsame Teamverantwortung fördert ein hohes Maß an Selbstverantwortung und Disziplin
- Statische Analyse und manuelle Reviews sind wichtige Werkzeuge für die Qualitätssicherung
- Gute Testfälle sind essenziell für effektives Testing
- Die Integration von Qualität in den Softwareentwicklungsprozess ist ein kontinuierlicher Prozess
- Qualität in Softwareprojekten beginnt mit den Grundlagen und erfordert ein gemeinsames Mindset im Team
Kontakt zu Richie:
Qualität als Haltung: Ein Leitfaden für erfolgreiches Softwaretesting
TLDR: In der ersten Folge meines Podcasts "Software Testing" teile ich meine Sicht auf Softwarequalität und erkläre, warum Qualität als Haltung essentiell für den Erfolg von Softwareprojekten ist. Ich beleuchte die Bedeutung von Testgrundlagen, Testautomatisierung und einem qualitätsorientierten Teamansatz.
Die Reise zu besserer Softwarequalität beginnt
Als Gastgeber des 'Software Testing' Podcasts möchte ich in meiner ersten Folge einen Rahmen schaffen, der uns durch die gesamte Serie begleiten wird. Das Thema unserer Reise ist 'Qualität als Haltung', ein Prinzip, das mir persönlich sehr am Herzen liegt und das ich glaube, den Unterschied in der Welt der Softwareentwicklung machen kann. Mit über zwei Jahrzehnten Erfahrung in Softwaretestprojekten habe ich Teams und Unternehmen dabei unterstützt, ihre Qualität zu verbessern. Dabei sind mir drei Schlüsselelemente aufgefallen: Das Verständnis für Testgrundlagen, die Nutzung von Testautomatisierung und ein Teamansatz, bei dem Qualität im Mittelpunkt steht.
Die Essenz der Testgrundlagen
Die Grundpfeiler guter Softwarequalität liegen in den Testgrundlagen. Hierbei handelt es sich nicht nur um theoretisches Wissen, sondern um praktisch anwendbare Konzepte, die jeder Tester kennen sollte. Von den verschiedenen Teststufen – Unit-Tests, Integrationstests, Systemtests bis hin zu Akzeptanztests – bis zur Identifikation der richtigen Testarten für spezifische Qualitätsmerkmale; all diese Aspekte spielen eine entscheidende Rolle. Das Fehlen klar definierter Testmethoden und die Vernachlässigung statischer Analysen sind häufige Stolpersteine in vielen Projekten. Doch durch das Schärfen dieser Grundlagen können wir eine robustere Architektur und eine fehlerresistentere Software schaffen.
Die Transformation durch Testautomatisierung
Testautomatisierung hat sich als ein kritischer Faktor für die Effizienzsteigerung und Qualitätsverbesserung von Softwareprojekten erwiesen. Es geht dabei nicht nur um die Automatisierung von Tests selbst, sondern um eine umfassende Prozessautomatisierung, die agile und DevOps-Praktiken unterstützt. In der heutigen schnelllebigen Entwicklungslandschaft ist es unerlässlich, dass Testsuites robust sind und eine breite Palette von Tests abdecken können – dies ermöglicht es uns, häufiger und mit höherer Qualität zu releasen. Dennoch gilt es, bei der Automatisierung mit Bedacht vorzugehen; nicht alles sollte automatisiert werden, und die Qualität der Testfälle darf nicht unter der Quantität leiden.
Qualität als gemeinschaftliche Verantwortung
In agilen Teams wird Qualität nicht länger als ausschließliche Aufgabe einzelner Tester oder einer Testabteilung gesehen. Stattdessen ist es eine gemeinsame Verantwortung des gesamten Teams – vom Entwickler über den Architekten bis zum UX-Designer. Dieser Ansatz fördert nicht nur eine hohe Selbstverantwortung innerhalb des Teams sondern etabliert auch eine Kultur, in der Qualität kontinuierlich mitgedacht wird. Die Integration von Qualitätschecks in Build-Pipelines und das Setzen klarer Standards für Code-Qualität sind Beispiele dafür, wie Teams ihre Prozesse optimieren können.
Qualität als Wegweiser
Qualität als Haltung zu verstehen ist mehr als nur ein Leitsatz; es ist ein praktikabler Ansatz, um die Herausforderungen moderner Softwareentwicklung zu meistern. Durch das Verinnerlichen von Testgrundlagen, das Nutzen der Möglichkeiten der Testautomatisierung und das Fördern einer Teamkultur, die Qualität priorisiert, können wir Software erschaffen, die nicht nur funktioniert sondern auch Bestand hat. Ich hoffe, diese Perspektive inspiriert Sie dazu, Qualität in Ihren eigenen Projekten neu zu denken.