Frage

Wir verwenden MBUnit derzeit sowohl für Unit-Tests als auch für UI-Tests.Für UI-Tests sind die Einrichtungskosten für Testmatrixachsen ziemlich hoch (Login, Browserinstanz, Navigation zur Seite usw.).Um zu vermeiden, dass diese für jeden Testfall eingerichtet werden, verlassen wir uns teilweise auf AssemblyFixture, um einige davon zu verwalten.

Da es jedoch nicht möglich ist, bestimmte Fälle herauszufiltern, in denen sie für bestimmte Kombinationen nicht anwendbar sind, ist es uns nicht möglich, eine solche Optimierung wirklich zu verwenden.Derzeit führen wir einige Einstellungen pro Testfall durch, was schrecklich ineffizient ist.

Wir könnten if-Anweisungen in den Testcode einfügen, um nach korrekten Kombinationen zu suchen, aber das wollen wir auch nicht.Es verschmutzt den Testcode.

Wie macht ihr solche Optimierungen?oder Testmatrix-Management?Gibt es eine bessere Vorgehensweise in einem anderen Testframework?

War es hilfreich?

Lösung

Bis vor kurzem habe ich UI-Automatisierung immer als Black-Box-Test betrachtet, bei dem meine UI-Tests gegen eine vollständig eigenständige Website oder Anwendung ausgeführt werden. Infolgedessen werden die Tests unter den Bedingungen der normalen Ausführung ausgeführt und unterliegen einer Vielzahl von Problemen mit dem Umgebungsaufwand.

Ich habe kürzlich den Begriff "flache" und "tiefe" UI-Tests übernommen, bei denen jeder Testsatz unter einer optimierten Konfiguration ausgeführt wird, um Umgebungsunterschiede zu beseitigen und die Dinge zu beschleunigen. Beispielsweise wird der Anmelde-Controller gegen einen Mechanismus ausgetauscht, der den OAuth-Anmelde-Overhead vermeidet und mit festen Benutzernamen fest codiert ist. Der Produktkatalog überspringt die Datenbanksuche und ist mit einigen festen Elementen fest codiert. Das E-Commerce-Backend wird ausgetauscht, um schnelle Vorgänge auszuführen, bei denen Transaktionen basierend auf Kreditkarte und Betrag akzeptiert / abgelehnt werden.

Unter einer "flachen" Konfiguration kann ich "tiefe" Tests gegen die UI-Logik durchführen. Wenn ich zu einer "tiefen" Konfiguration wechsle, ähnelt diese der Produktion und ich kann "flache" Tests vollständig integrierter Komponenten wie Login, Produktkatalog, Suche usw. durchführen.

Eine Mischung von Teststrategien ist erforderlich.

Andere Tipps

Kann das UI-Test-Automation-Best sein-Praktiken Artikel ist hilfreich für Sie.Es enthält einige Beispiele zur Verbesserung der Leistung bei der Automatisierung von UI-Tests durch Minimierung von Anmeldungen und Kontextänderungen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top