5 moyens de tester comme les “Géants du Web”

15 octobre 2019

Si vous travailler au sein d’une équipe qui cherche à améliorer ses efforts en matière de tests de logiciels, alors vous devriez commencer par analyser la façon dont les « Géants du web » organisent leurs activités.

Il va de soi que des entreprises telles que Google, Microsoft et Amazon n'auraient pas le même succès si elles ne prêtaient pas attention à la qualité de leurs produits. En portant un regard sur ces « Géants du logiciel » vous verrez qu’il n’existe pas de recette miracle pour réussir, que la culture et les points de vue divergent.

Google : Recherche des meilleures pratiques

Comment le moteur de recherche le plus utilisé au monde organise-t-il ses efforts de test ?  La recherche étant l’une des activités principales de Google, l’équipe maintient un cadre de test volumineux et rigoureux et tient à offrir la meilleure qualité possible.  À cette fin, Google utilise un processus de test en quatre étapes pour modifier le moteur de recherche, qui consiste à réaliser des:

  • Tests effectués par des testeurs internes dédiés (employés de Google)
  • Tests supplémentaires sur une plate-forme de test de masse
  • "Dogfooding", qui implique que les employés de Google utilisent le produit dans leur travail quotidien
  • Les tests bêta, qui impliquent la publication du produit à un petit groupe d'utilisateurs finaux du produit Google

Même si cela semble être un processus de test solide, James Whittaker , ancien Directeur de Google, explique qu'il y a toujours une place à amélioration. Dans tous les cas, Google prend les tests très au sérieux. A noter également que les salaires des testeurs et des développeurs sont égaux, ce que l'on ne retrouve pas partout. Vous trouverez plus de détails sur les tests sur Google dans le  blog de test de Google.

Facebook : tests dirigés par les développeurs

Facebook n'emploie aucun testeur dédié. Le géant des médias sociaux lui ne compte que sur ses développeurs pour tester leur propre travail. Auparavant, cela se faisait principalement à la main, mais aujourd'hui, Facebook utilise une grande variété de solutions de test automatisées comme PHPUnit, Jest (un outil de test JavaScript développé en interne sur Facebook) ou encore Watir. De plus, comme Google, Facebook utilise « dogfooding » pour s'assurer que le logiciel est utilisable.

Facebook reconnaît que son processus de test comporte des défauts importants, mais au lieu de tout mettre en œuvre pour s'améliorer, il accepte simplement ces défauts. En outre, se concentrer moins sur les tests signifie que davantage de ressources sont disponibles pour d'autres projets.

Plutôt que de tester son logiciel de bout en bout, Facebook utilise plutôt la technique du « canary test » une technique de « diffusion en push de modifications du code de programmation à un petit groupe d'utilisateurs finaux qui ignorent recevoir du nouveau code ». C’est-à-dire qu’une nouvelle fonctionnalité n’est testée qu’auprès d’un petit nombre d’utilisateurs. En fonction des résultats et des commentaires, Facebook décide ensuite soit d'augmenter le déploiement, soit de la désactiver, soit en l'améliorant, soit en la supprimant complètement.

Amazon : le déploiement avant tout

A l'instar de Facebook, Amazon ne dispose pas d'une infrastructure QA importante. Il a même été suggéré (du moins dans le passé) qu'Amazon n'évalue pas le métier QA. Son ratio est d'environ 1 ingénieur de test sur 7 développeurs. Cela suppose que les tests ne sont pas considérés comme une activité essentielle chez Amazon.

La société elle-même, cependant, adopte un point de vue différent à ce sujet. Pour Amazon, le rapport entre les testeurs et les développeurs est une variable de sortie, pas une variable d'entrée. En d’autres termes, dès qu’il remarque que le chiffre d’affaires diminue ou que les clients s’éloignent en raison d’anomalies sur le site Web, Amazon intensifie ses efforts de test.

Le sentiment chez Amazon est que les processus de développement et de déploiement sont matures (la société déploie ses logiciels toutes les 11,6 secondes). Il n'est donc pas nécessaire de mener des tests approfondis. Il s'agit avant tout de rendre le logiciel facile à déployer.

Spotify : opte pour son propre modèle

Spotify emploie des testeurs dédiés. Ils font partie d'équipes multidisciplinaires ayant chacune une mission spécifique. Chez Spotify, les employés sont organisés en fonction de ce que l’on appelle désormais le « modèle Spotify », constitué des éléments suivants :

  • Squads | Spotify crée des équipes de 5 à 7 ingénieurs et d’un Product Owner (appuyé par un Coach Agile) totalement autonomes (comme s’ils créaient une startup). Chaque Squad peut utiliser la méthodologie agile de son choix : scrum, scrumban, kanban, lean …
  • Tribes | Les « Tribes » représentent plusieurs « Squads » de 5 à 8 personnes qui travaillent ensemble sur un même thème global.
  • Chapters | Spotify utilise également des « Chapters » pour regrouper des personnes ayant les mêmes compétences dans différents « Squads » et « Tribes » afin de promouvoir l'apprentissage et le partage d'expériences. Par exemple, tous les testeurs de différentes équipes sont regroupés dans un chapitre de test.

Les tests chez Spotify sont pris très au sérieux et sont considérés comme un processus créatif qui ne peut être (entièrement) automatisé. Contrairement à la plupart des sociétés mentionnées dans cet article, Spotify s'appuie fortement sur des testeurs dédiés qui explorent et évaluent le produit, au lieu d'essayer d'automatiser autant que possible.

Microsoft: ingénieurs et testeurs ne font qu'un

Le ratio testeurs/développeurs de Microsoft est actuellement d'environ 2/3 et, à l'instar de Google, Microsoft rémunère également les testeurs et les développeurs de manière égale, sauf qu'ils ne s'appellent pas des testeurs. ce sont des ingénieurs en développement de logiciels en test (ou SDET).

Le taux élevé de testeurs par rapport aux développeurs chez Microsoft s’explique par le fait qu’une très grande part des revenus de la société provient de produits expédiables installés sur des ordinateurs clients, plutôt que de sites Web et de services en ligne. Comme il est beaucoup plus difficile (ou du moins beaucoup plus ennuyeux) de mettre à jour ces produits en cas de problèmes ou de nouvelles fonctionnalités, Microsoft investit beaucoup de temps, d'efforts et d'argent pour s'assurer que la qualité de ses produits soit irréprochable.

Vous êtes à la recherche d’un poste en tant que Lead QA, Ingénieur QA en CDI ou en Freelance ? Retrouvez nos dernières offres d’emploi en cliquant sur ce lien.

L'auteur Florian Grandvallet

Co-Founder

Florian Grandvallet
Postuler à l'annonce Postuler à toutes les annonces Ingénieur système linux orienté web
Remplissez le formulaire
C'est tout bon

On vous recontacte au plus vite !
En attendant, vous pouvez toujours consulter nos autres jobs !

rotate screen

Retourner votre tablette pour une meilleure navigation