Künstliche Intelligenz
Das Nullable-Entwurfsmuster – stressfrei testen ohne Mocks
Robuste, automatisierte Tests sind feste Bestandteile der agilen Softwareentwicklung. Da Anforderungen und Rahmenbedingungen sich stetig ändern, müssen Entwicklerinnen und Entwickler kontinuierlich in der Lage sein, ihre Architektur anzupassen. Ihr Code muss wachsen und sich weiterentwickeln können. Sie müssen laufend bestehende Features erweitern, anpassen, umsortieren, zusammenführen oder aufteilen. Dazu benötigen sie die Unterstützung einer schnellen, verlässlichen und robusten Testsuite, die bestehende Funktionen der Software nicht beeinträchtigt.
Martin Grandrath ist Software-Developer und entwickelt seit über 15 Jahren Applikationen mit Web-Technologien. Seine Schwerpunkte sind neben Frontend-Architektur vor allem Software-Craftsmanship und testgetriebene Entwicklung. Seit 2023 arbeitet er als Senior IT-Consultant bei codecentric.
Auf Mocks basierende Tests verursachen häufig zusätzlichen Pflegeaufwand beim Refaktorieren, also Änderungen an der Codestruktur, die die Arbeit mit dem Code insgesamt vereinfachen, das Verhalten des Systems aber nicht verändern. Die Art und Weise, wie Mocks in der Praxis meist zum Einsatz kommen, führt zu einer Kopplung von Tests und Implementierungsdetails. Änderungen an diesen Details erfordern Anpassungen der Tests, was zulasten der Entwicklungsgeschwindigkeit geht.
Dieser Artikel zeigt auf, welche Kompromisse mit auf Mocks basierenden Tests verbunden sind und stellt mit dem Nullable-Entwurfsmuster von James Shore eine Alternative vor.
Isolierte, interaktionsbasierte Tests
Mock-Objekte oder kurz Mocks (englisch für „Attrappe“) sind eine Unterkategorie der Test-Doubles, die in Unit Tests als Platzhalter für Produktionsobjekte dienen. Der Begriff Test-Double ist angelehnt an das Stunt-Double in Filmen. Weitere Arten von Test-Doubles sind Stubs, Spies oder Fakes.
Mocks zeichnen während eines Testlaufs auf, wie die Software mit ihnen interagiert: Welche ihrer Methoden ruft die Anwendung in welcher Reihenfolge und mit welchen Argumenten auf? Anschließend verifiziert der Unit-Test, ob die beobachteten Interaktionen mit den erwarteten übereinstimmen. Auf diese Weise werden die Interaktionen zwischen den Objekten zu einem integralen Bestandteil der Implementierung und der Tests. Diese Art von Tests wird als Interaction-based bezeichnet.
Gleichzeitig isolieren Mocks das zu testende Objekt von seinen Abhängigkeiten. Während des Tests wird also nur der Code eines einzelnen Objekts ausgeführt, während alle Interaktionspartner durch Mocks ersetzt werden. Tests, die Objekte in Isolation testen, nennt man solitary.
Auch wenn Solitary Interaction-based Tests ihre Vorzüge haben und sich im Laufe der Zeit zum Standard entwickelt haben, sind sie nicht frei von Nachteilen. Dass Tests an die Interaktionen zwischen Objekten gekoppelt sind, erschwert Refaktorierungen. Diese sind jedoch ein unverzichtbares Werkzeug, um die Qualität der Codebasis dauerhaft aufrechtzuerhalten.
Refaktorierungen, die die Interaktionen zwischen Objekten verändern, können zu False Positives führen: Tests schlagen fehl, obwohl das Programm als Ganzes keine Fehler enthält. Lediglich die Objektinteraktionen weichen von den Erwartungen der Tests ab. Eine Suite aus Interaction-based Tests macht die Codebasis dadurch insgesamt weniger flexibel, da die Tests die Implementierungsdetails fixieren.
Zudem kann es vorkommen, dass Solitary Tests Fehler nicht erkennen, wenn zwar alle Objekte in Isolation erwartungsgemäß arbeiten, es aber im Zusammenspiel der Objekte zu unerwünschtem Verhalten kommt. Um dem vorzubeugen, sind neben den Unit Tests zusätzliche Integrationstests erforderlich, die gezielt das Zusammenspiel mehrerer Objekte testen.
Eine Alternative stellen Sociable, State-based Tests dar.
Echte Abhängigkeiten und sichtbares Verhalten
In Sociable Tests interagiert das zu testende Objekt nicht mit Test-Doubles, sondern mit den echten Abhängigkeiten, die auch im Produktivbetrieb existieren. Fehler, die durch die Interaktion zwischen den Objekten entstehen, fallen im Test sofort auf. Separate Integrationstests sind nicht erforderlich.
State-based Tests verifizieren das sichtbare Verhalten von Objekten und ignorieren die darunter liegenden Interaktionen. Diese Tests reagieren daher sehr viel robuster gegenüber Refactorings, da sie sich nur für das Endergebnis interessieren und nicht für die Implementierungsdetails.
Der Elefant im Raum
Die echten Produktionsobjekte in den Tests zu verwenden, statt sie durch Mocks zu ersetzen, führt zunächst zu einem Problem: Der zu testende Code muss mit APIs, Datenbanken oder dem Dateisystem kommunizieren. Diese Nebenwirkungen (Side Effects) würden zu nicht deterministischen Tests führen, da sie vom globalen Zustand abhängig sind, unter anderem von Drittsystemen. So könnte etwa ein Test fehlschlagen, weil eine Fremd-API mit anderen Daten antwortet, als es der Test erwartet.
Ein weiteres Problem sind die Auswirkungen, die API-Aufrufe haben können. Dass jede Ausführung der Warenkorbtests eine Kreditkarte belastet, ist nicht wünschenswert. Darüber hinaus muss es möglich sein, zu testen, wie sich ein Programm verhält, wenn eine Dritt-API mit unterschiedlichen Formaten, mit Fehlern oder gar nicht antwortet. Und schließlich verlangsamt die API-Anbindung die Tests.
Integrationstests sind zwar für den Übergang des zu implementierenden Systems mit der Außenwelt notwendig, aber die Nebenwirkungen sind für die Tests innerhalb des Systems unerwünscht.
Künstliche Intelligenz
Nexperia-Krise: Wirtschaftsministerium sieht „erhebliche Betroffenheit“
Die Krise rund um den aus dem Philips-Universum hervorgegangenen Chiphersteller Nexperia scheint die deutsche Wirtschaft noch etwas stärker und kurzfristiger zu betreffen als bislang bekannt. Nachdem sich am Mittwoch Wirtschaftsvertreter mit einem Staatssekretär des Bundeswirtschaftsministeriums bei einer Krisensitzung austauschten, heißt es von dem für Lieferkettensicherheit zuständigen Haus auf Anfrage von heise online nun, dass erste Rückmeldungen zeigten, „dass deutsche Firmen vom chinesischen Exportstopp erheblich betroffen sind.“ Während Forschung und Entwicklung zumindest in Teilen weiterhin in Europa angesiedelt sind, sind wesentliche Teile der Nexperia-Produktion in der Volksrepublik beheimatet – nah an den weiterverarbeitenden Unternehmen.
Weiterlesen nach der Anzeige
Niederländischer Regierungschef: Nicht gegen China gerichtet
Welche Branchen in Deutschland genau betroffen sind, wollte das Bundeswirtschaftsministerium jedoch nicht mitteilen. Öffentlich bekannt ist eine starke Abhängigkeit im Automotive-Sektor, aber auch in der Luftfahrt und im Maschinenbau gibt es offenbar betroffene Unternehmen. Nach eigenen Angaben produziert das Unternehmen jährlich mehr als 100 Milliarden Bauteile wie MOSFETs oder SiCs.
Die Staats- und Parteiführung der Volksrepublik hatte vor einigen Tagen ein Exportverbot für Nexperia-Produkte und damit hergestellte Geräte verfügt, nachdem die scheidende rechtsnationale niederländische Regierung unter Dick Schoof das in Nijmegen beheimatete Unternehmen unter Zwangsverwaltung gestellt hatte. Hintergrund war die Befürchtung einer Entkernung und Komplettverlagerung nach China. Die NXP-Abspaltung war 2021 von der teilstaatlichen chinesischen Wingtech Technology gekauft worden. Regierungschef Dick Schoof bekräftigte am Morgen laut niederländischen Medienberichten, dass die Maßnahmen „nicht gegen China gerichtet“ seien, sondern gegen den von der Regierung in Den Haag zwangsabgesetzten CEO.
Maschinenbauer und Medizingerätehersteller sehen noch keinen Mangel
Während nach der Corona- und Suezkanal-Chipkrise ein Abschied von Just-in-Time-Lieferketten immer wieder öffentlich betont wurde, scheinen die Kosten für Lagerhaltung und Diversifikation der Vorproduktanbieter zumindest bei manchen Unternehmen nach wie vor höher als der Nutzen eingeschätzt zu werden. Dem Verband der Maschinen- und Anlagenbauer (VDMA) ist eine konkrete Betroffenheit noch nicht bekannt, er rechnet aufgrund des stückzahlenmäßig vergleichsweise geringen Bedarfs jedoch auch eher später als früher mit Auswirkungen – da hier primär Vorproduktproduzenten Chips bezögen.
Nicht betroffen sind nach Darstellung des Bundesverbands Medizintechnologie bislang dessen Mitglieder. Aufgrund der Erfahrungen in der Vergangenheit und dem stets weiter steigenden Bedarf sehe die Branche jedoch eine Notwendigkeit für mehr europäische Produktion verschiedener Halbleitertypen, so ein Sprecher auf Anfrage. Die Verfügbarkeit sei „für praktisch alle Krankheits- und Behandlungsbereiche im Gesundheitssystem wichtig.“
Weiterlesen nach der Anzeige
Die Auseinandersetzung um Nexperia findet vor dem Hintergrund am Sonntag anstehender Parlamentswahlen in den Niederlanden, einem sich wieder verschärfenden Handelskonflikt zwischen den USA und der Volksrepublik und einer EU statt, die dabei noch nach ihrem Kurs sucht. Zudem hatte die Volksrepublik erst vor kurzem ein neues Sanktionsregime eingeführt, das dem US-System ähnelt und auch außerhalb des eigenen Territoriums unmittelbare Wirkung entfalten kann. Laut Medienberichten haben die chinesischen Nexperia-Standorte zudem begonnen, Produkte für chinesische Abnehmer wieder auszuliefern – mit Verbleibsziel China.
VW hofft auf Alternativlieferant
Der wohl prominenteste Fall einer betroffenen Firma gab unterdessen am Vormittag eine vorsichtige Teilentwarnung: VW habe alternative Lieferanten gefunden, meldet das Handelsblatt unter Berufung auf den zuständigen Vorstand, wodurch ein chipmangelbedingter Produktionsstopp wohl abgewendet werden könne. Ein Vertrag sei gleichwohl noch nicht abgeschlossen.
(mho)
Künstliche Intelligenz
Globale IT-Investitionen knacken Sechs-Billionen-Dollar-Marke | heise online
Die weltweiten Investitionen in Informationstechnologie sollen 2026 laut der jüngsten Gartner-Prognose erstmals den Sechs-Billionen-Dollar-Markt hinter sich lassen. Das entspricht einem Plus von fast zehn Prozent gegenüber 2025. Für das aktuelle Jahr erwarten die Analysten jetzt einen zehnprozentigen Schub auf gut 5,5 Billionen Dollar. Sie korrigieren damit ihre Prognose aus dem Juli um zwei Prozentpunkte nach oben.
Weiterlesen nach der Anzeige
„Die Unsicherheit, die im zweiten Quartal 2025 einsetzte, begann sich im dritten Quartal wieder zu legen. Noch vor Jahresende rechnen wir mit einer deutlichen Aufstockung der Budgets“, erklärt Marktforscher John-David Lovelock, warum Gartner wieder optimistischer auf die Entwicklung blickt. Auch wenn der Hype um KI ein wenig abklinge, seien GenAI-Funktionen mittlerweile in nahezu allen Softwareprodukten integriert, die Unternehmen im Einsatz hätten. Und diese neuen Funktionen würden die Kosten nach oben treiben. „Software wird teurer, und durch GenAI steigen die Preise für Features und Funktionalitäten“, rechnet Lovelock vor.
Von dem Ende der im Juli propagierten Zurückhaltung bei den Investitionen profitieren nicht alle Segmente gleichermaßen. Die Wachstumsrate im Bereich Software liegt in der neuen Prognose für 2025 beispielsweise nur leicht über den Erwartungen im Juli. Als Ursache wird angeführt, dass die Unternehmen sich insbesondere beim Erwerb vertikal ausgerichteter Branchensoftware oder -services nach wie vor zurückhalten. Sie würden sensibler auf politische Veränderungen und wirtschaftliche Unsicherheiten reagieren. Trotz der attestierten Reserviertheit in Teilbereichen bewegen sich die Wachstumsraten im Software-Marktsegment mit 11,9 Prozent und 15,2 Prozent auf überdurchschnittlichem Niveau.
Wachstumsschub durch KI
Der Wettlauf im Aufbau einer KI-Infrastruktur unter den Providern sorgt dafür, dass Gartner die ohnehin bereits beeindruckende Wachstumsquote im RZ-Bereich noch einmal um über vier Prozentpunkte anhob. Erst kürzlich hatte die Marktforschungsfirma eine Verdoppelung der Investitionen in KI-spezialisierte IaaS-Lösungen prognostiziert. Insgesamt soll der RZ-System-Markt in diesem Jahr um fast 47 Prozent auf 489 Milliarden Dollar anwachsen. Das Wachstum der Nachfrage nach Servern im Allgemeinen und KI-optimierten Server-Racks im Speziellen bleibe jedoch aufgrund von Lieferengpässen begrenzt, meint Lovelock. Vielleicht auch deshalb soll das Wachstumstempo im kommenden Jahr auf neunzehn Prozent zurückfallen.
Deutlich verbessert zeigt sich in der Prognose zur Entwicklung des Endgerätemarktes. Die von den Anbietern gemeldeten Vertriebszahlen für Mobiltelefone und PCs im ersten Halbjahr lassen einen für das Segment vergleichsweise starken Zuwachs von voraussichtlich 8,4 Prozent auf 783 Milliarden Dollar im Jahr 2025 erwarten. Treiber hinter dem Wachstum sind laut Gartner die über den Erwartungen liegenden Ausgaben für Mobiltelefone. Die Verfügbarkeit KI-spezialisierter Smartphones und Endgeräte sorgt für vorgezogene Käufe. Für 2026 wird daher mit 6,8 Prozent eine niedrigere relative Wachstumsrate im Endgerätegeschäft gerechnet.
Alle aktuellen Zahlen finden sich im Bericht von Gartner.
Weiterlesen nach der Anzeige
(fo)
Künstliche Intelligenz
Drei Fragen und Antworten: Wireshark Certified Analyst – das Netzwerk-Zertifikat
Die Wireshark Foundation hat eine erste offizielle Zertifizierung für das beliebte Open-Source-Protokollanalyse-Werkzeug Wireshark veröffentlicht: den Wireshark Certified Analyst (WCA). Dafür müssen Interessenten die Prüfung WCA-101 bestehen. IT- und Netzwerkspezialisten können darüber ihre Fähigkeiten mit Wireshark belegen. Benjamin Pfister, Autor in der neuen iX 11/2025, erklärt die Hintergründe der Prüfung und welche Aussichten sich Spezialisten von einer erfolgreich absolvierten Prüfung versprechen können.
Weiterlesen nach der Anzeige
Benjamin Pfister ist Leiter des Sachgebiets Netze und Telekommunikation der Stadt Kassel sowie Inhaber der Pfister IT-Beratung.
Für wen ist die WCA-Zertifizierung gedacht?
Die WCA-Zertifizierung richtet sich an Netzwerkadministratoren sowie Netzwerk- und Sicherheitsanalysten, die ihr Protokollwissen und das Verständnis der Analyse mit Wireshark vertiefen möchten.
Was unterscheidet diese Zertifizierung von thematisch vergleichbaren kommerziellen Zertifizierungen – inhaltlich, aber auch bei der Entstehung der Prüfungsfragen?
Viele Herstellerzertifizierungen dienen lediglich dazu, das spezifische Wissen für die Parametrisierung ihrer Produkte nachzuweisen. Das führt jedoch in einigen Fällen dazu, dass die zertifizierten Techniker nur über ein Inselwissen des jeweiligen Herstellers verfügen und an Fehler- oder Sicherheitsanalysen in heterogenen Netzwerken scheitern. Die durch Paketanalysten erstellte WCA-Zertifizierung weist dagegen übergreifende Kenntnisse von Protokollen und Datenflüssen nach.
Wie helfen die in der Prüfung vermittelten Fähigkeiten im Berufsalltag und bei Bewerbungen?
Die Prüflinge sind nach der Prüfung in der Lage, Datenflüsse im Netzwerk zu beschreiben und den Zweck häufig verwendeter Protokolle zu erklären, um Fehlerfälle und Anomalien in produktiven Netzwerken zu analysieren, wie sie auch im täglichen Arbeiten auftauchen. Die Paketanalyse stellt einen häufig gefragten Skill dar, den nur wenige wirklich sicher beherrschen. Solches zertifiziertes Wissen kann eine Eintrittskarte sein.
Weiterlesen nach der Anzeige
Herr Pfister, vielen Dank für die Antworten! Einen Bericht über die Wireshark-Zertifizierung gibt es in der neuen iX. Dies und viele weitere Themen finden Leser im November-Heft, das ab sofort im heise Shop oder am Kiosk erhältlich ist.
In der Serie „Drei Fragen und Antworten“ will die iX die heutigen Herausforderungen der IT auf den Punkt bringen – egal ob es sich um den Blick des Anwenders vorm PC, die Sicht des Managers oder den Alltag eines Administrators handelt. Haben Sie Anregungen aus Ihrer tagtäglichen Praxis oder der Ihrer Nutzer? Wessen Tipps zu welchem Thema würden Sie gerne kurz und knackig lesen? Dann schreiben Sie uns gerne oder hinterlassen Sie einen Kommentar im Forum.
(tiw)
-
UX/UI & Webdesignvor 2 Monaten
Der ultimative Guide für eine unvergessliche Customer Experience
-
UX/UI & Webdesignvor 2 Monaten
Adobe Firefly Boards › PAGE online
-
Social Mediavor 2 Monaten
Relatable, relevant, viral? Wer heute auf Social Media zum Vorbild wird – und warum das für Marken (k)eine gute Nachricht ist
-
Entwicklung & Codevor 2 Monaten
Posit stellt Positron vor: Neue IDE für Data Science mit Python und R
-
Entwicklung & Codevor 2 Monaten
EventSourcingDB 1.1 bietet flexiblere Konsistenzsteuerung und signierte Events
-
UX/UI & Webdesignvor 1 Monat
Fake It Untlil You Make It? Trifft diese Kampagne den Nerv der Zeit? › PAGE online
-
UX/UI & Webdesignvor 5 Tagen
Illustrierte Reise nach New York City › PAGE online
-
Social Mediavor 1 Monat
Schluss mit FOMO im Social Media Marketing – Welche Trends und Features sind für Social Media Manager*innen wirklich relevant?