Parasoft C/C++test 2022.2 unterstützt das neue MISRA C:2012 Amendment 3 und eine Entwurfsversion von MISRA C++ 202x. Erfahren Sie mehr >>

Erhalten Sie das, was Sie von Ihrem UI-Testtool benötigen?

Von Chris Colosimo

10. Oktober 2019

6  min lesen

UI-Tests haben in den letzten Jahren einen Aufschwung erlebt. Neue und aufregende Tools sind auf den Markt gekommen und bringen alle möglichen innovativen Ansätze mit, um die Durchführung eines traditionell recht komplizierten Prozesses zu vereinfachen.

Früher hatten wir nur Big-Box-Lösungen wie die IBM Rational Suite oder Mercury / HP / MicroFocus QTP / UFT. Jetzt sehen wir viele Leute, die sich von den „traditionellen“ Testautomatisierungstools zu Open-Source-Alternativen wie Selenium oder neuen innovativen AI-gestützten Lösungen oder Frameworks wie mabl abwenden. Selenischoder Funktionieren. Diese Verschiebung verursacht viel Hype, ist aber auch darauf zurückzuführen, dass häufig auftretende Beschwerden und Herausforderungen angegangen werden, die Sie bei der Einführung eines neuen Tools unbedingt berücksichtigen müssen.

Aber natürlich ist es nicht so einfach, nur den „Besten“ auszuwählen und in die Stadt zu gehen. Unabhängig davon, ob Sie sich entschieden haben, ein Framework selbst zu erstellen, die ultimative Kontrolle zu haben oder sich für ein proprietäres Framework zu entscheiden, das erweiterte Funktionen wie Selbstheilung oder parallele Ausführung bietet, gibt es sieben wichtige Faktoren für jede Lösung, die Sie sollten Erwägen.

1. Ist es Selen?

Klingt nach einer geladenen Frage, oder? Es ist nicht. Selenium hat sich schnell zum De-facto-Standard für Unternehmen entwickelt, die das Testen der Web-Benutzeroberfläche automatisieren möchten, aber nicht an die Plattform eines Anbieters gebunden sein möchten.

Als Community hat das Open-Source-Projekt Selenium kommerzielle Anbieter und Open-Source-Puristen zusammengebracht, um eines der leistungsstärksten Frameworks in unserer Branche zu schaffen - und es wird verwendet. viel.

Laut unserer Forschung nutzen über 64% der Benutzer Selen für ihre UI-Testautomatisierung. Bist du?

Dies ist ein Faktor, der berücksichtigt werden muss. Verwenden Sie Selen? Wenn nicht, ist jetzt ein guter Zeitpunkt, um über die Zukunft nachzudenken und wie flexibel Sie bei Ihren zukünftigen Testinitiativen sein möchten. Viele der Lösungen auf dem Markt verfügen jetzt über eine Selen-ähnliche Funktionalität oder basieren auf Selen, wobei der Wert des Imports / Exports von reinen Selen-Tests im Mittelpunkt steht. Sie arbeiten jedoch nicht mit reinem Selen oder führen reines Selen aus, sodass Sie innerhalb der Einschränkungen ihrer Technologie arbeiten müssen.

2. Verwendet es das Seitenobjektmodell?

Das Seitenobjektmodell ist ein UI-Testdesign-Paradigma, bei dem Benutzer UI-Elemente in Verbindung mit den Seiten definieren können, auf denen sie vorhanden sind. Hier ist ein großartiges Tutorial zum Seitenobjektmodell, falls Sie noch nicht vertraut sind. Um Probleme mit der Wartbarkeit proaktiv anzugehen, möchten Sie, dass Ihre UI-Tests dieses Paradigma des Seitenobjektmodells nutzen, da es die Verwaltung Ihrer Skripts erheblich vereinfacht, da die Elementpositionen an einem Ort definiert und dann in Ihrer Testsuite genutzt werden.

Die Seitenobjektmethode ist leistungsstark, da sie Probleme bei der Wartbarkeit bei Änderungen der Anwendung behebt. Im Seitenobjektmodell wird ein Element auf einer Seite an einer Stelle definiert. Wenn Sie also festgestellt haben, dass ein bestimmtes Webelement verschoben wurde, müssen Sie nicht das gesamte Skript durchlaufen, um die einzelnen Locators zu aktualisieren. Das Seitenobjektmodell ermöglicht es Ihnen, eine einzige Wahrheitsquelle für ein Element auf einer Seite zu haben, um dies alles viel automatisierter zu machen.

3. Empfiehlt es Smart Locators?

Die meisten Wartungsprobleme, die beim Durchführen von UI-Tests auftreten, sind auf Testfälle zurückzuführen, die aufgrund von Änderungen an der UI einer Anwendung unterbrochen werden. Eines der wichtigsten Dinge, die Sie beim Entwerfen Ihres UI-Tests tun müssen, ist die Erstellung einer Methode, um Zuverlässigkeit und Stabilität für jeden Ihrer Element-Locators zu schaffen.

Einige der neue UI-Testtools verfolgen hierfür einzigartige und innovative Ansätze mit verschiedenen Begriffen, z. B. „Smart Locators“ oder „Magic Bindings“. Unabhängig davon gibt es viel Potenzial für Sie, von all dieser Innovation zu profitieren, indem Sie mehrere Locators für ein einzelnes Element definieren oder die bestmögliche Locator-Definitionsstrategie entwickeln.

4. Können sich die Testskripte selbst heilen?

Selbstheilung klingt wie ein Traumzustand, in dem unsere automatisierten Tests automatisch erkennen, wo Fehler auftreten, und es dann selbst in die Hand nehmen, das Problem zu beheben. Das Verrückte ist, dass dies in vielen Ländern tatsächlich Realität ist beliebte UI-Testtools das sind da draußen. Durch die Nutzung intelligenter Locators können diese UI-Testtools zur Laufzeit verschiedene Locators oder Methoden zum automatischen Identifizieren von Schaltflächen in der UI ausprobieren.

Jetzt, da ich überwältigt bin, sehe ich dies als eine strikte Notwendigkeit in jeder UI-Testlösung an, da wir letztendlich versuchen, die Testabwanderung und die gesamten Testzyklen zu reduzieren. Wenn Sie tausend UI-Tests erstellt haben und diese jede Nacht ausführen, möchten Sie nicht, dass die Hälfte davon kaputt geht, weil jemand eine Schaltfläche von geändert hat in den Warenkorb legen" zu Zum Warenkorb hinzufügen."

5. Kann es in meine vorhandene Toolchain integriert werden?

In Ihrer Softwareentwicklungsorganisation schreiben Sie möglicherweise bereits Code in einer Art IDE (z. B. Eclipse, IntelliJ), und Sie erstellen diesen Code möglicherweise mit einem Build-System wie Jenkins. Dies sind bewährte und praktizierte Frameworks, die in Ihrem Unternehmen eingerichtet wurden. Daher ist es für die von Ihnen verwendete UI-Testlösung eindeutig von Vorteil, sie in das zu integrieren, was Sie bereits erstellt haben.

Viele UI-Testtools sind ihre eigenen separaten Tools, und das ist möglicherweise wirklich großartig, da sie sich darauf konzentriert haben, eine Lösung zu entwickeln, die all diese Herausforderungen löst und gleichzeitig die ultimative Kontrolle über generierte Testskripte hat. Aber Vendor-Lock (auf das ich später noch näher eingehen werde) ist gefährlich, und wir haben gesehen, dass Unternehmen aus diesem Grund von den Big-Box-Lösungen abgewichen sind. Da Entwickler und Tester technisch versierter sind als je zuvor, möchten sie Zugriff auf ihre Testskripte. Wenn Sie sich also UI-Testtools ansehen, können Sie sehen, ob Ihre Testskripte portabel sind, nicht nur mit anderen Skripten, die in Ihre DevOps-Pipeline integriert werden müssen, sondern auch wirklich in Ihr vorhandenes Framework integriert werden können.

6. Ist Support verfügbar?

Die Benutzererfahrung ist besonders wichtig in B2C-Webanwendungen, bei denen sich eine verwirrende Benutzeroberfläche oder eine unzuverlässige Kundenerfahrung schnell auf den Umsatz auswirken kann und Unternehmen verstehen, dass es wichtig ist, sicherzustellen, dass die Erfahrung nahtlos ist. Da täglich neue Projekte auftauchen und die Testanforderungen so aggressiv sind, insbesondere bei der Umstellung auf Agile, kann es den Unterschied zwischen pünktlicher Veröffentlichung und fehlendem Fenster bedeuten, sich aus einem Loch herauszuholen. Ihr UI-Testtool hilft Ihnen dabei, diese wichtige Kundenerfahrung zu überprüfen. Wenn Sie jedoch versuchen, etwas zu tun, und es nicht herausfinden können, können Sie eine Entscheidung treffen, die das Support-Team eines Anbieters trifft, um Sie freizugeben wann immer du es brauchst.

Es gibt einige offene Frameworks, die leicht in Ihre vorhandenen Frameworks integriert werden können. Was passiert jedoch ohne große Unterstützung, wenn kurz vor einer kritischen Veröffentlichung Probleme auftreten und niemand dafür verantwortlich ist? Selen ist hier ein großartiges Beispiel - obwohl es unglaublich mächtig ist und von einer wunderbaren Community unterstützt wird, gibt es niemanden, den man anrufen kann, wenn etwas schief geht.

7. Können Sie eine Anbietersperre vermeiden?

Wie ich bereits sagte, sind in den letzten Jahren mehr als 20 neue UI-Testtools auf den Markt gekommen. Was bedeutet das für die weiter fünf?? Alles, was wir gerade tun, wird sich zweifellos ändern, insbesondere aus Sicht der UI-Tests. Es wird sich bestimmt etwas Neues und Aufregendes zeigen. Daher ist es wichtig, jetzt zu überlegen, wie wir den Migrationsprozess erleichtern. Ein Schlüssel dazu ist sicherzustellen, dass die von Ihnen eingebrachte Lösung Sie nicht an ein proprietäres Framework bindet.

Da Selenium problemlos in jeder Pipeline ausgeführt werden kann und als Code implementiert ist, ist es sehr flexibel. Einige der neuen Lösungen haben dies berücksichtigt, mit Import- / Exportmechanismen, mit denen Sie das Tool ein- und ausschalten können. Beim Import und Export muss jedoch überprüft werden, ob es funktioniert. Es ist nicht so einfach, wie Sie vielleicht denken. Es scheint mir, dass ein Anbieter, der von seinen Fähigkeiten überzeugt ist, diese Funktionalität bereitstellen sollte. Und wenn Sie sich UI-Testtools ansehen, können Sie fragen: "Werde ich in deren Framework eingeschlossen?"

Was kommt als nächstes?

Wenn Sie sich UI-Testtools ansehen und eine praktische Anleitung wünschen, lesen Sie die Top 10 der neuen UI-Testtools, über die alle redenStellen Sie diese Fragen, wenn Sie überlegen, welche Tools Sie in Ihren Softwarebereitstellungsprozess übernehmen sollten.

Finden Sie echte Fehler schneller mit intelligenterem Selen

Von Chris Colosimo

Als Produktmanager bei Parasoft strategisiert Chris die Produktentwicklung der Funktionstestlösungen von Parasoft. Seine Expertise in der SDLC-Beschleunigung durch Automatisierung hat ihn zu wichtigen Unternehmensbereitstellungen wie Capital One und CareFirst geführt.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.