cmmi, spécifications, testssesalva/files/soft.pdf · cmmi mais aussi d’autresmodèles : itil...
TRANSCRIPT
![Page 1: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/1.jpg)
CMMI, spécifications, tests
![Page 2: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/2.jpg)
CMMI
Cycle de vie
Tests (unitaires, de régression, fonctionnel, de conformité, de sécurité, de robustesse, etc.)
![Page 3: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/3.jpg)
Wikipedia : Le Capability Maturity Model Integrationest une approche interdisciplinaire d'ingénierie des systèmes couvrant les compétences et processus techniques et managériaux.
C'est un modèle de référence qui permet d'évaluer le niveau d'organisation globale d'une entreprise ITrelativement à une métrique d'utilisation de bonnes pratiques, en génie logiciel et management.
Origine des US
![Page 4: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/4.jpg)
Entreprises certifiées:◦ Demande de certification, effectuée par un
organisme agréé CMMI
CMMi modèle pas une norme ?◦ Souvent appelé norme mais c’est un modèle
◦ Norme ISO 9001 = norme qualité au sens général
◦ CMMI est un modèle satifaisant la norme ISO 9001
![Page 5: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/5.jpg)
![Page 6: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/6.jpg)
Pourquoi faire ?◦ Le développement “marchait” bien avant ? Pas tant que ça
◦ => dvp, debuggage, dvp, debuggage, envoi au client => pb de fonctionnement, suivi de bug
◦ Pour les systèmes critiques cette approche est des plus mauvaises ! => validation formelle depuis les années 70 ! Mais pas spécialement dans les entreprises
◦ Aujourd’hui, les entreprises s’interressent de plus en plus à la qualité logicielle (ATOS-ORIGIN (CMMI3), impôts, boeing, intel, …
◦ CMMI mais aussi d’autres modèles : ITIL Cobit,…
![Page 7: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/7.jpg)
Normes qualité logicielle difficile à mettre en place
◦ difficile de changer les habitudes
◦ Lourd et coûteux (test de logiciel/système > 40% du coût pour les syst. Critiques)
◦ Vers des nouveaux métiers informatiques ! Qualité logicielle
Mais certaines entreprises d’Inde sont CMMI 5
![Page 8: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/8.jpg)
CMMI proposé par le SEI (software engineering institute), version 1.3 aujourd’hui
Plusieurs modèles CMMI ◦ acquisition ◦ Développement, doc de 573 pages
CMMI est donc avant tout un référentiel d'évaluation ◦ de la capacité à gérer et terminer un projet
correctement, ◦ proposant nombre de bonnes pratiques liées à la
gestion, au développement et à la maintenance d'applications et de systèmes.
![Page 9: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/9.jpg)
Ces bonnes pratiques sont regroupées en 24 processus, eux-mêmes regroupés en 4 types : ◦ Process Management
(définir, mesurer, contrôler les processus) (méthode de fonctionnement dans l’entreprise)
◦ Project Management
◦ Engineering
◦ Support
◦ et 5 niveaux de maturité.
![Page 10: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/10.jpg)
5 niveaux de maturation:
un projet est supposé monter de niveau au fur et à mesure du temps. Plus le niveau est grand, moins il y a de risques et meilleure est la performance du projet.
Pour instaurer dans les organisations et les projets l'importance de disposer de spécifications clairement établies et définies, même si elles peuvent être révisées en cours de route.
CMMI a également établi l'intérêt de la relecture par un pair (peer review), qui est aujourd'hui l'un des points fondamentaux de l'Extreme Programming, ainsi que du contrôle de version, également très répandu aujourd'hui.
![Page 11: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/11.jpg)
![Page 12: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/12.jpg)
Niveaux de maturité:
Niveau 1:
Le niveau le plus bas montre que l'organisation n'est pas prête, et le projet pas stable.
Ce dernier dépend d'une poignée de personnes, qui ne font pas appel à des processus éprouvés.
Il se peut cependant que le projet aboutisse, mais en dépassant certainement le budget et le temps alloués. Le projet ne construit pas sur les succès passés.
![Page 13: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/13.jpg)
Niveaux de maturité:
Niveau 2:
Le projet construit sur ce qui a été appris précédemment, en faisant appel à une certaine discipline et à une gestion de projet basique.
De fait, le projet est géré selon les plans, avec étapes-clefs et vérification des coûts et des fonctionnalités.
![Page 14: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/14.jpg)
Niveaux de maturité:
Niveau 3:
Ce n'est plus le projet qui dispose d'une bonne discipline, mais l'ensemble de l'organisation, de manière cohérente. Tous les projets s'en trouvent améliorés.
Vérification ,test, gestion de risque,…
![Page 15: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/15.jpg)
Niveaux de maturité:
Niveau 4:
Les efforts de mesure et de gestion autorisent un contrôle sans effort du développement, avec capacité d'ajuster et adapter des projets précis sans troubler les autres. Les performances des processus sont prévisibles en quantité comme en qualité.
![Page 16: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/16.jpg)
Niveaux de maturité:
Niveau 5:
Les processus sont constamment améliorés de manière incrémentale et innovante. Les objectifs sont revus en permanence pour rester proches des besoins du marché. Les évolutions sont anticipées et gérées de bout en bout.
![Page 17: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/17.jpg)
![Page 18: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/18.jpg)
Dans CMMI, on trouve:
Des gestions de planning, de projets, le monitoring et le contrôle de projet, la gestiondes risques, la gestion du client,
le cycle de vie du logiciel,….
Voyons pour la partie gestion de projet:
![Page 19: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/19.jpg)
Cf CMMI doc:
The Basic Project Management process areas address the activities related to establishing and maintaining the project plan, establishing and maintaining commitments, monitoring progress against the plan, taking corrective action, and managing supplier agreements
![Page 20: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/20.jpg)
![Page 21: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/21.jpg)
CF CMMI doc:
The Advanced Project Management process areasaddress activities such as establishing a definedprocess that is tailored from the organization’sset of standard processes, establishing theproject work environment from theorganization’s work environment standards,coordinating and collaborating with relevantstakeholders, managing risk, forming andsustaining integrated teams for the conduct ofprojects, and quantitatively managing theproject’s defined process
![Page 22: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/22.jpg)
![Page 23: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/23.jpg)
IPM+IPPD = Integrated Project Management (with the IPPD addition)
IPPD (integrated product and process development)=>
QPM = Quantitative Project Management
RSKM = Risk Management
![Page 24: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/24.jpg)
Engineering process area
![Page 25: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/25.jpg)
Dossier d’affaire
• PQP : plan qualité projet = référentiel (outils, …• PdT : plan de test• Plan d’avancement projet (remplis par chef de projet => indicateurs
![Page 26: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/26.jpg)
Cahier des charges
![Page 27: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/27.jpg)
Génération d’une Spécification
Génération d’une Implantation
vérification
test
ok
ok
ko
ko
Phase de conception
Phase de validation de la spécification
Phase d’implantation
Phase de validation de l’implantation
Cahier des charges
![Page 28: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/28.jpg)
Cycle en V
![Page 29: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/29.jpg)
Cycle en V pas assez souple, la réalité ?
![Page 30: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/30.jpg)
Méthodes agiles
• Cycles rapides de développement , recherche de scenarios, découpage en taches, attribution des taches, phases de tests et on recommence tant que le client a des scénarios à demander,
• Correspondance continue entre les dev. et le client,• Réunions journalières, etc.
Ex de méthode:• XP (extreme programming) :codage et revue de code en continue
par un binôme !• TDD (Test-Driven Development): Tests faits systématiquement
avant chaque mise en œuvre,• Refactoring important et continu,• Cycles de dev. Rapides, etc.
![Page 31: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/31.jpg)
Méthodes agiles
SCRUM (transparence, inspection, adaptation):
![Page 32: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/32.jpg)
Un « cahier des charges » est un document contractuel décrivant ce qui est attendu du maître d'œuvre par le maître d'ouvrage.
Il s'agit donc d'un document décrivant de la façon la plus précise possible, avec un vocabulaire simple, les besoins auxquels le maître d'œuvre doit répondre.
Pas de technique Elements pour juger de la taille du projet et sa
complexité Contenu peut être modifié sur la base d’un accord
Doit aussi contenir un planning
![Page 33: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/33.jpg)
A) Introduction
1- Contexte Décrire brièvement l'environnement dans lequel s'inscrit le projet (stratégie, enjeux, domaine, etc.)
2- HistoriqueIl est possible de donner un bref historique du contexte dans lequel s'inscrit le projet si cela est pertinent. Gardez à l'esprit que ceci n'est qu'un exemple de cahier de charge. Vous ne devez pas tout appliquer à la lettre.
![Page 34: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/34.jpg)
B) Description de la demande
1- Les objectifsDéfinir les résultats que le projet doit atteindre.Méthode : Un énoncé d'objectif doit comporter un verbe d'action à l'infinitif et un
objet.Exemple : Diffuser un corpus de connaissance assimilable par toute personne de
niveau Bac + 4.
2- Produit du projetProposer une description générale de ce produit.
3- Les fonctions du produitLister et justifier les principales fonctionnalités du produit.
4- Critères d'acceptabilité et de réceptionFormuler des indicateurs précis qui permettent de mesurer si les objectifs de
performance du produit sont atteints.Exemple : Le produit doit répondre à la norme XX0.
![Page 35: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/35.jpg)
C) Contraintes
1- Contraintes de coûtsSpécifier le budget alloué au projet.
2- Contrainte de délaisSpécifier la date de livraison du produit et les éventuelles échéances intermédiaires.
3- Autres contraintesSpécifier les éventuelles autres contraintes à prendre en compte dans le cadre du projet (normes techniques, clauses juridiques, etc.)
![Page 36: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/36.jpg)
D) Déroulement du projet
1- Planification
Représenter l'articulation des grandes phases du projet et des principaux jalons.
2- Ressources
Lister les ressources humaines et matérielles que le client peut mettre à la disposition du prestataire.
![Page 37: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/37.jpg)
E) Authentification
Date et signature du chef de projet et du maître d'ouvrage.
F) Annexes
Lister et joindre au cahier des charges les éventuels documents que le client peut mettre à disposition.
![Page 38: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/38.jpg)
Du cahier des charges => on en déduit unespécification détaillée (avec pl. étapes)
“ce que vous appellez l’analyse”
Plusieurs modèles de spécifications (tous sontformels)◦ Automates, automates temporisés◦ Réseau de petri◦ Lds, lotos et les dérivés stockastiques et temporisés◦ UML, SYSML et les dérivés, merise,…◦ BPEL, (services)
![Page 39: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/39.jpg)
La modélisation UML UML fournit un moyen astucieux permettant de représenter
diverses projections d'une même représentation grâce aux vues.
Les vues statiques, c'est-à-dire représentant le système physiquement diagrammes d'objets
diagrammes de classes diagrammes de cas d'utilisation diagrammes de composants diagrammes de déploiement
Les vues dynamiques, montrant le fonctionnement du système diagrammes de séquence
diagrammes de collaboration diagrammes d'états-transitions diagrammes d'activités
![Page 40: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/40.jpg)
1. Cas d’usages: décrit de façon fonctionnellele système
![Page 41: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/41.jpg)
2. diagramme de classes
+ public- Private# protected
![Page 42: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/42.jpg)
2. diagramme de classesHéritage “est unesorte de “
Composition (classene peut pas existerpar elle même)
association
AggrégationUne classe regroupe d’autres (instance,…)
![Page 43: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/43.jpg)
3. diagramme d’états: montre les états d’un objet au cours du temps
Point de choixDecision (losange)
![Page 44: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/44.jpg)
3. diagramme d’états: montre les états d’un objet au cours du temps
![Page 45: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/45.jpg)
4. diagramme de séquence : relations entre objets dans le temps
![Page 46: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/46.jpg)
4. diagramme de séquence : opérateurs (alt, loop, …)
![Page 47: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/47.jpg)
Beaucoups d’extensions:
◦ SYSML: Systems modeling langages
Langage plus légé
Permet de modéliser des performances, des contraintes mécaniques,…
◦ UML-RT (real time)
Ajout de concept comme la capsule (objet actif)
Ports
Collaboration de diagrammes,…
![Page 48: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/48.jpg)
![Page 49: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/49.jpg)
Ports et connecteurs
![Page 50: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/50.jpg)
Langage de modélisation d’architectures orientéeservices (SOA)
Processus abstrait pour modéliser l’envoi/ l’attentede messages (orchestration)
Utilisé avec les web services
=> donne un fichier XML directement utilisable par par des moteurs de gestion des processus métiers, ces derniers se chargeant d'appliquer les règles du fichier en question.◦ On met en place les services web, on donne ce fichier qui
indique comment interagissent les SW et … c’est tout
![Page 51: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/51.jpg)
![Page 52: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/52.jpg)
Automates: très (très) utilisés pour modéliserles états d’un système d’un objet d’un composant.
Utilisés dans la plupart des langages actuels(UML,…)
![Page 53: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/53.jpg)
![Page 54: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/54.jpg)
![Page 55: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/55.jpg)
TCP : L’automate
Fermé
Ecoute(Listen)
SYNreçu
SYNémis
Réinitialisation
SYN/SYN+ACK
RST
ouverture passive
fermeture
Send SYN
SYN/SYN+ACK
EtablieACK SYN+ACK/ACK
AttenteFermer
DernierACK
FINAttente-1
FIN/ACKFermetureen cours
Fermer/FIN
FINAttente-2
Tempo.expirée
ACK of FIN
FIN / ACK
tempo. expire aprés 2 durée de vie de segment
ACK
Départ
Fermer
RSTTempo. exp.
ouverture active
rcv ACK of FIN
Close/FIN
rcv
rcv
FIN (send)
/ SYN
FIN/ACK
![Page 56: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/56.jpg)
•Automate temporisé d’Alur et Dill composé :•D’états, de transitions, de symboles,•D’horloges réinitialisables,•De contraintes temporelles
S1 S2 S3
S4 S5
?b
!a
?c
?d
!e
?a !e
X<2Y:=0
Y<2Y:=0
X<2 X<2
X≥2
X=2X:=0
•Inconvénient : nombre d’états,du point de vue comportemental et temporel, infinis
![Page 57: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/57.jpg)
Un réseau de Pétri est un graphe représentant les relations entre trois ensembles d’éléments :
◦ places
◦ transitions
◦ arcs
![Page 58: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/58.jpg)
SDL (specification and description language)◦ Proche de UML-RT par beaucoup d’aspects
LOTOS◦ Pour syst. Distribués et paralleles
◦ Notion de dendez vous et d’actions
◦ Complexe
Logiques,…
Estelle, BPML, langage B, VRML (réalité virtuelle),
![Page 59: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/59.jpg)
Beacoups d’outils permettent de décrire des modèles◦ Uml: netbeans, eclipse, argouml,…
Rappel:
VOUS POUVEZ GENERER AUTOMATIQUEMENT LES CLASSES ET PARFOIS DU CODE
Parfois vous pouvez pratiquer directement la phase de vérification et générerautomatiquement les tests
![Page 60: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/60.jpg)
Preuve, model checking
![Page 61: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/61.jpg)
a pour but de vérifier la cohérence de la spécification.
« La vérification formelle est la production d’une preuve démontrant que le produit respecte effectivement la spécification formelle dont il "prétend" être la réalisation. »
![Page 62: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/62.jpg)
Génération d’une Spécification
Génération d’une Implantation
vérification
test
ok
ok
ko
ko
Cahier des charges
![Page 63: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/63.jpg)
Plusieurs types:
◦ Vérification de propriétés (preuve): analyse automatiquede la spécification pour rechercher si des propriétés sontsatisfaites
Interblocage (Deadlock)
Bouclage (Livelock)
Réception non spécifiée
Code mort (état inaccessible,
transition infranchissable…)
![Page 64: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/64.jpg)
Plusieurs types:
◦ Model checking: vérification exhaustive
Exprimé plus formellement par:
étant donné une formule logique p et un modèle M ayantun état initial s, le model checking vérifie si M,s ⊨ p (satisfait).
![Page 65: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/65.jpg)
Outils
Spin basé sur langage promela (C++ + motsclés)
Kronos (automates)
![Page 66: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/66.jpg)
Définitions,Types
![Page 67: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/67.jpg)
Phase de Validation de l'implantation :
◦ aussi appelée la phase de Test,
◦ permet de vérifier que l'implantation satisfait un certain nombre de propriétés de la spécification. Elle permet donc la détection de défectuosités du fonctionnement de l'implantation du système.
Différents types de test : conformité, robustesse, performance, interopérabilité, …
![Page 68: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/68.jpg)
According to the classic definition of Myers "Software Testing is the process of executing a program or system with the intent of finding errors."
According to the definition given by Hetzel, "Testing involves any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results"
![Page 69: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/69.jpg)
Système ou logiciel vu sous forme d’une ou plusieurs boite:
Boite blanche, noire, grise
Test en boite blanche: ceux-ci, aussi appelés tests structurels, sont effectués sur des systèmes dont la structure interne est connue et observable. ◦ exemple le test de boucle qui vise à valider toutes
les boucles d'un programme
![Page 70: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/70.jpg)
Test en boite noire :
cette catégorie rassemble les tests, aussi appelés tests fonctionnels, qui sont appliqués sur des systèmes où la structure interne est inconnue.
Seules les interfaces reliant le système avec l'environnement extérieur sont connues. (PCO)
![Page 71: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/71.jpg)
Test en boite grise
Connaissance d’une partie du système, de l’environnement,…
◦ Ex: accès au serveur web ou est ébergé une appliweb
Connaissance d’hypothèses sur l’application◦ Ex: l’appli web ne prends jamais de mails invalides
![Page 72: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/72.jpg)
Testeur
Implantation
Conformité ?
Spécification
Cas de testPhase
de génération
Phase d’exécution
![Page 73: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/73.jpg)
Junit:import static org.junit.Assert.assertEquals;
import org.junit.Test; public class
MyFirstJUnitTest { @Test public void simpleAdd() { int result = 1; int expected = 1; assertEquals(result, expected); } }
![Page 74: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/74.jpg)
![Page 75: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/75.jpg)
Verdict:
PASS:
FAIL:
INCONCLUSIVE:
![Page 76: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/76.jpg)
Tests de caractéristiques: conformité, robustesse, interopérabilité, etc.
Tests de granularité: nous groupons les tests que l'on trouve souvent en entreprise et qui expriment la granularité utilisée par un test
Test d’accessiblité: rassemble les approches en boite blanche, grise et noire.
![Page 77: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/77.jpg)
Tests de l'usager◦ Ces tests sont effectués au niveau de l'usager qui
manipule le système pour vérifier si ce dernier répond bien à ses besoins. Ces tests, communément appelés beta-tests, permettent de vérifier les services les plus demandés.
Tests d'Interopérabilité◦ Ces tests vérifient si le système développé interagit
d'une façon correcte avec d'autres systèmes extérieurs en observant les fonctionnements des différents systèmes et des communications engendrées. Ces tests permettent de vérifier un service plus global fourni aux utilisateurs.
![Page 78: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/78.jpg)
Tests de Robustesse◦ Ces tests consistent à vérifier la réaction d'un système
dans des conditions d'utilisations extrêmes ou bien son exécution dans un environnement dit hostile.
◦ Ces conditions ne sont généralement pas prévues dans la spécification, cette dernière référençant des conditions de fonctionnement normales.
◦ Ces tests permettent ainsi de vérifier si d'autres erreurs existent telles que des fraudes ou des erreurs d'utilisation du système.
◦ En java: Jcrasher
![Page 79: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/79.jpg)
Tests de Robustesse
Exemple:
Machine à caféQui n’accepteque des pièces
de 1e
Piece de 2e
?
![Page 80: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/80.jpg)
Test de conformité◦ Cas de test générés à partir de la spécification pour
vérifier si le comportement de l’implantation estconforme à celui de la spécification
◦ Test en boite noire ou grise
◦ Pas d’équivalence: “on peut détecter la présence de fautes pas leur absences”
◦ Et le TDD? Tests faits avant MAIS limité: tester des classes (pas des prog complets) => voir test unitaires
![Page 81: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/81.jpg)
Beaucoup, beaucoup de méthodes
◦ Sur divers modèles
◦ Par rapport à diverses architectures (syst. , syst. Distribué, temps réel, stockastique, services,…)
◦ Test unitaire, de regression, fonctionnel(entreprise), voir plus loin
![Page 82: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/82.jpg)
Test basé modèle:
◦ spécification décrite par langage formel(mathématique),
◦ automatisation de la gen. des tests)
◦ Relations d’implantations: on donne uneéquivalence entre une specif. et une boite noire (qu’on ne connait pas)
◦ Plusieurs relations plus ou moins fortes (isomorphisme, équivalence de trace, ioco, etc.)
![Page 83: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/83.jpg)
Test basé modèle de conformité sur automate:
Tour de transition: consiste à trouver une séquence minimale, parcourant au moins une fois chaque transition de la FSM
![Page 84: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/84.jpg)
Test basé modèle de conformité sur automate:
Caractérisation d’états: trouver une signature unique des états (suite d’entrées/sorties, puis test de chaque état de l’implantation
![Page 85: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/85.jpg)
En entreprise (unitaire, regression, fonctionel, outils, etc.)
![Page 86: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/86.jpg)
Tests dits de granularité
Test unitaire
Test d’intégration
Test du système
Test d’acceptation du client
Test de régression
Test de sécurité
![Page 87: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/87.jpg)
Test unitaire
◦ Méthode permettant de s’assurer que la plus petite partie d’une application fonctionne correctement“en isolation”.
◦ Plus petite partie = classe, une librairie, souvent à définir…
◦ Exemple: JUNIT !
![Page 88: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/88.jpg)
(Extrait d’un doc de dvp.com)
Framework JAVA de rédaction et d’exécution de cas de test (test de conformité unitaire)
Assez basique (mieux ? HP quality center maispayant)
Représentation de chaque test par un objet à part (1 test correspond souvent à une classe)
1 test composé de cas de test (test unitaire) permettant de valider les méthodes de la classe
![Page 89: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/89.jpg)
Construction manuelle des cas de test par rapport à une spécification
architecture
![Page 90: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/90.jpg)
Programmeur doit manipuler les classes Testcaseet Testsuite
TestCase implémente l'interface Test et dérive en outre de la classe Assert dont les nombreuses méthodes vous permettront de valider votre code.
Méthode Rôle
assertEquals Vérifie que deux objets sont égaux
assertFalse Vérifie que l'expression est fausse
assertNotNull Vérifie que l'objet n'est pas nul
assertNotSameVérifie que deux références ne sont pas les mêmes
assertNull Vérifie qu'un objet est nul
assertSameVérifie que deux références sont les mêmes
assertTrue Vérifie que l'expression est vrai
fail Provoque l'échec du test
![Page 91: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/91.jpg)
Assertion :expression booléenne supposée vraie.
Vérifier au fil du code que tout se passe comme attendu;
Ex:
AssertTrue(maClasse.isVisible());
![Page 92: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/92.jpg)
Programmeur doit manipuler les classes Testcase et Testsuite mais pas d’heritagenecessaire depuis Junit4
Ajout d’annotations◦ @Test
◦ //attente d’une exception:◦ @Test(expected=IllegalArgumentException.class)
◦ //test d’une durée limitée◦ @Test(timeout=1000)
![Page 93: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/93.jpg)
Exemple:
public class VectorTest « extends TestCase pas obligatoire » {
@Test
public void testClone() {
Vector v1 = new Vector(2);
v1.add("Test");
v1.add("Case");
Vector v2 = (Vector) v1.clone();
assertNotSame(v1, v2);
assertEquals(v1, v2); }
}
![Page 94: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/94.jpg)
public class TestFoobar extends TestCase{
@BeforeClasspublic static void setUpClass() throws Exception {
// Code exécuté avant l'exécution du premier test (et de la méthode @Before)
Ex: Initialisation d’une base}
@Beforepublic void setUp() throws Exception {
// Code exécuté avant chaque test Ex: instanciation de classe ici
}
initialisation
![Page 95: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/95.jpg)
@After
public void tearDown() throws Exception {
// Code exécuté après chaque test
}
@AfterClass
public static void tearDownClass() throws Exception {
// Code exécuté après l'exécution de tous les tests
on fait souvent appel à une méthode cleanup
}
@Test //un cas de test
public void test()
{
assertTrue(true);
}
}
libération
![Page 96: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/96.jpg)
D’autres annotations:
@Ignore, pour rendre indisponible un test
![Page 97: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/97.jpg)
Assertions classiques:◦ Pas de messsage explicite de l’echec◦ Pas de réelle combinaison d’assertion possible
Assertions par contrats => assertThat◦ Facilite la lisibilité:
Assertions de base:◦ Assert.assertThat("texte", IsSame.sameInstance("texte"));◦ Assert.assertThat("texte", IsEqual.equalTo("texte"));◦ Assert.assertThat("texte", IsInstanceOf.instanceOf(String.class));◦ Assert.assertThat(lTexte, IsNull.nullValue());
◦ Assert.assertThat("texte", AnyOf.anyOf(◦ IsInstanceOf.instanceOf(Integer.class),
IsEqual.equalTo("Texte")◦ ));
![Page 98: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/98.jpg)
Messages explicites
@Testpublic voidtestExplicite() {intx = 50;assertThat(x, OrderingComparisons.lessThan(10));}
Message:java.lang.AssertionError:
Expected: a value less than <10>
got: <50>
at org.junit.Assert.assertThat(Assert.java:750)
at org.junit.Assert.assertThat(Assert.java:709)
at TestNonExplicite.testExplicite(TestNonExplicite.java:29
![Page 99: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/99.jpg)
Combinaison de contrats◦ AllOf.allOf(les contrats)
◦ AnyOf.anyOf(les contrats)
Exemple:
Assert.assertThat("texte", AnyOf.anyOf(
IsInstanceOf.instanceOf(Integer.class), IsEqual.equalTo("Texte")
));
![Page 100: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/100.jpg)
Bibliothèque des contrats:
org.hamcrest.beans
org.hamcrest.collection
org.hamcrest.core
org.hamcrest.number
org.hamcrest.object
org.hamcrest.text
org.hamcrest.xml
![Page 101: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/101.jpg)
Les suppositions:
Conditions qui doivent être remplies avant test. Si non, pas d’erreur mais le test s’arrète.
final File lFile = new File("fichier.txt");Assume.assumeTrue(lFile.exists());
Les suppositions: assumeNoException
vérifie qu'une opération s'est déroulée sans lever de
Throwable
assumeNotNull
vérifie qu'aucun paramètre n'est nul
assumeThat
vérifie qu'une condition par contrat est respectée
assumeTrue
vérifie que le paramètre est vrai
![Page 102: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/102.jpg)
Exécution des tests:
Exécution 1 par un 1 ou en utilisant une suite de test
Exécution 1 par 1:
public class TestRunner {public static void main(String[] args) {
Result result = JUnitCore.runClasses(TestJunit.class);for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());}System.out.println(result.wasSuccessful());
}}
![Page 103: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/103.jpg)
Suite de test:
Classe vide annotée avec @RunWith possibilité de changer la classe d'exécution de la
suite dans le @RunWith
Suite.class par défaut
@RunWith(Suite.class) @SuiteClasses({Tests1.class,Tests2.class}) public class TousLesTests {}
![Page 104: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/104.jpg)
Mais aussi @RunWith(Parameterized.class)
exécuteur de test acceptant les paramètres
contient un constructeur avec les données et le
résultat
contient une méthode renvoyant une collection des paramètres : données et résultat
annotée avec @Parameters
![Page 105: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/105.jpg)
@RunWith(Parameterized.class)public class TestsParametres {private int a,b, resultat;
public TestsParametres(int a, int b, int resultat){this.a = a; this.b = b; this.resultat = resultat;}
@Parameterspublic static Collection getParametresAddition(){return Arrays.asList(new Object[][]{{1,2,3}, {3,5,8}, {9,6,15}});}
@Testpublic void additionTest(){Calculatrice calc = new Calculatrice();Assert.assertEquals(resultat, calc.additionner(a, b));}
![Page 106: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/106.jpg)
Interface texte:
![Page 107: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/107.jpg)
Interface graphique
![Page 108: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/108.jpg)
En C++ : cppunit
MAIS aussi en php, en c#, etc.
![Page 109: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/109.jpg)
https://phpunit.de/
Exemple:
<?php
class test extends UnitTestCase {
function test_pass(){
$boolean = false;
$this->assertFalse($boolean);
}
} ?>
![Page 110: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/110.jpg)
Notion de dependence:/**
* @depends Previousmethod*/
Test des sorties$this->expectOutputString('foo');
print 'foo';
Exceptions: /**
* @expectedException PHPUnit_Framework_Error*/
![Page 111: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/111.jpg)
FixturesetUp(), tearDown(), setUpBeforeClass(), tearDownAfterClass()
Suites de test:
<phpunit><testsuites>
<testsuite name="money"><directory>tests</directory>
// ou <file>tests/test1.php</file></testsuite>
</testsuites></phpunit>
![Page 112: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/112.jpg)
Ajout de junit.jar dans classpath
Création d’un test:
“nouveau cas de test Junit”
Il existe aussi des suites !!!
![Page 113: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/113.jpg)
sélection des méthodes
![Page 114: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/114.jpg)
Exécution de votre classe en tant que classeJunit:
![Page 115: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/115.jpg)
Extension de Junit◦ Permet de créer des groupes de tests, de méthodes◦ Peut // les tests, permettre de tester sans concurrence
(Threadsafe) ◦ définir un ordre d’exécution des tests ou pas, etc.◦ Configurations de tests,◦ Data driven testing
avec ◦ des annotations (extension de @before et @after)◦ Des nouvelles assertions
Disponible comme plugin Eclipse
![Page 116: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/116.jpg)
Exemple: dépendance de méthodesimport org.testng.annotations.Test;
public class App {
@Testpublic void method1() {
System.out.println("This is method 1");throw new RuntimeException();
}
@Test(dependsOnMethods = { "method1" })public void method2() {
System.out.println("This is method 2");}}
Méthode 2 est dépendante de Méthode 1, si le test de méthode 1 est FAIL -> le test de méthode 2 ne se fait pas
![Page 117: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/117.jpg)
Tests sur bases de données◦ DBUnit (en java) qui permet d’effectuer d’initialiser
une Bd, de la stocker, d’effectuer des comparaisons entre ce qui est produit en base et ce qui est attendu, et de reinitialiser une BD avant chaque test
Création d’objets simulés lorsque d’autres objets, en plus de ceux testés, sont nécessaires◦ Objets mockés
◦ Mockito (google)
![Page 118: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/118.jpg)
Test de l’interaction entre plusieurscomposants
Parcours en largeur ou en profondeur◦ Largeur: on considère tous les modules et on rafine
leur utilisation (on teste en raffinant tous les modules en ajoutant des détails petit à petit
◦ Profondeur: on teste en détaillant d’abord en ajoutant petit à petit des modules
![Page 119: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/119.jpg)
Test fonctionnel◦ Test de l’application complète vue par l’utilisateur
En Web, tests remplissent pages Web et vérification de résultats(Sélenium-> création de suites de test, enregistrement, etc.)
Ecriture de tests fonctionnels public class temp script extends SeleneseTestCase {
public void setUp() throws Exception {setUp("http://localhost:8080/", "*iexplore");
}public void testTemp script() throws Exception {
selenium.open("/BrewBizWeb/");selenium.click("link=Start The BrewBiz Example");selenium.waitForPageToLoad("30000");selenium.type("name=id", "bert");selenium.type("name=Password", "biz");selenium.click("name=dologin");selenium.waitForPageToLoad("30000");
![Page 120: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/120.jpg)
Test fonctionnel
CasperJS: ◦ outil de script de navigation et de test
◦ Scenario de navigation de haut niveau: simulation d’une personne manipulant une page Web
◦ Test de Dom, clicks, téléchargements, captures d’écran, etc.
![Page 121: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/121.jpg)
Test fonctionnel◦ Avec android ? -> robotium, appium (récent, à voir car Android et ios)
Robotium (it’s like selenium but for Android)
Exemple de test (basé sur JUNIT):public void testPreferenceIsSaved() throws Exception {
solo.sendKey(Solo.MENU);solo.clickOnText("More");solo.clickOnText("Preferences");solo.clickOnText("Edit File Extensions");Assert.assertTrue(solo.searchText("rtf"));
solo.clickOnText("txt");solo.clearEditText(2);solo.enterText(2, "robotium");solo.clickOnButton("Save");solo.goBack();solo.clickOnText("Edit File Extensions");Assert.assertTrue(solo.searchText("application/robotium"));
}
![Page 122: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/122.jpg)
Test du système:◦ = test d’intégration avec tous les modules avec détails
◦ Après les tests unitaires
◦ Souvent manuel ?
◦ Outil: HP quality center, AGL objecteering (softeam)
Test d’acceptation du client:◦ Vérification si l’application correspond à ce que le client
demande (alpha test et beta test)
◦ Avec CMMI 3, cette phase est revue pendant tout le cycle de vie
![Page 123: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/123.jpg)
Arquillian (http://arquillian.org/, redhat): test unitaire, d’intégration, d’acceptation
Plateforme de test (Java, J2EE) permettant:◦ Lancer des tests dans le vrai conteneur (serveur, BD etc.)
et d’y injecter ce que l’on veut (BD, servlet, etc.)◦ De gérer le conteneur, de le lancer, de deployer,etc.◦ De construire un jar de test contenant uniquement les
classes à tester via ShrinkWrap
Extensions drone et graphene permettent de tester appli. Web avec l’envoi de requètes(gestion client et serveur combinées)
![Page 124: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/124.jpg)
Test de non régression:◦ On teste si la modification de code n’a pas eu
d’inpact sur les fonctionnalités existantes
◦ On utilise pour cela les tests unitaires existants et on vérifie qu’aucune nouvelle erreur n’est détectée
![Page 125: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/125.jpg)
Test de non régression:◦ Utilisation d’outils d’intégration continue:
Ex: jenkins
![Page 126: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/126.jpg)
Test de sécurité
◦ Contrôle qu’il n’existe pas de vulnérabilités ( de failles)
◦ Sécurité réseau, d’accès aux BD, de paramètres de champs (web)
◦ Test des log
◦ Test de pénétration (buffer overflow, liens symboliques, race condition (pb de concurrence), troyens, …
◦ Crack des mots de passe
![Page 127: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/127.jpg)
Besoin de monter tout un environnement pour tests unitaires, d’intégration, etc.
1. Environnement de gestion de projet (redmine ou gitlabmais moins complet)
Redmine : outil (appweb) de gestion de projet (gantt, svn, etc.)
![Page 128: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/128.jpg)
Besoin de monter tout un environnement pour tests unitaires, d’intégration, etc.
2. Travail collaboratif, stockage: svn, GitLab, GitHub
![Page 129: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/129.jpg)
3. Serveur d’intégration
Jenkins:
+ plugin de test qualité sur le code (redondance, etc. ) mais moins puissant que Sonar
![Page 130: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/130.jpg)
4. IDE de test (intégré à l’ide de dev ou pas)
◦ Infinitest,
◦ Eclipse,
◦ Visual studio,
◦ Selenium ide,
◦ Archilian,
![Page 131: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/131.jpg)
Qualité du code écrit, sécurité, etc.◦ Ex:Format, boucles, commentaires,…
◦ Jdepend (automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to manage package
dependencies effectively),◦ Jtest(parasoft)◦ Jcrasher (test robustesse automatique en Java)
◦ SOAPIU (test de services web rest et soap)
◦ HPQuality Center (test d’intégration, de regression),
◦ Profiler (Netbeans fuites mémoire)◦ Testlink (test d’integration)
![Page 132: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/132.jpg)
Outils de contrôle qualité: Sonar,
◦ Sonar
Tableau de bord complet des différents projets suivis. Détection rapide du code à risque. Mesures quantitatives : nombre de classes, duplication de code, etc... Mesures qualitatives : couverture et taux de réussite des tests, complexité du
code, respect des règles de codage... Historiques des statistiques, pour en voir l'évolution au cours du temps. Support de plus de 600 règles de qualité (suivant la norme ISO 9126-3). Gestion de profils pour les règles de codage. Visualisation du code source, surlignant les violations des règles de codage
qui s'y trouvent. Fonction "Time machine" permettant de comparer plusieurs versions d'une
même application. Identification des points faibles d'un projet. Support des plugins.
![Page 133: CMMI, spécifications, testssesalva/files/soft.pdf · CMMI mais aussi d’autresmodèles : ITIL Cobit,… Normes qualité logicielle difficile à mettre en place difficile de changer](https://reader030.vdocuments.fr/reader030/viewer/2022041021/5ed04bcfd491622cfa6102ec/html5/thumbnails/133.jpg)
Sonar