how perform automation testing java j2ee applications
Im Allgemeinen sind J2EE-Anwendungen sehr groß und enthalten mehrere Komponenten vom Front-End-Bildschirm bis zur Back-End-Datenbank. Aufgrund der Zeit- und Arbeitsersparnis wird das automatisierte Testen dem manuellen Testen für solch große Anwendungen vorgezogen. Automatisierte Tests werden normalerweise mithilfe von Tools und Frameworks durchgeführt.
Eine J2EE-Anwendung enthält mehrere Komponenten. Weitere Informationen finden Sie in Teil 1 dieser Java-Anwendungstestserie. Übersicht über Java-Anwendungen ' für mehr Details.
Als Übersicht: JSP ist die Ansichtskomponente oder der Bildschirm. JSF ist ein Ansichtskomponenten-Framework. JavaScript wird zur Bildschirmüberprüfung verwendet. Servlet-, Framework-, EJB-, Bean- und andere Java-Klassen werden zum Schreiben von Geschäftslogik verwendet.
Automatisierte Tests können mit einem Tool oder einer Kombination von Tools für jede Java-Komponente durchgeführt werden. Bitte beachten Sie, dass das Testen von Anwendungen möglicherweise nicht vollständig automatisiert ist. Die Entscheidung zur Automatisierung hängt von der Größe und Komplexität der Anwendung sowie von den Vorlieben des Entwicklers, Testers und Architekten ab. Wenn Sie beim Schreiben von Bewerbungen die Tests berücksichtigen, wird der Prozess für das Team reibungsloser und es entsteht ein qualitativ hochwertiges Endprodukt, das die hohen Erwartungen des Kunden erfüllt.
j2ee Interviewfragen für leitende Entwickler
Was du lernen wirst:
- Stufen im automatisierten Testprozess:
- Werkzeugauswahl
- Vorteile des automatisierten Testens von J2EE-Anwendungen
- Fazit:
- Literatur-Empfehlungen
Stufen im automatisierten Testprozess:
Zum effektive automatisierte Tests Der Testansatz muss vor der Entwicklung der Anwendung eingehend geprüft werden. Es gibt zwei getrennte Prozesse:
- Anwendungsentwicklung unter Berücksichtigung des automatisierten Testtools
- Die Testphasen selbst.
Das folgende Flussdiagramm zeigt den Entwicklungsprozess mit Automatisierungstests.
Die folgenden Schritte beschreiben den Automatisierungstestprozess ::
# 1) Machen Sie eine Analyse zu Bestimmen Sie, ob manuelle oder Automatisierungstests durchgeführt werden sollen . Analysieren Sie außerdem, welche Testteile in der Anwendung automatisiert und welche manuell sein sollen.
#zwei) Führen Sie eine Machbarkeitsanalyse durch, sobald ein Umfang oder eine Anforderung für Automatisierungstests vorliegt.
#3) Entscheiden Sie sich für ein geeignetes Werkzeug. Sobald die an der J2EE-Anwendung beteiligten Komponenten bekannt sind und die Komplexität der Anwendung verstanden ist, können ein oder mehrere Werkzeuge zum Testen ausgewählt werden.
Beispiel, für ein vollständig JSP-basiertes Anwendungsbildschirm-Navigationswerkzeug wie z Selenium Webdriver kann ausreichend sein. Beachten Sie, dass für JSF-basierte UI-Anwendungen zusätzlich zu den Testtools für JUnit und Bildschirmnavigation möglicherweise JSF-spezifische Tools zum Testen erforderlich sind.
# 4) Analysieren und entscheiden Sie, wie viele Testphasen durchgeführt werden müssen. Wenn Einheit, Integration, Funktion / System und Regressionen ausgeführt werden sollen, wählen Sie für jede Stufe das entsprechende Werkzeug aus.
# 5) Analysieren Sie die Auswirkungen des Testtools auf das Design einer Anwendung. Wenn das Testen automatisiert werden soll, ist es wichtig, Anwendungen zu entwickeln, die das Tool berücksichtigen.
Befehl grep im Unix-Shell-Skript
# 6) Entwickeln Sie ein Pilotprojekt oder eine Modellanwendung, führen Sie das Tool aus und überprüfen Sie, ob das Tool den während der Analysephase geschätzten Wert hinzufügt. Wenn dieser Schritt wie geplant verläuft, kann das Tool für die Anwendung finalisiert werden.
# 7) Sobald die Anwendung zum Testen bereit ist, schreiben Sie Testskripte und führen Sie das Tool aus.
Werkzeugauswahl
Auswahl des geeigneten Automatisierungstest-Tools Für eine J2EE-Anwendung hängt dies weitgehend von der Art der Anwendung und den verwendeten Technologien ab. Abgesehen davon gibt es mehrere andere Faktoren, die die Werkzeugauswahl beeinflussen:
1) Art der Anwendung - Eine J2EE-Anwendung kann viele Variationen aufweisen. Einige werden mit Frameworks wie Struts, Spring, Hibernate entwickelt, andere verwenden nur serverseitige Technologien (JSP, Servlets), während andere Anwendungen durchgängig erstellt werden, z. B. Ansichtskomponenten, Controller, Geschäftslogik und Datenbank.
Ein oder mehrere Werkzeuge können gemäß den verwendeten Technologien ausgewählt werden. Informationen zu den verfügbaren komponentenbezogenen J2EE-Tools finden Sie im nächsten Artikel dieser Reihe.
2) Die Komplexität der Anwendung - Wenn die Anwendung komplex ist und finanzielle Auswirkungen auf eine große Anzahl von Benutzern hat, müssen die Tests auf detaillierter Ebene mit geeigneten Tools durchgeführt werden.
Wenn die Anwendung einfach ist, z. B. die Anzeige von Berichten und Daten mit nur wenigen Benutzern, können Tests mit einfachen Open-Source-Tools durchgeführt werden.
3) Art der Prüfung - Ein Unit-Test-Tool funktioniert möglicherweise nicht gut für Integrationstests und umgekehrt.Zum Beispiel, JUnit ist ein beliebtes Tool für Unit-Tests, TestNG wird jedoch für Integrationstests verwendet.
4) Das Budget der Tests - Viele der beliebten Tools sind Open Source und passen daher in die meisten Projekte. Bei technologiebezogenen Werkzeugen muss das Team möglicherweise prüfen, ob die Werkzeugkosten akzeptabel sind.
5) Der Zeitrahmen des Testens - Wie bei den meisten Anwendungsentwicklungen sind die Fristen eng. Einige Tools benötigen möglicherweise mehr Zeit als andere zum Lernen, Einrichten der Umgebung und Schreiben von Testfällen.
6) Umweltunterstützung - Es ist wichtig, J2EE-Testtools basierend auf der Umgebung auszuwählen, in der die Anwendung ausgeführt wird. Einige werden beispielsweise nur unter Windows ausgeführt, andere sind sprachbasiert.
7) Kenntnisse des Testers - Der Tester ist möglicherweise mit einem bestimmten Werkzeug vertraut und hat Erfahrung damit. Wenn Ihre Projektanforderungen und das Wissen des Testers übereinstimmen, kann dieses Tool ausgewählt werden, um Zeit beim Training zu sparen.
8) Kompatibilität mit anderen Test-Frameworks - Wenn in großen J2EE-Anwendungen mehrere Komponenten wie JSP, Servlets, JavaScript, JSP, EJB und Datenbank verwendet werden, funktioniert ein Tool nicht für alle.
Daher sollten die ausgewählten Test-Frameworks in der Lage sein, andere Frameworks aufzunehmen.
9) Anzeige von Testergebnissen und Statistiken - Bei den meisten Projekten kann die Testlesbarkeit wichtige Kriterien bilden. Daher kann es wichtig werden, dass die Ergebnisse der Testausführung in einem geeigneten Bildschirmformat mit Fehlerliste, Gründen usw. angezeigt werden.
Vorteile des automatisierten Testens von J2EE-Anwendungen
- J2EE-Anwendungen sind normalerweise groß. Das manuelle Testen der gesamten Anwendung kann sich als sehr zeitaufwändig und fehleranfällig erweisen.
- Mehrere automatisierte J2EE-Testtools verfügen über grundlegende Funktionstestfunktionen. Sie werden unter Berücksichtigung der Komponente entwickelt und entworfen. Dies erleichtert das Leben des Testers erheblich. Ein JSF-Testtool JSFUnit bietet beispielsweise die Möglichkeit, die Klassen des Frameworks zu testen.
- Die Effizienz automatisierter Tests ist hoch. Beim manuellen Testen hängt die Richtigkeit von den Fähigkeiten des Testers ab.
- In Projekten, in denen sich wiederholende Änderungen auftreten und der gleiche Code mehrmals getestet werden muss, erweist sich das automatisierte Testen als vorteilhaft.
- Das automatisierte Testen deckt einen größeren Satz von Testfallausführungen ab. Da diese Art des Testens nicht vom Menschen abhängig ist, ist die Ausführungsgeschwindigkeit schnell und ein größerer Satz kann in kurzer Zeit abgedeckt werden.
- Da ein Eingreifen des Testers größtenteils nicht erforderlich ist, sind die Testergebnisse genauer als manuelle Tests. Der Testprozess ist ebenfalls konsistent.
Fazit:
Automatisierte Tests werden für große J2EE-Anwendungen bevorzugt. Das Testen einer Anwendung ist möglicherweise nicht vollständig automatisiert. Manuelle und automatisierte Tests gehen Hand in Hand. Während sich das anfängliche Erlernen und Einrichten des Tools als zeitaufwändig erweisen kann, ist das Testen nach dem Einrichten des Prozesses effizienter.
In dem nächster Artikel Wir werden eine umfassende Liste der gängigen J2EE-Tools und Frameworks für Komponenten sehen.
Teilen Sie uns Ihre Erfahrungen und Fragen mit Automatisierungstests mit.
Literatur-Empfehlungen
- 11 besten Automatisierungstools zum Testen von Android-Anwendungen (Android App Testing Tools)
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- 25 besten Java-Test-Frameworks und -Tools für Automatisierungstests (Teil 3)
- Wie führe ich manuelle Leistungstests durch?
- Testen von Primer eBook Download
- Datenbanktests mit JMeter
- Anwendungen installieren und für Appium-Tests vorbereiten
- Verlieren Tester aufgrund von Automatisierung ihren Einfluss auf das Testen?