Vous êtes sur la page 1sur 24

Les tests, Qualit et tests.

Le 14/02/2007.

Ralis par Fateh Bekhouche, Julien Girardet et Fabien Offroy.

Les tests, Qualit et tests.

But:

Assurance que le logiciel ralise les fonctions attendues. Assurance que le logiciel fonctionne correctement. Diminution des cots lis au bug.

vise amliorer la qualit du logiciel

Plan

Introduction

Dfinition Niveau de dtail Niveau daccessibilit Caractristique

Classification des tests


Plan de test Outils de test automatique Place du test dans le cycle de vie Limites lies aux tests Recommandations pour laction future Conclusion

Introduction

Dfinition:
IEEE:

Le test est lexcution ou lvaluation dun systme ou dun composant par des moyens automatiques ou manuels, pour vrifier qu il rpond ses spcifications ou identifier les diffrences entre les rsultats attendus et les rsultats obtenus doracle: rsultats attendus dune excution. de 30 60% du cot total.

Notion Cots:

Classification des tests

Classification des tests

Niveau de dtail:

Test unitaire: procd permettant de s'assurer du fonctionnement correct d'une partie dtermine d'un logiciel ou d'une portion d'un programme. Test dintgration: a pour but de valider le fait que toutes les parties dveloppes indpendamment fonctionnent bien ensemble. Test non rgression: a pour but de vrifier que la nouvelle version du logiciel fonctionne de la mme manire que la version prcdente, et que les volutions de la nouvelle version n'ont pas amen directement ou indirectement un mauvais fonctionnement.

Classification des tests

Niveau daccessibilit:
Boite

noire:
entre
Fonctionnalit

sortie

Boite

blanche:
a=b; if .. while..

Identifier tous les chemins logiques. Donnes de test produites partir dune analyse du code source.

Classification des tests

Selon la caractristique :
test

fonctionnel :

vrifier que les fonctions sont bien atteintes

Classification des tests

Selon la caractristique :
test

de performance : mesurer les temps de rponse d'un systme en fonction de sa sollicitation

Test de tenue en charge Test de capacit Test en stress

Classification des tests

Selon la caractristique :
test

de robustesse : valider la robustesse du logiciel vis--vis de son environnement.

Donnes invalides pannes des quipements externes Intrusion

Plan de test

Document dcrivant :

Objectifs du tests Technique de tests Environnement de test Responsabilits les tapes de tests et planning :

1. tablir les objectifs des tests 2. concevoir les jeux de tests 3. crire les jeux de tests 4. tester les jeux de tests 5. excuter les tests 6. valuer les rsultats des tests

Outils de test automatique


Pourquoi utiliser un outil de test ?

Rduire le temps requis pour tester Amliorer la productivit des testeurs Obtenir un enregistrement organis et dtaill des tests excuts Amliorer la rptitivit ou la rutilisation des tests => Amliorer la qualit des tests => Amliorer la qualit de l'application

Mais un test automatique cote 10 fois plus cher quun test manuel.

Outils de test automatique

Outil danalyse de code

Analyse statique / Analyse dynamique

Outil dexcution de test


Capture et re-excution des scripts raliss Sauvegarde des tests et des rsultats de tests Gnration de scripts de test Gnre toutes les cas possibles

Gnrateur de jeux de test

Outils de test de performance


Test de monte en charge Simulation denvironnement volution agressive de laccs aux ressources

Place du test dans le cycle de vie

Le test logiciel, lorsqu il est correctement mis en uvre, peut-tre omniprsent tout au long du cycle de dveloppement. Son but tant de trouver les dfauts du systme, il peut intervenir avant mme le dveloppement (ce que prne l une des pratiques de l eXtreme Programming) ou tout la fin, pour les tests de recette. Il existe donc plusieurs niveaux.

Projet
Expression de besoins

Formation

Stratgie de test
Conception & Spcifications

Recette Fonctionnelle & Intgration

Tests utilisateur Dploiement

Plan de test
Dveloppements

Excution des tests

Cahier des charges & Livrables

Produit Final & Documentation

Quand tester ?

Une phase de tests existe pour chaque tape du dveloppement (spcifications, conception gnrale, conception dtaille, dveloppement / codage) Exemple de modle de dveloppement : le cycle en V

Limites lies aux tests

Il existe des qualits qui ne sont pas testables :

Exhaustivit
Ex: Un logiciel avec 5 entres analogiques sur 8 bits admet 2^40 valeurs diffrentes en entre

Difficults dordre psychologique ou culturel

Le test est un processus destructif : un bon test est un test qui trouve une erreur Les erreurs peuvent tre dues des incomprhensions de spcifications ou de mauvais choix dimplantation

Maintenabilit

Il existe une alternative aux tests manuels : lautomatisation des tests permet de rduire le cot des tests mais son utilisation est trop rare :
Tests

manuels = 85 % des erreurs Tests automatiques = 15 % des erreurs +Tester plus et plus souvent +Rutilisation de tests pour dautres projets + Rapidit, reproductibilit, fiabilit - Difficults trouver les bons tests - Difficults de maintenance

Recommandations ou alternatives pour laction future

Choisir un outil de test adapt aux besoins du logiciel (simulateurs, analyseurs de performance, gnrateurs de donnes de test, calcul de mtriques, etc.) Mais attention ne pas oublier que lautomatisation ne peut tre complte et que les tests automatiques ne remplacent pas les tests manuels.

Recommandations ou alternatives pour l'action future

Le modle TMM a t introduit pour proposer une relle mthodologie de test logiciel:
Sparer le debugging du test Prendre en compte tous les aspects dun processus de test structur (cycle de vie, techniques, infrastructure, organisation) Rendre transparent ltat davancement de leffort de test Autres modles

Recommandations ou alternatives pour l'action future

Lapproche RBT est une mthode permettant dlaborer des stratgies de test fondes sur lvaluation des risques et des besoins prioritaires de lentreprise.

Elle consiste classer les exigences de tests par ordre de priorit, puis appliquer chaque test, une pondration en fonction du degr dexposition de la fonctionnalit (mesure de la probabilit doccurrence dun dysfonctionnement).

Cette mthode se substitue avantageusement, celles qui consistaient traditionnellement valuer les risques techniques et concentrer
leffort de test sur ces aspects.

Conclusion

Les tests et la qualit sont INDISSOCIABLES !!!! Les quipes qui prennent en compte la relation entre les tests et la qualit de leur livrable ont une avance considrable en terme de russite du projet On voit apparaitre le poste de Chef de projet de qualification qui a pour rle de vrifier la qualit de l'ensemble des livrables du projet

Bibliographie

www.testissimo.com http://fr.wikipedia.org/wiki/Test_%28informatique%29 http://fr.wikipedia.org/wiki/Test_unitaire http://fr.wikipedia.org/wiki/Test_d%27int%C3%A9gration http://fr.wikipedia.org/wiki/Non-r%C3%A9gression http://fr.wikipedia.org/wiki/Bo%C3%AEte_noire_%28informatique%29 http://fr.wikipedia.org/wiki/M%C3%A9thode_formelle_%28informatique%29 http://master-info.univ-fcomte.fr/m2.pro/cours/coursTestBL.pdf http://dico.developpez.com/html/1128-Projet-plan-de-test.php http://dico.developpez.com/html/1139-Projet-tests.php http://dico.developpez.com/html/1125-Projet-niveaux-de-test.php
Test Logiciel, Maurice Rozenberg, Eyrolles, 1998