Comment rédiger un cas de test

Qu’est-ce qu’un bon test

  1. Test petit, avec un seul objectif.
  2. Test indépendant, un test ne doit pas dépendre d’un autre.
  3. Le même test peut être exécuté plusieurs fois.
  4. Chaque équipe doit pouvoir comprendre le test.

Quelle syntaxe utiliser pour rédiger un cas de test

Il existe plusieurs manières de décrire un cas de test. Nous avons choisi la syntaxe Gherkin car c’est un standard bien documenté. Avec Gherkin, un test prend la forme d’un scénario qui décrit un cas d’utilisation. Ces scénarios facilitent la collaboration entre toutes les équipes pendant tout le développement d’une fonctionnalité.

La référence : https://cucumber.io/docs/gherkin/reference/

Scenario: Title of the test case
  Given [Setup]
  And [more context]
  When [Action]
  Then [Assertion]
  And [more outcome]

Où ajouter un cas de test

La fonctionnalité dédiée cas de test est utilisée à cet effet. Un cas de test GitLab est similaire à une issue ; on peut y ajouter des métadonnées via des labels. Ces métadonnées seront utiles pour créer ultérieurement des campagnes de test par thème, fonctionnalité, version avec notre outil.

Chaque cas de test doit inclure :

  • Le titre du cas de test GitLab doit être identique au titre du scénario Gherkin.
  • Un seul scénario Gherkin, avec la coloration de code gherkin.
  • (optionnel) Ajouter une aide technique pour le testeur.

Exemple

Téléverser un fichier avec envoi par morceaux

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

Aide

Afficher les logs d’edrive :

adb logcat --pid $(adb shell pidof -s foundation.e.drive)

Pousser un fichier de 150 Mo vers l’appareil :

adb shell dd if=/dev/zero of=/storage/self/primary/Documents/test-file.qa bs=1 count=0 seek=150MB

Télécharger le fichier depuis le cloud Murena :

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

Facettes des tests

Le plan de test de tout projet doit prendre en compte les facettes suivantes :

  1. mobile - tablette - ordinateur de bureau
  2. mode clair - mode sombre
  3. nouvel utilisateur - utilisateur existant (mise à jour, rétrocompatibilité)
  4. arm32 - arm64 - x86
  5. portrait - paysage
  6. différentes langues
  7. en ligne - hors ligne
  8. accessibilité, y compris le défilement
  9. utilisateur unique - multi-utilisateurs - profil pro
  10. Comportement après un redémarrage (notamment pour les services)