Précédent   Forum des professionnels en informatique > Général Développement > Conception
Conception Forum sur le cycle de développement : conception, modélisation, méthodes, tests, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/01/2012, 09h22   #1
Membre actif
 
Inscription : août 2005
Messages : 282
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 282
Points : 164
Points : 164
Par défaut Pourquoi j'ai abandonné les tests automatiques

Salut à tous

j'ai achevé un projet de développement d'une application et j'aimerais commenter l'expérience que j'ai eu concernant particulièrement les tests.
- Au début du développement, j'effectuais des tests pour toutes les spécifications et fonctionnalités que je développais,

- le développement de ces tests me prenait un temps non négligeable et surtout lorsque un test échouait très souvent en débuggant, je trouvait que l'erreur se trouvait plutôt dans le code du test et non dans le code de la fonctionnalité testée.

- Ensuite il arrivait parfois que, après avoir effectué un test automatique, lorsque j'effectuait le même test manuellement comme un véritable utilisateur, je découvrais certaine erreur qui n'avait pas été détectée par le test automatique correspondant ( dû au fait que l'environnement du test automatique, bien que en principe devrait simuler parfaitement l'environnement du test utilisateur, comportait en réalité certaine différence qui causait des disparités au niveau du résultat de certain test). Donc les tests automatiques ne m'épargnaient pas d'effectuer les tests manuels d'où une perte de temps presque inutile

- Enfin comme les spécifications et la conception de l'application changeaient à une fréquence relativement élevée, les tests écrits ainsi avec trop de peines et de coût en temps de développement devenaient tout aussi obsolètes très tôt sans pouvoir jouer leur rôle anti-régressif.

- Finalement les dernière itérations de mon application ont été faites sans l'écriture des tests automatiques
kisitomomotene est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/01/2012, 11h30   #2
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 8 740
Détails du profil
Informations personnelles :
Âge : 54

Informations forums :
Inscription : janvier 2007
Messages : 8 740
Points : 9 963
Points : 9 963
bienvenue dans le monde réel

De la différence entre la théorie et la pratique ...

(ce que je maintiens , tout en me faisant régulièrement jeter)...
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 20/01/2012, 09h03   #3
Membre habitué
 
Homme Daniel BALLAND
Retraité MO
Inscription : mai 2008
Messages : 69
Détails du profil
Informations personnelles :
Nom : Homme Daniel BALLAND
Âge : 63
Localisation : France, Côtes d'Armor (Bretagne)

Informations professionnelles :
Activité : Retraité MO
Secteur : Finance

Informations forums :
Inscription : mai 2008
Messages : 69
Points : 110
Points : 110
Rien de tel qu'un véritable utilisateur pour tester les écrans.
Ils ont une imagination qui m'a toujours étonné.
__________________
R.BASILE, 1971 : "Il y a mille et un procédés pour accélérer des particules. Le seul véritablement fondamental restant...le carnet de chèques."
dba01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 10h35   #4
Expert Confirmé
 
Inscription : décembre 2007
Messages : 1 911
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 1 911
Points : 3 721
Points : 3 721
Je ferais une réponse d'ingénieur : ça dépend.

Dans de nombreux cas, je suis d'accord avec le posteur initial. Maintenant, quand on a une appli devenue assez stable, mais qui subit régulièrement de petites évolutions, un test de non-régréssion automatique peut être bien utile. Ce qui a été validé une fois, l'humain a tendance, inconsciemment, à le considérer valide pour toujours.

Sinon, j'ai fait un projet de refonte d'un code de 36 ans d'âge(plus que mon âge à l'époque). Ca générait un fichier pour une édition de courriers clients, pour les vieilles imprimantes. Que je devais remplacer par la génération d'un fichier pour Doc1(en XML). Mais le vieux code était illisible, et les doc avaient disparu depuis fort, fort longtemps. Seule solution pour valider mon code : comparer.

Comparer, champ fonctionnel par champ fonctionnel, sachant que chacun des 2 flux avait pas mal de sucre technique autour(juste pas du tout le même sucre); j'avais codé la solution initiale assez au pif(en fonction de ce que j'avais compris d'un existant assez illisible), et j'ai eu à peu près autant d'erreurs dans mon code de solution que dans mon code de comparaison

Le plus drôle : après presque deux mois d'efforts acharnés, il n'est resté qu'un seul écart : la nouvelle chaine donnait échéance le 30 Juin/Septembre, l'ancienne le 31 Juin/Septembre.....Celui-là, on l'a laissé, bizarrement

Donc, oui, un code de test est long et difficille à écrire, avec pas mal d'erreurs. Si c'est pour le bousculer sans cesse, ça ne vaut pas le coup. Ce qui est parfois le cas, parfois non.
__________________
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
3)le temps de comprendre toutes les exigences, le projet est terminé
4)le temps de terminer le projet, les exigences ont changé
Et le serment de non-allégiance :
Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.
el_slapper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 13h04   #5
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 184
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 184
Points : 2 814
Points : 2 814
Bonjour à tous,

Je ne pense pas que ce soit le principe des tests qui est en cause, mais l'organisation d'un projet de développement en général, quelque soit son importance.

Dans le cas présenté par Kisitomomotene, il semblerait que personne (côté "utilisateurs"), ne se soit jamais engagé sur rien !... dans ce cas, il est facile (côté "utilisateurs") de considérer que tout ce qui a été développé est normal/évident et tout ce qui "manque" (du point de vue "utilisateurs") constitue un scandale planétaire !...

En bref, dans notre job (comme dans d'autres), il existe deux "modes" :
  • le mode "guichet" (requête ponctuelle simple, etc...) ;
  • le mode "projet" (application à développer, etc...).
C'est vrai que la frontière est un peu plus épaisse qu'une lame de rasoir mais, 95% des cas sont facilement classables.


Passer une tâche d'un côté, alors qu'elle devrait être de l'autre s'avère très risqué :
  • tâche "guichet" en mode "projet" : ralentissement inutile d'un développement simple ;
  • tâche "projet" en mode "guichet" : développement sans trop d'analyse, aller/retour permanent entre utilisateurs et développeurs, etc...
Kisitomomotene semble avoir travaillé sur un "projet" en mode "guichet" (et doit continuer à tester ses aplpications...).
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h28.


 
 
 
 
Partenaires

Hébergement Web