getting started with fitnesse collaboration tool
Jetzt bewegt sich die Welt zu Agile. Frühes und kontinuierliches Feedback ist für jedes Scrum-Team von entscheidender Bedeutung. Da sich die Welt verändert, muss auch die Denkweise der Tester geändert werden.
Anstatt „Fehler zu finden, Software zu beschädigen, Anforderungen zu messen“, denken Tester nun daran, „die Qualität gleich beim ersten Mal ohne die Benutzeroberfläche zu liefern oder zu testen, bevor die Benutzeroberfläche verfügbar ist“.
Tester müssen jetzt auch auf Änderungen reagieren. Daher ist es wichtig, die Black-Box-Testtechnik zu verlassen und nicht zu warten, bis die Benutzeroberfläche entwickelt ist. Testen Sie stattdessen auch die Zwischenergebnisse.
Was du lernen wirst:
Zeichen in String c ++ konvertieren
- Aber wieso?
- Was ist FitNesse?
- Warum sollte ich FitNesse verwenden?
- Was kann ich also alles erstellen?
- FitNesse herunterladen und konfigurieren:
- FitNesse Beispiel - Das Zeug zum Testen:
- Schreiben Sie Ihren Test in FitNesse:
- Einige Einblicke in Fixture / Table-Stile:
- Empfehlung:
- Fazit
- Literatur-Empfehlungen
Aber wieso?
'JETZT IST DAS SEHR AGILE PERSPEKTIVE'.
Wann immer wir Software erstellen, werden die niedrigsten Testebenen auf Einheits- / Komponentenebene gehalten. Unit-Tests werden vom Entwicklungsteam durchgeführt. Diese Komponententests sind sehr technologieorientiert und meist in derselben Sprache geschrieben, in der das zu testende System geschrieben ist.
Diese Unit-Tests sind geschrieben mit “ X-Einheit Testwerkzeug. Das sagen wir in der Testwelt wenn unser Unit Test absolut stabil ist Fehler werden viel früher erkannt und das Testen über der Einheitentestschicht wird in einer stabilen Umgebung einfach. Und wenn wir in Agile sprechen, sagen wir, dass die Tests auf Einheitenebene das schnellste Feedback liefern, wenn ein Team die Kunst des TDD (Test Driven Development) beherrscht.
Die Schicht über der Einheits- / Komponentenschicht ist die Abnahmetestschicht, die das Geschäft ausführt. Dies sind Funktionstests, die eine größere Reichweite haben als die Komponententests und am häufigsten von Nichtentwicklern ausgeführt werden. Diese Tests testen die Schicht hinter der Präsentationsschicht oder den APIs. Diese APIs oder Methoden geben beim Testen ein schnelles Feedback und zum Zeitpunkt der Entwicklung der GUI werden die meisten Funktionen getestet.
FitNesse ist ein Beispiel für diese Ebene für automatisierte Abnahmetests.
Was ist FitNesse?
FitNesse ist „ein vollständig integriertes eigenständiges Wiki und ein Framework für Akzeptanztests“. Es ist der Open Source-Wiki-Webserver. Wiki- weil es ermöglicht, eigene Webseiten zu erstellen, auf denen Testtabellen erstellt werden. Diese Testtabellen sind nichts anderes als die Testdaten .
Ziel ist es, den agilen Stil der Black-Box-Akzeptanz und des Regressionstests zu unterstützen. Es ist auch ein Tool für die Zusammenarbeit, da Tester mit Entwicklern zusammenarbeiten, um die Testsuite vorzubereiten.
Warum sollte ich FitNesse verwenden?
Das agile Testteam kann mit FitNesse Testanzüge vorbereiten, mit denen die Methoden im Code getestet werden. FitNesse ist analog zu Junit auf eine Weise, dass es auch die Methoden testet, aber es unterscheidet sich von Junit, da die Tests in Form einfacher Tabellen vorliegen, die sowohl von Entwicklern als auch von Nichtentwicklern verwendet werden können.
Leistungen:
- Frühzeitiges Feedback, indem die automatisierten Abnahmetests so oft wie erforderlich ausgeführt werden.
- Die Testergebnisse sind deterministisch, da sie entweder rot oder grün hervorgehoben sind.
- Testdaten können so gestaltet werden, dass sie den Qualitätsanforderungen entsprechen.
- Die Tests sind in einfacher Sprache verfasst und leicht verständlich, da sie in tabellarischer Form verfasst sind.
- Diese Tabellen werden in Bezug auf Eingabe und erwartete Ausgaben definiert.
- Alles sehen FitNesse bietet hier Funktionen.
Was kann ich also alles erstellen?
In FitNesse können Sie Tests und Suite erstellen. Die Begriffe sind sehr ähnlich wie in der Testwelt. Tests sind ein einzelnes Skript und Anzug ist Sammlung / Gruppe von Tests. Wenn Sie einen Anzug erstellen und ausführen, besteht der Vorteil darin, dass alle Tests in diesem Anzug ausgeführt werden. Sie benötigen also eine angemessene Planung, um Ihre Tests in einem Anzug zu arrangieren.
FitNesse herunterladen und konfigurieren:
=> Um FitNesse herunterzuladen, Klicken Sie hier
(Hinweis: Klicken Sie auf ein Bild, um es zu vergrößern.)
Laden Sie die neueste Version von fitnesse-standalone.jar herunter und speichern Sie sie auf Ihrem lokalen Laufwerk.
Öffnen Sie eine Eingabeaufforderung und führen Sie die JAR-Datei aus. Zur Vereinfachung habe ich eine Batch-Datei erstellt:
Sobald die JAR-Datei ausgeführt wurde, wird FitNesse wie folgt gestartet: (Klicken Sie auf das Bild für eine vergrößerte Ansicht)
Um FitNesse zu öffnen, öffnen Sie Ihren Browser und geben Sie Folgendes ein: http: // localhost: . In diesem Fall lautet die Portnummer 2222.
Die empfangene Seite wird unten angezeigt: (Klicken Sie auf das Bild für eine vergrößerte Ansicht)
Wenn Sie also die Dropdown-Liste Tests sehen können, können wir eine 'Suite-Seite' sowie eine 'Testseite' erstellen. Wenn Sie eine Suite erstellen, werden alle Testskripte in dieser Suite ausgeführt.
Zur Erklärung nehme ich ein Beispiel für eine Testseite.
FitNesse Beispiel - Das Zeug zum Testen:
Ab sofort testen wir ein einfaches Taschenrechnerprogramm (siehe unten).
Hier ist der Code in Java, der 4 Methoden hat:
- Addition ()
- minus ()
- multiplizieren ()
- Teilen ()
(Bitte beachten Sie, dass FitNesse mit jeder Sprache Ihrer Wahl funktioniert. Zur Erklärung habe ich Java verwendet.)
Dieser Code in der FitNesse-Welt heißt „Fixture“.
Fixtures sind nichts anderes als der Beispielcode - oder eine Verbindung zwischen FitNesse und der zu testenden Anwendung. Wenn wir also eine Methode testen möchten, müssen wir ein Fixture schreiben, und dieses Fixture ruft die Methode auf und testet sie.
Der Code „Fixture“ für unser Beispiel lautet also wie folgt:
publicclass Calculator { privateint first,second; publicvoid setFirst(int first) { this.first=first; } publicvoid setSecond(int second) { this.second=second; } publicint addition() { return (first+second); } publicint minus() { return (first-second); } publicint multiply() { return (first*second); } publicfloatdivide() { return (first/second); } }
Der Code in Eclipse wird wie folgt angezeigt: (Klicken Sie auf das Bild für eine vergrößerte Ansicht)
Wir würden die Klassendatei benötigen, stellen Sie also sicher, dass Sie sie kompilieren.
Schreiben Sie Ihren Test in FitNesse:
Schritt 1) Kehren wir zum Browser zurück, in dem sich die FitNesse-Startseite befindet.
Klicken Sie auf der Startseite auf 'Testseite', geben Sie den Namen des Tests ein und klicken Sie auf 'Speichern'. In unserem Fall ist es 'Taschenrechner'.
Schritt 2) Fügen Sie in Ihrer URL den Namen Ihres Tests mit einem Punkt '.' Operator.
Mögen: http: // localhost: 2222 / FrontPage.Calculator
Schritt 3) Klicken Sie auf die Schaltfläche Bearbeiten und geben Sie die unten gezeigten Zeilen ein
Hier sind die eingegebenen Zeilen:
! define TEST_SYSTEM {slim}
! Pfad F: Eclipse TestFitness bin
! | Rechner |
| erste | zweite | Addition? | minus? | multiplizieren? | dividieren? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Lassen Sie uns die Zeilen einzeln verstehen.
zu) In der ersten Zeile steht FitNesse für die Verwendung des SLIM-Testsystems.
( SCHLANK - Steht für Simple List Invocation Method. Mit SLIM-Testsystem wird die gesamte Tabellenverarbeitung von FitNesse durchgeführt. SLIM verfügt über SLIM Runner und SLIM Executer. SLIM Runner unterteilt die Testseiten in einfache Anweisungen. Diese Anweisungen werden an SLIM Executer übergeben, der den Gerätecode anweist, das zu testende System aufzurufen.
b) Die zweite Zeile definiert den Speicherort der Klassendatei. In diesem Fall wird der Java-Code kompiliert und die Klassendatei am Speicherort gespeichert. “Pfad F: Eclipse TestFitness bin''
c) Die dritte Zeile gibt den Namen der Klasse an. In unserem Fall ist es “Taschenrechner''
d) Jetzt kommt die vierte Zeile:
Die ersten beiden Spalten| erste | zweite |sind die Parameter oder die Eingaben für die Java-Methode.
Die nächsten 4 Spalten, gefolgt von '?'Addition? | minus? | multiplizieren? | dividieren? | sind die Methoden in der Java-Klasse. Diese Methoden geben einen Wert zurück, der mit den erwarteten Werten verglichen wird.
ist) Die Linien:
| 4 | 2 | 6 | 2 | 8 | 2.0 |
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Sind die Testfälle oder ich sollte Testdaten für unsere Methode sagen.
Die erste Zeile:
| erste | zweite | Addition? | minus? | multiplizieren? | dividieren? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
Nimmt 4 als ersten Parameter und 2 als zweiten Parameter und übergibt diese beiden Werte in der Additionsmethode der Java-Klasse. Die Methode wird ausgeführt und gibt einen Wert zurück. Dieser zurückgegebene Wert wird mit dem erwarteten Wert verglichen, der unter 'Addition?' welches ist| 6 |
In ähnlicher Weise übergibt FitNesse die ersten beiden Parameter im Minus? Methode der Java-Klasse und gibt einen Wert zurück. Dieser Wert wird mit dem erwarteten Wert verglichen | 2 |
Auf die gleiche Weise multiplizieren? und teilen? funktioniert, indem die Werte des ersten und zweiten Parameters verwendet werden und der Wert zurückgegeben wird, mit dem verglichen wird| 8 | 2.0 |beziehungsweise
In ähnlicher Weise werden die folgenden 2 Zeilen (oder ich sollte sagen die Testfälle) ausgeführt.
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Schritt 4) Wenn Sie Ihre Tests bearbeitet haben, klicken Sie auf die Schaltfläche Speichern. Ihre Seite sieht folgendermaßen aus:
Schritt 5) Um die Tests auszuführen, klicken Sie auf die Schaltfläche Test. Das Ergebnis wird wie folgt angezeigt: (Klicken Sie auf das Bild für eine vergrößerte Ansicht)
Für die erste Zeile (die unser erster Testfall ist) hebt die grüne Farbe hervor, dass die Werte, die von der Methodenaddition (), minus (), multiplizieren () und dividieren () zurückgegeben werden, mit den erwarteten Werten übereinstimmen, dh 6, 2 8 bzw. 2,0. In ähnlicher Weise stimmen für die zweite Zeile (die der zweite Testfall ist) alle von den Methoden zurückgegebenen Werte überein.
Schritt 6) Lassen Sie mich nun zur Demonstration einige der erwarteten Werte in einige andere Werte ändern (die Werte sind falsch, aber ich habe dies zur Erklärung absichtlich getan).
Ab sofort habe ich:
- Der erwartete Wert für Addition () für den ersten Testfall wurde auf 7 geändert
- Der erwartete Wert für minus () für den zweiten Testfall wurde geändert
- Der erwartete Wert für divid () für den dritten Testfall wurde geändert.
Schritt # 7) Führen Sie den Test aus, indem Sie auf die Schaltfläche „Test“ klicken. Die obigen Tests sollten fehlschlagen. (Klicken Sie auf das Bild für eine vergrößerte Ansicht)
Die rote Farbe zeigt an, dass diese Tests fehlgeschlagen sind.
Einige Einblicke in Fixture / Table-Stile:
Wir haben gesehen, dass in FitNesse die Tests durch Ausführen von Zeilen in einer Tabelle ausgeführt werden. Um verschiedene Arten von Tests durchzuführen (oder ich sollte sagen, um verschiedene Arten von Methoden zu testen), müssten wir verschiedene Arten von Tabellen verwenden. Wir verwenden am häufigsten die folgenden Fixture / Table-Stile:
- Säulenbefestigung - wird am häufigsten verwendet (und wird im obigen Beispiel verwendet). Hier repräsentieren die Datenzeilen verschiedene Eingabesätze und die erwartete Ausgabe.
- Reihenvorrichtungen - Es wird zum Testen von Abfragen verwendet, die eine Reihe von Werten zurückgeben.
- Aktionsvorrichtungen - Es wird verwendet, um Tests für eine Folge von Ereignissen auszuführen. Diese Ereignisse können wie das Klicken auf eine Schaltfläche und das Überprüfen von Werten sein
Empfehlung:
Ich habe versucht, die Konzepte zu demonstrieren, damit wir mehr über FitNesse erfahren können. Die Denkweise des Testers muss ebenfalls geändert und erweitert werden. Wir müssen aufhören, uns einzuschränken, um in den Code zu schauen. Ich fühle; Letztendlich testen wir den Code. Warum versuchen wir also nicht, den Code zu sehen und dann und dort zu testen?
Verbessern Sie Ihre Programmierkenntnisse und legen Sie mehr Wert darauf, die Logik aufzubauen und die Syntax zu lernen. Sobald Sie mit Programmierkonzepten vertraut sind und die Implementierung geübt haben, wird es einfacher, FitNesse zu erkunden.
Fazit
Das Testen in Agilität gibt es in 4 Varianten:
Adjazenzliste für C ++ - Diagramme
- Automatisierte Unit-Tests - Mit Junit
- Automatischer Abnahmeprüfungstest - Mit FitNesse
- Automatisierte UI- / Regressionstests - mit Selen oder QTP
- Manuelle Prüfung
Wir sollten versuchen, das Maximum unserer Tests in der Einheit und der Akzeptanzschicht voranzutreiben . Bis jetzt haben wir versucht, die meisten unserer Tests für die UI-Schicht mit Tools wie QTP und Selen durchzuführen, aber der Nachteil hierbei ist, dass diese Funktionen nur getestet werden können, wenn die UI entwickelt wurde. Bis Sie einen Defekt finden, haben die Entwickler eine andere Feature-Entwicklung durchgeführt.
Wenn wir die APIs jedoch bald nach dem Schreiben testen können, können Entwickler sie sofort beheben. Dies würde auch zu weniger Aufwand führen, wenn wir die GUI testen. Da alle Funktionen getestet wurden, wird das Testen der GUI einfach.
Mit Agile muss auch die Denkweise der Tester geändert werden, und sie müssen aus ihren routinemäßigen Tests herauskommen. Jetzt sollten Sie sich den Code ansehen und versuchen, Fehler zu identifizieren, auch wenn die Benutzeroberfläche nicht verfügbar ist.
Über den Autor: Dies ist ein Gastartikel von STH-Teammitglied Shilpa C. Roy. Sie arbeitet seit mehr als 9 Jahren im Bereich Softwaretests in Bereichen wie Internetwerbung, Investment Banking und Telekommunikation.
Teilen Sie uns Ihre Fragen in den Kommentaren unten mit.
Literatur-Empfehlungen
- Entwickler sind keine guten Tester. Was du sagst?
- Nützliches kostenloses Tool zur Bildschirmaufnahme und Kommentierung für die Tester - qSnap Review
- Top 10 der beliebtesten Tools zur Codeüberprüfung für Entwickler und Tester
- WebLOAD Review - Erste Schritte mit dem WebLOAD Load Testing Tool
- Top 15 SOA-Testwerkzeuge für Tester
- Wie kann man die Motivation in Software-Testern am Leben erhalten?
- TestLodge Test Management Tool Überprüfung
- Soft Skill für Tester: So verbessern Sie die Kommunikationsfähigkeit