Software QS-Tag 2016

Posted by in Allgemein, Konferenz

Der Software QS-Tag 2016 in Nürnberg wird von der imbus AG organisiert und ist die größte Konferenz über Software-Qualität in Deutschland. Zum jetzigen Zeitpunkt ist es die am besten durchorganisierte Konferenz, an der ich teilnehmen und sogar sprechen durfte. Die Qualität der Beiträge ist hoch und die Sprecher sind offensichtlich erfahren. Ich fühle mich geehrt, dass ich ebenfalls etwas beitragen durfte.

Location

Das Sheraton Hotel ist eine exklusive Location direkt am Hauptbahnhof in Nürnberg. Die Räume sind stilvoll eingerichtet und die Mitarbeiter sind fast schon zu übereifrig 😉 . Auch technisch war alles perfekt. Die Beamer sogar mit Licht scharf und kontrastreich. Im großen Burggreifensaal war die Beschallung ebenfalls genau richtig, sodass man alles verstanden hat.

Organisation

Die Organisatoren lassen bei dieser Konferenz praktisch nichts anbrennen. Man erhält Vorabinformationen, sodass alles bereits geklärt ist, wenn man im Hotel ankommt. Als Sprecher werden die Folien durchgesehen und Feeback geliefert. Am Vortragstag gibt es eine Einführung in den Ablauf durch den Trackmoderator. Vielen Dank an Thomas Roßner, der mir praktisch jede Nervosität dadurch genommen hat. Großes Lob an alle, die an der Organisation beteiligt waren. Das hat einen professionellen Eindruck hinterlassen.

Erster Tag: Vorträge am Vormittag

In seiner Keynote Context: What makes some practices work in some environments and not in others? hat Matt Heuser einen persönlichen Einblick in das kontextgetriebene Testen gegeben und damit den Ton für diese Konferenz gesetzt. Es kam deutlich heraus, dass es immer auf die Umstände ankommt, welche Methode(n) man anwenden sollte. Denn das Softwarebusiness ist eine schwierige Angelegenheit.

Als Nächstes habe ich mir die Ausführungen von Dominik Holling über die Auswahl eines geeigneten BDD-Frameworks angehört. Dazu stellte er eine Studie vor, die auf vier Wochen ausgelegt war. Einmal wurde ein Projekt ohne jegliches Framework implementiert und dann jeweils mit jbehave, FitNesse und Living Docs. Das Ergebnis war, dass die Arbeit mit BDD insgesamt als positiv zu bewerten ist. Als Beschreibungssprache wurde Gherkin präferiert.- Insgesamt kann man jedoch sagen, dass die Auswahl eines Frameworks stark vom Kontext abhängt. Also von der Domäne, Testebene, Applikation.

Gleich danach durfte ich ran. Mein Vortrag ging über den Sinn von Code-Metriken. Dafür habe ich ein aktuelles Projekt analysiert und beschreiben, was die Code-Metrik Testabdeckung nicht findet und warum das denn so ist. Anhand von Lösungsansätzen wie Code Reviews, Pair Programming und Mutationstesten wurde dann unsere Vorgehensweise zur Beseitigung dieser Schwachstellen vorgestellt. Vielen Dank für die lebhafte Diskussion. Auch für den Input zum Thema Code-Metrik an sich von Dr. Carsten Weise.

Der anschließende Vortrag über Test-Gap-Analyse war zwar nicht so umfangreich wie erhofft. Das Thema hat aber eine praktische Anwendung, die vor allem bei manuellen Tests zu erheblicher Effizienzsteigerung führen könnte, da man nur noch das testet, was durch eine Änderung kaputt gegangen sein könnte.

Erster Tag: Vorträge am Nachmittag

Der erste Vortrag war tatsächlich ein Workshop über die Optimierung von Testfällen. Dazu wurde zuerst ein Softwareoptimierungsprozess vorgestellt, der aus einer Spezifikation Parameter mit ihren Values identifiziert. Tatsächlich besteht die Optimierung dann aus einer Reduzierung der Testfälle durch Pairwise Testing der Parameter und ihren zugehörigen Values, die sie annehmen können. Dadurch können die Testfälle auf einen Bruchteil reduziert werden. Es gibt auch noch andere Verfahren, um ähnliche Reduzierungen vorzunehmen. Allen gemeinsam ist, dass man damit einen sehr großen Teil der Testfälle (85 – 95%) mit wenig Aufwand abdecken kann. Eine Risikoanalyse kann dann helfen, die restlichen Fälle zu identifizieren, die zusätzlich getestet werden müssen.

Mein letzter Vortrag beschäftigte sich mit risikobasiertem Testen. Hier ging es zuerst allgemein darum, zu bestimmen, wann es wirtschaftlich Sinn macht zu Testen. Ziel ist es mithilfe statistischer Verfahren eine optimale Arbeitsweise des Teams herzustellen und die Risiken/Kosten zu minimieren. Dazu müssen die Experten befragt werden, ob ein bestimmter Test ausgeführt werden muss. Ich bedanke mich noch mal ganz herzlich bei den beiden Referenten Dr. Hans-Martin Adorf und Dr. Martin Varendorff, die sich am zweiten Tag mehr als eine Stunde Zeit genommen haben, mir ihre Herangehensweise im Detail zu erläutern.

Zweiter Tag: Vorträge am Vormittag

Dr. Carsten Weise könnte ich stundenlang zuhören. Seine lockere Art ist einfach toll und fesselnd. Er erzählte einiges über White-Box Verfahren und statische Analyse. Diese beruhen auf einer formalen Definition der Struktur. Allen ist gemeinsam, dass sie einen hohen Automatisierungsgrad besitzen. Dann ging er speziell auf die Überdeckungsanalyse ein. Diese muss 100% zum Ziel haben, ansonsten bringt sie nichts! Für die syntaktische Analyse bietet sich Checkstyle an, das sogar einfache Fehler verhindern kann. Weiter ging es mit Anweisungsüberdeckung und Entscheidungsüberdeckung. Mit dem akademischen Tool Evosuite lässt sich eine Backward Analysis durchführen, die einem automatisch passende Testfälle mit 100% Überdeckung generiert.

Thomas Eberle erläuterte in seinem Vortrag Kombination BDD und Black Box Tests – ein konzeptionelles Rezept welche Erfolge in drei Jahren mit BDD erzielt werden konnten. Durch die Benutzung von jbehave konnten die Entscheider User Stories leichter verstehen. Dabei wurde die deklarative Form für Stories gewählt, da sie nicht so umfangreich und technisch ist. Weiter ermöglichen es Meta Tags die Tests mit der Spezifikation abzugleichen. Ein nützliches Feature.

Zweiter Tag: Vorträge am Nachmittag

Wer Clean Code einführen will, der sollte sich unbedingt den Vortrag Clean Code erfolgreich einführen von Daniel Rietmüller anhören. Am Beispiel seines Arbeitgebers encoway erläutert er, wie sie vorgegangen sind, um sauberen Code in allen Teams zu verwirklichen. Dabei kam die Initiative praktisch von den Mitarbeitern selbst und wurde graduell umgesetzt.

In der Abschlusskeynote Entscheiden – 007 statt 0815 von Suzanne Grieger-Langer wurde auf die sieben Fähigkeiten Bezug genommen, die Performer auszeichnet. Im Gegensatz zu Pfeifen und Psychopathen brauchen diese Orientierung, Entscheidungswillen, Fokus, Disziplin, Achtsamkeit, Fitting und Individualität. Auf humorvolle und gekonnte Art zeigte sie auf, was nötig ist, um sinnvolle Entscheidungen zu treffen, diese durchzuziehen und alle Mitarbeiter mitzunehmen auf die Reise.

Fazit

Der Software QS-Tag war eine interessante Erfahrung. Für mich als qualitätsorientierten Clean Coder konnte ich einige Dinge mitnehmen, die auch für meinen Alltag irgendwann wichtig werden könnten. Man hat gespürt, dass die Konferenz fokussiert auf ein Thema war. Die Diskussionen nach den Vorträgen waren lebendig und voller persönlicher Erfahrungen. Allein deshalb lohnt es sich im nächsten Jahr wieder dabei zu sein.