The Devils Organization

ðə ˈdɛvl̩z ɔrɡənəˈzeɪʃən

Advocatus Diaboli, („Anwalt des Teufels“), bezeichnet die rhetorische Strategie eines Redners, der bei einem Streit zunächst die Position seines Gegners einnimmt, dies jedoch nur, um diese schließlich trotzdem zu widerlegen.

Die Technik

Test or Bust

Tests sind in der Entwicklung unabdingbar, soweit sind sich alle einig. Aber wie und womit? Hier scheiden sich die Geister. Insbesondere wenn es dazu kommt, nachträglich Tests für vorhandene Systeme zu schaffen.

Als erstes etwas, dass heute mehr und mehr in den Hintergrund gerät: Ein guter Entwickler sollte wissen, was er tut, warum er das tut und welche Auswirkung seine Änderung im Gesamt-System hat. Mir begegnen immer wieder Menschen, die denken "wir haben Unit-Tests" und alles ist gut. Als sei das komplette Thema Testing damit abgehakt. Leider ist, in soweit ich das wahrnehme, dabei ein wesentlicher Punkt unberührt.

In Unit-Tests wird Komponente für Komponente getestet und jeweils das komplette Umfeld über MockUps abgebildet. Damit ist garantiert, dass sich das Verhalten der Komponente nach außen nicht verändert - wenn die Tests richtig sind. Tatsächlich empfinde ich den gedanklichen Ansatz bedenkenswert. Ich schreibe einen Test einer Komponente, die damit validiert ist. Wenn ich also die Komponente ändere und der Test erfolgreich ist, funktioniert alles wie vorher. Prima. Aber warum habe ich es denn überhaupt geändert?

Weiterhin nur weil eine Komponente an sich (in einem idealen Umfeld) funktioniert, ist noch lange nicht klar, dass das System als Ganzes funktioniert. Genau dafür sind weitere Testmethoden wichtig, wie z. B. Integrations-Tests, funktionale Tests, GUI-Tests und nicht zu letzt menschliche Tests, die gerne zunehmend vernachlässigt werden - meistens weil der Aufwand gescheut wird. Menschen als Tester sind so schwer zu skalieren, brauchen lange und machen selber zu viele Fehler.

Anschaulich in diesem Bild ist eine ungenügende Test-Abdeckung. Jede Schublade für sich funktioniert perfekt, aber in dieser Integration eben nicht.

In einem guten Integrations-Test wäre dies aufgefallen, für einen Menschen sollte es offensichtlich sein, aber (wie dieses Bild zeigt) ist es das auch nicht.

Die meisten Änderungen, die mir in meinen mehr als 20 Jahren IT begegnet sind, sind wesentlich. Das heißt die Orchestrierung der Services und der Ablauf ändern sich, die Daten ändern sich und es werden andere Funktionen ergänzt oder entfernt. Dinge bauen aufeinander auf, also müssen auch alle vorhandenen Tests angepasst werden, oder?

Ein Kollege sagte einmal "ja, aber nur die, wo Du etwas geändert hast, alle anderen x-tausend Tests laufen weiter". Ja natürlich, Dinge die ich nicht ändere, laufen weiter wie bisher. Das müsste ich eigentlich auch nicht testen, oder?

Sollte man wenn ein bestehendes Umfeld gegeben ist, erst einmal starke und automatische Integrations-Tests schaffen, um sicher zu stellen, dass das Gesamtsystem weiter den Erwartungen entspricht? Um bei den Schubladen zu bleiben - wenn ich teste, dass beide Schubladen in der gegebenen Anordnung auf und zu gehen, habe ich dann nicht auch mit getestet, dass jede Schulblade für sich auf und zu gehen kann?

Es lohnt sich zumindest darüber nachzudenken...

...mehr ...weniger

Der Mensch

noch kein Artikel in dieser Rubrik

Die Politik

Paradise Papers

Reiche vermeiden steuern, normale Menschen zahlen und zahlen und warum? Weil sie es können.

Wohlverdienenden, reichen Menschen wird immer wieder vorgeworfen, Steuern zu vermeiden, wo sie nur können - aber tun wir das nicht alle? Nur wir normalen können zumeist eben nicht. Die Reichen müssen gar nicht den Weg Abseits der Gesetzte suchen, weil es genug legale Wege gibt Steuern zu vermeiden. Man muss nur erst einmal genug Geld besitzen.

Der Mensch an sich in seiner primitiven Natur ist gierig. Erst diese Erkenntnis erlaubt es dem Individuum sich über den Urtrieb zu erheben und weiter zu entwickeln. Solange man sich der Erkenntnis aber verweigert und sagt "die" und "ich ja nicht" findet diese Entwicklung nicht statt.

Beispiel: Kirchensteuer. Wie viele normale Menschen treten aus der Kirche aus, nur um die Kirchensteuer zu sparen. Nicht weil sich an ihrem Glauben in den letzten Jahren wirklich etwas geändert hat. Warum wundern wir uns dann, wenn "die Reichen" legale Mittel und Wege ausschöpfen um Steuern zu vermeiden? Natürlich tun sie das, weil wir das alle tun würden.

Das Problem sind also nicht die Reichen, sondern die Gesetze. Die Steuergesetze sind in einer internationalen, digital vernetzten Welt hoffnungslos veraltet, ungeeignet und in kleinstaatlichem Denken verhaftet. Hier gilt es anzusetzen, nationale Eigenheiten zu überwinden und ganz klar zu sagen: Wo Gewinn erwirtschaftet wird, muss dieser versteuert werden. Das klingt einfach ist aber unendlich kompliziert und darf nicht unterschätzt werden.

Trotzdem bleibt die Aussage richtig, dass Gewinne, die z. B. in Deutschland oder den USA erwirtschaftet werden, nicht auf den Weihnachtsinseln versteuert werden sollten, sondern eben genau da, wo sie entstehen.

...mehr ...weniger

Über mich

Ich bin in den frühen 1970 Jahren geboren, seit meinem C64 im Jahr 1984 beschäftige ich mich mit IT.

Ich habe für Internet-Provider gearbeitet, für Telkos, internat. Software-Projekte, Online-Games entwickelt und arbeite jetzt seit 10 Jahren in der Finanz-IT.

Ich verstehe gerne, was hinter den Dingen steckt, mag über das offensichtliche hinaus sehen, warum die Dinge so sind, wie sie sind.

Nützliches

Draw.Io - Flowcharts online und umsonst erstellen
Php.Net - Die Webscript-Sprache schlechthin
Bootstrap - CSS Framework für responsive Design
jQuery - für mich das Javascript Framework

Informiere Dich

Sie können informiert werden, wenn ich neue Informationen habe, durch sog. Push-Notifications.

Die Service ist kostenfrei und ohne jede Gewährleistung. Es ist keine Registrierung notwendig. Sie können diesen Dienst jederzeit hier oder auf ihrem Endgerät abstellen.