Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Produktions-KI-gesteuerte Host-Automatisierungstests

Produktions-KI-gesteuerte Host-Automatisierungstests

PHPz
PHPznach vorne
2024-02-26 11:34:18983Durchsuche

Übersetzer |. Chen Jun

Rezensent |. Chonglou

Die Migration des Codes und der Daten traditioneller Mainframe-Anwendungen auf moderne Technologiearchitektur gilt als wichtiger Schritt in der digitalen Entwicklung von Unternehmen. Im Streben nach Effizienz und Skalierbarkeit beinhaltet dieser Übergang häufig die Migration von traditionellen Mainframe-Umgebungen zu flexibleren Cloud- oder On-Premise-Lösungen. Solche Transformationen helfen Unternehmen, mehr Agilität und Innovation zu erreichen und gleichzeitig die Kosten zu senken und die Sicherheit zu verbessern. Diese Migration kann auch zu einer besseren Ressourcennutzung und einer schnelleren Reaktionsfähigkeit des Unternehmens auf den Markt führen. Unternehmen müssen diesen Übergang sorgfältig planen und durchführen, um sicherzustellen, dass der Datenmigrations- und Anwendungsrekonstruktionsprozess reibungslos verläuft, um Geschäftskontinuität und Datensicherheit zu gewährleisten. Durch die Migration traditioneller Mainframe-Anwendungen auf moderne Technologiearchitektur können sich Unternehmen besser an die sich schnell ändernden Marktanforderungen anpassen und

Produktions-KI-gesteuerte Host-Automatisierungstests

erreichen. Mit den dynamischen Veränderungen im Geschäftsumfeld wird der Migrationsprozess jedoch auch komplizierter. Dabei handelt es sich nicht nur um eine technische Umverteilung von Ressourcen, sondern auch um eine grundlegende Änderung. Daher sind häufig strenge Tests erforderlich, um die Gleichwertigkeit verschiedener Funktionen sicherzustellen und so die betriebliche Integrität und Leistung der Anwendung aufrechtzuerhalten.

Gleichzeitig sind Anwendungen nach der Migration häufig gezwungen, umfangreiche Änderungen vorzunehmen, die durch neue Anforderungen, sich entwickelnde Geschäftsstrategien und Änderungen der regulatorischen Standards bedingt sind. Und jede Änderung, egal ob es sich um eine kleine Anpassung oder eine große „Renovierung“ handelt, muss einer strengen Prüfung unterzogen werden. Die größte Herausforderung besteht darin, sicherzustellen, dass neue Änderungen harmonisch in die bestehende Funktionalität integriert werden, ohne unbeabsichtigte Folgen oder Störungen zu verursachen. Es zeigt sich, dass die doppelte Anforderung, neue Funktionen zu verifizieren und bestehende Funktionen beizubehalten, die Bedeutung automatisierter Testsuiten nach der Migration unterstreicht.

In den letzten Jahren wurde generative KI (GenAI) in verschiedenen Bereichen weit verbreitet eingesetzt. Wenn es in den Modernisierungsprozess von Großrechnern eingeführt wird, wird nicht nur erwartet, dass Unternehmen erhebliche Verbesserungen in der Softwarequalität, der betrieblichen Effizienz usw. erzielen, sondern auch grundlegende Änderungen in den Softwareentwicklungs- und Qualitätssicherungskonzepten mit sich bringen, die Unternehmen ermöglichen um letztendlich eine beträchtliche Kapitalrendite zu erzielen.

Ich bespreche mit Ihnen, wie Sie geeignete automatisierte Testmethoden, Tools und Best Practices nutzen können, um sicherzustellen, dass die inhärente Qualität und Leistung moderner Mainframe-Anwendungen während eines reibungslosen Technologieübergangs erhalten bleibt.

Traditionelles manuelles Testkonzept

Große Host-Umgebungen waren lange Zeit nicht bereit, automatisierte Testmethoden zu akzeptieren. Die Globale Umfrage 2019, die gemeinsam von Compuware und Vanson Bourne durchgeführt wurde, zeigt, dass nur 7 % der Befragten automatisierte Testfälle für Mainframe-Anwendungen übernommen haben, was ausreicht, um die Einstellung der Branche dazu zu veranschaulichen.

Das Dilemma des manuellen Testens

Im Gegensatz dazu ist manuelles Testen eine traditionelle Methode, die häufig von vielen Unternehmen verwendet wird. Im komplexen Prozess der Mainframe-Modernisierung wird dieser Ansatz jedoch zunehmend unzureichend und fehleranfällig. Schließlich müssen Testingenieure jedes Szenario und jede Geschäftsregel manuell überprüfen. Dieser Prozess ist mit der Möglichkeit menschlichen Versagens behaftet. Darüber hinaus kann es angesichts des hohen Risikos und der geschäftskritischen Natur vieler Mainframe-Anwendungen zu schwerwiegenden Produktionsproblemen, erheblichen Ausfallzeiten und sogar finanziellen Verlusten kommen, wenn wir während des Testprozesses einen geringfügigen Fehler übersehen. Daher tritt dieser Mangel besonders hervor. Darüber hinaus weisen manuelle Tests auch die folgenden Mängel auf:

1. Auslassungen und Ungenauigkeiten: Die manuelle Verarbeitung einer großen Anzahl von Testfällen erhöht das Risiko, dass Schlüsselszenarien übersehen werden und die Daten nicht korrekt überprüft werden.

2. Zeitaufwändig: Manuelle Methoden erfordern viel Zeit, um jeden Aspekt gründlich zu testen, sodass sie in schnelllebigen Entwicklungsumgebungen nicht effizient sind.

3. Skalierbarkeitsproblem: Mit der Erweiterung und Weiterentwicklung der Anwendung steigt der für manuelle Tests erforderliche Arbeitsaufwand exponentiell an, sodass es unmöglich wird, Fehler effektiv zu identifizieren.

Einige Unternehmen denken möglicherweise intuitiv darüber nach, ihr Team für manuelle Tests zu erweitern. Dies ist jedoch keine praktikable Lösung. Dieser Schritt führt zu Kostenineffizienzen und berücksichtigt nicht die inhärenten Einschränkungen manueller Testprozesse. Unternehmen müssen automatisierte Testprozesse durch moderne Methoden wie DevOps integrieren, um die Effizienz zu verbessern und Fehler zu reduzieren.

Die Notwendigkeit der Testautomatisierung

Insgesamt können Unternehmen durch die Integration automatisierter Testprozesse in moderne Mainframe-Anwendungen die Effizienz und Genauigkeit von Migrationen deutlich verbessern. Natürlich ist die Akzeptanzrate automatisierter Tests in Mainframe-Umgebungen nicht hoch. Manche Unternehmen sehen darin eine Herausforderung, andere sehen darin eine große Transformationschance. Schließlich ist die Einführung der Automatisierung beim Testen nicht nur ein Technologie-Upgrade, sondern ein strategischer Schritt, um Risiken zu reduzieren, Zeit zu sparen und die Ressourcennutzung zu optimieren.

Dieser Wandel ist von entscheidender Bedeutung für Unternehmen, die in einem sich schnell entwickelnden technologischen Umfeld wettbewerbsfähig und effizient bleiben wollen. Laut dem „DevOps Status Report“ können automatisierte Tests eine große Rolle bei der Optimierung betrieblicher Arbeitsabläufe und der Gewährleistung der Anwendungszuverlässigkeit spielen. Was ist automatisiertes Testen?

Laut

Atlassians Definition ist automatisiertes Testen der Einsatz von Softwaretools, um den Überprüfungs- und Verifizierungsprozess manuell gesteuerter Softwareprodukte automatisch abzuschließen. Seine Geschwindigkeit, Effizienz und Genauigkeit übertreffen die Grenzen herkömmlicher manueller Testmethoden. Das heißt, automatisierte Tests tragen dazu bei, Anwendungsänderungen zu beschleunigen und gleichzeitig sicherzustellen, dass Qualität und Zuverlässigkeit nicht beeinträchtigt werden. Automatisierte Tests vereinfachen nicht nur den Verifizierungsprozess neuer Änderungen, sondern überwachen auch die Integrität vorhandener Funktionen und spielen so eine Schlüsselrolle bei der nahtlosen Umstellung und kontinuierlichen Wartung moderner Anwendungen. Um den Softwaretestprozess zu optimieren, erfordert der Einsatz automatisierter Tests oft anfängliche manuelle Investitionen, die das Verständnis der Testingenieure für die komplexe Geschäftslogik erfordern, die der Anwendung zugrunde liegt. Dieses Verständnis ist entscheidend, um mithilfe von Frameworks wie Selenium effektiv automatisierte Testfälle zu generieren. Obwohl diese Phase viel Arbeitskraft erfordert, handelt es sich um eine grundlegende Arbeit. Denn durch nachfolgende automatisierte Tests wird die Abhängigkeit von manuellen Tests deutlich reduziert, insbesondere bei sich wiederholenden und umfangreichen Testszenarien. Darüber hinaus wird ein einmal eingerichtetes Automatisierungs-Framework zu einem leistungsstarken Mechanismus für die kontinuierliche Bewertung von Anwendungen. Sein Vorteil besteht darin, dass es Fehler oder Bugs, die aufgrund von Anwendungsänderungen auftreten können, gut erkennen kann.

Automatisierte Testmethoden im Mainframe-Modernisierungsprozess

Im Bereich Software Engineering erfordern automatisierte Tests für groß angelegte Migrationen oder Modernisierungen von Mainframe-Anwendungen häufig ein umfassendes Verständnis aller Geschäftsregeln in der Anwendung, um dies zu erreichen Generieren Sie automatisierte Testfälle für große Codebasen, die oft aus Millionen von Codezeilen bestehen. Dies ist eine komplexe und ziemlich schwierige Aufgabe. Da es schwierig ist, eine 100-prozentige Codeabdeckung zu erreichen, müssen wir ein Gleichgewicht zwischen Testabdeckungstiefe und praktischer Durchführbarkeit erreichen, um sicherzustellen, dass kritische Geschäftslogik eine ausreichende Testabdeckung erhalten kann.

In diesem Fall bieten neue Technologien wie GenAI eine Möglichkeit. Es kann automatisch automatisierte Testskripte generieren, um den Testprozess von Mainframe-Modernisierungsprojekten zu vereinfachen und eine effizientere, genauere und skalierbarere Methode zur Qualitätssicherung in der Softwareentwicklung bereitzustellen.

Umfassende Nutzung von GenAI

Bevor wir näher darauf eingehen, wie GenAI automatisierte Tests bei der Mainframe-Modernisierung ermöglicht, werfen wir einen kurzen Blick auf GenAI. Grundsätzlich stellt GenAI einen Aspekt der künstlichen Intelligenz dar. Es nutzt generative Modelle, um verschiedene Texte, Bilder oder andere Medien zu generieren. Diese generativen KI-Modelle sind gut darin, die Muster und Strukturelemente der eingegebenen Trainingsdaten zu lernen und dann neue Daten zu generieren, die diese Merkmale widerspiegeln. Offensichtlich basieren solche Systeme hauptsächlich auf Modellen des maschinellen Lernens, insbesondere im Bereich des Deep Learning.

Natural Language Generation (NLG) ist eine Form von GenAI, die für die Modernisierung von Großrechnern von großer Bedeutung ist. Mithilfe großer Sprachmodelle (LLM) kann es menschenähnlichen Text erzeugen. In der Regel werden LLMs an großen Textdatenkorpora geschult, um die Nuancen und Strukturen der Sprache zu erkennen und zu reproduzieren. Diese Schulung ermöglicht es ihnen daher, eine Vielzahl von Aufgaben zur Verarbeitung natürlicher Sprache durchzuführen, darunter Textgenerierung, Übersetzungszusammenfassung und Stimmungsanalyse. Insbesondere beherrscht LLM auch die Generierung präzisen Computerprogrammcodes.

Zu den derzeit bekannten Anwendungsfällen großer Sprachmodelle gehören: GPT-3 (Generative Pre-trained Transformer 3), BERT (Bidirektionale Encoder-Repräsentationen von Transformern) und T5 (Text-to-Text Transfer Transformer). Diese Modelle basieren normalerweise auf tiefen neuronalen Netzen, insbesondere solchen, die die Transformer-Architektur verwenden. Daher zeigen sie eine hervorragende Effizienz bei der Verarbeitung sequenzieller Daten wie Text. Große Mengen an Trainingsdaten, darunter Millionen oder sogar Milliarden von Wörtern oder Dokumenten, ermöglichen es diesen Modellen, eine Vielzahl von Programmiersprachen zu beherrschen. Sie zeichnen sich nicht nur dadurch aus, dass sie kohärenten und kontextbezogenen Text erzeugen, sondern auch, wenn es darum geht, Sprachmuster vorherzusagen, etwa beim Vervollständigen von Sätzen oder beim Beantworten von Fragen.

Derzeit können einige große Sprachmodelle auch Texte in mehreren Sprachen verstehen und generieren, wodurch ihr Nutzen weltweit zunimmt, von der Bereitstellung von „Intelligenz“ für Chatbots und virtuelle Assistenten bis hin zur Unterstützung der Inhaltsgenerierung in Anwendungsfeldern wie der Sprache Übersetzung und Zusammenfassung: Die Vielseitigkeit von LLM kann zu hervorragenden Leistungen führen.

So verwenden Sie GenAI zum Generieren automatisierter Testskripte

Im Bereich Softwaretests kann LLM uns dabei helfen, Geschäftslogik aus dem Anwendungscode zu extrahieren, diese Regeln in ein für Menschen lesbares Format umzuwandeln und dann die zu generieren entsprechende automatisierte Testskripte. Gleichzeitig kann es uns auch dabei helfen, die erforderliche Anzahl von Testfällen auszuwählen, um verschiedene potenzielle Abdeckungsanforderungen der Codefragmente zu erfüllen.

Normalerweise erfordert die Verwendung von GenAI zum Generieren automatisierter Testskripte für Anwendungscode einen strukturierten dreistufigen Prozess wie folgt:

1. Verwenden Sie GenAI zum Extrahieren von Geschäftsregeln: Als erstes müssen wir GenAI verwenden, um Geschäftsregeln aus der Anwendung extrahieren. Geschäftsregeln verfeinern. Dieser Prozess beurteilt die extrahierten Regeln nach dem Detaillierungsgrad und interpretiert sie in einem für Menschen lesbaren Format. Darüber hinaus hilft GenAI auch dabei, ein umfassendes Verständnis aller potenziellen Ergebnisse eines bestimmten Codeabschnitts zu erlangen. Dieses Wissen ist entscheidend, um sicherzustellen, dass genaue, relevante Testskripte erstellt werden.

2. Verwenden Sie GenAI, um automatisierte Testskripte auf Funktionsebene zu generieren: Basierend auf der extrahierten Geschäftslogik können Testingenieure ein umfassendes Verständnis der Funktionen der Anwendung erlangen, sodass sie GenAI verwenden können, um Testskripte auf Funktionsebene zu entwickeln . Dieser Schritt umfasst die Bestimmung der Anzahl der erforderlichen Testskripte und die Identifizierung von Szenarios, die möglicherweise ausgeschlossen werden. Natürlich wird die Codeabdeckung solcher automatisierten Testskripte oft gemeinsam vom Team entschieden.

3. Überprüfung und Inferenzergänzung durch Fachexperten (SME): In der letzten Phase, sobald die Geschäftslogik extrahiert und die entsprechenden automatisierten Testskripte generiert wurden, überprüfen die Testexperten diese Skripte und haben das Recht zur Durchführung Vorgänge wie Hinzufügen, Ändern oder Löschen. Solche Eingriffe beheben potenzielle probabilistische Fehler, die aus der GenAI-Ausgabe resultieren können, und erhöhen die Qualitätssicherheit automatisierter Testskripte.

Der obige Prozess mag kompliziert erscheinen, aber tatsächlich kann er die Fähigkeiten von GenAI voll ausnutzen, um den Prozess der Testskriptgenerierung zu vereinfachen und die perfekte Kombination aus Automatisierungseffizienz und menschlichem Fachwissen sicherzustellen. Dabei ist die Beteiligung der Tester an der Verifizierungsphase besonders wichtig. Dadurch können die durch künstliche Intelligenz generierten Ausgabeergebnisse auf tatsächlichem, realem Anwendungswissen basieren, wodurch die Zuverlässigkeit und Anwendbarkeit von Testskripten deutlich verbessert wird.

Zusammenfassung

Zusammenfassend kann GenAI als Werkzeug zur Effizienzsteigerung mithilfe seiner NLG-Funktionen automatisierte Testskripte generieren und so die Genauigkeit und Zuverlässigkeit des Softwaretestprozesses für die Mainframe-Modernisierung verbessern. Gleichzeitig muss GenAI die von der KI generierten Ausgabeergebnisse durch einen strukturierten dreistufigen Prozess verbessern und sicherstellen, dass die automatisierten Skripte nicht nur technisch sinnvoll, sondern auch in der Praxis anwendbar sind und so die Harmonie und Einheit der Fähigkeiten der KI und des Menschen widerspiegeln Sachverstand. Diese Integration ist eindeutig von entscheidender Bedeutung, um der Komplexität und den dynamischen Anforderungen moderner Mainframe-Anwendungen gerecht zu werden.

Vorstellung des Übersetzers

Julian Chen, 51CTO-Community-Redakteur, verfügt über mehr als zehn Jahre Erfahrung in der Umsetzung von IT-Projekten, ist gut im Management und der Kontrolle interner und externer Ressourcen und Risiken und konzentriert sich auf die Verbreitung von Netzwerk- und Informationssicherheit Wissen und Erfahrung.

Originaltitel: GenAI-Driven Automation Testing in Mainframe Modernization, Autor: sampath amatam)


Das obige ist der detaillierte Inhalt vonProduktions-KI-gesteuerte Host-Automatisierungstests. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen