Plan des tests Groupe 4 - UQO-2019-INF1583/annotator GitHub Wiki

1. Tests d'interface utilisateur

 a. Tests de l'interface de gestion des utilisateurs

Type de test : Test d’interface, test à boîte noire parce qu’on ne regarde pas de code.

Objectif : Vérifier que le rôle affiché est correct

Référence au cahier de charges : 3.4 interface administratration du système

Technique pour tester : On utilise l’interface de gestion d’utilisateurs pour vérifier l’affichage du rôle.

Critère de succès : Tous les affichages de rôles correspondent aux valeurs attendues.

Considérations particulières : Il faut être connecté à Internet, il faut aussi qu’il y ait au moins un compte de chaque rôle.

Scénario de test 1.a

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Un administrateur du système se connecte. Connexion réussie
2 Cet administrateur accède à l’interface de gestion d’utilisateurs. La fenêtre de la gestion d’utilisateur s’ouvre
3 Vérifier que la colonne qui représente le rôle dans la ligne correspondante à un visiteur affiche « Visiteur »

Scénario de test 1.b

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Un administrateur du système se connecte.
2 Cet administrateur accède à l’interface de gestion d’utilisateurs.
3 Vérifier que la colonne qui représente le rôle dans la ligne correspondante à un membre affiche « Membre »

Scénario de test 1.c

Étape Point de contrôle ? Description Valeur à saisir Valeurs attendues
1 Un administrateur du système se connecte.
2 Cet administrateur accède à l’interface de gestion d’utilisateurs.
3 Oui Vérifier que la colonne qui représente le rôle dans la ligne correspondante à un administrateur affiche « Administrateur »

2. Restriction des accès à l’interface de gestion des utilisateurs

Type de test : Test d’interface

Objectif : Vérifier la restriction de l’accès à la page User Manager.

Référence au cahier de charges : 2.1.3 (interface user manager )

Technique pour tester : on va vérifier via l’interface l’accès des trois types d’utilisateur (visiteur, membre et admin système) à l’interface UserManager

Critère de succès : Un administrateur système accède à l’interface

Considérations particulières : N/A

Scénario de test 2.a

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Non Connexion avec un compte admin système Utilisateur connecté
2 Oui On accède à la page UserManager Accès autorisé

Scénario de test 2.b

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Non Connexion avec un compte membre Utilisateur connecté
2 Oui On accède à la page UserManager Redirection vers l'index

Scénario de test 2.c

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Non Connexion avec un compte lecteur Utilisateur connecté
2 Oui On accède à la page UserManager Redirection vers l'index

3. Création de compte avec l’interface utilisateur

Type de test : Test d’interface

Objectif : Vérifier que l'on peut créer un compte avec l'interface (utilisateur)

Référence au cahier de charges : 2.1.1 et 3.1

Technique pour tester : On utilise l’interface de création de compte pour essayer de créer un compte

Données : Nom,prénom, courriel et mot de passe

Critère de succès : Nouvel utilisateur créé avec succès

Considérations particulières : Il faut que le bouton enregistrer existe dans la page login pour charger l’interface d’enregistrement des utilisateurs

Scénario de test 3.a

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Oui Aller sur l’interface de création de compte Accès à l’interface
2 Oui Remplir le formulaire avec les données mentionnées dans le formulaire Voir les données ci-dessus Les données sont bien remplies dans leurs cases appropriées
3 Oui Cliquer sur le bouton enregistrer Le compte est créé avec succès ce qui doit affirmer que l'utilisateur a été correctement enregistré en vérifiant dans la base de données.

3.1. Annulation de la création d’un compte lors de sa création

Type de test : Test d’interface

Objectif : Vérifier que l'on peut annuler la création de compte lors de sa création avec l'interface (utilisateur)

Référence au cahier de charges : 2.1.1 et 3.1

Technique pour tester : On utilise l’interface de création de compte pour essayer d’annuler la création du compte.

Données : Nom,prénom, courriel et mot de passe

Critère de succès : On veut que la création de compte soit annuler et que l’utilisateur soit redirigé dans la page de login

Considérations particulières : Il faut que le bouton enregistrer existe dans la page login pour charger l’interface d’enregistrement des utilisateurs

Scénario de test 3.1.a

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Oui Aller sur l’interface de création de compte Accès à l’interface
2 Oui Remplir le formulaire avec les données mentionnées dans le formulaire Voir les données ci-dessus Les données sont bien remplies dans leurs cases appropriées
3 Oui Cliquer sur le bouton cancel La création de compte est annulée et l'utilisateur est dirigé vers la page principale le login.

4. Connection avec un compte utilisateur

Type de test : Test d’interface

Objectif : Vérifier que la connexion avec un compte utilisateur fonctionne

Référence au cahier de charges : 2.1.1

Technique pour tester : On utilise l’interface login de l’application

Données : Courriel et mot de passe

Critère de succès : Connexion à l’application avec les droits d’accès que nous autorisent notre identification dans le système

Considérations particulières : Il faut être connecté à Internet et avoir créer un compte utilisateur dans le système

Scénario de test 4.a

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Non Un utilisateur sélectionne la page login de l’application
2 Oui Un utilisateur déjà existant se connecte au système Voir les données ci-dessus Connection à l’application

5. Création de deux utilisateurs avec la même identité

Type de test : Test d’interface

Objectif : Vérifier que l’identité des utilisateurs est unique

Référence au cahier de charges : 1.1

Technique pour tester : On utilise l’interface de création de compte pour essayer d’insérer deux fois le même utilisateur

Données : Nom,prénom, courriel et mot de passe

Critère de succès : L’insertion du deuxième utilisateur n’est pas possible

Considérations particulières : Il faut être connecté à Internet

Scénario de test 5.a

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Aller sur l’interface de création de compte Accès à l’interface
2 Remplir le formulaire et enregistrer Voir les données ci-dessus Le compte est créé et nous sommes connectés au site
3 Refaire les étapes 2 avec le même utilisateur Voir les données ci-dessus L’interface renvoie une erreur

6. Vérification de la connexion via un compte de réseau social

Type de test : Test d’interface

Objectif : Vérifier que la connectivité d’un compte avec un compte de réseau sociale fonctionne

Référence au cahier de charges : 2.1.1

Technique pour tester : En utilisant l’interface login

Données : Nom de l’utilisateur,courriel et mot de passe

Critère de succès : Connexion à l’application via un réseau social

Considérations particulières : La machine doit être connectée à Internet et l’utilisateur doit avoir un compte de réseau social actif

Scénario de test 6.a

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Non Aller sur l’interface login
2 Non Choisir une des options de connexion avec les médias sociaux Redirection vers un formulaire d’authentification de l’utilisateur
3 Oui Remplir le formulaire avec les informations d’authentification Voir les données ci-dessus Connexion à l’application

7. Vérification de la modification de rôle

Type de test : Test d’interface, test à boîte noire parce qu’on ne regarde pas de code.

Objectif : Vérifier que la modification de rôle marche

Référence au cahier de charges : 3.4

Technique pour tester : On utilise l’interface de gestion d’utilisateurs pour modifier le rôle d’un utilisateur puis on vérifie pour voir si la modification a fonctionné.

Critère de succès : Utiliser des fonctionnalités d’utilisateurs d’un rôle supérieur ne fonctionne pas

Considérations particulières : Il faut être connecté à Internet. Ne pas utiliser des utilisateurs réels.

Scénario de test 7.a

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Créer un nouveau compte. Création d’un nouveau compte de Visiteur
2 Vérifier si le compte à le niveau de permission correspondant. L’accès et la lecture aux différents projets du système est possible.
3 Se déconnecter Redirection vers la page d’accueil
4 Se connecter en tant qu’administrateur
5 Aller à l’interface de gestion d’utilisateurs, modifier le rôle du compte nouvellement créé.
6 Se déconnecter du système et se reconnecter en tant que le compte créé. Connecté en tant que membre du nouveau compte
7 Vérifier si le compte à le niveau de permissions d’un membre. Avoir le niveau d’autorisation d’un membre (pouvoir demander de devenir annotateur)
8 Vérifier si le compte ne peut pas accomplir les tâches privilégiées. Impossibilité de créer un nouveau projet, d'annoter des documents existants

7.1 Vérifier que la modification du groupe d’utilisateur

Type de test : Test d’interface, test à boîte noire parce qu’on ne regarde pas de code.

Objectif : Vérifier que la modification du groupe d’utilisateur marche

Référence au cahier de charges :

Technique pour tester : On utilise l’interface de gestion d’utilisateurs pour modifier le rôle d’un utilisateur puis on vérifie pour voir si la modification a fonctionné.

Critère de succès : Changement de groupe réussi. Les nouveaux comptes peuvent annoter/gérer les projets.

Considérations particulières : Il faut être connecté à Internet. Ne pas utiliser des utilisateurs réels.

Scénario de test 7.1.a

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Se connecter en tant qu’administrateur.
2 Créer un nouveau projet. Le projet figure parmi la liste de projets.
3 Créer un nouveau compte et le rendre membre. Nouveau compte membre ajouté.
4 Assigner à ce compte le rôle administrateur de projet
5 Vérifier si on peut performer les tâches associées aux administrateurs de projet à partir de ce nouveau compte Possibilité de gérer les annotateurs du projet, les documents du projet, et la consolidation des annotations multiples, etc.

Scénario de test 7.1.b

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Se connecter en tant qu’administrateur.
2 Créer un nouveau projet. Le projet figure parmi la liste de projets.
3 Créer un nouveau compte et le rendre membre. Nouveau compte membre ajouté.
4 Assigner à ce compte le rôle annotateur par rapport au projet créé pendant l’étape 2.
5 Vérifier si on peut performer les tâches associées aux annotateurs à partir de ce nouveau compte Possibilité de créer une nouvelle annotation, modifier une annotation, visualiser toutes les annotations, etc.

8. Restriction des accès

Type de test : Test unitaire

Objectif : Vérifier le retour de la méthode de restriction d’accès

Référence au cahier de charges : 2.1.3 (interface user manager)

Technique pour tester : On va vérifier les sorties de la fonction canActivate qui permet la restriction des accès

Critère de succès : Le rôle de l’utilisateur connecté se trouve dans le tableau des rôles qui ont accès à cette fonction.

Considérations particulières : N/A

Scénario de test 8.a

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Non Connexion d’un utilisateur qui possède le rôle d’administrateur système grâce au service d’authentification Compte admin: [email protected] Utilisateur connecté
2 Oui On fournit à la méthode canActivate un objet json qui ne contient pas de tableau de rôle La méthode doit renvoyer true

Scénario de test 8.b

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Non Connexion d’un utilisateur qui possède le rôle d’administrateur système grâce au service d’authentification Compte admin: [email protected] Utilisateur connecté
2 Oui On fournit à la méthode canActivate un objet json qui contient un tableau de rôle Tableau de role [Rôle.Admin] La méthode doit renvoyer true

Scénario de test 8.c

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Non Connexion d’un utilisateur qui possède le rôle de membre grâce au service d’authentification Utilisateur connecté
2 Oui On fournit à la méthode canActivate un objet json qui contient un tableau de rôle Tableau de role [Rôle.Admin] La méthode doit renvoyer false

Scénario de test 8.d

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Non Pas de connexion d’utilisateur Pas d'utilisateur connecté
2 Oui On fournit à la méthode canActivate un objet json qui contient un tableau de role Tableau de role [Rôle.Admin] La méthode doit renvoyer false

8.1. Tests de la méthode isAdminProjet()

Type de test : Test fonctionnel

Objectif : Vérifier si l’utilisateur connecté est un admin du projet fourni en paramètre

Référence au cahier de charges :

Technique pour tester : On passe l’identifiant d’un projet à la méthode isAdminProject et on vérifie le retour de cette méthode

Critère de succès : La méthode retourne true, si l’utilisateur est un administrateur du projet

Considérations particulières : N/A

Scénario de test 8.1.a : Si l’utilisateur est un admin du projet

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Oui Utilisation de la méthode de connexion du service d’authentification pour connecter un utilisateur Compte utilisateur admin du projet id L’utilisateur est connecté
2 Oui Appel de la méthode isAdminProject du service d’authentification.On lui fournit l’id du projet. Id projet = true

Scénario de test 8.1.b : Si l’utilisateur n’est pas un admin du projet

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Oui Utilisation de la méthode de connexion du service d’authentification pour connecter un utilisateur Compte utilisateur qui n’est pas admin du projet id L’utilisateur est connecté
2 Oui Appel de la méthode isAdminProject du service d’authentification.On lui fournit l’id du projet. Id projet = false

Scénario de test 8.1.c : Si le projet n'existe pas

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Oui Utilisation de la méthode de connexion du service d’authentification pour connecter un utilisateur Compte utilisateur quelconque L’utilisateur est connecté
2 Oui Appel de la méthode isAdminProject du service d’authentification.On lui fournit l’id du projet. Id projet quelconque false

Scénario de test 8.1.d : Si l’utilisateur n’est pas connecté

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Non Pas de connexion via le service d’authentification
2 Non Appel de la méthode isAdminProject du service d’authentification.On lui fournit l’id du projet. Id projet quelconque false

8.2. Tests de la méthode isAdminProjet()

Type de test : Test fonctionnel

Objectif : Vérifier si l’utilisateur connecté est un annotateur fourni en paramètre

Référence au cahier de charges :

Technique pour tester : On passe l’identifiant d’un projet à la méthode isAnnotator et on vérifie le retour de cette méthode

Critère de succès : La méthode retourne true, si l’utilisateur est un annotateur du projet

Considérations particulières : N/A

Scénario de test 8.2.a : Si l’utilisateur est un annotateur du projet

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Oui Utilisation de la méthode de connexion du service d’authentification pour connecter un utilisateur Compte utilisateur annotateur du projet id L’utilisateur est connecté
2 Oui Appel de la méthode isAnnotator du service d’authentification.On lui fournit l’id du projet. Id projet = true

Scénario de test 8.2.b : Si l’utilisateur n’est pas un Annotateur du projet

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Oui Utilisation de la méthode de connexion du service d’authentification pour connecter un utilisateur Compte utilisateur qui n’est pas annotateur du projet id L’utilisateur est connecté
2 Oui Appel de la méthode isAnnotator du service d’authentification. On lui fournit l’id du projet. Id projet = false

Scénario de test 8.2.c : Si le projet n'existe pas

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Oui Utilisation de la méthode de connexion du service d’authentification pour connecter un utilisateur Compte utilisateur annotateur du projet id L’utilisateur est connecté
2 Oui Appel de la méthode isAnnotator du service d’authentification.On lui fournit l’id du projet. Id projet qui n’existe pas false

Scénario de test 8.2.d: Si l’utilisateur n’est pas connecté

Étape Point de contrôle ? [Oui / Non] Description Valeur à saisir Valeurs attendues
1 Non Pas de connexion via le service d’authentification
2 Oui Appel de la méthode isAnnotator du service d’authentification.On lui fournit l’id du projet. Id projet quelconque false