Atelier Test Logiciel
Réalisé par :
Wechteti Ramez
Layth Hamza Ghandri
Sidaoui Mohamed Amine
Mohamed Aziz Zarkaoui
Table des matières
I. Atelier 1 et 2................................................................................................................................ 1
1. Atelier 1 .................................................................................................................................... 1
a. Presentation de projet ................................................................................................... 1
b. Besoins Fonctionnel ....................................................................................................... 1
c. Besoins non fonctionnel ............................................................................................... 1
2. Atelier2 .................................................................................................................................... 2
II. Atelier 3,4 et 5 ....................................................................................................................... 5
1. Atelier3 ...................................................................................................................................... 5
2. Atelier4 .................................................................................................................................... 7
1. Atelier5 .................................................................................................................................... 10
I. Atelier 1 et 2
1. Atelier 1
a. Presentation de projet
Notre projet consiste à développer une application web qui permettent de
gérer la globalité du processus de mobilité à l’international (appel à candidature,
collecte des données, présélection, sélection finale, nomination, logement,
communication, alert).
b. Besoins Fonctionnel
Gestion des réclamations : L’utilisateur universitaire et l’utilisateur
simple peuvent envoyer des réclamations à l’administrateur. Ils peuvent ajouter des
réclamations, les consulter et les modifier. De plus, l’administrateur peut consulter
la liste des réclamations et y répondre.
Gestion des forums et des chats : Un simple utilisateur (étudiant) peut
consulter une liste de discussions et interagir avec eux. En outre, il peut poster une
nouvelle discussion avec l’administration par le modérateur. Un utilisateur simple
(étudiant) peut envoyer des messages privés à un autre utilisateur simple
(étudiant).
Gestion de logement : un propriétaire peut publier une offre de logement.
Il peut la consulter, la modifier, l’activer ou la désactiver.
c. Besoins non fonctionnel
Il s'agit des besoins qui caractérisent le système. Ce sont des besoins en
matière de performance, de type de matériel ou le type de conception.
La sécurité : Pour une telle application il est indispensable d’assurer la
sécurité des données par l’autorisation des actions de chaque utilisateur selon son
rôle.
Le système doit être capable de détecter et de bloquer automatiquement
toute tentative d'accès non autorisé, avec un taux de détection de 99% et moins de
1% de faux positifs.
La performance : Notre application doit être optimisée au niveau du
temps de réponse et temps du traitement. Le système doit permettre le traitement
1
d'au moins 1 0000 transactions par minute, avec un temps de réponse moyen
inférieur à 1 secondes.
La disponibilité : Notre application doit être disponible tout le temps sans
interruption. Elle doit être disponible 24 heures sur 24, 7 jours sur 7.
La fiabilité : l’application doit être fonctionnelle la plupart du temps même lors
de la maintenance ou les cas extrêmes. Elle doit avoir un taux de panne de moins
de 1 % par mois.
2. Atelier2
Pour exécuter notre plan de test, on a utilisé JUnit pour exécuter les tests.
JUnit est un framework de test unitaire pour Java (et d'autres langages) qui
permet aux développeurs de créer, d'organiser et d'exécuter des tests unitaires.
Mockito est une bibliothèque de mock (simulations) pour Java qui s'intègre
bien avec JUnit. Elle permet aux développeurs de créer des objets fictifs (appelés
"mocks" ou "stubs") pour simuler le comportement de dépendances réelles dans un
environnement de test.
Ci-dessous notre plan de test et des captures d’écran qui montre l’exécution
de notre plan.
STEP
Cas de Test Resultats attendus Resultat final Validé(oui|non) ADDITIONAL NO
ID
L'ajout d'un objet
L'ajout est effectué
logement en validation: les c
pour des données
respectant les obligatoires son
1 Ajout logement valide et echoué oui
contraintes de et l'objet ne do
pour les données non
validation dans la null
valide
base de données
L'objet logement
souhaité doit être
validation: les c
modifié dans la
La modification est modifiés doiven
2 Modification d'un logement base de données Oui
effectué avec succes égaux aux cha
en respectant les
insérés
contraintes de
validation
L'objet logement La récupération du
Récupération d'un logement souhaité doit être logement souhaité
4 Oui
spécifique selon l'id récupéré de la base est éffectuer avec
de données succée
Tous les objets La Récupération de
Récupération de tous les logements doivent tous les logement est
5 Oui
logements être récupérés de la éffectuer avec
base de données succée
2
Le nombre d'objets La Récupération des Les tests sont ef
Récupération d'une
récupérés doit être logements spécifié pour les valeurs
6 accommodation avec Oui
égaux au nombre est éffectuer avec valeur) et 40(gr
pagination d'objet spécifier succée valeur)
3
4
II. Atelier 3,4 et 5
1. Atelier3
SonarQube : Il s'agit d'une plateforme de gestion de la qualité du code qui
inclut des fonctionnalités d'analyse statique pour plusieurs langages de
programmation. Il offre une vue d'ensemble de la qualité du code d'un projet.
Dans notre cas en va utiliser SonarQube pour tester la qualité de notre code
source en SpringBoot. On a choisit sonarqube pour plusieurs raison :
Intégration continue : SonarQube s'intègre bien dans les
pipelines d'intégration continue (CI/CD). Il peut automatiquement
analyser le code à chaque commit ou à chaque build, fournissant des
commentaires rapides aux développeurs.
Détection précoce des problèmes : SonarQube permet de
détecter et de corriger les problèmes dès le début du cycle de
développement, ce qui peut réduire les coûts et les efforts nécessaires
pour résoudre les problèmes plus tard dans le processus de
développement.
Personnalisation : On peut personnaliser les règles d'analyse dans
SonarQube pour répondre aux besoins spécifiques de votre projet ou
de votre entreprise.
Ci-dessous des captures d’écran sur les tests statiques qu’on a effectués avec Sonarqube
sur notre module gestion de logement.
5
6
2. Atelier4
Ci-dessous les tests structurel boite noire et blanche
7
Plan de Tests Structurels - Module de Gestion de Logement
Vérifier le bon fonctionnement des fonctions du module de gestion de
Objectif
logement.
Périmètre des Tests Module de gestion de logement
Système d'exploitation : Windows
Outils de test : SonarQube
Environnement de Test
Langage de programmation : JAVA
Base de données : MySQL
Cas de Tests Structurels Critères d'acceptation
Fonction Cas de Test de Test
Test 1 : Ajout d'un nouveau logement avec des informations valides
Test 2 : Tentative d'ajout de logement avec des informations
Ajout de logement
manquantes
Test 3 : Tentative d'ajout de logement avec un ID de logement déjà
existant
Test 1 : Mise à jour des informations d'un logement existant
Mise à jour d'informations sur le
logement Test 2 : Tentative de mise à jour des informations d'un logement
inexistant
Test 3 : Tentative de mise à jour des informations avec des données non
valides
Test 1 : Récupération d'informations sur un logement existant
Récupération d'informations sur le
logement
Test 2 : Tentative de récupération d'informations sur un logement
inexistant
Test Structurel Boit Blanche
8
● Ajout logement
id Description Entrées sortie Résultat
condition
du attendue
initiale
test
1 Test de cas normal title= test l’utilisateur Accommodation Pass
description= test doit être object
size= 3 authentifier
roomNumber= 2
bathroomNumber= 1
furniture= true
country= france
city= paris
location= nord
availability=
true price=
1500 bail=
1500 rules=
test likes= true
2 Test avec l’attribut size, title= test l’utilisateur NegativNumberE Failed
roomNumber, description= test doit être xception
bathroomNumber size= -3 authentifier
price roomNumber= -2
bail bathroomNumber= -
sont négatif 1 furniture= true
country= france
city= paris
location= nord
availability= true
price= -1500
bail= -1500
rules= test
likes= true
3 Test avec l’attribut country title= test l’utilisateur DataBaseExcepti Failed
est null description= test doit être on
size= 3 authentifier
roomNumber= 2
bathroomNumber= 1
furniture= true
country= france
city= null
location= nord
availability= true
price= -1500
bail= -1500
rules= test
likes= true
9
● mettre à jour logement
id Description Entrées sortie Résultat
condition
du attendue
initiale
test
1 Test de cas normal l’utilisateur Accommodation Pass
id logement= 1 doit être à jour
title= test 2 authentifier
2 mettre à jour un entier et id logement= l’utilisateur NegativNumberE Failed
donner une valeure 2 title= test doit être xception
négative size= -3 authentifier
3 mettre à jour l’attribut id logement= 1 DataBaseExcepti Failed
l’utilisateur
city= null on
country avec une valeur doit être
null authentifier
● afficher Logement
id Description Entrées sortie Résultat
condition
du attendue
initiale
test
1 Test de cas normal id logement= 1 l’utilisateur Accommodation Pass
doit être
authentifier
2 id logement n'existe pas id logement= null NullPointerExcept Failed
l’utilisateur
ion
doit être
authentifier
1. Atelier5
TestRail est un outil de gestion de tests très apprécié qui offre de
nombreux avantages pour la planification et l'exécution de tests. Voici quelques
raisons pour lesquelles on a choisi TestRail pour la gestion de vos plans de tests :
Interface utilisateur conviviale : TestRail propose une
interface utilisateur conviviale et intuitive qui facilite la création, la gestion
10
et l'exécution des plans de tests. Les équipes peuvent rapidement s'habituer
à l'outil, ce qui permet de gagner du temps.
Personnalisation : TestRail permet de personnaliser les plans
de tests en fonction des besoins de votre projet. Vous pouvez créer des
modèles de plans de tests, définir des configurations de test, des priorités,
des labels, des sections, etc., pour organiser vos tests de manière efficace.
Suivi de l'exécution : TestRail permet de suivre en temps réel
l'état de l'exécution des tests. Vous pouvez voir quels tests ont été réussis,
échoués ou sont en attente, ce qui facilite la gestion des tests en cours.
Gestion des cas de test : Vous pouvez gérer efficacement vos
cas de test avec TestRail en associant des cas de test à des plans de tests.
Cela permet de garder une trace claire de chaque cas de test et de ses
résultats.
Collaboration en équipe : TestRail facilite la collaboration au
sein de l'équipe de test. Plusieurs utilisateurs peuvent travailler sur les
mêmes plans de tests, ajouter des commentaires, signaler des bogues, etc.
Rapports et analyses : TestRail génère des rapports et des
analyses détaillées sur l'état de l'exécution des tests, les tendances, les
couvertures de test, les cas de test en échec, etc. Cela permet de prendre des
décisions éclairées concernant la qualité du logiciel.
Intégration avec d'autres outils : TestRail offre des
intégrations avec de nombreux autres outils de développement, de gestion
de projets et d'automatisation des tests, ce qui permet de synchroniser les
données de test avec l'ensemble du processus de développement.
Support client et mises à jour fréquentes : TestRail est pris
en charge par une équipe de développement active qui propose
régulièrement des mises à jour et un support client réactif.
11
Évolutif : TestRail convient aux petites équipes comme aux
grandes organisations grâce à ses fonctionnalités évolutives.
12