Trolldi : la phase de tests dans le cycle de vie d'un développement logiciel expliquée en images
Comment organisez-vous vos tests ?

Le , par Stéphane le calme, Chroniqueur Actualités
Comment organisez-vous vos tests ?
Dans le cycle de vie d’un développement logiciel, la phase de tests a pour objectif de s’assurer que le système réagit de la façon prévue par ses développeurs ou, le cas échéant, est conforme aux besoins du client.

Tout d’abord, la version alpha, qui n’est pas censée être accessible à un large public. Ici, il s’agit de la première phase de développement concret du logiciel après avoir codé l’application. Très souvent, le produit en alpha test n’a pas toutes les fonctionnalités prévues pour le produit final. En alpha test le produit peut présenter un nombre important de bogues. Dans notre test de martelage de clou, bien que le marteau vient frapper contre le clou, il s’effrite après que le clou se soit quand même planté dans le bois.


Puis la bêta test. Durant cette phase, le logiciel est soumis à l’appréciation d’un plus grand panel d’utilisateurs. Il présente moins de bogues que dans sa version alpha. Rappelons qu’une bêta test peut être fermée (elle nécessite une invitation pour y participer) ou ouverte / publique. Les Alpha et Bêta ainsi que les Bêta entre eux sont souvent complémentaires car ils situent différemment les problèmes divers et variés. Dans notre test de martelage de clou, le marteau n’a plus la forme rudimentaire qu’il arborait en alpha.


Il arrive que certains tests soient fastidieux et en inadéquation avec les impératifs de développement actuels. Des tests de régression ou des tests à grande combinatoire par exemple voient leur réalisation être aussi répétitive que chronophage. C’est à ce moment qu’intervient l’automatisation des tests, qui nécessite tout de même que le test réponde à certains critères :
  • le test est systématique : il doit être exécuté à chaque nouvelle version de l'application ;
  • le test est répétitif : il est présent dans de nombreux scénarios de test ;
  • le test est automatisable : il est possible techniquement de faire jouer le test par un robot.


Pour vérifier la stabilité, un test de stress peut être lancé. Il va servir à analyser le comportement d’un logiciel lorsqu’il est soumis à des cas de non conformité des applications. Le test de stress permet de révéler le comportement de l’application et prévoir les causes afin de rendre son logiciel plus fiable. Ici, l’activité maximale attendue tous scénarios fonctionnels confondus en heures de pointe de l’application sera simulée, pour voir comment le système réagit au maximum de l’activité attendue des utilisateurs. Dans notre cas, une pluie de clous et de marteaux est déversée, pourtant au final un seul clou sera planté.


Les tests fonctionnels de bout en bout quand à eux couvrent l'ensemble des intégrations nécessaires pour la mise en œuvre d'un service logiciel répondant à une problématique fonctionnelle. Contrairement au test unitaire qui va permettre de vérifier le bon fonctionnement d'une partie précise d'un logiciel ou d'une portion d'un programme (module), ici chacun des modules indépendants du logiciel est assemblé et testé dans l’ensemble.


Un test manuel (ou encore test d’utilisateur / d’utilisabilité) permet d’observer directement la façon dont l’utilisateur se sert d’une application et ainsi identifier concrètement les véritables difficultés qu’il rencontre (problèmes d'utilisabilité). Ici, l'utilisateur doit suivre des scénarios d’utilisation construits afin de vérifier les hypothèses identifiées précédemment. Ces scénarios correspondent généralement à des tâches typiques de l’utilisateur.


Source : Monkey User

Et vous ?

Comment organisez-vous vos tests ? Avez-vous des anecdotes à partager ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Florian_PB Florian_PB - Membre averti https://www.developpez.com
le 25/11/2016 à 10:19
Je fais tester par mon supérieur, si il trouve un bug c'est qu'il a encore touché à mon code.
Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 25/11/2016 à 10:45
Le trolldi, on déploie direct en prod bien sur:
Avatar de Andarus Andarus - Membre averti https://www.developpez.com
le 25/11/2016 à 10:46
On fait pas de test car "c'est une perte de temps". Ce qui donne plus tard "putain les mec c'est quoi encore cette régression bordel vous avez pourtant eu au moins 30 minutes pour merger/valider avant la livraison"
Avatar de kaloo811 kaloo811 - Futur Membre du Club https://www.developpez.com
le 25/11/2016 à 10:52
"Tester, c'est douter"
Avatar de jpouly jpouly - Membre habitué https://www.developpez.com
le 25/11/2016 à 10:55
Les clients sont là pour ça non
Avatar de lper lper - Membre confirmé https://www.developpez.com
le 25/11/2016 à 11:35
Citation Envoyé par Andarus Voir le message
On fait pas de test car "c'est une perte de temps".
Surtout ceux réalisés par les utilisateurs...

Comme ils sont pas là, c'est une petite vengeance !
Avatar de zm1984 zm1984 - Nouveau Candidat au Club https://www.developpez.com
le 25/11/2016 à 11:56
La phase de tests dans le développement d'un logiciel est très importante juste comme dans la production de n'importe quel produit.
Elle assure la qualité du produit en revilant les anomalies et les défauts à régler avant (alpha) et après (beta) la laivraison du logiciel. Dans le domaine de recherche beaucoup de travaux ont essayer d'optimiser cette phase pour minimiser les coûts en matière de budget et du temps en proposant des modèles automatique de tests qui visent par exemple à prévoir les modules à tester d'avantage.
Avatar de lper lper - Membre confirmé https://www.developpez.com
le 25/11/2016 à 12:25
Citation Envoyé par zm1984 Voir le message
La phase de tests dans le développement d'un logiciel est très importante juste comme dans la production de n'importe quel produit.
Elle assure la qualité du produit en revilant les anomalies et les défauts à régler avant (alpha) et après (beta) la laivraison du logiciel. Dans le domaine de recherche beaucoup de travaux ont essayer d'optimiser cette phase pour minimiser les coûts en matière de budget et du temps en proposant des modèles automatique de tests qui visent par exemple à prévoir les modules à tester d'avantage.
La phase de relecture aussi, désolé ça m'a un peu écorché les yeux.
Avatar de yoyo3d yoyo3d - Membre confirmé https://www.developpez.com
le 25/11/2016 à 13:53
Les clients sont là pour ça non
ma situation professionnelle étant plutôt du coté des clients... je dirais que je teste moi même... et que les boites nous refacturent les "demandes de développement" pour mettre à jour...

visiblement, ça doit être une pratique courante...
Avatar de JCD_31 JCD_31 - Membre régulier https://www.developpez.com
le 25/11/2016 à 15:47
2 principes très utiles que j'utilise au quotidien

Compilé c'est livré!
Nos clients sont nos meilleurs beta-testeurs
Contacter le responsable de la rubrique Accueil