Beiträge

SPF Consulting AG - Insights - Testautomatisierung: Kritik and den blinden Wahnsinn

Testautomatisierung: Kritik an die blinde Automatsierungswut

Automatisch ausgeführte Checks sind von Anfang an automatisch, nicht automatisiert. Echtes Testen jedoch ist bildend, explorativ und kreativ. Ein Überführen vom einen in den anderen Bereich ist a priori nicht sinnvoll.

Testautomatisierung kritisch betrachtet.

SPF Consulting AG - Insight - Testautomatisierung: Kritik and den blinden Wahnsinn

Testautomatisierung im herkömmlichen Sinne versteht sich leider als Stütze vom “manuellen Testen“, in dem man Tests, die mehrmals ausgeführt werden mussten, durch Automaten ausführen lässt und so vermeintlich wiederholbar werden lässt und Personal einspart.

Dabei nimmt man oft – insbesondere bei Legacy Projekten – ohne besseres Wissen schwergewichtige Werkzeuge zur Hand, die alles tun, was vom menschlichen Clickthrough herrührt – und vergisst oder ahnt nicht, dass dabei etliche Probleme erst entstehen.

  • Solche Tests sind in der Regel Langläufer, deren Zweck mit schnellen Units auch erfüllt werden könnte, ohne den ganzen Applikationskontext hochzufahren.
  • Sie hinken dem Entwicklungsprozess hinterher, werden unkompatibel zur Funktionalität und müssen neu geschrieben werden, ohne dass sie Fehler finden.
  • Sie spiegeln nicht reproduzierbare oder nicht deterministische Verhalten (flakey Tests). Dadurch sind Testläufe selten bis nie grün.
  • Sie sind äusserst redundant und jeder neue Test trägt immer weniger zu einer echten Abdeckung bei.
  • Sie dokumentieren alte Bugs, die nie wieder kommen und exponenzieren die Menge an Tests, obwohl Bugs eigentlich nicht wieder kommen, wenn man versionieren kann. Der Glaube, man müsse für jeden gefundenen Fehler einen funktionalen Test schreiben, ist so etwas wie der Eisengehalt vom Spinat.

Das alles führt dazu, dass man die notwendige Schnelligkeit nicht erreicht, ja zum Teil die Ausführung länger geht als die Zeit zwischen zwei Releases.

Professionelles Test Management ist sich dessen bewusst und erspart den Projekten Lizenz-, Herstellungs- und Betriebskosten.

Gute Tester:innen sind Menschen mit Fachverständnis von Business Analysierenden oder Superusern und mit Erfindergeist, um dort zu stören, wo man es bisher nicht erwartet hatte. Das echte Testing ist eine lernende, evolutionäre und kreative Disziplin und kann (noch?) nicht von Automaten erledigt werden. Auch nicht von künstlichen Intelligenzen, obwohl man letztere durchaus als Werkzeug einsetzen soll, wo es hilfreich ist.

Wo – also – automatisieren?

Automatische Tests (oder besser: Checks) sind von Anfang an automatisch. Hier ein Auszug der Möglichkeiten:

  • Unit Tests: Diese werden von den Entwickelnden in der Umsetzung erstellt, vorzugsweise mit Test Driven Development (TDD) und Abdeckungskriterien. Sie sind schnell und können beim Kompilieren oder spätestens beim Rückführen der Änderungen des Programms ausgeführt werden, ohne dass es Wartezeiten erzeugt.

  • Funktionale Tests: Im Optimalfall basieren sie auf Use Cases oder Business Cases. Sie sind soweit abstrahierbar, dass man daraus direkt Tests generieren kann. Sie sind Schnittstellen basiert und bringen erwartete Ausgaben mit sich, die man mit dem Code versionieren kann. Respektive, man lässt sie gegen mehrere Versionen laufen und prüft damit die getroffenen Annahmen und die Rückwärtskompatibilität. In der Grundfunktion sind diese Tests nicht integrativ.
    Durch Ein- und Ausschalten der Umsysteme wird ermöglicht, deren Simulation (Mock Ups) über die mehrfache Versionierung zu speichern.

  • Generative Tests: Der Automat kann dort am besten helfen, wo der Mensch sich besser mit intelligenteren Aufgaben beschäftigt. Durch systematische, teilzufällige Proben (z.B. mit Quickcheck) werden Fehler aufgedeckt, die man durch überlegtes Handeln allein nicht gefunden hatte.

Zusammenfassend erzeugt das Nutzen von big time Testing Tools mit tausenden von „Langläufern“ eine falsche Sicherheit bei den Verantwortlichen. Eine Abdeckung wird nicht erreicht, die Redundanz der Tests ist sehr hoch. Die Tests sind dabei selten grün, werden dadurch bald nicht mehr beachtet und die Qualität wird am Ende verschlechtert. Neue Fehler werden nicht bemerkt, da man keine Veränderung feststellt und schnell zum Resignieren neigt: „Ach, das war gestern schon rot“. Zusätzlich frustriert es alle Mitarbeitenden, was das Problem verstärkt. Testen wird immer noch mehr zur unbeliebten Disziplin, die man lieber delegiert, statt integriert. Wichtige Grundlagen für agiles Arbeiten sind dadurch vernichtet. Die Qualität wird verunmöglicht.

Bei Unklarheiten oder Fragen zum Thema sind wir selbstverständlich jederzeit für ein Gespräch verfügbar.

Autor

SPF Consulting AG - Danilo Biella - Agile & Quality Professional

Danilo Biella, Agile & Quality Professional

E-Mail: danilo.biella@spf-consulting.ch
LinkedIn: https://www.linkedin.com/in/danilobiella/

 

 

SPF Consulting AG - Insights - Mitarbeiter Patrick Stalder

10+1 Frage an unseren Mitarbeiter Patrick Stalder

Interview mit unserem Mitarbeiter Patrick Stalder bei der SPF Consulting AG

 

Danke, dass Du Dir Zeit für das „Meet the Team“ Gespräch genommen hast, Patrick. Schiessen wir gleich los.

SPF Consulting AG - Insights - Mitarbeiter Patrick Stalder

Wolltest du schon immer Entwickler werden?

Ich bin in die Fussstapfen meines Vaters getreten. Er ist als Systemadministrator tätig und hat mir und meinen Bruder schon früh die Welt der Technik nähergebracht. Entsprechend haben wir zusammen unsere PCs gebaut oder an ferngesteuerten Autos gewerkelt. Dabei konnte ich viel lernen, der Funke “Faszination Technik” ist übergesprungen und bis heute geblieben.

Mir war klar, dass ich etwas mit Computern machen möchte, also habe ich eine Lehre als Informatiker mit Schwerpunkt Applikationsentwicklung begonnen, da ich dieses Programmieren noch spannend fand. Konkrete Absichten, was ich damit machen möchte, gab es damals noch nicht. Ich habe nach dem Lehrabschluss zuerst ein paar Jahre als SysAdmin gearbeitet und bin dann erst durch das Angebot von SPF Consulting wieder zur Entwicklung gekommen.

Wie ist es denn zu diesem Angebot gekommen?

Damals war ich auf dem Hackathon BärnHäckt und habe die Challenge von SPF angenommen. Anscheinend habe ich dabei einen guten Eindruck gemacht und wurde angefragt ob ich nicht mit meinem breiten Background das gerade entstehende Entwicklerteam als Mitarbeiter verstärken möchte.

Mittlerweile bist du schon 5 Jahre lang bei SPF Consulting, ist ja nicht gerade üblich für dein Alter, wie kommt das?

Da unser Entwicklerteam in diesen Jahren gut gewachsen ist und wir neue Kunden und Projekte angehen dürfen, konnte ich laufend neue Herausforderungen bestreiten, als Person wachsen, viel lernen und auch verschiedenste Rollen im Team wahrnehmen.

Dazu kommt das wir ein tolles Teamklima haben, was ich sowohl bei konstruktiven Meetings als auch beim entspannten Fübi sehr schätze. Jeder bringt sich ein und gestaltet mit, so macht es mir am meisten Spass.
Solange das so weiter geht, bleibe ich gerne.

Du hast von verschiedenen Rollen gesprochen, welche hast du aktuell?

Im Kundeneinsatz bin ich momentan als Full-Stack Entwickler tätig und unterstütze dort vor allem mit meinem technischen Handwerk und helfe auch bei der Teamorganisation mit.Mit meiner restlichen Zeit nehme ich die Rolle als Entwicklungsleiter für unsere Software Produkte ein, wobei ich mich um Product Ownership, Organisation und Sales/Marketing kümmere. Die Verantwortung teile ich mir hier aber noch mit anderen Kollegen da ich ja noch bei den Kunden tätig bin.

Klingt nach viel Abwechslung und Stress, wie gehst du damit um?

Der Mix von einer Hälfte Technischem und der andren mit Personen und Organisation gefällt mir super.
Es gibt in meinem Alltag zwar viele Kontextwechsel aber dies gibt mir jeweils etwas Zeit Dinge im Hintergrund zu verarbeiten und auf neue Ideen zu kommen. Etwas schwieriger fällt es mir zwischen Chats, Calls und Meetings produktiv zu Entwickeln.

Für mich bewährt hat sich um 06:00 aufzustehen, um früher als die meisten anzufangen und andererseits Blocker im Kalender zu erstellen damit ich doch meine Coding Blöcke von 1-2 Stunden habe um vorwärts zu kommen.

Es ist zwar viel aber da wir sowohl intern als auch mit den Kunden, realistische Erwartungshaltungen haben, hält sich der Druck und somit der Stress in Grenzen. Klar gibt es hier und da eine heisse Phase von 1-2 Wochen aber das ist aus meiner Sicht normal. Mir hilft, dass ich im Home Office die Freiheit habe auch mal mit dem Hund nach draussen zu gehen oder eine Sport-Pause zu machen, das lüftet den Kopf.

Arbeitet ihr im Team mit agilen Methoden?

Ja, wir brauchen gerade beim Kunden und intern den Kanban Board Ansatz. Wobei dies pro Kontext jeweils leicht anders abläuft und organisiert ist. Wie es eben am besten passt für die jeweiligen Teams.

Was bedeutet für dich Agilität?

Für mich heisst es flexibel und fähig zu sein, sich rasch den (sich verändernden) Gegebenheiten anzupassen um konstant und langfristig die gewünschten Ergebnisse zu erzielen.
Aus meiner Sicht ist es ein Mindset welches aus Werten und Prinzipien besteht. Wenn die beteiligten Personen dies verstanden und verinnerlicht haben, spielt es nicht so eine grosse Rolle wie genau man dies umsetzt oder organisiert.

Konkrete Methoden sind daher aus meiner Sicht, eher Werkzeuge im Kasten die man gezielt einsetzen kann oder Startpunkte für neue Teams. Aus meiner Erfahrung sind die effektivsten Teams die, die sich aktiv selbst organisieren und nicht die, die sich möglichst strikt an ein Buch oder eine Methode halten.
Ich persönlich finde es schön in solchen Kontexten zu arbeiten, da es den Fokus auf Menschen und Interaktionen legt und somit alle zum Mitwirken und -gestalten bringt. Ich konnte hier von meiner Arbeit auch stark im Privatleben profitieren, da man dort heutzutage auch mit vielen Veränderungen konfrontiert wird.

Wie gewinnst du in der Zeit von Home Office und immer online sein etwas Distanz zum Berufsalltag?

Dafür mache ich gerne Sport oder Lese altmodisch ein Buch. Dabei probiere ich das Handy wo anders zu Lassen. Mir tun gezielte Technologie Pausen gut.

Auch die Natur geniesse ich, gerne mit Hund oder Motorrad.

Arbeitest du aktuell nur von zu Hause aus?

Momentan bin ich einmal die Woche am Mittwoch im Büro. Wir treffen uns im Team jeweils im Co-working Zentroom in Bern. Finde es ist so eine gute Mischung aus Effizienz aber auch mal die Leute in Person sehen und einen Kaffee zusammen trinken. Meistens ist dies auch etwas unser Kreativ Tag mit Whiteboard Sessions und viel Austausch. Ausgebucht aber voll mit dem was mir am meisten Freude an meinem Job bereitet: mit Leuten arbeiten und neue Lösungen finden.

Wo siehst du dich selber in 10 Jahren?

Mir ist wichtig, dass ich weiterhin als Person wachsen kann. Ich habe vertrauen in mich, dass ich entweder die richten Entscheidungen treffe oder lerne und es das nächste Mal besser mache. Somit ist es mir nicht wichtig wo genau ich lande. Ich bin gespannt was die Zukunft bringt.

Kontaktinformationen

 

SPF Consulting AG - Danilo Biella - Agile & Quality Professional

Danilo Biella, Agile & Quality Professional

E-Mail: danilo.biella@spf-consulting.ch
LinkedIn: https://www.linkedin.com/in/danilo-biella

 

SPF Consulting AG - Insights - Mitarbeiter Patrick Stalder

Patrick Stalder, Software & Quality Professional

E-Mail: patrick.stalder@spf-consulting.ch
LinkedIn: https://www.linkedin.com/in/patrick-stalder

SPF Consulting AG - Insight - Hyperautomatisierung und die Angst vor der Zukunft

Hyperautomatisierung und die Angst vor der Zukunft

Hyperautomatisierung – Die Welt dreht sich, bleibst du stehen?

Neue Entwicklungen kommen unaufhörlich und erleichtern unseren Alltag als Verbrauchende einerseits, bedrohen unsere Position in der Gesellschaft und aber gleichzeitig unsere Nische im Markt als Dienstleistende. Jede Neuerung bringt Ängste, aber jede Veränderung ist auch eine Chance.

SPF Consulting AG - Insight - Hyperautomatisierung und die Angst vor der Zukunft

Taxis mögen Uber nicht. Hotels mögen AirBnB und Booking nicht. Büchereien schlossen alle wegen Amazon. Trotzdem gibt es die Dinge und wir müssen damit umgehen, dass Hyperautomatisierung kommt, die Firmen alle Cloud Services anbieten und selbstfahrende Autos und Raketen bauen.

Wie viel Digital ist normal?

Die Geschichte zeigt, dass bei jedem Evolutionsschritt neue, kreative Aufgaben entstehen und repetitive Arbeiten unnötig werden. Nicht immer im gleichen Ausmass, aber immerhin könnte man sie als Chancen erkennen.

Ein wichtiger und beängstigender Aspekt in der wachsenden Komplexität ist jedoch, dass wir nicht mehr wissen können, wie die Dinge funktionieren, die wir nützen. Oft wird dieser Umstand von falschen Propheten für Wegelagerei genutzt, indem einfache Lösungen für komplexe Fragen angeboten bis angebetet werden.

Wie viel Doppel-T Shaping oder Kirchenfenster Expertise ist gesund, ab wann ist zu viel Generalismus? Was kann man wissen und wann können wir uns nicht mehr gegen Fake News wehren?

Ein Abriss der Facetten:

Automatisierte Prozesse

Niemand will wirklich wieder mit dem Schraubenzieher ans Förderband und alle drei Sekunden dieselbe Handbewegung machen. Ausser, man hat nichts anderes gelernt. Wir sollten also Fortschritt, der uns von diesem Szenario wegbewegt, begrüssen und auf Bildung Wert legen, um neue Aufgaben wahrzunehmen. Dies ist kein neues Phänomen, es geschieht nur schneller. 40 Jahre bis zur Pensionierung den gleichen Job zu erledigen liegt nicht drin. Aber war das jemals ein Segen? Für Einzelne vielleicht, für die Gemeinschaft bestimmt nicht. Es waren genau diese Faktoren, die uns Paragrafenreiterei brachten und uns verletzlich, innovationsblind und änderungsunverträglich machten.

Künstliche Intelligenz

Ein weitgreifendes Thema. Ist es gut, wenn eine AI meinen Aufsatz schreibt oder lerne ich mehr, wenn ich ihn selber schreibe? Eines ist sicher, diesen Artikel hat keine AI geschrieben und sie könnte es auch nicht. Was passiert eigentlich, wenn man ChatGPT anfragt, den Satz “Dieser Satz ist nicht von ChatGPT“ zu produzieren?

Wird intelligente Arbeit nun auch automatisiert oder kommt der nächste AI-Winter? Ist die nächste Welle künstlicher Intelligenz nun endlich superintelligent? Ab wann ist es menschenähnlich und gilt das für alle Menschen gleich? Diese Problemstellungen sind leider nur semi-entscheidbar, aber wie stelle ich mich auf, dass ich auf entsprechende Szenarien reagieren kann?

Quantencomputing

Auch wenn stabile Systeme in brauchbarer Grösse noch nicht existieren oder zumindest nicht öffentlich zur Verfügung stehen, ist dies keine Technologie der Zukunft, sondern bereits präsent. Insbesondere in der Verschlüsselung ergeben sich Probleme. Gängige Verfahren sind nicht mehr sicher. Hacker speichern vermeintlich sichere Kommunikation im Wissen, dass sie in der nächsten Generation noch wertvoll ist und mit wenig Aufwand zu brechen. Post Quantum Cryptography (PQC) geht uns also alle an. Aber wo sind die Gefahren für mich und mein Umfeld, wo die versteckten Fallen? Wissen das meine Banken, meine Cloud-Anbieter? Kann man das überhaupt fixen oder müssen wir das Internet neu bauen und ein neues und sicheres TikTok darauf gründen? Und wer bezahlt das?

Braucht das nicht alles Energie, die wir gar nicht haben?

Doch. Im Moment zumindest. Es soll also niemand verlernen, wie man einen Nagel einschlägt oder Feuer macht. Geschweige denn lesen, schreiben, rechnen. Auch ohne Energiekrisen gibt es genug dystopische Zukunftszenarien.

Die Menschen – als Dienstleister für die Menschen – werden so schnell nicht zu ersetzen sein, sie sollten nur wissen, wie sie sich orientieren und einordnen sollen. Wer stehen bleibt, wird irgendwann zur Mitläuferin, wer sich bewegt, geht möglicherwiese in die falsche Richtung. Wie also sollen ich und mein Umfeld auf Neuerungen reagieren, wo schnelllebig sein und wo traditionell?

Übersicht behalten und venünftig handeln.

Reden wir darüber.

Autor

SPF Consulting AG - Danilo Biella - Agile & Quality Professional

Danilo Biella, Agile & Quality Professional

E-Mail: danilo.biella@spf-consulting.ch
LinkedIn: https://www.linkedin.com/in/danilobiella/