Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Die so gehypte KI ist so aufregend!

Die so gehypte KI ist so aufregend!

WBOY
WBOYnach vorne
2023-04-11 17:34:03905Durchsuche

​Autor |. Mush Honda

Planer |. Ende letzten Jahres wurde die künstliche Intelligenz wieder populär, und das „Reiten“. astronaut“ war ein Hingucker. Unvergesslich, gefolgt von Stable Diffusion, einer öffentlich urheberrechtlich geschützten Zeichen-KI, die textgenerierte Bilder generiert, und der letzten „Königsbombe“: ChatGPT, das sich auf dem Höhepunkt seines Debüts befand, brachte OpenAI viel ein Gesicht. Selbst während des Frühlingsfestes beklagten viele Menschen im Internet, dass es „in Gefahr“ sei, und befürchteten, dass der Höhepunkt dieser Welle der künstlichen Intelligenz ihnen wirklich die Arbeitsplätze wegnehmen würde. Doch wird die Realität wirklich so sein? Wird KI eine Renaissance für Computeranwendungssoftware einläuten? In diesem Artikel werden anhand einer konkreten Feldanwendung die drei Phasen der KI-Ausrüstung erläutert und mehrere Gründe erläutert, warum sich die KI nicht vollständig autonom entwickeln sollte und kann. Darüber hinaus verriet der Autor auch, wie ein echter KI-Charakter aussehen sollte. Wir müssen wachsam sein, aber keine Panik.

„Mit künstlicher Intelligenz wird die Lieferzeit von Minuten auf Sekunden verkürzt!“ „Lieferanten und Kunden werden in die Ära der günstigen und benutzerfreundlichen Erfahrung zurückkehren und Computeranwendungssoftware wird eine Renaissance einleiten“

Leider haben billiger Speicherplatz, hohe Verarbeitungsgeschwindigkeiten, leicht verfügbare KI-Trainingsgeräte und das Internet dieses Versprechen in einen übertriebenen Hype verwandelt.

Nehmen Sie als Beispiel Softwaretests: Wenn Sie nach „Anwendung künstlicher Intelligenz beim Softwaretesten“ suchen, liefert das System eine Reihe „magischer“ Lösungen, die potenziellen Käufern versprochen werden. Viele Lösungen bieten Möglichkeiten, manuelle Arbeit zu reduzieren, die Qualität zu verbessern und Kosten zu senken. Etwas seltsam ist, dass einige Hersteller versprechen, dass ihre KI-Lösungen Software-Testprobleme perfekt lösen können, und die Formulierung ist noch schockierender – der „Heilige Gral“ des Software-Testens – die Idee ist, es so auszudrücken – das ist es Befreien Sie die Menschen von den Schwierigkeiten und Sorgen. Es befreit Sie vom Softwareentwicklungszyklus und macht den Testzyklus kürzer, effektiver und einfacher.

Kann sich KI wirklich in den allmächtigen „Heiligen Gral“ verwandeln? Sollten wir außerdem zulassen, dass KI den Menschen vollständig ersetzt? Es ist an der Zeit, diesen fast absurden Hypes ein Ende zu setzen.

1. Die wahre Wahrheit

In der realen Welt ist es viel komplexer und entmutigender, Menschen aus dem Softwareentwicklungsprozess auszuschließen. Unabhängig von der Verwendung von Wasserfall-Methoden, schneller Anwendungsentwicklung, DevOps, Agile und anderen Methoden stehen die Menschen immer im Mittelpunkt der Softwareentwicklung, weil sie die Grenzen und das Potenzial der von ihnen erstellten Software definieren. Da die Geschäftsanforderungen beim Softwaretest oft unklar sind und sich ständig ändern, ändern sich auch die „Ziele“ ständig. Benutzer fordern Änderungen in der Benutzerfreundlichkeit und sogar Erwartungen der Entwickler an die Möglichkeiten von Softwareänderungen.

Die ursprünglichen Standards und Methoden für Softwaretests (einschließlich des Begriffs Qualitätssicherung) stammen aus dem Bereich der Produkttests in der Fertigung. In diesem Fall ist das Produkt klar definiert, die Prüfung erfolgt eher mechanisch, die Eigenschaften der Software sind jedoch formbar und ändern sich häufig. Softwaretests eignen sich nicht für diesen einheitlichen maschinellen Ansatz zur Qualitätssicherung.

In der modernen Softwareentwicklung gibt es viele Dinge, die Entwickler nicht vorhersagen und wissen können. Beispielsweise können sich die Erwartungen an die Benutzererfahrung (UX) nach der ersten Iteration der Software geändert haben. Konkrete Beispiele sind: Die Erwartungen an schnellere Bildschirmladezeiten oder schnellere Bildlaufanforderungen sind höher. Benutzer möchten nicht mehr lange auf dem Bildschirm nach unten scrollen, weil dies nicht mehr beliebt ist.

Aus verschiedenen Gründen kann künstliche Intelligenz niemals alleine vorhersagen oder testen, was selbst ihr Schöpfer nicht vorhersagen kann. Daher ist es im Bereich des Softwaretests unmöglich, über eine wirklich autonome künstliche Intelligenz zu verfügen. Die Schaffung eines „Terminators“ für Softwaretests mag das Interesse von Vermarktern und potenziellen Käufern wecken, aber solche Implementierungen sind dazu bestimmt, eine Fata Morgana zu sein. Stattdessen ist die Autonomie beim Softwaretest im Kontext der Zusammenarbeit von KI und Menschen sinnvoller.

2.

KI muss drei Reifestadien durchlaufen

Softwaretests Die KI-Entwicklung ist grundsätzlich in drei Reifestadien unterteilt:

Betriebsstadium (Operational)
  • Prozedurales Stadium (Prozess)
  • Systematische Phase (Systemisch)

Derzeit befindet sich die überwiegende Mehrheit der auf künstlicher Intelligenz basierenden Softwaretests in der operativen Phase. Im Grunde geht es bei Betriebstests um die Erstellung von Skripten, die Routinen nachahmen, die Tester hunderte Male ausführen. Die „KI“ in diesem Beispiel ist alles andere als intelligent und kann dazu beitragen, die Skripterstellung, die wiederholte Ausführung und die Speicherung von Ergebnissen zu verkürzen.

Prozedurale KI ist eine ausgereiftere Version der operativen KI und wird von Testern zur Testgenerierung verwendet. Weitere Einsatzmöglichkeiten können die Analyse und Empfehlungen der Testabdeckung, die Fehlerursachenanalyse und Aufwandsschätzung sowie die Optimierung der Testumgebung sein. Prozess-KI kann auch die Erstellung synthetischer Daten basierend auf Mustern und Nutzung erleichtern.

Die Vorteile der prozeduralen KI liegen auf der Hand, da sie ein zusätzliches Paar „Augen“ bietet, um einige der Risiken auszugleichen und abzusichern, die Tester beim Einrichten von Testausführungsstrategien eingehen. In praktischen Anwendungen kann prozedurale KI das Testen von geändertem Code erleichtern.

  • Bei manuellen Tests testen Tester häufig die gesamte Anwendung erneut und suchen nach unbeabsichtigten Konsequenzen, wenn der Code geändert wird.
  • Prozedurale KI hingegen kann das Testen einer einzelnen Einheit (oder eines begrenzten Wirkungsbereichs) empfehlen, anstatt einen massiven erneuten Test der gesamten Anwendung.

Auf dieser Ebene der KI sehen wir klare Vorteile bei Entwicklungszeit und -kosten.

Wenn sich der Fokus jedoch auf die dritte Stufe – systemische KI – verlagert, wird das Bild verschwommen, weil die Zukunft möglicherweise nur ein rutschiger Abhang und ein unbelohntes Versprechen wird.

3. Unzuverlässige systematische KI

Systematische (oder völlig autonome) KI-Tests sind unmöglich (zumindest derzeit unmöglich). Einer der Gründe dafür ist, dass KI viel Training erfordert. Tester können darauf vertrauen, dass die Prozess-KI einen Unit-Test vorschlägt, der die Softwarequalität ausreichend gewährleistet. Bei System-KI können Tester jedoch nicht mit hoher Sicherheit wissen, dass die Software alle Anforderungen erfüllt.

Wenn diese Stufe der KI wirklich autonom ist, muss sie alle erdenklichen Anforderungen testen – auch solche, die sich der Mensch nicht vorstellen kann. Anschließend müssen sie die Annahmen und Schlussfolgerungen der autonomen KI überprüfen. Die Bestätigung, dass diese Annahmen korrekt sind, erfordert erheblichen Zeit- und Arbeitsaufwand, um äußerst glaubwürdige Beweise zu liefern.

Autonomes Softwaretesten kann nie vollständig realisiert werden. Weil die Menschen ihm nicht vertrauen werden, und das ist gleichbedeutend mit dem Verlust des Ziels und der Prämisse, völlige Autonomie zu erreichen.

4. Künstliche Intelligenz braucht Training

Obwohl völlig autonome künstliche Intelligenz ein Mythos ist, ist künstliche Intelligenz, die menschliche Bemühungen in der Softwarequalität unterstützt und erweitert, ein erstrebenswertes Ziel. In diesem Fall können Menschen die KI unterstützen: Tester müssen weiterhin geduldig bleiben, um die KI und die sich ständig weiterentwickelnden Trainingssätze, auf die sie angewiesen ist, zu überwachen, zu korrigieren und zu unterrichten. Die Herausforderung besteht darin, die KI zu trainieren und gleichzeitig den verschiedenen Fehlern in der Testsoftware Risiken zuzuordnen. Diese Schulung muss fortlaufend sein und darf nicht auf Testbereiche beschränkt sein. Hersteller selbstfahrender Autos trainieren künstliche Intelligenz, um zu unterscheiden, ob eine Person die Straße überquert oder Fahrrad fährt.

Tester müssen KI-Software anhand vergangener Daten trainieren und testen, um ihr Vertrauen in die Fähigkeiten der KI zu stärken. Gleichzeitig muss eine wirklich autonome KI beim Testen zukünftige Bedingungen – Entwicklerführung und Benutzerführung – vorhersagen, was sie auf der Grundlage historischer Daten nicht kann. Stattdessen neigen Trainer dazu, KI auf der Grundlage von Datensätzen zu trainieren, die auf ihren eigenen Vorurteilen basieren. Diese Vorurteile schränken die Möglichkeiten der Erforschung künstlicher Intelligenz ein, so wie ein Blinder ein Pferd aus Sicherheitsgründen daran hindern würde, von seinem eingeschlagenen Weg abzuweichen. Je voreingenommener die KI erscheint, desto schlechter wird ihre Glaubwürdigkeit sein. Die beste KI, die man trainieren kann, besteht darin, mit Risikowahrscheinlichkeiten umzugehen und Strategien zur Risikominderung abzuleiten, die letztendlich von Menschen bewertet werden.

5. Maßnahmen zur Risikominderung

Letztendlich geht es beim Softwaretest um das Erfolgserlebnis und das Selbstvertrauen des Testers. Sie messen und bewerten die möglichen Folgen der Erstimplementierung sowie Codeänderungen, die für Entwickler und Benutzer Probleme verursachen können. Aber es lässt sich nicht leugnen, dass die Zuverlässigkeit nicht 100 % betragen kann, selbst wenn beim Softwaretest alle Möglichkeiten eines Anwendungsabsturzes vollständig untersucht wurden. Bei allen Softwaretests, unabhängig davon, ob sie manuell oder automatisch durchgeführt werden, besteht ein gewisses Risiko.

Tester müssen die Testabdeckung basierend auf der Wahrscheinlichkeit entscheiden, dass der Code Probleme verursacht. Sie müssen auch eine Risikoanalyse verwenden, um zu entscheiden, welche Bereiche außerhalb der Abdeckung konzentriert werden sollten. Auch wenn KI die relative Wahrscheinlichkeit eines Softwarefehlers an jedem Punkt der Kette der Benutzeraktivität ermittelt und anzeigt, müssen Tester die Berechnungen dennoch manuell bestätigen.

Künstliche Intelligenz bietet die Möglichkeit einer durch historische Abweichungen beeinträchtigten Softwarekontinuität. Es besteht jedoch immer noch kein hohes Maß an Vertrauen in KI-Risikobewertungs- und Risikominderungsrezepte.

KI-gestützte Softwaretesttools sollten praktisch und effektiv sein, um Testern dabei zu helfen, realistische Ergebnisse zu erzielen und ihnen gleichzeitig manuelle Arbeit zu ersparen.

Der aufregendste (und möglicherweise disruptivste) Einsatz von KI beim Softwaretesten findet auf der zweiten Stufe der KI-Entwicklungsreife statt: der prozeduralen KI. Wie ein Forscher bei Katalon feststellte: „Der größte praktische Einsatz von KI für Softwaretests wird auf der Prozessebene liegen, der ersten Stufe der autonomen Testerstellung. Dann werde ich in der Lage sein, automatisierte Tests zu erstellen, die von mir erstellt werden können.“ , kann mir auch helfen.“ Es ist realistischer und wünschenswerter zu erwarten, dass KI die menschlichen Anstrengungen unterstützt und ergänzt und die Testzeiten verkürzt.

Referenzlink: https://dzone.com/articles/ai-in-software-testing-the-hype-the-facts-the-pote

Das obige ist der detaillierte Inhalt vonDie so gehypte KI ist so aufregend!. 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