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 |