Agiles Testen - Tools
In agilen Projekten sind Tester für die folgenden täglichen Aufgaben verantwortlich:
Unterstützung der Entwickler bei der Codierung mit Erläuterungen zum erwarteten Verhalten des Systems.
Helfen Sie Entwicklern bei der Erstellung effektiver und effizienter Komponententests.
Entwickeln Sie Automatisierungsskripte.
Integrieren Sie Tools / Skripte für Automatisierungstests mit kontinuierlicher Integration für Regressionstests.
Für eine effektive und schnelle Implementierung dieser Aufgaben wird in den meisten Agile-Projekten ein CI-System (Continuous Integration) verwendet, das CI of Code und Testkomponenten unterstützt.
Die Tester und Entwickler in agilen Projekten können von verschiedenen Tools profitieren, um Testsitzungen zu verwalten und Fehlerberichte zu erstellen und einzureichen. Neben speziellen Tools für agiles Testen können agile Teams auch von Testautomatisierungs- und Testmanagement-Tools profitieren.
Note - Record-and-Playback-, Test-Last-, Heavyweight- und Test Automation-Lösungen sind nicht agil wie -
Der von solchen Tools empfohlene Test-Last-Workflow funktioniert nicht für agile Teams.
Die mit solchen Tools erstellten nicht wartbaren Skripte werden zu einem Hindernis für Änderungen
Solche Spezialwerkzeuge erfordern Testautomatisierungsspezialisten und fördern so Silos
Die Werkzeuge, die weit verbreitet sind, sind -
S.No. | Werkzeug & Zweck |
---|---|
1 | Hudson CI Framework |
2 | Selenium Funktionstests - Integriert in Hudson |
3 | CruiseControl CI Framework |
4 | Junit Java Unit Test |
5 | Nunit .Net Unit Test |
6 | Cobertura / JavaCodeCoverage / JFeature / JCover / Java-Testabdeckung |
7 | Jester Java - Mutationstests / Automated Error Seeding |
8 | Gretel Java Test Coverage Monitoring Tool |
9 | TestCocoon C / C ++ oder C # - reduziert die Anzahl der Tests, indem redundante Tests gefunden und toter Code gefunden werden |
10 | JAZZ Java - Branch, Node und Defuse Coverage und implementiert eine GUI, Testplaner, Dynamic Instrumentation und einen Test Analyzer |
11 | Ant Java - Automation Build |
12 | Nant .Net - Automation Build |
13 | Bonfire Agile Testing Add-On für JIRA |
Agile Test Automation Tools
Effektive Unterstützung für agile Testautomatisierungstools -
Frühe Testautomatisierung mit einem Test-First-Ansatz.
Schreiben von Testautomatisierungscode in realen Sprachen, domänenspezifischen Sprachen.
Konzentration auf das erwartete Verhalten des Systems.
Trennen Sie die Essenz des Tests von den Implementierungsdetails und machen Sie ihn so technologieunabhängig.
Zusammenarbeit fördern.
Automatisierte Komponententests (mit Junit oder NUnit) unterstützen den Test-First-Ansatz für die Codierung. Dies sind White-Box-Tests, die sicherstellen, dass das Design einwandfrei ist und keine Mängel vorliegen. Solche Tests werden von Entwicklern mit Unterstützung von Testern erstellt und können unabhängig von der erforderlichen Funktionalität sein. Dies führt dazu, dass ein Produkt geliefert wird, das möglicherweise nicht den Kundenanforderungen entspricht und daher keinen geschäftlichen Wert hat.
Diesem Problem wird durch die Automatisierung von Abnahmetests begegnet, die in Zusammenarbeit mit Kunden, anderen Stakeholdern, Testern und Entwicklern erstellt werden. Die automatisierten Abnahmetests werden von Kunden oder Produktbesitzern / Geschäftsanalysten geschrieben und spiegeln das erwartete Verhalten des Produkts wider. Die Beteiligung der Entwickler stellt die Produktion von Code gemäß den Anforderungen sicher. Wenn sich der Test jedoch nur auf die Akzeptanz konzentriert, bleibt der resultierende Code möglicherweise nicht erweiterbar.
Daher sind automatisierte Komponententests und automatisierte Abnahmetests kostenlos und beide werden in der agilen Entwicklung benötigt.
Agile Tools und Frameworks, die automatisierte Abnahmetests unterstützen, sind:
- Fit
- Fitnesse
- Concordion
- Ruby
- Cucumber
Passen
Ward Cunningham hat das Tool Fit entwickelt, das für die Automatisierung von Abnahmetests verwendet werden kann. Passform ermöglicht -
Kunden oder Produktbesitzer geben Beispiele für das Produktverhalten mit Microsoft Word und Microsoft Excel
Programmierer können diese Beispiele einfach in automatisierte Tests umwandeln.
Fit 1.1 unterstützt sowohl Java als auch .NET.
FitNesse
FitNesse ist ein Wiki, ein Webserver-Stil, mit dem jeder Besucher Änderungen vornehmen kann, einschließlich des Änderns vorhandener Seiten und des Erstellens neuer Seiten. Mit einer einfachen Auszeichnungssprache können Sie auf einfache Weise Überschriften erstellen, Text fett, unterstrichen und kursiv gestalten, Listen mit Aufzählungszeichen erstellen und andere einfache Formatierungen vornehmen.
In FitNesse lautet die Automatisierung von Abnahmetests wie folgt:
Express-Tests als Tabellen mit Eingabedaten und erwarteten Ausgabedaten.
Verwenden Sie FitNesse, um die Testtabelle auf der Seite zu platzieren, die Sie bearbeiten können.
Alternativ können Sie die Testtabelle in Microsoft Excel ablegen, in die Zwischenablage kopieren und dann die verwenden Spreadsheet to FitNesse Befehl, damit FitNesse Ihre Tabelle richtig formatiert
Führen Sie den Test aus
Sie erhalten die Testergebnisse durch Farbcodierung der Zellen in der Testtabelle
grüne Zellen zeigen an, dass die erwarteten Werte erhalten werden
rote Blutkörperchen bedeuten, dass ein anderer Wert als erwartet erhalten wird
Gelbe Zellen zeigen an, dass eine Ausnahme ausgelöst wurde
Gurke
Cucumber ist ein Tool, das auf dem BDD-Framework (Behavior Driven Development) basiert. Die Hauptmerkmale sind -
Wird zum Schreiben von Abnahmetests für Webanwendungen verwendet.
Ermöglicht die Automatisierung der Funktionsvalidierung in einem leicht lesbaren und verständlichen Format wie einfachem Englisch.
Wurde in Ruby implementiert und dann auf das Java-Framework erweitert. Beide unterstützen Junit.
Unterstützt andere Sprachen wie Perl, PHP, Python, .Net usw.
Kann zusammen mit Selen, Watir, Capybara usw. verwendet werden.