La méthodologie agile introduit ses propres règles dans le processus de test logiciel, et chaque équipe développe, teste et déploie ses services de manière indépendante. Cependant, dans les systèmes complexes, lorsque le travail coordonné de dizaines de services est nécessaire pour soutenir le processus métier, un niveau de test supplémentaire est nécessaire. C'est pourquoi, chez M.Video - Eldorado, nous avons créé un département spécial pour les tests intersystèmes. Découvrez comment il a été formé, ce que font les testeurs intersystèmes et comment les processus de test sont organisés ici.
Dans un article précédent ( tyk ), nous avons déjà expliqué pourquoi les tests intersystèmes sont importants pour notre entreprise. Aujourd'hui, nous allons nous concentrer sur le fonctionnement de nos spécialistes et parler de la méthodologie de ce processus.
Quatre projets pilotes
Pour former une approche typique des tests intersystèmes, nous devions accumuler des informations et suivre les interactions entre les systèmes. Il n'a pas été facile d'aborder ce sujet, nous avons donc décidé de ne pas être seuls avec elle et nous nous sommes tournés vers l'entrepreneur.
Ensemble, nous avons décrit notre «douleur» et sommes arrivés à la conclusion que notre entreprise devrait avoir des testeurs spécialisés qui sont engagés dans des tests intersystèmes, ainsi que des gestionnaires de test qui supervisent de tels projets. Leur travail est complété par des analystes intersystèmes qui, même au stade de la conception, surveillent l'interaction entre les systèmes et créent une base de connaissances sur les relations entre les différents composants des processus métier.
Pour établir ce travail, il a été décidé de lancer un certain nombre de projets pilotes. Le premier était un projet de test de promotions que nos collègues testaient régulièrement. Ce pilote nous a permis de commencer à construire la base de connaissances du département (137 pages de lignes directrices ont été créées dans Confluence), et les employés ont commencé à travailler avec des instructions standard - ce qui signifie qu'elles sont devenues plus interchangeables.
Le deuxième projet pilote a été entièrement organisé sur la base et le modèle de rôle de la nouvelle unité. Nous avons testé le processus de génération de codes produits numériques. Le projet intitulé Digital Content 2.0 a duré 5 mois. Il a concerné 15 systèmes et 114 cas de test ont été développés pour sa mise en œuvre. Au cours de ce pilote, nous sommes arrivés à la nécessité d'une gestion centralisée des environnements de test et des données de base du projet, et nous avons créé une équipe de spécialistes pour soutenir le travail de toutes les équipes dans l'environnement de test.
Le troisième projet pilote de MarketPlace a été mené de manière totalement indépendante, sans la participation d'un contractant. Notre équipe a testé 15 systèmes dont le travail conjoint nous a permis de vendre des produits de la marketplace Goods sur le site M.Video. 209 autres cas de test ont été développés, mais surtout, nous avons créé un modèle commun de haut niveau pour le processus de test intersystème qui pourrait être utilisé sur de nouveaux projets.
Pendant MarketPlace, nous avons commencé à exécuter des cas de test dans Jira, en collectant des rapports et des statistiques sous une forme pratique.
Au cours de ce projet, au printemps 2020, le travail de tout le département a été transféré vers un horaire de travail à distance et il est devenu évident que du matériel supplémentaire était nécessaire pour former des testeurs travaillant à distance les uns des autres, et nous avons commencé à forment une base de vidéos de formation.
Le quatrième pilote, après lequel notre travail est passé à une nouvelle qualité, teste l'application mobile Eldorado. Le test sous le nom d'Eldo Mobile est devenu un test de produit - c'est-à-dire que son client n'était pas le chef de projet, mais le propriétaire du produit. Et bien que nous n'ayons testé que 16 systèmes associés au cours de la phase pilote de trois mois, la nouvelle approche a permis de planifier des tests intersystèmes pour chaque nouvelle version de l'application mobile.
Le travail de la division des tests intersystèmes aujourd'hui
Aujourd'hui, la division des tests intersystèmes agit en tant que fournisseur de services d'assurance qualité interne pour les propriétaires de produits et de processus. Nous recevons des candidatures de différents services, et les responsables des tests établissent un planning et distribuent les tâches de test. La planification a lieu une fois par semaine - les tâches grandes et petites sont réparties entre les responsables de test et les testeurs, en tenant compte de leur charge de travail et de leur expérience.
Si un processus complexe est testé, le testeur peut travailler sur le même projet toute la semaine. Dans d'autres cas, le spécialiste parvient à résoudre deux ou trois tâches de clients différents. Parfois, un testeur travaille avec deux gestionnaires de test à la fois, qui répartissent son temps selon un calendrier numérique dynamique.
Une méthodologie prédéfinie consiste à travailler avec des cas de test typiques. Grâce à cela, une personne peut facilement passer d'une tâche à une autre. Dans notre travail, cela est souvent nécessaire, surtout si quelque chose commence soudainement à "brûler", et pour d'autres projets, la date limite vous permet de décaler légèrement la date limite.
Afin que notre service puisse interagir avec les testeurs des équipes produits, nous développons également des réglementations claires pour l'exécution des cas de test: critères de début et de fin des tests, heure et ordre des tâches, liste des personnes responsables de chaque étape, etc.
En fait, nous apportons aujourd'hui une méthodologie de test intersystème aux équipes agiles établies. Cette approche nous permet d'éviter les approbations constantes et d'effectuer des tests dans un délai précis.
Qualités d'un testeur cross-système
Même lorsque tout le développement se fait au rythme agile, les tests intersystèmes restent intrinsèquement basés sur les projets, avec tous les besoins en matière de planification, de réaffectation des ressources, à la fois dans chaque équipe et au sein du groupe entier.
Le fait est que l'environnement de travail des testeurs intersystèmes et des gestionnaires de test est en constante évolution. Par exemple, nous avons récemment reçu des tâches de test intersystème d'un chatbot, ainsi que le processus de signature de contrats pour des achats non commerciaux. Pour mener à bien ces tâches, les testeurs doivent rejoindre une nouvelle zone, comprendre les fonctionnalités et les caractéristiques de systèmes auparavant inconnus.
Dans de tels projets, nous incluons une phase de formation pour les testeurs, qui peut durer d'une semaine à un mois. Dans le même temps, les gens doivent être capables de s'engager rapidement dans de nouveaux sujets, de communiquer avec des analystes de différentes équipes et de gérer efficacement leur temps.
Cependant, même sans cela, il y a pas mal d'incertitudes dans le travail de l'unité. Les gestionnaires de test peuvent commencer la journée avec un seul plan et le modifier radicalement à l'heure du déjeuner. Tous les clients ont des délais et des priorités différentes pour les tâches, tout système peut soudainement se déconnecter et nécessiter une réaffectation des ressources.
Enfin, l'environnement de test peut être débordé. Par conséquent, les gestionnaires de test doivent eux-mêmes être des gestionnaires de projet solides et peuvent gérer la planification littéralement à la volée.
Tests de produits
Une fois nos projets pilotes terminés, la société a défini un cours clair pour les tests de produits. Je dois dire que cette approche facilite les tests interfonctionnels, car certaines des tâches de test restent dans l'équipe produit.
Nous déterminons à l'avance à quel moment et pourquoi l'équipe de test interfonctionnelle se connecte au processus et allouons clairement les ressources des testeurs.
En ce sens, les tests de produits sont plus faciles à planifier car ils se déroulent dans les délais, selon les vagues de développement. Lorsque nous recevons une nouvelle version, nous demandons à l'équipe ce qui doit être vérifié, ajustons les cas de test et nous mettons au travail. Dans le même temps, certains testeurs intersystèmes sont affectés à chaque produit.
L'avantage de l'approche centralisée est qu'un seul testeur peut travailler avec plusieurs projets ou produits à la fois. Par exemple, une application mobile prend régulièrement 50% du temps des spécialistes assignés. Ils peuvent dépenser les 50% restants pour tester d'autres systèmes - conformément aux tâches des responsables des tests.
Résultats de la nouvelle division
Nous n'avons pas encore vécu si longtemps dans le paradigme des tests intersystèmes, mais il est déjà clair que le calendrier des tests est devenu plus court (parfois plusieurs fois) et que la qualité des tests est supérieure.
Une équipe de testeurs intersystèmes est moins chère pour l'entreprise que de s'étendre avec un testeur supplémentaire pour les équipes produit, et grâce à la présence d'un centre d'accumulation de compétences, les tests intersystèmes passent de plus en plus vite à chaque nouvelle tâche. De plus, nous avons également développé une méthodologie pour entrer dans des «projets inconnus» afin que le lancement de tests interfonctionnels dans de nouvelles directions soit plus rapide.
La nouvelle méthodologie a ajouté de la transparence au travail de toutes les équipes et a amélioré l'assurance qualité. L'accumulation continue d'expertise et d'analyses intersystèmes permet de prédire de plus en plus précisément quels changements dans certains systèmes peuvent affecter le fonctionnement d'autres systèmes.
La base de connaissances s'agrandit et aujourd'hui, nous pouvons déjà prendre en charge de tels cas de test que nous n'aurions pas pu réaliser il y a quelques mois sans préparation supplémentaire. Par conséquent, la pratique des tests intersystèmes devient progressivement une partie naturelle de l'écosystème de développement M.Video-Eldorado et de la culture d'entreprise de l'entreprise dans son ensemble.
PS Notre équipe s'agrandit. Nous avons besoin de testeurs talentueux . Si vous l'êtes, bienvenue à bord!