Qualité du code et tests logiciels
Quels sont les buts de la formation ?
Programme de la formation
Comprendre la Qualité logicielle
Principes, quantification, justification de la mesure et dette technique
Métriques de mesure de la qualité du code :
- Indice de spécialisation d'une classe
- Indice d'instabilité d'une librairie
- Coefficient d'abstraction d'une librairie
- Distance de la bonne conception d'une librairie
- Complexité cyclomatique d'une méthode
- Taux de couverture d'une méthode par les tests
- Autres unités mesurables
Mesurer la qualité du code
Bonnes pratiques de codage CMD, PMD, CheckStyle
Outils de mesure de qualité de code : SonarQube, FindBugs,VeraCode,...
Analyse d'applications
Gestion des erreurs
Valider les entrées utilisateur
La limite des recherches classiques
Regex simple
Les ensembles de caractères
Les différents ensembles
Les ensembles préconçus
Les quantificateurs
L'échappement
Apprendre les techniques de conception de tests
Types de tests : unitaires, fonctionnels
Tests basés sur les spécifications : partition d'équivalence, transition d'état, analyse des valeurs limites
Tests basés sur la structure : code, décisions, conditions
Tests basés sur l'expérience : intuition, expérience, connaissances
Maîtriser l'approche BDD (Behaviour Driven Development)
Approche BDD vs TDD
Langage Gherkin : syntaxe, scénarios
Outils : jBehave ou Cucumber ou autre
Automatisation des tests
Ecrire des tests d'IHM pour des applications web
Panorama des outils de tests d'IHM
Selenium : présentation, fonctionnalités
Selenium IDE : présentation, syntaxe des scripts de test
Selenium Web Driver et programmation, couplage avec un framework xUnit
Gestion du JavaScript
Exécution de tests
Mesurer la performance d'une application web
Types de tests : charge, performance, dégradation des transactions,...
Planification des tests de performance dans le cycle de développement
Optimisation de code
Méthodologie : analyse de référence, tests préliminaires, test de charge à grande échelle
Outils disponibles : JMeter, HP LoadRunner, ...
Protocoles
Mesures de charge et de performance
Scripting



Chargement...