Inhaltsverzeichnis:

Beta-Tests Von Tesla FSD Auf öffentlichen Straßen Erhöhen Die Sicherheit
Beta-Tests Von Tesla FSD Auf öffentlichen Straßen Erhöhen Die Sicherheit

Video: Beta-Tests Von Tesla FSD Auf öffentlichen Straßen Erhöhen Die Sicherheit

Video: Beta-Tests Von Tesla FSD Auf öffentlichen Straßen Erhöhen Die Sicherheit
Video: Tesla FSD Beta Available to All! Pay Subscription or Purchase Outright? 2023, Dezember
Anonim

Ein neues Produkt ist selten ohne Fehler. Es gibt ein altes Sprichwort über neue Häuser. Wenn Sie ein neues Haus kaufen, das gerade vom Bauherrn fertiggestellt wurde, lassen Sie Ihren Feind im ersten Jahr darin wohnen. Lassen Sie im zweiten Jahr einen Freund darin wohnen, ziehen Sie im dritten Jahr selbst ein, um dort zu leben. Diese Weisheit stammt aus der Zeit bevor wir von Beta- und Alpha-Testern gehört haben.

Seit 1954 ist es in den USA möglich, Fahrzeuge anhand der VIN zurückzurufen. Selbst die besten Tests konnten nicht alle Mängel eines Produkts finden, und wenn ein Mangel sicherheitsrelevant war, konnte die NHTSA einen Rückruf anordnen. Auch hier handelt es sich nicht um einen Betatest der Autos vor der allgemeinen Verfügbarkeit. Es ist anerkannt, dass auch die besten getesteten Produkte Mängel aufweisen können, die erst nach langer Zeit und ausgiebigem Gebrauch festgestellt werden.

Mein Vater war ein richtiger Autotyp. Er und seine Freunde kannten kein größeres Vergnügen, als ein Auto auseinander zu nehmen und auf eine ihrer Meinung nach bessere Art und Weise wieder aufzubauen. Das war in den 1930er Jahren in Paris. Die Geschichte über eine Hispano Suiza, die sie halbiert hatten, um sie einen halben Meter länger zu machen, wurde jedes Mal neu erzählt, wenn sie sich trafen.

Eine andere beliebte Geschichte handelte von einem Prototyp. Als die Entwicklung es für perfekt hielt, wurde es in einer kleinen Serie produziert und den Mechanikern übergeben, um ein Auto zu bauen, um es im echten Leben zu testen. Nach einigen Monaten ohne Beanstandung wurde die eigentliche Produktion aufgenommen. Es war ein Disaster. Es stellte sich heraus, dass die Mechaniker stolz auf ihre Arbeit waren und die Autos gewartet und repariert haben, wie es nur die Mechaniker, die das Auto hergestellt haben, können.

Als das nächste Mal ein Prototyp getestet werden musste, wählte das Unternehmen Landwirte aus, die nur Pferde für den Transport kannten. Sie schalteten die Gänge, ohne die Kupplung zu betätigen. Sie treten mit ihren großen Holzschuhen gleichzeitig auf Bremse und Gas. Sie haben alles zerbrochen, was kaputt gehen konnte. Sie haben es auf viele verschiedene Arten gemacht. Das Ergebnis war ein Auto, das fast ein halbes Jahrhundert lang in Produktion blieb. Es war berühmt dafür, einfach, robust und der Traum eines jeden Mechanikers zu sein. Alle Schrauben waren gleich groß, man brauchte nur einen einzigen Schraubenschlüssel. Dieses Auto war der Citroen 2CV. Es war vielleicht das Lieblingsauto meines Vaters.

Diese Prüfung ist auch bekannt als: „Ist dieses Produkt narrensicher?“Nein, nichts ist jemals. Aber der beste Weg, ihm so nahe wie möglich zu kommen, ist, es auf die schlechteste Art und Weise zu verwenden.

Ich habe die meiste Zeit meines Berufslebens in der Softwareentwicklung gearbeitet. Es war hauptsächlich Finanzsoftware. Einer meiner Jobs war das Testen eines Systems, das jeden Monat etwa hunderttausend Lehrer bezahlte. Ein anderer waren internationale Geldüberweisungen mit dem SWIFT-System während der Einführung des Euro. Wenn in einem solchen System ein Fehler auftritt, ist es teuer. Es ist schwierig, das Geld zurückzubekommen, wenn es an die falsche Person oder der falsche Betrag gezahlt wird. Der Test war sehr streng. Es gab jeden Monat Bugfixes. Kein System ist fehlerfrei. Banksysteme mit Millionen von Benutzern und Hunderten von Subsystemen sind keine Ausnahme. Beides sind keine sehr gut definierten und getesteten Gehaltssysteme - sie enthalten auch Fehler. Sowohl die Bank als auch das Gehaltsunternehmen verfügten über ein engagiertes Team, das das System in der Produktion patchen konnte.

Der Fall für Betatest-Software

Wenn ein System komplexer wird, wird es mehr Fehler haben. Wenn Systeme von mehr Leuten verwendet werden, werden mehr Fehler gefunden. Wenn Systeme in mehr Umgebungen bereitgestellt werden, treten mehr nie vorhergesehene Situationen auf.

Die erste Testrunde wird von den Entwicklern durchgeführt. Haben sie das gemacht, was sie dachten, gemacht zu haben? Aber man kann sein eigenes Produkt nicht wirklich testen, weil man weiß, dass es gut ist.

Die zweite Runde wird von der Abteilung QA (Qualitätssicherung) durchgeführt. Basierend auf den Spezifikationen kann QA sehr große Testsätze schreiben, die jede Bedingung in den Spezifikationen testen. Aber QA kann die Spezifikationen nicht testen. Soweit es ihre Vorstellungskraft zulässt, können sie andere Tests erstellen, aber das ist nicht viel.

Die dritte Runde besteht darin, dass Benutzer in einer kontrollierten Umgebung testen, das tun, was sie normalerweise tun würden, und über alles berichten, was ihnen nicht gefällt. Dies deckt die Auslassungen und Fehler in den Spezifikationen auf.

Die Erkenntnisse in jeder Runde gehen an die Entwickler zurück und der ganze Zirkus geht von vorne los. Die nächste Runde startet erst, da die vorherige Runde fehlerfrei ist.

Die vierte Runde ist die Integration in die operative Welt. Kann es funktionieren und funktionieren, ohne ein anderes System zu stören? Ist es immun gegen Störungen durch andere Systeme? Das klingt einfach, aber die reale Welt ist sehr komplex. Ich arbeitete hauptsächlich an einem einzigen Mainframe mit einer begrenzten Anzahl von Schnittstellen. Microsoft Office funktioniert auf über hundert Millionen Computern mit nahezu unendlich vielen Schnittstellen und Konfigurationen – erstaunlich.

Diese vierte Runde beginnt in einem Testlabor mit einigen Tausend unterschiedlich konfigurierten Computern, auf denen Testskripte ausgeführt werden. Es werden Aufnahmen aus Anwendungsfällen verwendet, die frühere Versionen bremsen ließen. Vielleicht werden hunderttausend bekannte problematische Situationen getestet. Die Software ist so stabil wie möglich.

Aber das ist das Ende dessen, was für die Entwicklungsabteilung und die QA-Gurus getestet werden kann. Und es gibt immer noch zu viele Fehler im System, um es der breiten Öffentlichkeit zugänglich zu machen. Erfahrung und Statistik haben viele diese hässliche Wahrheit gelehrt.

In der Anfangszeit brachte die Softwareindustrie eine Version ##.1 auf den Markt und alle erfahrenen Benutzer wussten, dass sie fehlerhaft sein würde. Einige Innovatoren und Early Adopters würden es aus Neugier und für Abenteuer verwenden. Nach einigen Monaten wurde Version ##.2 veröffentlicht, wobei die meisten Fehler beseitigt waren. Später wäre die Version ##.23 oder ##.31 die allgemein gebräuchliche Version.

Diese ersten Benutzer der Systeme wurden zu einer Community, die einen Blick auf die Software geworfen hat, bevor sie veröffentlicht wurde. Die aktuelle Praxis des Betatests war geboren.

Und mit dieser kleinen Geschichte ist klar, was Beta-Software ist. Es ist die Software, die das Beste ist, was das Entwicklungsteam produzieren kann, aber nicht gut genug für den breiten Einsatz. Es ist großartig für Benutzer, die Unvollkommenheiten und gelegentliche Fehler tolerieren können, aber für diejenigen, die denken, dass es einfach funktionieren sollte, ist es noch nicht gut genug.

Der Vorteil, eine Beta-Version nur für ausgewählte Benutzer zu verwenden, anstatt sie Version ##.1 zu nennen, besteht darin, dass sie von Unwissenden ferngehalten wird. Es gibt kein Missverständnis, dass Release 23.1 sehr gut sein muss, da es sich um die 23. Version handelt.

Betatests mit echten Benutzern sind die einzige Möglichkeit, die Lücke zwischen dem, was die Entwicklung hervorbringen kann, und den Erwartungen der Öffentlichkeit zu schließen. Ein gutes Beta-Testprogramm beginnt mit einer kleinen Gruppe von Testern, Personen, die aufgrund ihrer Fähigkeiten im Umgang mit dem Produkt und ihrer Bereitschaft und hoffentlich nachgewiesenen Fähigkeit, kritisch zu sein und zu beschreiben, welche Verbesserungen vorgenommen werden müssen, ausgewählt wurden.

Mit zunehmender Reife der Software kann der Kreis der Betatester erweitert werden. An einigen Betatests waren Millionen von Benutzern beteiligt. Je länger die Beta-Testphase ist, desto besser wird das Produkt. Einige Unternehmen (z. B. Google) halten ihre Software viele Jahre in der Beta-Phase.

KI testen

Bei einem auf neuronalen Netzen basierenden System der künstlichen Intelligenz (KI) haben wir ein weiteres Problem. Es gibt keine Spezifikationen. Wir können nicht basierend auf jeder im Design angegebenen Bedingung ein Testset aufbauen. Dem neuronalen Netz (NN) wurden einige Millionen Situationen und Lösungen vorgegeben. Es hat den Code geschrieben, um sie selbst zu erkennen und zu lösen. Wie kann man das testen?

Es ist im Grunde die gleiche Art und Weise, wie das Testen anderer Software durchgeführt wird. Nur ist die Kreativität der Tester stärker gefordert. Die KI kann in einer virtuellen Umgebung mit Millionen von Situationen gefüttert werden, von denen die richtige Lösung bekannt ist. Ich habe darüber geschrieben, als ich über Dojo sprach.

Im Fall von Teslas Full Self Driving (FSD)-Software kann diese Methode die KI auf ein kompetentes Niveau bringen. Die Fälle basieren auf Millionen von Fällen, die von Tesla-Fahrern hochgeladen wurden. Aber diese virtuellen Fälle können niemals reale Tests ersetzen.

Ich habe einen Artikel darüber geschrieben, dass Fahrprüfer die besten Betatester sind, die Tesla finden konnte. Dies kann vielleicht besser als Alpha-Test bezeichnet werden. Es ist die letzte Prüfung, die systematisch unter der Federführung des Entwicklungsteams durchgeführt wird. Diese Leute sind perfekt, um zu entscheiden, ob es wirklich vollständig ist und alle normalen, vorhersehbaren Verkehrssituationen bewältigen kann. (Was sie nicht tun können, ist, die Software narrensicher zu machen.)

Am Ende finden aber nur normale Benutzer mit all ihren Macken und Missverständnissen alle Situationen, in denen die Software nicht gut genug ist.

Vor kurzem kritisierten Führungskräfte eines konkurrierenden Unternehmens für autonomes Fahren Tesla dafür, dass es die Öffentlichkeit für Betatests nutzte. Sie setzten dafür ihre eigenen Mitarbeiter ein, sagten die Führungskräfte. Abgesehen davon, dass Mitarbeiter oft weniger motiviert und leichter abgelenkt sind, sind Sie nicht bereit für Betatests, solange Sie Ihr Produkt verbessern können, indem Sie es selbst testen. Das ist der Punkt. Aber sie werden lernen.

Empfohlen: