Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Automatisierungssteuerung System

Einsatz von RPA für Softwaretests:ein „Tech-Hack“?

Ineffektive Softwaretestautomatisierung ist bekannt dafür, dass sie Veröffentlichungen verzögert und dabei unglaubliche Mengen an Ressourcen verbraucht.

Von Zeit zu Zeit enthält mein Newsfeed einen Artikel mit „Die Top 10 Life Hacks“. Dies sind Tipps und Tricks zur Verwendung gewöhnlicher Haushaltsprodukte auf unerwartete Weise, um Ihr Leben zu verbessern – „… und Tipp Nummer 7 wird Sie umhauen!!!“

Zugegeben, ich habe mich dazu verleiten lassen, diesen Klickbait zu öffnen. Ehrlich gesagt gibt es Momente, in denen ich positiv überrascht bin. Wer hätte zum Beispiel gedacht, dass man lästige Blisterpackungen aus Plastik mit einem Dosenöffner durchtrennen oder mit einer Toilettenpapierrolle verhindern kann, dass sich Geschenkpapier aufrollt?

Ich habe die beiden oben genannten „Hacks“ ausprobiert und weißt du was? Sie „irgendwie“ funktionierten … für eine Weile. Der Dosenöffner schnitt durch die Naht, wo der Kunststoff verschmolzen war, aber es gelang ihm nicht, die Länge der Verpackung zu durchtrennen. Die Toilettenpapierrolle hielt das Verpackungspapier für eine Weile, aber schließlich wurde der Karton schwächer und das Verpackungspapier löste sich auf. Es überrascht nicht, dass die Verwendung einer Schere für die Plastikblisterpackungen und ein kleines Stück Klebeband für das Geschenkpapier viel, viel besser funktionierte.

In sehr ähnlicher Weise erwägen viele Organisationen jetzt den Einsatz von RPA zur Automatisierung von Softwaretests:eine Art „Tech-Hack“ für Softwaretests. Aber so wie die Toilettenpapierrolle keine nachhaltige Lösung darstellte, um zu verhindern, dass sich mein Geschenkpapier entrollt, ist RPA keine nachhaltige Lösung für die Automatisierung von Softwaretests … und die erforderlichen Modifikationen, um das RPA-Tool für die Aufgabe des Softwaretests nachhaltig zu machen Automatisierung wäre, nun ja, ein Hack.

Wenn Sie bereits ein RPA-Tool in Ihrem Unternehmen haben und mit der Testautomatisierung beginnen möchten, scheint Ihr RPA-Tool eine logische Wahl zu sein. Es ist normalerweise relativ einfach, einige grundlegende Testszenarien zu automatisieren (z. B. einen neuen Benutzer zu erstellen und eine Transaktion abzuschließen), eine Validierung hinzuzufügen und zu glauben, dass Sie auf dem Weg zur Testautomatisierung sind.

Es ist jedoch wichtig zu erkennen, dass eine erfolgreiche – und nachhaltige – Testautomatisierung viel mehr erfordert als die Fähigkeit, sich durch Anwendungspfade zu klicken. Um die düstere durchschnittliche Testautomatisierungsrate der Branche von <20 % zu übertreffen, müssen Teams auch in der Lage sein, eine effektive automatisierte Testsuite aufzubauen und zu stabilisieren. RPA-Tools sind normalerweise nicht darauf ausgelegt, dies zu ermöglichen. Infolgedessen werden Sie auf Hindernisse für die Testautomatisierung stoßen, z. B. Verzögerungen beim Warten auf die erforderlichen Testdaten und Testumgebungen, inkonsistente Ergebnisse, die das Vertrauen in die Automatisierungsinitiative untergraben, und „aufgeblähte“ Testsuiten, die beträchtliche Ressourcen verbrauchen, aber keine klaren Ergebnisse liefern. umsetzbares Feedback.

Für einen schnellen Überblick über den Umfangsunterschied zwischen RPA-Tools und Testautomatisierungstools vergleichen Sie die folgenden Definitionen von Gartner:

RPA-Tools „führen ‚if, then, else‘-Aussagen zu strukturierten Daten aus, typischerweise unter Verwendung einer Kombination von Interaktionen der Benutzeroberfläche (UI) oder durch Verbindung mit APIs, um Client-Server, Mainframes oder HTML-Code zu steuern. Ein RPA-Tool arbeitet, indem es einen Prozess in der RPA-Tool-Sprache abbildet, dem der Software-„Roboter“ folgen soll, wobei die Laufzeit zugewiesen wird, um das Skript durch ein Kontroll-Dashboard auszuführen.“

Tools zur Testautomatisierung „ermöglichen es einem Unternehmen, automatisierte Funktionstests zu entwerfen, zu entwickeln, zu warten, zu verwalten, auszuführen und zu analysieren … Dazu gehören Testdesign und -entwicklung; Wartung und Wiederverwendung von Testfällen; und Testmanagement, Testdatenmanagement, automatisiertes Testen und Integration, mit einem starken Fokus auf Unterstützung für kontinuierliches Testen.“

Die Notwendigkeit dieser zusätzlichen Testfunktionen wird deutlich, wenn Sie einige der Hauptunterschiede zwischen folgenden berücksichtigen:

• Automatisierung von Aufgabensequenzen in Produktionsumgebungen, um einen klar definierten Pfad durch einen Prozess erfolgreich auszuführen, damit Sie Ihre Arbeit schneller abschließen können, und
• Automatisierung realistischer Geschäftsprozesse in Testumgebungen, um zu sehen, wo eine Anwendung fehlschlägt, damit Sie fundierte Entscheidungen darüber treffen können, ob die Veröffentlichung einer Anwendung zu riskant ist

Was bedeuten diese Unterschiede für Softwaretests?

• Die Automatisierung muss in einer Testumgebung ausgeführt werden, die normalerweise unvollständig ist, sich entwickelt und beschränkt ist
• Die Verwaltung von zustandsbehafteten, sicheren und konformen Testdaten wird zu einer großen Herausforderung
• Ein effektives Testfalldesign ist für den Erfolg unerlässlich
• Ausfälle müssen einen Einblick in das Geschäftsrisiko geben

Betrachten wir zur Konkretisierung das Beispiel des Testens eines Online-Reisedienstes. Angenommen, Sie möchten die Funktionalität überprüfen, die es einem Benutzer ermöglicht, seine im Voraus bezahlte Hotelreservierung zu verlängern. Zunächst müssen Sie entscheiden, wie viele Tests erforderlich sind, um die Anwendungslogik gründlich zu testen – und welche Datenkombinationen jeweils verwendet werden müssen.

Dann müssten Sie alle Daten erfassen und bereitstellen, die erforderlich sind, um die Anwendung in den Zustand zu versetzen, in dem das Testszenario ausgeführt werden kann. In diesem Fall benötigen Sie (mindestens) ein bestehendes Benutzerkonto mit einer bestehenden Prepaid-Reservierung für einen Termin in der Zukunft – und Sie könnten aufgrund von Datenschutzbestimmungen wie der DSGVO keine tatsächlichen Produktionsdaten verwenden.

Als Nächstes benötigen Sie eine Möglichkeit, die erforderlichen Antworten vom angeschlossenen Hotelreservierungssystem (ein Zimmer ist verfügbar/nicht verfügbar), der Kreditkarte (Transaktion genehmigt/abgelehnt) usw. abzurufen – aber ohne tatsächlich ein Zimmer zu reservieren oder eine Gebühr zu erheben Kreditkarte.

Sie müssten den Prozess natürlich automatisieren. Dazu müssen Sie sich anmelden, die vorhandene Reservierung abrufen, angeben, dass Sie sie ändern möchten, und dann die Länge der Erweiterung angeben.

Sobald Sie den gesamten Prozess automatisiert haben, müssen Sie eine Reihe von Validierungen an verschiedenen Kontrollpunkten konfigurieren. Wurden die entsprechenden Details im entsprechenden Nachrichtenformat an das Hotel gesendet? Wurde die Reservierung in Ihrer Benutzerdatenbank aktualisiert? Wurden die Zahlungsdaten ordnungsgemäß an den Kreditkartenanbieter übermittelt? Wurden Kontogutschriften angewendet? Hat der Benutzer eine entsprechende Nachricht erhalten, wenn die Reservierung nicht verlängert werden konnte? Was ist, wenn die Kreditkarte abgelehnt wurde? Und wenn die Kreditkarte abgelehnt wurde, hat Ihr System auf die ursprüngliche Reservierungsdauer zurückgegriffen, anstatt zusätzliche Nächte hinzuzufügen, die nicht tatsächlich bezahlt wurden?

Stellen Sie sich nun vor, Ihr Unternehmen hat entschieden, eine Änderungsgebühr von 10 $ für alle im Voraus bezahlten Reservierungen hinzuzufügen. Könnten Sie diese neue Anforderung problemlos in Ihre bestehenden automatisierten Tests integrieren – oder müssten Sie jeden einzelnen Test grundlegend überarbeiten, um diese geringfügige Änderung zu berücksichtigen?

Selbst dieses einfache Beispiel zeigt einige der vielen Komplexitäten beim Softwaretesten auf, für die RPA-Tools einfach nicht ausgelegt sind. RPA-Tools wurden entwickelt, um bestimmte Aufgaben innerhalb einer Sequenz zu automatisieren. Tools zur Automatisierung von Softwaretests wurden entwickelt, um die Belastbarkeit einer breiteren Abfolge von Aufgaben zu messen. Um es ganz klar auszudrücken:RPA-Tools sind so konzipiert, dass ein Prozess funktioniert. Für Softwaretests benötigen Sie jedoch Tools, mit denen Sie feststellen können, wie ein Prozess möglicherweise beschädigt werden kann.

Ineffektive Softwaretestautomatisierung ist berüchtigt dafür, Releases zu verzögern und dabei unglaubliche Mengen an Ressourcen zu verbrauchen. Da CIOs immer mehr in digitale Transformationsinitiativen investieren, die das Kundenerlebnis durch schnellere Softwarebereitstellung verbessern, ist es kontraproduktiv, beim Softwaretest zu sparen. Die Wahl des richtigen Tools für die jeweilige Aufgabe zahlt sich in Bezug auf eine schnellere Bereitstellung, ein geringeres Geschäftsrisiko und mehr Ressourcen für Innovationen aus.

Wayne Ariola ist Autor des Buchs Continuous Testing for IT Leaders und ein bekannter Hauptredner im Bereich DevOps und App Dev.


Automatisierungssteuerung System

  1. Softwaretests bei RTI
  2. Automatisierung:Neue Hardware und Software für kostengünstige Roboter
  3. Automatisierung:Bildverarbeitungssystem-Software aktualisiert
  4. Die Bedeutung von Manufacturing Execution Software für die Roboterautomatisierung
  5. Osaro sammelt 16 Millionen US-Dollar, um maschinelles Lernen für die industrielle Automatisierung zu entwickeln
  6. Was Hyperautomatisierung für RPA-Benutzer bedeutet
  7. Von der Benutzeroberfläche zur KI:Eine Automatisierungsreise
  8. Verwendung von vorbeugender Wartungssoftware für die Fertigung
  9. Vorteile der Bewegungsautomatisierung für die Steinherstellung
  10. 5 kostengünstige Möglichkeiten, mit der industriellen Automatisierung 4.0 für Linienverbesserungen zu beginnen