Télécharger

Report
Réalisé
par

Qu’est ce que le Génie Logiciel?

Un cours de révisions, organisé par :
Coûts
Qualité
Délais

Cours 2 : Organisation et suivi de projet

Cours 3 : Estimation des Coûts

Cours 4 : Spécifications

Cours 5 : Quantifications

Cours 6 : Tests

Cours 7 : Techniques de tests

Généralités

PERT

Chemin Critique

Marges

GANTT

Critères de qualité
Cours 1 : Pert & Gantt
Généralités

Qu’est ce qu’un diagramme de PERT, de GANTT ?

A quoi servent ces diagrammes ?

Plannification et conduite de projet
Ordonnancer les activités et les placer dans le temps
Faciliter le suivi de projet pour le mener à bien
Cours 1 : Pert & Gantt
PERT

Représention graphique
Numéro
d’étape
Date
+tôt

Durée de
la tâche
Date
+tard
Avantages :




Nom de la
tâche
Permet de mieux connaître un projet grâce à une bonne visibilité de celui-ci
Permet de connaître la durée minimale d’un projet
Permet d’éviter les retards grâce a une bonne estimation
Inconvénients :


Pas d’estimations des coûts
Si beaucoup de tâches : devient rapidement illisible
Cours 1 : Pert & Gantt
PERT
Distinction PERT simplifié & non-simplifié
 Calcul des dates au plus tôt et au plus tard

A(2)
0
1
B(3)
2
3
2
3
5
6
Cours 1 : Pert & Gantt
PERT

Elaboration :







Etablir une liste de tâches
Affecter une durée aux tâches
Déterminer les conditions d’antériorité
Tracer un diagramme
Calculer les dates des étapes
Simplifier le diagramme
Déterminer le chemin critique
Cours 1 : Pert & Gantt
PERT

Exemple d’élaboration
Tâches
Durée de tâches
A
2
B
3
C
1
D
4
Antériorité des tâches
A
A-C
Cours 1 : Pert & Gantt
PERT

Exemple d’élaboration
A(2)
0
0
B(3)
2
2
2
2
5
D(4)
C(1)
0
4
5
1
5
5
5
9
9
Cours 1 : Pert & Gantt
Chemin Critique

Qu’est ce qu’un chemin critique ?



Qu’indique-t-il ?


Un chemin dont la marge totale est égale à 0
Sur chaque sommet de ce chemin :
La date au plus tôt est de la même valeur que celle au plus tard !
La durée minimale du projet
Est-il important si une seule personne travaille sur le projet ?
Oui si toutes les tâches sont sur le chemin critique
Cours 1 : Pert & Gantt
Marges
Début

Totale (≥0) :

Libre (≥0) :

Certaine (≥0) :
Fin
Cours 1 : Pert & Gantt
GANTT

Représentation graphique
Tache A
Tache B
Tache C

Différents cycles de vie (V, Cascade…)
Cours 1 : Pert & Gantt
GANTT

Avantages :


Suivi du déroulement du projet facilité. Connaissance date debut/fin
des tâches.
Inconvénients :

Les tâches critiques ne sont pas spécifiées.
Cours 1 : Pert & Gantt
Critères de qualité
Critères
Utilité
Utilisabilité
Fiabilité
Définition
Fonction dont à besoin le client/utilisateur
Facilité d’utilisation, l'effort nécessaire pour apprendre à
manipuler le logiciel
Capacité à rendre des résultats concluant
Interopérabilité Facilité du logiciel à communiquer avec d’autre programme
Performance
Portabilité
Rapidité du logiciel à exécuter une tache
Logiciel fonctionnant sur plusieurs plateforme
Réutilisabilité
Le code source est ré-implantable dans un autre programme
Facilité de
maintenance
L’effort nécessaire pour corriger, transformer le logiciel,
Cours 1 : Pert & Gantt
Critères de qualité
Critères
Utilité
Utilisabilité
Fiabilité
Solutions envisageables pour atteindre ces critères
Suivre scrupuleusement le cahier des charges
Demander l’avis au client sur diverses maquette IHM
Faire régulièrement des tests
Interopérabilité Utilisé des extensions simple à la réutilisation d’un autre
programme
Performance
Portabilité
Réutilisabilité
Facilité de
maintenance
Ecrire un code demandant pas de particularité spécifique à
chaque plateforme
Utilisé un code clair, compréhensible

Cours 1 : Pert & Gantt

Cours 3 : Estimation des Coûts

Cours 4 : Spécifications

Cours 5 : Quantifications

Cours 6 : Tests

Cours 7 : Techniques de tests

Organisation et suivi de projet

MOE/MOA

Organigrammes (PBS, WBS, OBS)

Matrice RACI

Indicateurs de suivi
Cours 2 : Organisation et suivi de projet
Organisation et suivi de projet

En quoi cela consiste ?





Organisation des tâches selon leur importance et leur antériorité
Découpage structurel des actions, acteurs et produits
Organisation des ressources pour chaque tâche
Comparer la situation réelle et la situation prévue
Utilité ?

Une bonne organisation permet un bon suivi, qui permet de corriger
la situation si des écarts sont constatés entre les prédictions et la
réalité
Cours 2 : Organisation et suivi de projet
MOE/MOA

Maîtrise d’œuvre (MOE)



Reçoit la mission du MOA
Réalise le projet conformément au cahier des charges
Maîtrise d’ouvrage (MOA)




Client, mais pas forcément utilisateur
Propriétaire de l’ouvrage
Exprime ses besoins
Fixe les objectifs, le budget et les délais souhaités
Cours 2 : Organisation et suivi de projet
Organigrammes (WBS, PBS, OBS)
Cours 2 : Organisation et suivi de projet
Organigrammes (WBS, PBS, OBS)

Exemple de PBS
Cours 2 : Organisation et suivi de projet
Organigrammes (WBS, PBS, OBS)

Exemple de WBS
Niveau 0
Niveau 1
Niveau 2
[Budget] Recherches
générales, de fonds &
légales
[Matériel]Planification
et Achats
110
Design du local
121
Réseau Informatique
122
Logiciel de connexion
123
120
Gestion
Projet d'ouverture
d'un Cybercafé
Design du local
100
Réseau Informatique
[Matériel] Installation
Logiciel de connexion
124
131
132
133
130
Gestion
Publicité
[Ouverture]
Préparation
Installation finale
140
134
141
142
Cours 2 : Organisation et suivi de projet
Organigrammes (WBS, PBS, OBS)

Exemple d’OBS
Codification
Tâche
Durée (en jours)
Ressources
100
Ouverture d'un Cybercafé
60
Moi, Commercial, Informaticien
- 110
[Budget] recherches
-
14
Commercial
- 120
[Matériel] Planification
-
23
Moi, Commercial, Informaticien
- - 121
Design du Local
-
-
3
Moi
- - 122
Réseau Informatique
-
-
5
Informaticien
- - 123
Logiciel de connexion
-
-
13
Informaticien
- - 124
Gestion
-
-
2
Commercial
- 130
[Matériel] Installation
-
15
- - 131
Design du Local
-
-
8
Moi
- - 132
Réseau Informatique
-
-
3
Informaticien
- - 133
Logiciel de connexion
-
-
2
Informaticien
- - 134
Gestion
-
-
2
Commercial
- 140
[ouverture] Préparation
-
8
- - 141
Publicité
-
-
5
Commercial
- - 142
Installations finales
-
-
3
Commercial
Moi, Commercial, Informaticien
Moi, Commercial, Informaticien
Cours 2 : Organisation et suivi de projet
Matrice RACI

A quoi sert une matrice RACI ?

Délimiter les responsabilités de chacun




R → Responsible / Réalise : Réalise l’activité
A → Accountable / Autorité : Approuve le travail de R
C → Consulted / Consulté : Est consulté par R (communication bidirectionelle)
I → Informed / Informé : Est uniquement informé des travaux de R
Rôles
Activités
Sponsor
Chef de projet
Chef d’équipe
Développeur
Planning du projet
A
R
C
I
Rédaction de la documentation
C
A
R
C
Développement
C
A
R
Tests unitaires
I
A
R
Cours 2 : Organisation et suivi de projet
Matrice RACI

Parcours vertical d’une matrice RACI

Beaucoup de R
Beaucoup de tâches à réaliser

Beaucoup de A
Beaucoup de contrôle des tâches

Pas de cases vides
Beaucoup de tâches affectées à une seule personne ; voire trop
Cours 2 : Organisation et suivi de projet
Matrice RACI

Parcours horizontal d’une matrice RACI

Beaucoup de R


Beaucoup de I


De nombreux responsables engagés dans la réalisation d’une tâche donnée
Il faut faire attention à ce qu’il n’y ait pas de problème de communication
De nombreuses personnes sont informées par le responsable
Il faut faire attention à ne pas tuer l’information par TROP d’information
Pas de cases vides

Beaucoup de personnes travaillent sur chaque tâche
Il vaudrait mieux revoir l’organisation des ressources par tâche !
Cours 2 : Organisation et suivi de projet
Indicateurs de suivi

On analyse les principales mesures de valeurs acquises

Mais qu’est-ce que la valeur acquise ?
La valeur du travail effectif fondée sur un budget défini

Quelle est son utilité ?
Informer sur les coûts et la durée du travail pour chaque tâche
Permet de savoir qu’il y a retard ou pas
Permet de savoir s’il y a dépassement des coûts ou pas
Cours 2 : Organisation et suivi de projet
Indicateurs de suivi

Principales mesures des valeurs acquises
Formules
Mesures
Définitions
Coût Budgété du Travail (CBT)
Quantité de travail estimée pour une tâche
donnée
Coût Réel du Travail (CRT)
Quantité de travail réel pour une tâche donnée
Coût Budgété du Travail Prévu (CBTP)
Somme des CBT jusqu’à une date Prévue donnée CBTP= ΣCBTx à la date Prévue
Coût Budgété du Travail Effectué (CBTE) Somme des CBT jusqu’à une date Réelle donnée
CBTE= ΣCBTx à la date Réelle
Coût Réel du Travail Effectué (CRTE)
Somme des CRT jusqu’à une date Réelle donnée
CRTE= ΣCRTx à la date Réelle
Coût Budgété à l’Achèvement (CBA)
Somme des CBT
CBA= ΣCBTx
Valeur Prévue (VP)
Quantité de travail total estimée pour une tâche
donnée
VP = CBT/CBA
Cours 2 : Organisation et suivi de projet
Indicateurs de suivi

Indicateurs d’avancement et valeurs acquises
Indicateurs
Formules
Valeurs Acquises (VA)
VA = CBTE / CBA
Indicateur des Performances Temporel (IPT)
IPT = CBTE / CBTP
Les délais
Variance par rapport à l’Echéancier (VE)
VE = CBTE – CBTP
Les délais
Indicateur d’écart des Coûts (IC)
IC = CBTE / CRTE
Les coûts )) Dépassement si IC<1
Variance par rapport aux Coûts (VC)
VC = CBTE – CRTE
Les coûts


Indications
))
Retard si IPT<1
VA est la seule mesure dont la valeur est non susceptible de diminuer au cours du projet
VA est la seule mesure pour laquelle il n’est pas souhaitable d’avoir une valeur supérieure à 1

Cours 1 : Pert & Gantt

Cours 2 : Organisation et suivi de projet

Cours 4 : Spécifications

Cours 5 : Quantifications

Cours 6 : Tests

Cours 7 : Techniques de tests

Estimation des coûts

Parkinson

Classes de méthodes d’estimation des coûts

Cocomo

Point de fonction
Cours 3 : Estimation des coûts
Estimation des coûts

Qu’est ce que l’estimation des coûts ?


Mesurer approximativemet ce que l’on va depenser (en termes
d’efforts) au cours du projet
Quelle en est l’utilité ?
Connaitre les dépenses du projet pour eviter les dépassement
de délais ou surplus de dépense
 Mesurer les risques

Cours 3 : Estimation des coûts
Estimation des coûts

Quels sont les risques d’une mauvaise estimation ?

Dans le cas où l’on a estimé un temps trop long :
 Les
gens ne rendent pas ce qui doit être rendu le plus tôt possible
 Perte de temps & d’argent

Dans le cas où l’on a estimé un temps trop court :
 Le
suivi peut être mauvais
 Une baisse de la qualité peut être attendue car il y a manque de temps
Cours 3 : Estimation des coûts
Parkinson

« Le travail s'étend jusqu'à remplir tout le temps
alloué à son exécution » (Loi de Parkinson)

Plus on dispose de temps pour effectuer une tâche et plus
celle-ci mettra du temps à être réalisée.

On a tendance à effectuer le travail à la dernière minute.
Cours 3 : Estimation des coûts
Loi de Brooks

« Ajouter des ressources humaines à un projet en
retard sur les prévisions ne fait qu’accentuer ce
retard » (Loi de Brooks)

Cela est souvent vrai car :



Il faut du temps pour former/informer une nouvelle personne
Du retard continue alors d’être accumulé
Mais cela dépend du profil des personnes car un bon analyste peut
grandement aider !
Cours 3 : Estimation des coûts
Classes de méthodes d’estimations des coûts

Méthode Algorithmique (Cocomo, PDF…)

Méthode Analytique (Bottum-up)

Méthode Globale (Top-down)
Cours 3 : Estimation des coûts
Méthode Algorithmique Cocomo

Estimation par le nombre de lignes de code

Utiliser les tailles de précédents projets

Se fonder sur les produits concurrents

Diviser le projet en plusieurs parties facilement
quantifiables.
Cours 3 : Estimation des coûts
Cocomo

D’après des caractéristiques spécifiques graduées
 Définies

par l’expérience
On peut calculer :
 Effort
 Temps
de Developpement
 Productivité
 Effectif Moyen
Cours 3 : Estimation des coûts
Cocomo

Avantages :


Cette méthode donne une assez bonne estimation
Limites :

Le nombre de ligne avec lequel est calculé est variable
selon facteur(programmeur/langage)
Cours 3 : Estimation des coûts
Méthode Algorithmique d’analyse en points de
fonction

Quantification des fonctionnalités réclamées par le
projet

Éléments de points de fonction:

Interrogation Entrées

Sorties

Groupe logique de données internes GDI

Groupe logique de données externes GDE
Cours 3 : Estimation des coûts
Point de fonction

Degré d’Influence Total (DIT)

Points de Fonctions Bruts (BFB)

Facteur d’Ajustement (TCF)

Points de Fonctions Ajustés (PFA)
Cours 3 : Estimation des coûts
Méthodes analytiques bottom-up

Estimation individuelle de chacun des éléments du
projet

Agrégation des éléments (regroupement)

Ajouter les coûts communs

Cours 1 : Pert & Gantt

Cours 2 : Organisation et suivi de projet

Cours 3 : Estimation des Coûts

Cours 5 : Quantifications

Cours 6 : Tests

Cours 7 : Techniques de tests

Spécifications

Nature et catégories

Cahier des charges

Définition des spécifications

Modélisation
Cours 4 : Spécifications
Spécifications

Qu’est ce qu’une spécification ?


Une spécification c’est ce qui permet de:
Dans quel but ?
Cours 4 : Spécifications
Nature et catégories

Nature des spécifications:

Catégories de spécifications système:
Cours 4 : Spécifications
Définition des spécifications
Etude de Faisabilité
Rapport de Faisabilité
Explicitation et
analyse des besoins
Modèles système
Spécifications système ( point de vue interne )
Spécifications
Spécifications besoins ( point de vue externe )
Validation des
spécifications
Cahier des charges
Cours 4 : Spécifications
Etude de faisabilité

On explicite ce qui doit être fait et comment cela devra l’être

Le système contribue-t-il aux objectifs essentiels de l’environnement
d’utilisation ?

Le système peut-il être implémenter à l’aide des technologies existantes, sous
les contraintes budgétaires et temporelles fixées ?

Le système pourra-t-il être intégré aux autres systèmes déjà en place ?

On détermine alors les personnes intéressées par le système !
Cours 4 : Spécifications
Analyse des besoins

Il est possible d’effectuer l’analyse des besoins quand :


On doit alors expliciter et analyse les besoins :



L’étude de faisabilité a reçu une réponse positive
En définissant les personnes affectées par le système
En évaluant leurs besoins par ordre d’importance
Il est nécéssaire de bien définir les besoins afin de :

Pouvoir avancer dans le projet sans oublier de fonctionalités importantes afin
de ne pas avoir à revenir sur l’analyse des besoins
Cours 4 : Spécifications
Cahier des charges

Contrat qui définit les spécifications à respecter

Document sur lequel on peut revenir en cas de soucis
Cours 4 : Spécifications
Validation des spécifications

Points de vérification :
Points de vérification
Définitions
Validité
Parfois, un acteur revient sur ses déclarations et réexprime ses besoins
différemment.
Cohérence
Les besoins explicités dans le cahier des charges ne doivent pas être
contradictoires.
Complétude
Le cahier des charges doit contenir la totalité des besoins des acteurs autant
que possible. Il faut s’assurer d’avoir été exhaustif.
Réalisme
Il faut vérifier qu’il est réellement possible de satisfaire les besoins explicités
avec la technologie actuelle, en respectant les coûts et les délais budgétés.
Vérifiabilité
Les besoins doivent être exprimés de manière vérifiable, sans ambigüités (si
possible), de manière à ce que le document puisse faire office de contrat.
Cours 4 : Spécifications
Validation des spécifications

Procédés de vérification :

Relecture systématique du cahier des charges

Ecriture d’un prototype

Génération de cas d’utilisation exécutables
Cours 4 : Spécifications
Modélisation

Deux modèles importants :

Modèle de processus

Diagramme de flot de données
Cours 4 : Spécifications
Modélisation

Modèle de processus

(Modèle contextuel) [les acteurs manquent]
Peut être prescriptif (avant) ou descriptif (après)
Code source
Tests
Recette
CTRL
?
Plan tests
Utilité :
 Limites :

Validation
Cours 4 : Spécifications
Modélisation

Diagramme de flots de données

(modèle comportemental)
Représentation graphique [la BDD manque]
Code
source
Résultat
Tests unitaires
Décision
CTRL
Plan Test
Jeu de tests

Utilité & Limites :

Ne représente pas les décisions, les concurrences ; mais
représente les flots de données en informant pas à pas.

Cours 1 : Pert & Gantt

Cours 2 : Organisation et suivi de projet

Cours 3 : Estimation des Coûts

Cours 4 : Spécifications

Cours 6 : Tests

Cours 7 : Techniques de tests

Quantification (Complexité, Qualité, Maintenance)

Validité de la mesure

Complexité structurelle de Mc Cabe

Graphe de Contrôle

Halstead & Henry-Kafura
Cours 5 : Quantifications
Quantification

Comment ?


Metrique du logiciel :nombre de cyclomatique de Mc Cabe
Pourquoi ?





Savoir où on en est (temps, coûts, risques)
Évaluer le travail effectué (quantité, productivité)
Évaluer le produit (pertinence, qualité)
Détecter les problèmes imminents ou potentiels
Faire des prévisions
Cours 5 : Quantifications
Validité de la mesure
Cours 5 : Quantifications
Graphe de Contrôle

a
Composé de :

Nœuds

Arcs
b
c
d
Cours 5 : Quantifications
Complexité structurelle de Mc Cabe

Pour connaître la compléxité d’un code :

Faire un graphe de contrôle

Puis calculer le nombre de cycles
Nombre de cycles = nombres d’arc – nombres de sommets
+ 2 * nombre de sous-graphes connexes
Cours 5 : Quantifications
Complexité structurelle de Mc Cabe

Une autre formule :
 C(nombre

cyclomatique) = a – n +2 * p
Avec :
C
: nombre cyclomatique
a
: nombre d’arcs
n
: nombre de nœuds
p
: nombre de composantes connexes
Cours 5 : Quantifications
Complexité structurelle de Mc Cabe
b
d
a
c
f
e
h
i
g
j
Ici, il y a : 10 nœuds et 14 arcs. C=14–10+2*1=6.
Cours 5 : Quantifications
Complexité structurelle de Mc Cabe

Lors de programmes complexes, utiliser cette autre
formule :

C = β +1
Avec β = nombre de décisions du code

Instruction If, WHILE et FOR comptent toutes pour
une seule décision.
Cours 5 : Quantifications
Halstead & Henry-Kafura
Mesures de Halstead


Basées sur deux entités : les opérandes et les opérateurs
Mesures prenant en compte les entités de manière distinctes ou de
manière totales
Mesures prenant en compte les entités de manière totales

Longueur de code : nombre total d'opérandes et d'opérateurs
→ formule : N = N1 + N2
avec N : nombre total de jetons
N1 : nombre total d'opérandes
N2 : nombre total d'opérateurs
Cours 5 : Quantifications
Halstead & Henry-Kafura
Mesures
Longeur du code (noté N)

Longueur du code : nombre total d'opérandes et d'opérateurs contenu par le programme
→ formule : N = N1 + N2
avec
N1 : nombre total d'opérandes
N2 : nombre total d'opérateurs
Estimation de la longueur du code (noté N*)
Estimation de la longueur total du programme en prenant compte du nombre d'opérandes et
d'opérateurs dictincts.

→ formule : N* = n1 * log2(n1) + n2 * log2(n2)
avec
n1 : nombre d'opérateurs distincts
n2 : nombre d'opérandes distincts
Cours 5 : Quantifications
Halstead & Henry-Kafura
Volume du code (noté V)
Volume du code : calcule le nombre de bits nécessaires pour coder le programme
→ formule : V = N * log2(n)
avec n = n1 + n2

Volume potentiel (noté V*)
Définit la taille minimale de toute solution au problème, et ce dans n'importe
quel langage
→ formule : V* = (2 + n2*) * log2(2 + n2)

Cours 5 : Quantifications
Halstead & Henry-Kafura
Niveau de difficulté (noté D)
Définit la propension d'erreurs du programme
→ formule : D = (n1/2) * (N2/n2)

Niveau de programme (noté L)
Inverse du niveau de difficulté
→ formule : L = 1/D

Cours 5 : Quantifications
Halstead & Henry-Kafura



Mesures de Henry-Kafura
Mesures se basant sur les liens entre modules du programme
3 critères à prendre en compte :



le nombre de flux d'information entrant noté in
le nombre de flux d'information sortant noté out
le poids du module correspondant noté poids (en LOC)
Formule : HK = poids * (out * in)²

Cours 1 : Pert & Gantt

Cours 2 : Organisation et suivi de projet

Cours 3 : Estimation des Coûts

Cours 4 : Spécifications

Cours 5 : Quantifications

Cours 7 : Techniques de tests

Tests

Difficultés et limites

Types de tests

Techniques générales

Techniques fonctionnelles

Conditions d’arrêt
Cours 6 : Tests
Tests

Pourquoi faire des tests ?


Activité liés à différentes conjectures (humaines, logiciel, …)
Utilité du test : évaluer le système
Un test réussi est donc un test qui trouve des erreurs

Deux finalités :
Vérifier le respect des exigences spécifiques
 Identifier les écarts entre les résultats réels et estimés

Cours 6 : Tests
Tests
Ne pas confondre le terme de « test » avec celui de
« mise en point » !
Test
→ processus de vérification
Mise en point
→ processus de correction
Cours 6 : Tests
Difficultés et limites
Difficultés

Exaustivité & Pertinance
Il faut tester par choix car il est impossible de tout tester

Critère d’arrêt
Il faut savoir quand s’arrêter de tester
Coûts
Il faut arriver à un bon compromis.
Qualité
Délais
Cours 6 : Tests
Difficultés et limites
Limites


Effectuer tous les tests possibles n'est pas nécessaire
Un système ne peut jamais être garanti sans
défauts !
Cours 6 : Tests
Types de tests

Test unitaire :


Test d’intégration :


Permet de vérifier l’intégration des modules du programme
Test système :


Permet de vérifier la qualité des composants du programme
Permet de valider les spécifications et les exigences fonctionnelles
Test de recette :

Test final permettant la validation du système par rapport aux
exigences
Cours 6 : Tests
Techniques générales

Fonctionnelles ou non fonctionelles

Certaines techniques s’utilisent dans les deux cas

Tests:
Par affirmation/négation
 Boîte blanche/noire
 Par prédiction des erreurs
 Automatiques

Cours 6 : Tests
Techniques générales

Test par affirmation/négation :

Vérifie la conformité d’un système aux exigences formulées
Cours 6 : Tests
Techniques générales

Test boîte blanche :
 Permet

de vérifier la façon dont le système est construit.
Test boîte noire :
 Utilisé
uniquement lorsque l’on étudie les entrées/sorties.
Cours 6 : Tests
Techniques générales

Test par prédiction des erreurs:
 Informations
 Résultats
concernant l’application à développer
des phases précédentes
 Expèrience
en test de logiciels similaires
 Connaissance
des erreurs types d’implémentation
Cours 6 : Tests
Techniques générales

Tests automatiques :

Objectifs : Comparer l’effet attendu et l’effet désiré

Tests existants : performance, charge, volume

Ces derniers permettent d’éxécuter un plus grand nombre de
tests par rapport aux méthodes manuelles.
Cours 6 : Tests
Techniques fonctionnelles

On s’intéresse aux fonctionnalités du système

Respect des exigences fonctionnelles :
Analyse partitionelle
 Test aux limites
 Test aléatoire
 Test de transition d’état
 Test statique
 Test de navigation

Cours 6 : Tests
Techniques fonctionnelles

Analyse partitionnelle:

Réside sur la possibilté de répartir les entrées et sorties de
manières cohérentes.
Cours 6 : Tests
Techniques fonctionnelles

Test aux limites :

Basé sur le même principe que l’analyse partitionnelle mais, ici,
test la limite de chaque classe et non un représentant de telle
ou telle classe de manière aléatoire.
Cours 6 : Tests
Techniques fonctionnelles

Test aléatoire :

Permet de créer automatiquement des jeux de tests et de
détecter des défauts cachés.
Cours 6 : Tests
Techniques fonctionnelles

Test de transition d’état :

Représenter en fonction des états possibles du systèmes.

Jeux d’essais tirés des spécifications (ex: UML).

Approche utile pour les tests par affirmation.
Cours 6 : Tests
Techniques fonctionnelles

Test statique :


Vérification du logiciel sans l’éxécuter.
Test de navigation :

Permet d’évaluer la logique métier de bout en bout.
Cours 6 : Tests
Conditions d’arrêt

Arrêt des tests :


C’est une décision difficile qui est prise de façon arbitraire.
Mais il existe des critères plus objectifs pour déterminer
l'arrêt des tests:
 Le
degré de conformité aux exigences est atteint
 La taux de couverture de test du code
 Le nombre de jeux de tests prévus, conçus, réussis ou ratés informent
sur l'état d'avancement des tests
 Le taux de détection d'erreurs et sa stabilité
Cours 6 : Tests
Conditions d’arrêt : Couverture d'un test


La couverture de test permet :

Selectionner le type de tests adequat

Définir quand arreter les tests en garantissant que le test de l’application est satisfaisant
Un critère A couvre un critère B si et seulement si tout
test satisfaisant A satisfait aussi B.
Cours 6 : Tests
Conditions d’arrêt :Couverture d’un test

Couverture tests fontionnels

Il faut couvrir toutes les fonctionnalités mentionnées dans les
spécifications quelle que soit la phase de test considérée
 Tests
structurels :
C0 : couverture de chaque instruction
 C1 : couverture de toutes les branches  construire graphe

 Test
de tous les chemins
Chemin difficile à trouver
 Boucle = infinités de chemins

Cours 6 : Tests
Suivi des erreurs

Le suivi des erreurs permet de conserver une trace des :
Erreurs qui se sont produites
 Durées entre deux erreurs successives


Ca permet de :
Mieux déterminer une date de livraison
 Motiver les testeurs et les développeurs en exhibant les
défauts de leur travail

Cours 6 : Tests
Suivi des erreurs

Cours 1 : Pert & Gantt

Cours 2 : Organisation et suivi de projet

Cours 3 : Estimation des Coûts

Cours 4 : Spécifications

Cours 5 : Quantifications

Cours 6 : Tests

Techniques non fonctionnelles

Types de tests

Processus

Tests unitaires JUnit

Qualités et normes
Cours 7 : Techniques de tests
Techniques non fonctionnelles

Test de sécurité: confidentialité des donnée et
logiciel.

Test de stress: permet de tester le système de ma
niere a supporter les pics de charges d’activité.

Test de convivialité: Test concernant les IHMs

Test de Volume: Test concernant le traitement de
donner à volume conséquent
Cours 7 : Techniques de tests
Types de tests

Test unitaire :

Tests effectués par le développeur sousla supervision du
chef de projet.

Objectif : Valider la qualité du code et la performance de
chacun des composants développés.
Cours 7 : Techniques de tests
Types de tests

Test d’intégration :

Tests effectués par les développeurs et les testeurs
d’intégration.

Objectif : Valider l’intégration des modules (entre eux puis
dans leur environnement d’exploitation définitif).
Cours 7 : Techniques de tests
Types de tests

Test système :

Valide les spécifications techniques détaillées et les
exigences fonctionnelles.
Cours 7 : Techniques de tests
Types de tests

Test d’intégration système :

Utile lorsque le logiciel fonctionne sur une plateforme avec
d’autres logiciels.

Test l’intégration en assurant l’interopérabilité et l’absence
de répercussions négatives de son fonctionnement sur les
autres systèmes et inversement.
Cours 7 : Techniques de tests
Types de tests

Test d’installation :


Test intégral du programme d’installation
Test de recette :

Test la conformité du système avec les spécifications.

Assure le fonctionnement correct du système avant sa
livraison.
Cours 7 : Techniques de tests
Types de tests

Test d’exploitation :


Recette par les exploitants ou administrateurs du système.
Test bêta :

Phase où l’on considère que l’application est stable pour
être diffusée (mais pas à grande échelle).
Cours 7 : Techniques de tests
Types de tests

Test de régression :

Test faisant suite à une modification de l’application.

Consiste à comparer les résultats obtenus avant et après
modification du logiciel.
Cours 7 : Techniques de tests
Processus

Processus de test dépend du cycle de vie
Cycle de vie en V : une phase de test est associée à
chaque étape de développement du logiciel
 Cela permet :

 d’anticiper
les difficultés de gestion
 de garantir la testabilité du logiciel
Cours 7 : Techniques de tests
Processus
On
On
On
On
prépare les tests pour que le testeur intervienne
a un regard externe
précise les résultats attendus
le montre au client/testeur pour savoir si ça correspond
Cours 7 : Techniques de tests
Processus
Cours 7 : Techniques de tests
Processus

Résultat des tests = fiches d'anomalies.

Test boite blanche : test de la qualité du code (syntaxique) sans
exécuter l’application  faciliter la maintenance.

Plus les anomalies restent longtemps non détectées, plus elles
coûteront cher à être corrigées.

Lien entre qualité et tests : Les tests vérifient, le respect de la qualité.

Les tests commencent idéalement à la fin de la phase de conception.

Pour avoir le label ISO9000, une entreprise doit disposer d’une
démarche de test bien organisée et claire
Cours 7 : Techniques de tests
Tests unitaires JUnit

JUnit : Framework de test unitaire pour le langage de
programmation Java.

Les avantages :
 Facilités
pour le test unitaire d'applications Java
 Assertions pour exprimer les oracles (sorties attendues)
 Lancement automatique des suites de test
 Formatage du diagnostic
 Test de non régression facilité
Cours 7 : Techniques de tests
Qualité et normes

Qualité d’un processus définit par
Facteurs
 Critères
 Métriques


Points importants à retenir :

Un projet s’élabore de manière hiérarchique et organisée

Bien analyser les besoins des utilisateurs est crucial pour les finalités du
projet

Une estimation de la durée et des coûts permet de respecter les exigences
du projet

Les tests permettent de valider le programme afin de respecter tout type
d’exigence au maximum
Merci pour votre attention
 Avez-vous des questions ?


similar documents