Holen Sie sich die UMFANGREICHSTE Abdeckung für die Einhaltung von MISRA C! Erfahren Sie mehr >>

Allein testen verliert die Schlacht

Von Herminio Vázquez

9. Juni 2020

6  min lesen

Während das Softwaretesten mehrere Vorteile für das Softwaretesten mit sich bringt, kann eine robuste Softwarebereitstellung nicht nur vom Testen abhängen. Dieser Beitrag erklärt, warum Testen nicht mehr ausreicht und wie Service-Virtualisierung zum neuen Game Changer wird.

Aber es kann eine Sache geben, die alles ändern kann ...

Herminio VázquezDer IOVIO-Berater berichtet, wie er mit ING Mortgages Netherlands zusammengearbeitet hat, um die Bereitstellung der Finanzanwendungen zu modernisieren, indem er die vollständige Kontrolle über die Testumgebungen mit Service-Virtualisierung übernimmt.

Es scheint, dass das Geheimnis eines erfolgreichen Softwareentwicklungsteams darin besteht, kompetent, kontinuierlich und termingerecht zu liefern. Man würde sagen, dass die digitale Transformation anders ist als die Natur, ein Prozess, bei dem die Zeit einem anderen Rhythmus folgt. Stattdessen ist es wie ein Zug, der keine Haltestellen hat. Und wenn Sie es verpassen, ist das Spiel vorbei.

Was ist los?

Immer und immer wieder hören wir die Worte, Zeit bis zur Markt, reichhaltigeres Kundenerlebnis, mehr Funktionen, erweiterte Funktionen und harmonische Reisen. Zusammenfassend ändern. Jeder ist im Change-Geschäft, in der schnell ändern Geschäft um genau zu sein. Veränderungen sind für Organisationen und ihre Teams immer wichtiger geworden.

Änderungen sind so allgegenwärtig geworden, dass IT-Umgebungen mit Run and Change-Teams arbeiten. Wenn das Budget es zulässt, eine Experimentiergruppe, in der neue Ideen und Innovationen stattfinden.

Veränderung ist überall

Der Grund, warum Veränderungen relevant sind, liegt darin, dass wir durch Veränderungen neue Möglichkeiten eröffnen, neue Ansätze entdecken und uns schließlich weiterentwickeln. Veränderungen bringen jedoch auch Unsicherheiten und Risiken mit sich. Das Risikogeschäft ist ein Artikel für sich, aber um es einfach zu halten, gibt es einen alten Freund, der uns beim Umgang mit Veränderungen und Risiken hilft. Testen.

Durch Tests können wir unsere Erwartungen validieren und bestätigen, dass unsere Funktionen, Kundenreisen, Epen, Geschichten oder Anforderungen (abhängig von Ihrer Methodik) zweckmäßig und vollständig sind.

Aber etwas verändert den Wert von Tests innerhalb von Organisationen von einem Vorteils- und Reputationsschild zu einer nie endenden Aktivität, die Teams verlangsamt.

Das Ende des Testens, wie wir es kennen

Es ist bekannt, dass das Testen allein nutzlos ist, wenn ein gut strukturiertes und koordiniertes Umgebungsmanagement, gefolgt von einem chirurgischen und methodischen Testverfahren, nicht berücksichtigt wird technische Daten. Die meisten Teams konzentrieren sich jedoch nur auf die Kunst, die beim Testen behandelten Szenarien auszuwählen. CodeabdeckungNach bescheidener Meinung dieses Autors bleibt er einer der bekanntesten Leistungsindikatoren für Testteams.

Dies führt dazu, dass sich Teams für verschiedene Ansätze entscheiden, die es ihnen ermöglichen, den Testprozess mithilfe von Lösungen zu artikulieren, die sich mit Veränderungen befassen. Moderne Toolsets und Methoden sind Ressourcen für Datenlösungen als Mittel, um den digitalen Transformationszug einzuholen.

Der Markt ist jetzt mit maschinellem Lernen überschwemmt.bereit, künstliche Intelligenz-angetriebene, Roboterautomatisierung-freigegebenund dergleichen, um zu sagen, dass durch das Sammeln und Projizieren von Daten in niedrigeren Dimensionen Schlussfolgerungen gezogen werden können, die das Testen zuverlässiger und weniger zeitaufwendig machen.

Gefangen im lokalen Minimum: Ihre Umgebungen

Teams sind in einem lokalen Minimum gefangen und haben Schwierigkeiten, mit parallelen Arbeitsströmen, begrenzten Umgebungen und Datenbeschränkungen umzugehen. Wenn diese Sätze mit Ihren Gefühlen beim Testen in Ihrer Organisation übereinstimmen, fühlen Sie sich nicht schlecht. Du bist nicht allein.

Wenn Sie aus dieser Teufelsschleife herauskommen möchten, ist dieser Artikel der richtige für Sie. Die Komplexitätstheorie, unsere Großeltern, Sprichwörter und Glückskekse lehren uns, dass es eine gute Strategie ist, komplexe Probleme in kleinere Teile zu zerlegen, um sie zu überwinden. Teilen und erobern.

Beginnen wir mit dem Umweltproblem: Der typische Weg zur Produktion ist mit der Autobahn DTAP (Dev-Test-Acceptance-Production) verbunden. Wenn wir ehrlich sind, setzen Sie Software in ein 2020 ist keine große Sache. Tatsächlich sollten Sie Umgebungen in der Containerwelle bereitstellen (möglicherweise bereits).

Abbildung 1: Bleiben Sie nicht auf der Autobahn Dev-Test-Acceptance-Production hängen.

Nein, die eigentlichen Probleme sind die externen Umgebungen und Datenabhängigkeiten, die Ihr System oder Ihre Anwendung benötigt. Informationslösungen hängen von einem umfangreichen Katalog von internen oder externen Diensten mit einer Vielzahl von Protokollen und einer Vielzahl von Daten ab.

Das Problem in der Realität liegt hier, wie die harten Abhängigkeiten von Daten und externen Umgebungen entkoppelt werden können.

Willkommen: Data Orchestration

Wenn dieser Begriff für Sie neu ist, sind die einzigen Referenzen, die Sie finden, bestimmt extrahieren, transformieren, laden (ETL) oder wolkenbezogen Themen. Ganz außerhalb des Kontextes dieses Artikels.

In Wirklichkeit, Daten-Orchestrierung ist schon lange bei uns. Vielleicht unter einem Dach verschiedener Namen und Produkte.

Beginnen wir mit dem ersten, Verspottungen und Stummel. Höchstwahrscheinlich haben Sie diese Begriffe gehört, da sie sich auf den frühen Prozess der Erstellung von Schnittstellen beziehen, die die Fortsetzung von Geschäftsprozessen aufgrund externer Abhängigkeiten ermöglichen. Diese Abhängigkeiten sind zweifach: die Logik (Umgebung / App) und die Daten, die sie an Ihr System liefern.

Das Entwickeln von Mocks ist nützlich für Unit-Tests. Es validiert Datenverträge und Protokolle auf sehr niedrigem Niveau. Sie können die Testumgebungen jedoch nicht steuern, indem Sie bei Ihren Datentests nur Mocks verwenden. Sie benötigen eine ausgefeiltere Technologie.

Unternehmenssysteme basieren auf kleineren Systemen mit mehreren Kompetenzen, Regionen und Technologien. Sie können in der sein Hybride Welt.

Zwei Hauptakteure in Ihrer Organisation haben ein Argument von Anbietern. Die sichere Option ist, nicht alle Eier in einen Korb zu legen.

In jedem Fall sind Kundenbeziehungsmanagementsysteme mit Workflow-Managementsystemen, Finanzsystemen und Auditsystemen usw. verknüpft. Es hängt alles von Ihrer Branche ab.

Das Koordinieren von Daten zwischen all diesen Systemen erfordert Fähigkeiten und Prozesse. Es erfordert auch die richtigen Werkzeuge.

Das Erstellen, Übermitteln und Speichern von Daten in einer Testlandschaft habe ich so genannt Daten-Orchestrierung und ist der einzige Weg, den ich früher erkannt habe, um wertvolle Testergebnisse zu erzielen.

Mein Partner ist Bioingenieur. (Un) zum Glück für sie beschäftigt sie sich nicht mit Codezeilen oder Bytes von Software. Sie beschäftigt sich mit Zellen. Die Dinge, die unter bestimmten Bedingungen leben oder sterben. Das einzig Analoge, an das ich denken kann, ist das Bit-Rot-Konzept in unserer Welt. Wie auch immer…

Ihre Experimente und Testszenarien sind sorgfältig entworfen, um die Umgebungsbedingungen zu erhalten. Die Datenerfassung erfolgt immer in Kontroll-, Validierungs- und Testmustern. Die Softwareentwicklung ist nicht so ausgereift wie die Biowissenschaften, aber halten Sie es nicht für fantastisch, unsere Praktiken auf diejenigen auszudehnen, bei denen ein Ausfall keine Option ist?

Okay, abgesehen von Bannern, wie können wir die Reproduktion gültiger Szenarien mit großer Geschwindigkeit erreichen und die Änderungsentropie kollabieren lassen? Bereit machen. Das wird dir gefallen.

Die Trifecta

Wenn Umgebungen, Daten und Testlogik die perfekte Kombination sind, warum gibt es dann keine Lösung, um mit allen gut zu spielen? Nun, es gibt. Dies wird als Service-Virtualisierung bezeichnet. Es hilft nicht, dass der Begriff Virtualisierung normalerweise mit der Bereitstellung virtueller Appliances in Verbindung gebracht wird, die in ein Hardware- und Skalierungsproblem fällt, nicht in ein Test- oder Änderungsproblem. Ganz zu schweigen von der To-MAY-Toes/to-MAH-Toes-Falle.

Service Virtualization ist eine Lösung für Unternehmen, die die Abhängigkeiten von Daten und Umgebungen in komplexen Unternehmenssystemen verringert.

Das Enterprise-Tag klingt möglicherweise unnötig. Ich mache das nicht, weil ich tiefer klingen möchte (Posts verwenden normalerweise die Begriffe auf einer Skala or best Practices ohne besonderen Grund), aber weil, wenn Sie:

  • Arbeiten Sie in einer Umgebung, in der mehrere Personen dieselbe Codebasis berühren.
  • Teilen und steuern Sie Versionen Ihrer Test-Assets und;
  • Möchten Sie Ihre Lösungen in Ihren vorhandenen Technologie-Stack integrieren?

Dann geht es nicht nur um die Berichterstattung über Kommunikationsparadigmen: Anfrage: Antwort, veröffentlichen: abonnieren, und so weiter. Es geht um Adoption, Lernkurven, Schulungsmaterial, Unterstützung, Beispiele, Roadmap und Kosten.

Es ist unnötig zu erwähnen, dass die Einführung von Technologien in der IT jetzt wie der Banküberfallplan ist: Sie muss eine klare Ein- und Ausstiegsstrategie enthalten. Bevor Sie einsteigen, müssen Sie wissen, wie Sie aussteigen.

Die Erleichterung der Orchestrierung von Daten in einer Unternehmenslandschaft ist nicht komplex. Es ist nur kompliziert. Dies bedeutet, dass es sich nicht um Raketenwissenschaft handelt, sondern lediglich um eine Reihe bestimmter Aufgaben, die lösbar und bekannt sind.

Es geht darum, den Zugriff auf Datensätze zu versionieren und zu steuern.

Es geht um Zuweisung und Zugriffskontrollen, Rollen, Zuordnungen und vor allem darum, sich an Änderungen anzupassen und nicht zu versuchen, sie zu stoppen.

Bei der Service-Virtualisierung geht es darum zu verstehen, dass das Ersetzen externer Services durch kleinere Versionen davon - und durch eigene kleinere Datensätze - die einzige Voraussetzung für stabile Testsuiten ist. Und um Veränderungen zu isolieren.

Konsolidierung einer Lösung für ING-Hypotheken Niederlande unter Verwendung von Containern

Das Testen hat also einen Verbündeten gegen schnelle Veränderungen. Und es ist nicht die Vektorisierung von Testfällen oder solchen altmodischen Orthogonalitätstechniken, die das Ergebnis großartiger Forschung sind und für merkmalsgierige Stakeholder wahrscheinlich nicht verstanden werden.

Wenn Sie das Datenschlüsselwort anstelle der altmodischen Begriffe in den Mix aufnehmen, besteht für einen Stakeholder eine geringere Wahrscheinlichkeit, sich über den Wert der Datenkonsolidierung und -kontrolle sowie die Kapitalisierung von Datenbeständen wie zuvor zu streiten.

IOVIO Zusammen mit Parasoft brachte diese Konzepte für ING in ihrem Hypothekenstamm zum Leben. Sie konsolidierten eine Lösung, die Services containerisierte und 60% des komplexen Hypotheken-Ökosystems testbar machte - in völliger Isolation mit Datenabhängigkeiten und Umgebungen, die die volle Kontrolle hatten.

Mehr erfahren darüber, wie IOVIO und Parasoft ING auf ihrem Weg geholfen haben, die Herausforderungen beim Testen der Softwareentwicklung angesichts von Veränderungen zu meistern.

So implementieren Sie die Servicevirtualisierung für Finanzdienstleistungen

 

Von Herminio Vázquez

Herminio arbeitet als Berater im ING Netherlands Mortgages Tribe in einem spezialisierten Team namens Data Rangers. Während seiner Karriere hat Herminio auf allen Kontinenten der Welt und in mehr als 40 Ländern gearbeitet - er hat in 12 Jahren gelebt. Seine Karriere war nach dem Vorbild von General Electric Nuclear Energy gestaltet, mit dem Ziel, Innovation und Qualität für unternehmenskritische Anwendungen zu fördern . Auf seinem beruflichen Weg hat er die Implementierung von Testlösungen für große ERP- und CRM-Implementierungen auf der ganzen Welt durchlaufen. Seine Erfahrung in der Modellierung komplexer Testszenarien hat dazu geführt, dass einige der größten Ereignisse in Bezug auf Umfang und Durchsatz in einer Vielzahl von Branchen simuliert wurden. Heute, in Zürich, Schweiz, ansässig, teilt er seine Zeit zwischen seiner Familie, Freunden und der Natur auf.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.