Richtlinien für Testfälle
BearbeitenWie man einen Testfall schreibt
Was ist ein guter Test
- Kleiner Test, mit nur einem Ziel.
- Unabhängiger Test, ein Test bezieht sich nicht auf einen anderen.
- Derselbe Test kann mehrfach ausgeführt werden.
- Jedes Team kann den Test verstehen.
Welche Syntax zum Schreiben eines Tests
Es gibt mehrere Möglichkeiten, einen Test zu beschreiben. Wir haben uns für die Gherkin-Syntax entschieden, weil sie ein Standard und gut dokumentiert ist. Mit Gherkin sieht ein Test wie ein Szenario aus, das einen Anwendungsfall beschreibt. Diese Szenarien sind nützlich für eine bessere Zusammenarbeit zwischen allen Teams während der gesamten Entwicklung eines Features.
Die Referenz: https://cucumber.io/docs/gherkin/reference/
Scenario: Title of the test case
Given [Setup]
And [more context]
When [Action]
Then [Assertion]
And [more outcome]
Wo man einen Testfall hinzufügt
Das dedizierte Feature Testfall wird zu diesem Zweck verwendet. Ein GitLab-Testfall ähnelt einem Issue, dem wir mit einem Label einige Metadaten hinzufügen können. Diese Metadaten sind nützlich, um künftige Testläufe nach Thema, Feature oder Version mit unserem Tool zu erstellen.
Jeder Testfall muss Folgendes enthalten:
- Der Titel des GitLab-Testfalls entspricht dem Titel des Gherkin-Szenarios.
- Nur ein Gherkin-Szenario mit der dedizierten Code-Hervorhebung
gherkin. - (optional) Fügen Sie technische Hilfestellung für den Tester hinzu.
Beispiel
Eine Datei mit Chunk-Upload hochladen
Scenario: Upload a file with chunk upload
Given a Murena account is configured
When the user push a file greater than 3MB to "Documents"
Then edrive detects the file
And it uses the chunk upload
When the user switches off the network
Then edrive stops the upload due to network issue
And edrive pauses the upload
And the given file is not visible on Murena cloud
When edrive triggers the next sync
Then edrive continues the upload
And the file is fully uploaded on the Murena cloud
Hilfe
edrive-Protokolle ausgeben:
adb logcat --pid $(adb shell pidof -s foundation.e.drive)
Eine 150-MB-Datei auf das Gerät übertragen:
adb shell dd if=/dev/zero of=/storage/self/primary/Documents/test-file.qa bs=1 count=0 seek=150MB
Die Datei von der Murena Cloud herunterladen:
curl -X GET -u 'username@e.email:PASSWORD' https://murena.io/remote.php/dav/files/username@e.email/Documents/test-file.qa --output /tmp/test-file.qa
Testfacetten
Der Testplan jedes Projekts sollte die folgenden Facetten berücksichtigen:
- Mobilgerät - Tablet - Desktop
- Heller Modus - dunkler Modus
- Neuer Nutzer - bestehender Nutzer (Update, Abwärtskompatibilität)
- arm32 - arm64 - x86
- Hoch- - Querformat
- Verschiedene Sprachen
- Online - offline
- Barrierefreiheit, einschließlich Scrollen
- Einzelner Nutzer - mehrere Nutzer - Pro-Profil
- Verhalten nach einem Neustart (insbesondere bei Diensten)