• 10 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 24/09/2024

Testez la fiabilité de votre produit

Comprenez ce qu’est un produit fiable

Qu’est-ce qu’un produit fiable ?

Comme pour la qualité, la fiabilité d’un produit peut grandement varier d’une organisation à une autre. Certaines organisations jugeront de la fiabilité du produit par son temps de réaction.

Par exemple, si on reprend notre projet fil rouge, est-ce que les pages s’affichent rapidement ? Est-ce que les données de l’API mettent du temps à se charger ?

D’autres, par ses faibles bugs et sa capacité à être utilisable sur différents appareils.

Par exemple, notre application de façades connectées propose-t-elle une expérience aussi satisfaisante sur téléphone que sur ordinateur ? Est-ce qu’il y a des bugs ? Est-ce que le projet plante à chaque nouvelle mise en production ?

D’autres, enfin, jugeront la qualité du code réalisé

Le code du projet fil rouge est-il maintenable dans le temps ? A-t-il des tests ? À combien de pourcentage. est le code coverage ? Est-ce que les développeurs aiment travailler dessus, etc.

Définissez des règles de fiabilité

Pour que l’ensemble de votre équipe soit aligné sur votre projet, vous définissez ensemble et le plus tôt possible des règles de fiabilité. Notez que ces règles vont pouvoir évoluer dans le temps.

Ces règles établiront à quel moment un bug est gênant et doit être corrigé, et à quel moment un test devra être réalisé.

Si par exemple, on vous remonte deux bugs. Le premier est rencontré sur des téléphones Android et le deuxième sous Windows Phone. La part des utilisateurs sous Windows Phone n'est que de 0,08 %. On peut assez facilement dire que c’est le bug sous Android qui aura la priorité.

Testez sur différents navigateurs

Nous l’avons encore peu abordé durant ce cours, mais il est important que vous testiez votre code sur plusieurs navigateurs. Testez votre projet :

  • Soit sur les principaux navigateurs du marché ;

  • Soit sur les navigateurs les plus utilisés par vos utilisateurs.

Par exemple, si vos utilisateurs utilisent votre site uniquement sur Safari sur iPhone, est-ce important de passer beaucoup de temps à tester le projet sur Android ?

Pourquoi est-il important de tester sur plusieurs navigateurs ?

Bonne question !

Bien que les navigateurs soient de plus en plus uniformisés niveaux CSS et JavaScript, il existe encore quelques différences d’implémentation entre eux. Par exemple, dans le cours sur le debugging, je vous ai parlé des Vendor Prefix, ces morceaux de CSS à rajouter pour que votre CSS soit compatible sur tous les navigateurs.

Cela peut sembler le b.a.-ba de dire ça, mais je ne compte pas le nombre de développeurs qui ne le font pas. Il leur arrive de développer avec Chrome ou Firefox, d’envoyer leur code directement en Pull Request, et de passer à autre chose.

Si le projet doit répondre à des standards de qualité élevés, il est préférable de passer par des solutions automatisées. Cela peut être via :

  • Des tests E2E, qui vous permettent de lancer Firefox et Google Chrome automatiquement, et de tester votre projet ;

  • Des solutions telles que AWS Device Farm. Ce service payant d’AWS vous permet de tester votre application sur un très grand nombre d’appareils, de manière automatisée.

Tester sur un grand nombre d’appareils différents grâce à AWS Device Farm
Tester sur un grand nombre d’appareils différents grâce à AWS Device Farm

Ce type de produit est idéal pour un produit global comme une banque en ligne, par exemple, ou même Gmail.

Mettez en place une CI

Euhhhh une CI ? C’est quoi ?

CI signifie Continuous Integration (ou intégration continue, en français). C’est un ensemble de pratiques et de logiciels permettant à un projet, ici en l'occurrence notre application de capteurs, d’être testé constamment.

Cela permet aux développeurs d’être certains que le code qui va être déployéfonctionne correctement, et qu’il passe bien tous les tests réalisés. Il n’y a rien de pire qu’un produit qui casse à chaque nouvelle mise en production.

Travis fait tourner les tests sur un Pull Request que je propose de merger sur Master
Travis fait tourner les tests sur un Pull Request que je propose de merger sur Master

Vous allez découvrir comment mettre en place une CI avec Travis CI sur le projet fil rouge. Ce n’est pas une étape obligatoire du cours, vous êtes tout à fait libre de passer à la suite. Cela dit, paramétrer et mettre en place Travis CI est aujourd’hui assez facile, et c’est une compétence dont vous pourriez avoir besoin dans la suite de votre carrière. 😉 

Pour mettre en place cette compétence, vous aurez besoin des éléments suivants :

  • Votre code devra être hébergé sur GitHub, et devra être dans un repository public ;

  • Vous connecter à travis-ci.com.

Dans la vidéo ci-dessous, nous allons regarder comment la mettre en place. Voici le fichier .travis.yml dont vous aurez besoin. Nous allons configurer Travis-CI pour qu’il teste les branches que nous souhaitons merger dans la branche main  .

Vous voyez, ce n’était pas si compliqué ! 🙂

De manière générale, c’est souvent le développeur senior, le lead dev ou le devops de l’entreprise qui se chargera de mettre la CI en place. Mais vous voilà désormais capable de le faire ! 👏

En résumé

  • La fiabilité d’un produit dépend de l’organisation, de même que la définition d’un bug gênant.

  • Il est important de tester votre application sur plusieurs navigateurs. Essayez toujours de vous concentrer sur les navigateurs les plus utilisés par votre audience.

  • Les tests E2E et des outils tels qu’AWS Device Farm vous permettent de faire tourner votre application sur différents navigateurs, et de manière automatisée.

  • Les CI (Continuous Integration) permettent de faire tourner vos tests dans un environnement à part. À chaque fois que le code va être pushé ou qu’une Pull Request va être créée, la CI va faire tourner les tests relatifs à ce projet.

Maintenant que nous avons abordé la fiabilité et les CI, il est temps de s’intéresser aux tests E2E.

Exemple de certificat de réussite
Exemple de certificat de réussite