Journée Française des Tests Logiciels
I’m sharing with you a few feedbacks about the conference I had the chance to attend at the begining of March 2012 in Paris. This “journée” is organized every year by the CFTL (Comité Français des Test Logiciels) and gathered all the actors of software testing in France. After this small introduction in english I will present you more specific informations in French…because it is the French Day of Software Testing: JFTL meaning “Journée Française des Test Logiciels”.
I attended three conferences:
- the first one was about static analysis of code and how to optimize strategy of tests. Very interesting to see how a “good” code can lead to less bugs, less code and easier to maintain code, which means to a better software, the dream of every QA team.
- the second one propose to introduce a well known practice in the OBM team: scrum, and specifically what are the main advantages to have a tester in the scrum team.
- the third one details a workflow of bug management using open source tools
And now in french…
Je vous présente ici mes retours sur la Journée Française des Test Logiciels (JFTL organisé par le CFTL) qui a eu lieu le mardi 03/04/2012 au Cap 15 à Paris.
1ère conférence: Contribution de l’analyse statique à l’optimisation de la stratégie de test
On y a parlé de l’intérêt de l’analyse de code et du retour sur investissement évident : sur la qualité du code bien sûr et par conséquent sur le coût du logiciel. Mais si on va au-delà, améliorer son code en respectant des règles strictes produit :
- moins de défauts (fiabilité)
- moins de code (meilleure maintenabilité)
- un code plus lisible (donc plus facile à faire évoluer, à débugger…etc)
- ….et donc moins de revue et test, moins de rework, et donc une productivité accrue
Suite à une étude du CNES, on voit une relation entre la complexité du code et le nombre de défaillances. Cette étude montre, par exemple, que pour une complexité de 50 chemins, on a de l’ordre de 8 bugs après livraison. Alors que pour une complexité de 25 chemins, on en a plus que 2 après livraison. Soit 4 fois plus de bugs pour seulement 2 fois plus de complexité.
=> D’où la nécessité de définir une complexité maximale, et de tout faire pour éradiquer tous les bouts de code qui la dépassent.
Pour continuer avec les chiffres, le speaker considère que grâce à l’analyse statique, on réduit le coût total d’un projet :
- de l’ordre de 20 à 40% avec un code bien structuré
- de l’ordre de 5 à 10% grâce à la détection précoce des défauts
- on respecte les délais
- et on a des équipes bien plus motivées
Techniques d’analyse statistiques :
- détection de constructions erronées (exigence de fiabilité) : absence de break dans switch/case…
- complexité des composants (exigence de maintenabilité)
- analyse des flots de contrôles (exigence de maintenabilité), permettant de détecter d’éventuelles constructions à risque, du code mort, de la duplication de code
- analyse de couplage / des dépendances (exigence de portabilité) : saut de niveau, interdépendance
Gestion des priorités :
Avec de bons outils d’analyse, on se retrouve avec des tonnes de retour, certains plus importants que d’autres. Les priorités sont à réfléchir selon:
- la criticité
- l’utilisation fonctionnelle
- la localisation connue des défauts précédents
- la complexité
Avec ces 4 facteurs combinés, on en déduit là où les premières actions d’amélioration devront être prises.
2ème Conférence: Tester en Scrum, ça bouge
Cette présentation montrait les bases de la méthodologie Scrum que tout le monde connaît déjà. Quel est l’intérêt pour l’équipe Scrum d’avoir un testeur dédié. Le test en Scrum est:
- Motivant: grace aux cycles courts, les retours arrivent quand c’est encore chaud
- Intégré: il peut influer sur l’implémentation en cours
- Gratifiant: on a rapidement l’assurance de la qualité de son travail
- Encadré: au sein du scrum planning et des cycles courts associés
- Animé
3ème Conférence: Workflow et gestion des anomalies en environnement open source
Description d’un projet d’Orange Portails avec utilisation d’outils open source (alors que je pensais que le sujet concernait de développement d’un projet open source, et pas la simple utilisation d’outils open source) customisés. Utilisation dans leur cas de FusionForge, Testlink, Selenium, JMeter et HP QTP pour l’automatisation. Je passe…
Mes conclusions:
- De plus en plus de monde à ce genre d’évènement. Le métier est en constante croissance, et les chiffres l’attestent puisque la tendance est clairement à augmenter les budgets QA (en pourcentage) dans les projets.
- Même si le sujet principal est le test et la qualité logicielle, on se rend compte qu’on y parle beaucoup de méthode agile et notamment de Scrum. L’agilité logicielle serait-elle devenue clairement un synonyme de qualité logicielle ?
- Au milieu des offres commerciales qu’on trouve dans les stands (des outils qui en font toujours plus), on trouve des choses potentiellement intéressantes. Je pense notamment à l’outil d’un éditeur qui permet de mieux analyser la couverture de test en faisant tourner des agents qui tracent le code qui a été utilisé pendant que les testeurs jouent leurs tests: l’outil (qu’il va me falloir essayer) permet ainsi d’éviter les redondances de test, de mettre le doigt là où on ne va jamais, etc.
- Il faut faire de l’analyse statique de code
- J’ai à ma disposition les slides de ces conférences mais aussi d’autres auxquelles je n’ai pas assisté: Amélioration continue application Web, Améliorer les processus avec CTP, Le mythe du ROI, Le pilotage par les tests, Les tests dans le contexte SOA, Méthodologie participative MOA MOE, Qui a tué ma prod ?, Test de sécurité DGA Smartesting (accès restreint à Linagora).