"Calendrier des testeurs" pour novembre. Test de paire raisonnable

Les auteurs du "Calendrier des testeurs " de novembre étaient Olya Fazulzyanova, testeuse de Kontur.Ekterna, et Olya Izyuryeva, testeuse de Kontur.Billinga et organisatrice du cours de testeurs. Les filles ont parlé des tests de paires, des tâches que cela aide à résoudre et ont donné un exemple d'utilisation infructueuse de la pratique.



Il existe une pratique dans la méthodologie XP - la programmation par paires. De nombreuses sources ont écrit sur la masse de ses avantages: haute qualité du code, interchangeabilité des développeurs, etc.


Si la programmation par paires est si efficace, alors pourquoi ne pas appliquer des principes similaires lors des tests? Oui, cela peut être fait, les tests de paires existent depuis longtemps et ont fait leurs preuves. Mais n'oubliez pas que toute pratique n'est qu'un outil pour résoudre tout problème.


Wikipedia n'a pas le terme «test de paires», mais il existe une définition de la programmation de paires, qui peut être prise comme base. Ensuite, à notre avis, nous obtenons ce qui suit.


Le test par paire est une technique dans laquelle le test d'une seule fonctionnalité est effectué par quelques personnes sur le même lieu de travail. Un testeur («lead») contrôle l'ordinateur, le second («navigateur») surveille en permanence le travail du premier. De plus, tout au long du travail sur la tâche, ils échangent des idées et en discutent.

Toute pratique n'est qu'un outil. Nous ne voulons pas enfoncer les ongles avec un microscope, par conséquent, nous partons toujours de la tâche. Examinons les tâches pour lesquelles l'utilisation de la pratique des «tests de paires» est pertinente.


Tâche: mentorat


À tout moment, une nouvelle personne peut venir dans l'équipe. Les attentes de l'équipe envers lui - une immersion assez rapide dans l'équipe et dans les spécificités du projet et, bien sûr, la qualité de leur travail. Pour que les attentes deviennent rapidement réalité, il existe un processus de mentorat dans de nombreuses entreprises. Mais que se passera-t-il si le mentorat est mis en œuvre par le biais de tests de paires?


Un exemple:


Un nouveau testeur est venu sur le projet, avec ou sans expérience, cela n'a pas d'importance. En tant que mentor, vous vous asseyez avec lui sur votre ordinateur de travail et commencez à construire le processus comme suit: au tout début, vous avez un rôle de premier plan, et l'objectif principal est d'initier le débutant aux processus du projet et au domaine. La connaissance peut se faire par le biais d'une histoire, d'une présentation ou immédiatement par le biais de tests conjoints de tâches.


Vous pouvez commencer par discuter de l'essence du problème, trouver des réponses aux questions et élaborer un plan de test. Lorsque tout est prêt pour le test, vous prenez le clavier et la souris et montrez comment tester, et le débutant observe. Personne n'interdit de modifier les rôles et les tâches dans les tâches suivantes. L'essentiel n'est pas de changer l'essence - le test conjoint des tâches sur un poste de travail jusqu'à ce que vous ayez confiance en votre partenaire.


Bénéfice:


  • Le débutant s'adapte plus vite dans l'équipe. Il a un point d'entrée - un mentor à travers lequel vous pouvez rencontrer le reste de l'équipe. De plus, le novice se fera une idée du domaine de responsabilité des collègues, car lors de la recherche de réponses aux questions, vous le dirigerez immédiatement vers les bonnes personnes.
  • Un débutant découvrira rapidement un nouveau sujet.
  • Si un débutant n'a aucune expérience de test, il apprendra en pratique les nouvelles techniques de test et évaluera leur applicabilité.
  • Il y a un partage de connaissances: sur les processus de développement, sur les techniques, sur les outils de test.
  • La vue du débutant n'est pas floue, il peut donc apporter de nouveaux scénarios non standard.
  • Le mentor déterminera rapidement le niveau de préparation d'une nouvelle personne. Cela aidera à corriger en temps opportun le vecteur de développement, en sélectionnant des tâches pour celui-ci.
  • Le responsable du test et / ou le responsable du développement ne sont pas distraits par l'adaptation du débutant. Le nouveau venu est entre de bonnes mains et la qualité des premières tâches ne posera certainement aucun problème.

Mini sortie:


La pratique est appropriée si le partenaire est une personne sans expérience et que vous devez le transformer rapidement d'un débutant à un spécialiste. Il y a un profit à travailler avec un débutant expérimenté: tout le monde apprend, y compris un mentor. Après tout, chaque personne travaille à sa manière et pense de manière unique, en utilisant ses propres pratiques et outils.


Tâche: formation avancée


Nous pouvons rencontrer le fait que pour mener à bien notre travail, nous devons avoir une connaissance des spécialisations associées: être capable de rédiger de la documentation, d'automatiser des tâches, etc. Contactez un membre de votre équipe.


Un exemple:


En tant que testeur, vous avez une tâche qui est plus appropriée pour couvrir des tests unitaires, mais vous n'avez pas suffisamment de qualifications, et vous allez voir le développeur pour obtenir de l'aide. Vous vous asseyez avec lui sur un ordinateur qui fonctionne et vous commencez à construire le processus comme suit: au tout début, le développeur doit jouer le rôle principal, car il doit vous présenter la base de code et les tests disponibles. Ensuite, vous créez des scripts et commencez à les automatiser. Le développeur écrit les premiers tests, et vous observez, et vous prenez déjà les prochains tests en main.


Bénéfice:


  • Vous découvrirez rapidement comment fonctionne le projet et quels tests existent déjà.
  • Apprenez non seulement à écrire des tests, mais à les écrire correctement (style).
  • Le développeur développera ses idées sur les scénarios de test, car vous montrerez comment sortir des sentiers battus.
  • Le développeur approfondira sa compréhension des processus de test, car vous lui apprendrez à vérifier la qualité de son code avant de le passer aux tests.
  • La tâche sera couverte par des autotests dans un délai plus court.
  • Un manager ou chef d'équipe ravira votre envie de vous développer.

Mini sortie:


Le travail en binôme vous permet d'acquérir des connaissances dans un nouveau domaine rapidement et efficacement, en les corrigeant immédiatement dans la pratique.


Tâche: se débarrasser de l'indispensabilité ( facteur bus )


Très souvent, il y a des gens en équipe - les seuls porteurs de certaines connaissances. Souvent, un testeur devient une telle personne, car il sait tout: les scénarios utilisateur, comment les services sont mis en œuvre, ce qui doit être configuré pour un test, et bien plus encore. Mais dans la vie il y a des situations qui peuvent priver un projet d'une source de savoir (licenciement, vacances, arrêt maladie ...). Par conséquent, afin de minimiser les conséquences, vous pouvez jouer en toute sécurité et partager les connaissances d'une tête à plusieurs à l'avance. Comment? Grâce aux tests de paires, bien sûr!


Un exemple:


En tant que testeur, vous devez immerger n'importe quel membre de l'équipe dans vos tâches, en transférant des connaissances sacrées. Vous vous asseyez avec lui sur un ordinateur de travail et commencez à construire le processus comme suit: vous avez toujours un rôle de premier plan, au tout début vous dites et / ou montrez les sources d'informations, mettez à jour, sélectionnez et analysez les tâches qui aideront à consolider les connaissances acquises.


Bénéfice:


  • La pression de la responsabilité diminue, vous pouvez partir en vacances en toute sécurité, en stage, etc.
  • Le travail en binôme vous permettra de changer le contexte et de diluer la routine d'un testeur hautement spécialisé.
  • Le manager est calme, car plusieurs personnes ont des connaissances et avec le départ d'une seule, le travail ne se posera pas.

Mini sortie:


S'il y a des spécialistes étroits, jumelez-vous à la pratique. Il améliore l'interchangeabilité et le transfert d'informations pertinentes.


Tâche: obtenir des commentaires


Si l'équipe de test est composée de plusieurs personnes, la pratique du feedback est applicable. Le test de paire est un outil approprié pour le système d'exploitation.


Un exemple:


Vous ou votre collègue avez besoin de commentaires. Vous vous asseyez avec lui devant un ordinateur qui fonctionne. La façon dont vous construisez le processus n'est pas importante, l'essentiel est de travailler ensemble.


Bénéfice:


  • Vous ou votre collègue aurez une idée des compétences d'un partenaire.
  • Vous ou votre collègue aurez une idée du vecteur de développement à partir des retours d'expérience.
  • Les commentaires sur les collègues seront raisonnables, car ils seront étayés par des exemples.

Mini sortie:


Les sessions en binôme donnent aux testeurs la possibilité d'observer le travail de leurs collègues, grâce à quoi les retours seront plus fiables.


Nous avons analysé les tâches pouvant être résolues par des tests de paires.
Parlons maintenant de l'expérience réelle afin d'illustrer clairement les pièges qui peuvent survenir lors de l'utilisation de cette pratique.


Cas de vie, ou ne nous aime pas


Sur l'une des rétrospectives de l'équipe de test, les problèmes suivants ont été identifiés:


  • travail inégal (la méthode et le temps pour tester des tâches similaires dépendent grandement d'une personne en particulier);
  • commentaires trop vagues les uns sur les autres (souvent une seule personne était engagée dans une tâche, et au bout de six mois, il n'y avait rien à écrire sur de nombreux collègues, sauf que «Vasya fait bien son travail, il est responsable, réactif et sociable»).

Après avoir formulé ces problèmes, nous nous sommes fixés les tâches:


  1. Échangez vos expériences et identifiez les meilleurs moyens et outils pour tester des tâches similaires.
  2. Créez les conditions pour la collecte de commentaires plus détaillés.

Nous avons convenu que nous utiliserons la pratique des tests de paires pour les résoudre.


Mon collègue et moi nous sommes lancés dans la même tâche de test.
Le devant de l'ouvrage était assez volumineux, il fallait:


  1. Comprendre un nouveau sujet.
  2. Vérifiez les analyses et recherchez les scénarios non pris en compte.
  3. Préparez un environnement de test.
  4. Préparez les données de test.
  5. Créez des cas de test.
  6. Et test à la fin :).

Tout cela devait être fait à partir de zéro.


Une fois derrière un seul ordinateur, nous avons commencé à lire des analyses. Nous avons convenu de lire un paragraphe ou une partie du texte, puis de discuter des questions qui se sont posées et de jeter déjà les premiers cas types. Étant donné que l'analyse était assez peu développée et contenait un mélange de parties commerciales et techniques, il fallait parfois 15 à 20 minutes pour discuter de 10 lignes de texte. De plus, afin de traiter enfin chaque problème, une clarification était requise de la part de l'analyste, du développeur ou du spécialiste du support technique. Tous ces messages et lettres ont également été écrits par paires.


Le nouveau sujet étant assez complexe, la compilation des cas de test a nécessité la mise en place d'un environnement complexe et la préparation d'une partie des données de test. Ici aussi, il y avait beaucoup de questions et de clarifications conjointes.


Face à tout cela, nous avons décidé de ralentir et de tenir une réunion pour discuter de l'avancement des travaux et du succès des tests de paires.


Lors de la réunion, nous avons réalisé que, ayant commencé à appliquer la pratique, nous avons complètement oublié le but de son utilisation. Toute l'attention était concentrée uniquement sur les tests, ou plutôt, même sur la préparation, car elle n'atteignait pas le nombre de cas de test.


Au cours du travail, nous n'avons pas réussi à procéder à un examen complet les uns des autres, car nous avons effectué toutes les actions ensemble, avant d'en discuter. Nous n'avons pas remarqué le train de pensée et d'action du partenaire lors de la rotation d'une nouvelle tâche. Il n'a pas été possible non plus d'échanger des connaissances, car le sujet était nouveau pour nous deux.


À strictement parler, il s'est avéré qu'il s'agissait de partager des connaissances, mais il s'agissait de bagatelles comme:


  • utilisation de nouvelles touches de raccourci,
  • en utilisant des puces bugtracker spécifiques,
  • ...

Vous pouvez partager ces connaissances sans recourir à une pratique aussi coûteuse.


Vers la fin de la réunion, nous avons tiré des conclusions pour nous-mêmes:


  1. En appliquant la pratique, nous ne devons pas oublier les tâches initiales.
    Il semble qu'au départ tout s'est bien passé. Nous avons formulé un problème, défini des tâches, choisi un outil de solution, mais au cours du travail lui-même, l'accent a changé. Dans notre cas, nous avons réalisé que deux testeurs étaient engagés dans une seule tâche.


  2. Choisissez vos tâches de test afin que la pratique soit applicable.
    Une tâche nouvelle, complexe et volumineuse est mal adaptée aux tests de paires:
    - il est difficile de former quelqu'un;
    - Je ne peux pas échanger d’expérience;
    - il est difficile de recueillir des commentaires.


  3. Ne passez pas sous silence les problèmes.
    Dès que vous sentez que quelque chose a mal tourné, parlez-en immédiatement, n'attendez pas la fin de la tâche ou la rétrospective finale de l'équipe. Ainsi, vous pouvez rapidement comprendre que la pratique n'est pas appliquée correctement, ou il peut s'avérer qu'elle ne convient pas du tout à la solution du problème choisi.



Il existe de nombreuses pratiques différentes. Lequel d'entre eux utiliser dans le travail dépend de vous. Surtout, n'oubliez pas pourquoi vous les utilisez et n'utilisez pas la pratique pour le plaisir des pratiques.


PS Si vous avez utilisé le test de paire pour d'autres tâches dans votre vie professionnelle, parlez-nous d'eux dans les commentaires.


Liste des articles du calendrier:
Essayez une approche différente
Test de paire raisonnable
Commentaires: comment cela se passe
Optimiser les tests
Lire un livre
Tests analytiques
Le testeur doit attraper le bug, lire Caner et organiser le déplacement.
Service de chargement
Mesures de service d'assurance qualité
Test de sécurité
Apprenez à connaître votre client
Prendre l'arriéré

Source: https://habr.com/ru/post/fr431460/


All Articles