Qualitätssicherung XML

Künstlich (noch) intelligenteres Testen mit Micro Focus UFT?

Intelligenteres Testen mit Micro Focus UFT und AI

Das mit der UFT-Version 14.53 erstmals als Techpreview eingeführte AI-Testing-Feature erhält sowohl in UFT 15.0 als auch in UFT 15.0.1 einige Verbesserungen in Hinblick auf die Objekterkennung und den Methodenumfang.

Was ist das AI-Testing-Feature?

In einem früheren Artikel zu UFT 14.52 und UFT 14.53 haben wir über die Einführung des AI-Features berichtet. „AI“ steht hier für „Artificial Intelligence“ (dt. „Künstliche Intelligenz“). Bei dem Feature handelt es sich um ein künstlich intelligentes, vortrainiertes Modell, welches Objekte anhand visueller, kontextueller und textueller Merkmale intelligent erkennen und ansteuern soll. Dabei wird eine angezeigte Seite, wie beispielsweise die Startseite auf einem Smartphone, nach einzigartigen Merkmalen gescanned und gefundene Objekte können unter Angabe eines AI-Kontextes im UFT-Testskript verwendet werden, ohne sie in das Objekt-Repository aufnehmen zu müssen. Das künstlich intelligente Feature soll anhand der mitgegebenen Identifikatoren (wie z.B. ein bestimmter Text) zur Laufzeit die gewünschten Elemente erkennen und mit ihnen interagieren.

Objekterkennung im Kontext

Wir haben im ersten Teil bereits auf Probleme bei der Objekterkennung hingewiesen. Das Feature wies eine spürbare Fehlerrate auf, vor allem wenn es um Text-in-Bild-Erkennung ging oder sehr ähnliche Objekte auf einer Seite vorhanden waren. Die damals festgestellten „Kinderkrankheiten“ sind weitgehend noch immer vorhanden (s. Abbildung 1).


Abbildung 1: KI-Textobjekterkennung mit Fehlern

Jedoch hat Micro Focus in einigen Punkten mit den neueren UFT-Versionen Fortschritte gemacht. So ist ab der Version 15.0 eine noch bessere Assoziation zwischen Steuerelementen und zugehörigen Textobjekten möglich, um z.B. ein Texteingabefeld, das von mehreren Labels bzw. Textblöcken umgeben ist, mit dem richtigen Label identifizieren zu können. Soweit feststellbar scheint hier immer das am nächsten gelegene Input-Feld zu einem angegebenen Label bzw. Text angesteuert zu werden.

Auch die Unterscheidung ähnlicher Objekte soll nun flexibel möglich sein. Mit sich gleichenden AI-Objekten konnte zuvor nicht interagiert werden, da es keine Möglichkeit gab, diese in irgendeiner Weise voneinander zu trennen. Ab UFT-Version 15.0 können gleichartige AI-Objekte anhand eines ordinalen Standortes relativ zueinander unterschieden werden. Mit Zusatzangaben wie „micFromBottom“, „micFromTop“, „micFromLeft“ oder „micFromRight“ und einer Nummer können nun nicht-einzigartige Objekte von einer bestimmten Richtung aus abgezählt werden (s. Abbildung 2). Hierbei werden jedoch ausschließlich die im aktuellen Fensterausschnitt sichtbaren Objekte angesteuert, nicht die Objekte der gesamten Seite. Ab der Version 15.0.1 geht es einen Schritt weiter und gleichartige AI-Objekte können in Relation zu beliebigen anderen AI-Objekten identifiziert werden, welche als Anker fungieren. Auch hier kann die Richtung angegeben werden, in der das gesuchte Objekt relativ zum Anker-Objekt gefunden werden kann, beispielsweise mit „micWithAnchorOnLeft“. Eine Relation zu Nicht-AI-Objekten kann leider noch nicht hergestellt werden.


Abbildung 2: Ordinale Ansteuerung nicht-einzigartiger Objekte

Die Identifikation nicht-einzigartiger Objekte in Relation zueinander ist mit Vorsicht zu genießen. Es kann passieren, dass die falschen Objekte aufgrund des falschen Kontexts angesteuert werden. So beispielsweise, wenn bei der Ausführung ein anderer Fensterausschnitt zu sehen ist als bei der Skripterstellung und hier eine andere Anzahl der gleichartigen AI-Objekte angezeigt ist.

Erweiterung der Werkzeuge und Einzug in das Web-Testing

Mit der Version 15.0 wurde zudem der Pool an Objekttypen um zwölf Elemente erweitert und es stehen zwei zusätzliche Methoden zur Verfügung. „FindTextBlock“ ermöglicht die Identifikation ganzer Textblöcke statt nur einzelner Worte oder Sätze. Mit „SetState“ können nun auch die – ebenfalls frisch eingefügten – Steuerelemente Toggle button, Check box und Radio button gesteuert werden.

Zunächst ausschließlich beim mobilen Testen einsetzbar, hält das AI-Feature ab der UFT-Version 15.0.1 auch Einzug in den Web-Testing-Bereich. Hierzu muss im Skript ein neuer AI-Kontext „Browser“ gesetzt werden. Überhaupt stellt sich ab dieser Version der Zugang zum AI-Feature etwas anders dar. Wo zuvor im Object Spy eine kleine Schaltfläche zum Öffnen der „KI Erkennungsansicht“ existierte, kann nun zwischen dem Öffnen der bereits bekannten Erkennungsansicht zwecks Scan eines ausgewählten Fensters nach mehreren AI-Objekten (wie in Abbildung 1), sowie der neuen Identifikation einzelner Objekte zusätzlich zur klassischen Erfassung via Object Spy gewählt werden (wie in Abbildung 3).


Abbildung 3: Erfassung eines Objekts via Object Spy mit aktiviertem AI-Feature

Beim Scan multipler AI-Objekte gestaltet es sich leider etwas mühsam, wenn Objekte auf mehreren Seiten oder Fensterabschnitten erfasst werden sollen. In der Erkennungsansicht kann weder gescrollt, noch die Seite dynamisch gewechselt werden. Hierzu muss in der Erkennungsansicht bei jedem Seiten- oder Abschnittswechsel das Fenster neu erfasst werden. Aus diesem Grund scheint die Option, einzelne Objekte wie gewohnt mit dem Object Spy zu erfassen und sich die passenden AI-Objekte einzeln ausgeben zu lassen, eine gute Alternative zu sein, wenn mehrere Seitenwechsel benötigt werden.

Auch in der Version 15.0.1 führt Micro Focus neue Methoden für das AI-Feature ein: „Exist“ zur Verifizierung, „Select“ für Comboboxen und „Hover“ für Desktop-Web-Applikationen. Beim Versuch, die Select-Methode anzuwenden, zeigte sich, dass die Erkennung bestimmter Objekttypen wie z.B. Comboboxen mit dem AI-Feature derzeit noch mäßig präzise ist. So werden verschiedene Objekte, die Text enthalten, oftmals als Textboxen identifiziert und können auch nicht anders angesteuert werden.

Fazit und Feedback

Insgesamt lässt sich feststellen, dass das AI-Feature zwar noch immer am Anfang steht und mit zahlreichen Hürden zu kämpfen hat. So kann es beispielsweise bei einem zweiten und dritten Scan eines Fensters geschehen, dass mehr oder weniger Objekte erfasst werden als beim ersten Scan, oder dass nah beieinanderliegenede Objekte für die AI schwer abzugrenzen sind. Micro Focus setzt jedoch an den richtigen Stellen an und realisiert Schritt für Schritt spürbare Verbesserungen. Wir dürfen gespannt sein, wie sich das intelligente Feature in Zukunft noch entwickeln wird.

Um ebendiese Entwicklung auch von Nutzerseite aus unterstützen zu können, wurde das AI Feedback Tool überarbeitet. Dieses findet sich zwar weiterhin konstant in englischer Sprache unabhängig der UFT-Einstellungen, bietet nun unter anderem jedoch die Möglichkeit, den Screenshot einer Applikation vor dem Absenden zu bearbeiten und Bereiche unkenntlich zu machen, um sensible Daten und die Privatsphäre zu schützen.

Autor

Alexandra FrankAssociate IT-Consultant
Alexandra Frank