Des Lego dans votre logiciel ? Découvrons ensemble en quoi les tests unitaires sont essentiels

Des Lego dans votre logiciel ? Découvrons ensemble en quoi les tests unitaires sont essentiels

byevan.boissonnot Fév. 02, 2018, Qualité logicielle
Des Lego dans votre logiciel ? Découvrons ensemble en quoi les tests unitaires sont essentiels

Poursuivons ce cycle sur la qualité de votre application, de vote site ou application mobile. Après vous avoir présenté le cahier de recette, où vous pouviez intervenir et tester avec le prestataire informatique, découvrons aujourd’hui un autre type de tests : les tests unitaires. Ce sont des types rédigés, et réalisés, par les développeurs. Voyons ensemble comment les tests unitaires sont essentiels dans la qualité de votre logiciel.

Les Legos, retour en enfance

Vous souvenez-vous lorsque vous étiez enfant ? Avez-vous déjà joué aux Legos ?
Vous savez, ces petits blocs que l’on peut assembler ensemble pour créer tout ce que l’on veut.

Que doit-on retenir des Legos ?

  • Chaque bloc est unitaire
  • Chacun des blocs peut s’assembler à un autre (même s’il existe plusieurs types de Legos différents)
  • Un bloc d’un même type est interchangeable

 

Testons une voiture

Vous venez de construire une voiture avec vos Legos.
Comment alors vérifier qu’elle fonctionne bien ?

  1. Vous allez par exemple tester qu’elle roule bien
  2. Vous chercherez à prouver que l’on peut freiner, accélérer
  3. Et vous vous attarderez également à vérifier la direction : aller à droite, aller à gauche.

Tous ces tests sont en fait des tests dits fonctionnels. Pour mettre en place ces tests, vous chercherez plutôt à utiliser :

 

La direction qui ne fonctionne pas

Et là, durant vos tests, vous remarquez que la direction ne fonctionne pas : impossible de tourner à droite.
OK, vous avez le symptôme. C’est une étape importante.

Maintenant, comment connaître la cause ?

Admettons que vous ayez créé une direction faite de plusieurs composants Lego.
Comment alors savoir sur quel composant se situe la panne ?

 

Tester unitairement

Vous allez devoir démonter chaque composant de la direction, et les tester un à un.

Il s’agit d’un premier niveau de test unitaire : vous allez tester un composant, de la direction.

A vous alors de chercher tous les cas possibles pour vérifier lequel ou lesquels ne fonctionnent pas.

Un problème dans un Lego ?

Vous avez réussi à isoler un des composants, comment alors savoir ce qu’il se passe ?

Chaque composant est composé de plusieurs pièces de Lego, n’est-ce pas ?
Il va falloir tester chaque pièce de Lego, un à un.

Vous avez atteint le second niveau de tests unitaires.

bloc lego
Photo by Iker Urteaga on Unsplash

Un principe : isoler au maximum

Que ce soit pour chaque composant, ou bien pour chaque bloc de Lego, une fois assemblés, ils sont interdépendants.

Or, lorsque l’on doit tester un bloc, le principe c’est d’isoler au maximum chaque composant.
Sinon, plus il y a de paramètres à prendre en compte, moins on peut trouver la vraie cause du problème.

Ce principe on va le garder dans les tests unitaires. Comment ?
On simulant le comportement des autres composants liés à celui que l’on teste.

Ici, c’est la notion de Mock, en informatique, en développement logiciel.

Le bon tempo

Le plus souvent, les tests unitaires sont réalisés après coup, c’est à dire, après avoir créé chaque composant.
Et c’est déjà très bien lorsqu’ils sont présents.

Vous l’avez vu, un second réflexe, c’est de créer des tests unitaires à :

  • chaque découverte d’un nouveau problème, pour ajouter des cas de tests aux tests déjà existants
  • chaque évolution développée

Ne peut-on pas améliorer tout ceci, et gagner du temps, et donc de l’argent sur la création de cette voiture en Lego ?

Créer les tests avant de créer les composants

Au lieu de découvrir tous les cas de tests après avoir codé (et remarqué qu’il en manque), ne peut-on pas prévoir les cas de tests en amont, comme pour le cahier de recette ?

Cette technique s’appelle le TDD, pour Test Driven Development.
Ici, nous allons mettre en place des robots en Lego. Ces robots vont avoir comme mission de prouver que les composants (les vrais) Lego que nous allons créer fonctionnent bien.

Ainsi, nous avons bien un fil conducteur, à suivre :

  1. Créer les robots
  2. Leurs ajouter des composants qui vont valider les vrais composants
  3. Puis, et seulement après les deux premières étapes, nous créons les composants finaux
  4. Enfin, nous demandons aux robots de vérifier les composants, (ils ont été conçus pour ça)

Ainsi, en préparant les tests en amont, vous l’aurez compris, vous allez bénéficier d’une check-list de tout ce que vous devrez réaliser et mettre en place dans chaque composant fait en Lego.

Les tests unitaires sont essentiels, vous l’aurez remarqué pour augmenter la qualité de vos composants, de vos objets faits en Lego.
Ils deviennent encore plus puissants lorsqu’ils sont mis en place avec un principe TDD.

Pareto à votre secours

Saviez-vous que les testeurs ont un vice ? Ce vice n’est pas un des sept pêchés capitaux, heureusement.
Non, il s’agit pourtant d’un vice qui peut vous coûter très cher : ils sont perfectionnistes !

En théorie, c’est très bien, ils vont fiabiliser à 100% vos composants, donc votre fabrication d’objets en Lego.
En pratique, nous voyons bien que les tests, quelque soit les tests, ont une dimension économique.

Il s’agit en fait de mettre dans une balance : d’un côté, le budget que vous avez, et de l’autre, le pourcentage de tests possible.
Cette balance déterminera jusqu’où vous pourrez aller dans l’exhaustivité des tests mis en place.

Comment décider ?

Il faut alors pouvoir décider quels tests mettre en place, et quels tests seront secondaires (voire jamais mis en place).

Loi de Pareto

Mais revenons à l’informatique.

Saviez-vous qu’en moyenne, 20% des fonctionnalités d’une application web, ou mobile, d’un site e-commerce, sont utilisées dans 80% du temps ?

En connaissant ce principe, pourquoi ne pas mettre en place les tests unitaires (et fonctionnels) d’abord dans les 20% les plus utilisées ?

Connaissance de la criticité

Enfin, en management, et en entreprise, il existe un principe appelé Management par les risques.
Il s’agit de lister et détecter les risques les plus graves, et/ou les plus fréquents.

Si l’on n’est pas capable de les maîtriser rapidement, et dans la durée, ces risques vont devenir problématiques, voire bloquants pour votre entreprise, vos équipes.

Nous pouvons appliquer les mêmes principes pour la mise en place des tests.

  • Listez tous les risques potentiels de votre application, votre site e-commerce
  • Cherchez pour chacun la Fréquence, la Gravité

Lesquels sont les moins maîtrisés ? Lesquels ont la criticité la plus forte ?
Ce sont ces risques, et donc ces fonctionnalités qui devront être le plus couvert par les tests, et donc les tests unitaires !

 

risque logiciel
Photo by Greg Rakozy on Unsplash

 


Vous l’aurez compris, les tests unitaires sont essentiels pour garantir la qualité de vos logiciels, de vos applications mobiles.
A vous alors de vous assurer que votre prestataire les met bien en place dans ses processus de développement logiciel !

Vous souhaitez avoir des exemples de tests unitaires ? Comment mettre en place des tests unitaires avec des Legos ?

 

Tags

Related posts

Comment faire de la qualité dans son code : la méthode C2T
Comment faire de la qualité dans son code : la méthode C2T
by Formations Qualité logicielle

Découvrons ensemble une méthode pour amener un code de qualité. Car bien coder, c’est bien, mais coder sans penser au reste de l’application, ça amène des risques forts pour tout le projet,

Comment un demi va vous aider à mieux communiquer? Découvrons la règle du demi
Comment un demi va vous aider à mieux communiquer? Découvrons la règle du demi
by Agilité Productivité Qualité logicielle

Comment réussir à bien estimer, alors que vous ne connaissez même pas ce que vous allez devoir réaliser ? Comment bien estimer un planning de tests, pour assurer la qualité de votre

    Comments

    One thought on “Comment un demi va vous aider à mieux communiquer? Découvrons la règle du demi”

  1. Buy generic cialis
    25 mars 2018

    Amazing YouTube video lessons posted at this website, I am going to subscribe for regularly updates, since I don’t want to fail to take this series.

  2. Post a Comment

    Your email address will not be published. Required fields are marked *

Catégories

Popular posts

Comment faire de la qualité dans son code : la méthode C2T
Comment faire de la qualité dans son code : la méthode C2T
by
Découvrons ensemble une méthode pour amener un code de qualité. Car.
Comment un demi va vous aider à mieux communiquer? Découvrons la règle du demi
Comment un demi va vous aider à mieux communiquer? Découvrons la règle du demi
by
Comment réussir à bien estimer, alors que vous ne connaissez même p.

Ma page facebook

%d blogueurs aiment cette page :