Wie man einen Testfall schreibt

Was ist ein guter Test

  1. Kleiner Test, mit nur einem Ziel.
  2. Unabhängiger Test, ein Test bezieht sich nicht auf einen anderen.
  3. Derselbe Test kann mehrfach ausgeführt werden.
  4. 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:

  1. Mobilgerät - Tablet - Desktop
  2. Heller Modus - dunkler Modus
  3. Neuer Nutzer - bestehender Nutzer (Update, Abwärtskompatibilität)
  4. arm32 - arm64 - x86
  5. Hoch- - Querformat
  6. Verschiedene Sprachen
  7. Online - offline
  8. Barrierefreiheit, einschließlich Scrollen
  9. Einzelner Nutzer - mehrere Nutzer - Pro-Profil
  10. Verhalten nach einem Neustart (insbesondere bei Diensten)