Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Künstliche Intelligenz, maschinelles Lernen und die Zukunft der Softwareentwicklung

Künstliche Intelligenz, maschinelles Lernen und die Zukunft der Softwareentwicklung

王林
王林nach vorne
2023-04-30 13:37:061053Durchsuche
Jede erfolgreiche Interaktion zwischen Ihnen und Ihren Lieblings-Apps ist das Ergebnis einer gemeinsamen Anstrengung des QA-Teams.

Künstliche Intelligenz, maschinelles Lernen und die Zukunft der Softwareentwicklung

Jede erfolgreiche Interaktion mit Ihren Lieblings-Apps ist das Ergebnis einer gemeinsamen Anstrengung des Qualitätssicherungsteams (QA). Diese unermüdlichen Problemjäger stellen sicher, dass alle Aspekte der Apps, auf die sich Mobilgerätebenutzer auf der ganzen Welt für ihre täglichen Bedürfnisse verlassen, bei jeder Veröffentlichung und jedem Update reibungslos funktionieren.

Wenn Sie morgens mit dem Klang Ihres Weckers aufwachen, das Wetter überprüfen oder einem geliebten Menschen eine Nachricht senden, müssen wir diesen oft unbesungenen Helden danken.

Wenn die Bemühungen des Teams scheitern, werden sie die Neuigkeiten mit Sicherheit erfahren: Viele Benutzer zögern nicht, negatives Feedback auf beliebten (und sehr offensichtlichen) Bewertungsseiten abzugeben.

Die Erwartung moderner mobiler App-Nutzer – das sind mittlerweile so ziemlich wir alle – ist Perfektion, und das Hauptziel der QA-Teams besteht darin, sicherzustellen, dass bei jeder Bereitstellung ein fehlerfreies Produkt bereitgestellt wird.

Das Vorhandensein von Fehlern und Problemen kann eine App schnell zum Absturz bringen. Leider ist es keine leichte Aufgabe, ein fehlerfreies Erlebnis zu gewährleisten. Und es wird immer komplizierter. Die heutige Welt der Softwareentwicklung wird immer komplexer, und das Testen anhand der vielen Potenziale und Szenarien, die diese Komplexität mit sich bringt, führt dazu, dass das Testen selbst immer komplexer und ressourcenintensiver wird.

Angesichts der Geschichte der Entwicklung mobiler Apps kann man durchaus davon ausgehen, dass Apps nur noch komplexer werden und komplexere und häufigere Tests erfordern. Aber muss es so sein? Sind wir dazu bestimmt, immer mehr Personal und immer größere QA-Teams zu brauchen?

Die 1980er Jahre: Manuelles Testen

Nehmen wir uns einen Moment Zeit, um darüber nachzudenken, wie wir hierher gekommen sind. Bis vor Kurzem – „Wow – das war wohl wirklich so lange her“ – verließen sich Software-Qualitätssicherungsteams stark auf manuelle Tests ihrer Geräte, um sicherzustellen, dass die auf den Markt gebrachten Produkte eine gute Leistung erbringen

Das war in einfacheren Zeiten eher eine Herausforderung Da die Geräte weitaus weniger Funktionen und aktive Szenarien aufwiesen, war die manuelle Codierung eine geeignete Möglichkeit zum Testen. Obwohl mühsame Arbeit bei gründlicher Ausführung viel Zeit in Anspruch nimmt, funktionieren manuelle Tests für Tester gut.

Aber die Technologie, die sich ständig weiterentwickelt und verbessert, hat Veränderungen in Form von Automatisierung mit sich gebracht, die den Testprozess erheblich verbessert hat. Software entwickelt sich immer weiter und wird immer komplexer.

1990er – 2010er: Automatisierung von Codierungstests

In den folgenden Jahrzehnten befreiten Fortschritte beim Testen die Qualitätstester von der Notwendigkeit, Testfälle physisch durchzugehen. Sie müssen nicht mehr manuell nach Fehlern in Spaghetti-Codehaufen suchen.

Sie haben eine neue Waffe im Kampf gegen Softwareprobleme: Manuelles Testen in großem Maßstab ist unpraktisch geworden, und wenn ein QA-Team eine potenzielle Version in angemessener Zeit gründlich testen soll, muss es Tests per Skript durchführen Automatisierungstool.

Ist der Komplexitätskrieg also gewonnen? Nicht ganz. Stellen Sie sich automatisierte Tests am besten weniger als revolutionäre Innovation vor, sondern eher als einen weiteren Schritt im Wettrüsten angesichts der sich ständig weiterentwickelnden Komplexität von Software.

Die Uhr tickt, aber ein klarer Sieg ist noch nicht in Sicht. Da mobile Apps immer beliebter werden und zu einem zentralen Werkzeug in vielen Bereichen unseres täglichen Lebens werden, verlieren automatisierte Tests langsam an Bedeutung. Glücklicherweise kommt eine lang erwartete Veränderung, eine echteRevolution.

Die 2020er Jahre: Codelose Testautomatisierung

Bis vor kurzem war das Dilemma der QA-Testteams tatsächlich ziemlich schlimm. Um qualitativ hochwertige Produktveröffentlichungen sicherzustellen, sind für automatisierte Tests immer ausgefeiltere Codierungstools erforderlich. Das bedeutet, dass QA-Teams immer mehr Programmierer für Tests statt für andere Aufgaben wie die Generierung neuer Funktionen einsetzen müssen. Das wird nicht nur immer teurer, es bedeutet auch, dass die Veröffentlichungstermine immer weiter nach hinten verschoben werden. Aber die Alternative, ein katastrophaler Start, kann weitaus teurer sein (wie viele aufsehenerregende gescheiterte Starts bewiesen haben).

Aber das Unvermeidliche geschah. Durch das Prinzip der Abstraktion – schnittstellenbasierte Darstellung ebnet den Weg für äußerst komplexe Prozesse (denken Sie zum Beispiel an die Einsen und Nullen, die sich hinter dem Artikel verbergen, den Sie gerade lesen) – haben viele Experten schon lange eine neue Ebene der Abstraktion angekündigt, eine, die Es gibt eine „No-Code-Revolution“, die in den letzten Jahren wirklich Früchte getragen hat.

In letzter Zeit sind mehrere Plattformen entstanden, die den Einsatz von No-Code-Lösungen in verschiedenen Branchen ermöglichen. Eines der offensichtlicheren Beispiele der No-Code-Revolution ist die Beliebtheit echter WYSIWYG-Website-Editoren (denken Sie an Squarespace oder Wix), und im weniger offensichtlichen Bereich des Softwaretests ist das von mir gegründete Unternehmen Sofy eine einzigartige Plattform , das codelose Tests für mobile Anwendungen ermöglicht.

Die No-Code-Revolution hat weltbewegende Veränderungen mit sich gebracht, die es Laien ermöglichen, komplexe Aufgaben zu bewältigen, und Experten mehr Zeit für andere Aufgaben lässt. Daher werden wir in naher Zukunft zweifellos immer mehr No-Code-Lösungen für verschiedene Branchen sehen.

2025? Wirklich intelligente Selbsttest-Software

Allerdings ist die No-Code-Revolution im Grunde genommen nur ein weiterer Schritt vorwärts. Ich glaube, dass der nächste Schritt beim Softwaretest darin besteht, sich selbst zu testen Software.

Ich bin damit nicht allein: Genau wie die No-Code-Revolution ist Selbsttest-Software seit Jahren eine erwartete Realität. Angesichts der Geschwindigkeit, mit der sich die Technologie verändert und wächst, ist es nicht absurd, sich vorzustellen, dass die intelligente Testautomatisierung (d. h. Selbsttestsoftware), mit der KI-Operationen ohne menschliches Eingreifen getestet werden können, bis 2025 erheblich ausgeweitet wird.

Derzeit verbessern begrenzte Implementierungen von Smart Testing die Geschwindigkeit und Qualität von Software-Releases, indem sie auf maschinellem Lernen (ML) und Plattformen für künstliche Intelligenz basieren. Dies ermöglicht schnelle und kontinuierliche Tests (und damit einen verbesserten ROI). Darüber hinaus kann KI menschliche Intelligenz nachbilden, während ML es Computern ermöglicht, ohne menschliches Eingreifen zu lernen.

Künstliche Intelligenz und maschinelles Lernen nutzen Deep-Learning-basierte Algorithmen, um auf Daten zuzugreifen und aus den Daten zu lernen, indem Muster für eine effizientere Fehlersuche und Entscheidungsfindung extrahiert werden. Darüber hinaus ermöglicht diese Technologie den QA-Teams die Durchführung zahlreicher Tests auf verschiedenen Geräten und unterschiedlichen Formfaktoren.

Nicht Tage, sondern Stunden. Nun das ist eine Revolution.

Kein Code erfordert immer noch Menschen; Menschen sind keine Maschinen: Sie machen Fehler. Auch ohne Code – wenn auch stark reduziert – ist menschliches Versagen immer noch ein Faktor, der ernsthafte Probleme verursacht. Berücksichtigen Sie den übermäßigen Ressourcen-, Zeit- und Arbeitsaufwand, der durch manuelle Tests verursacht wird.

Intelligentes Testen generiert und verwaltet automatisch Testfälle und generiert wertvolle Vorteile, die sich als erhöhte Produktivität und Ausgabequalität zusammenfassen lassen. Aber um eine intelligente Testautomatisierung zu erreichen, müssen Sie zunächst die folgenden Elemente kombinieren:

  • Lernen aus menschlichen Eingaben: Wenn eine Maschine testet, muss sie sich wie eine verhalten menschliches Handeln. Es muss verstehen, was Menschen brauchen und wollen und wie Menschen Geräte nutzen. Wie wir besprochen haben, kann dies schwer vorherzusagen sein, und komplexe Anwendungen erfordern komplexe Testszenarien und -muster. Allerdings muss die Maschine aus diesem Blickwinkel verstanden und bedient werden.
  • Lernen Sie aus Produktdaten zur tatsächlichen Nutzung: Die Maschine muss verstehen, wie die Anwendung in verschiedenen Produktionsumgebungen verwendet wird. Dazu gehört das Verständnis des Geräts, das möglicherweise verwendet wird, der Sprache, in der das Gerät eingestellt ist, und des Ablaufs seiner Verwendung, einschließlich der Verwendung von Menüs, Bildschirmen und Aktionen.
  • Trainingsdaten: Wie selbstfahrende Autos (eine Nuss, die noch geknackt werden muss) erfordert maschinelles Lernen Trainingsdaten, um Softwaremuster zu skizzieren.

Diese drei Punkte müssen bei jeder Codeänderung verinnerlicht und gründlich getestet werden. Anschließend müssen sie nahtlos und intelligent aggregiert und priorisiert werden. Das ist keine Kleinigkeit, aber wir werden weiter am nächsten Schritt arbeiten.

Wir haben es noch nicht. Jeder dieser Schritte muss abgeschlossen sein, bevor wir weitermachen können, aber es ist wirklich nur eine Frage der Zeit.

Selbsttestende Software ist nur der erste Schritt: Ich gehe davon aus, dass wir weitere No-Code-Beispiele erwarten können, die gerade in Richtung maschinelles Lernen auf den Markt kommen. Ich glaube, dass es nur eine Frage der Zeit ist, bis die Generierung ganzer Websites auf der Grundlage einiger benutzerdefinierter Parameter Realität wird. Heute ist die No-Code-Revolution endlich da, aber mit ihr beginnt auch eine weitere Revolution.

Das obige ist der detaillierte Inhalt vonKünstliche Intelligenz, maschinelles Lernen und die Zukunft der Softwareentwicklung. 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