Comment apprendre à tester des logiciels

On pense que grâce aux tests, vous pouvez facilement accéder à l'informatique. Nous avons demandé à nos spécialistes des tests comment mettre en œuvre cela sans entrer dans des programmes d'enseignement spécialisés dans les universités. Il s'est avéré que vous pouvez vous limiter à une base informatique, un livre de test et le bon choix où obtenir votre première expérience. Certes, cela doit être assaisonné avec son propre intérêt et son zèle.

Under the cut - nos conseils et réponses aux questions courantes des débutants. Il n'y a pas grand-chose sur où aller ensuite quand il semble que le plafond des connaissances soit proche.

image

Le testeur a-t-il besoin d'une base informatique?


Franchement, souhaitable.

La plupart de nos spécialistes sous une forme ou une autre adorent l'informatique depuis l'enfance, ou du moins ont étudié dans des universités spécialisées, c'est-à-dire avait déjà une formation de base avant de passer aux tests. Certains d'entre eux ont commencé en tant que développeurs (ont étudié en tant que développeur) - il n'y avait pas de zones de «test» séparées il y a 10 ans. Donc, sous nos yeux, nous n'avons tout simplement pas un «anti-exemple» d'un tel chemin.

Maintenant, en informatique, il y en a vraiment beaucoup qui n'ont pas suivi une telle formation. Et c'est un peu plus difficile pour eux d'avancer. Pour faire face aux tâches de test, vous devez au moins être en mesure d'installer le système d'exploitation, comprendre comment déployer l'application de test et l'environnement nécessaire, comment créer un référentiel dans Git, google réponses à vos questions, fouiller à travers des ressources spécialisées comme Stackoverflow. En fait, cela fournit une base commune à l'informatique.

Mais même cette connaissance peut être maîtrisée à travers des livres ou des cours sur Internet. Les sources d'information ne manquent pas aujourd'hui. L'essentiel est qu'il y ait de l'intérêt et du temps à consacrer à cela.

Testeurs ou développeurs?


Les tests sont différents.

Les exigences pour un testeur manuel débutant ne sont pas très élevées. C'est peut-être le «moyen le plus simple de l'informatique». Ici, vous devez connaître les principes de base des tests, dont nous parlerons un peu plus tard, et avoir la base mentionnée ci-dessus. Certes, les testeurs manuels s'éloignent progressivement pour tester les produits logiciels plus rapidement et plus efficacement. Par conséquent, d'une manière ou d'une autre, au fil du temps, tous les «freins à main» commencent à écrire du code ou à s'engager dans des mesures et des analyses. Mais cela ne signifie pas que vous ne pouvez pas commencer votre carrière avec le statut de juna de frein à main.

L'automatisation des tests est plus proche du développeur. Dans la base de connaissances, chaque automate possède généralement au moins un langage de programmation - celui dans lequel les autotests sont en cours de développement (ce n'est pas toujours le langage de développement principal d'un projet). Étant engagé dans l'automatisation, il est également important de connaître les modèles de conception et de pouvoir appliquer les principes généraux du développement - extensibilité, lisibilité, facilité de réutilisation. En substance, un autotest est le même programme qui doit correspondre à un scénario prédéterminé.
Afin de commencer à travailler en tant qu'automate, en plus de tester les connaissances en général, vous devez avoir une connaissance minimale en programmation orientée objet, imaginez comment écrire le plus simple "Hello World!".

Choisir une direction ne vaut guère la peine de regarder la popularité momentanée des spécialistes du marché du travail. Les indicateurs moyens de la demande et des salaires en informatique sont très spécifiques, ils dépendent, entre autres, des connaissances associées. Qui aurait pensé, mais les spécialistes du développement de certains Delphi sont maintenant en demande dans le secteur bancaire, malgré le fait que dans d'autres industries, le langage n'est pas en demande générale. Ici, tout fonctionne selon les lois du marché: il y a peu de spécialistes, mais la demande demeure, car quelqu'un doit soutenir l'héritage.
Donc, dans les tests. Il y a maintenant une demande pour l'automatisation JS. C'est formidable car les besoins des entreprises sont importants, mais les personnes qui se sont engagées dans cette voie avec la première apparition d'un intérêt de marché n'ont pas encore eu le temps d'apprendre. Une fois qu'ils apprennent et vont travailler, la situation peut changer.

Dans ce monde instable, ce sont les connaissances de base - comprendre quoi et comment tester en principe, quelles approches sont disponibles - ainsi que la capacité d'absorber rapidement les informations vous aideront à vous réorienter rapidement vers une pile technologique adjacente.

Que lire?


Les tests et l'informatique en général sont une industrie en plein essor, vous pouvez donc souvent trouver du scepticisme à propos des livres. Ils ont trop de "cycle de production". Pour écrire, publier, distribuer - depuis longtemps. Il est plus que doublé s'il s'agit de littérature traduite.

Cependant, notre service d'essais a recommandé un livre presque à l'unanimité - «Testing Dot Com» de Roman Savin. Il s'agit du livre le plus célèbre sur le sujet, qui présente simplement et facilement les concepts et processus de base des tests manuels. Et bien qu'il ait été publié il y a longtemps, les connaissances de base qui y sont énoncées sont toujours pertinentes. Peut-être qu'il a été lu par 80% de tous les testeurs dans les pays de la CEI.

D'autres recommandations peuvent être facilement trouvées sur les «listes de livres N pour le testeur débutant» sur Internet. Mais en général, notre équipe de test estime que la base du livre de Roman Savin sera suffisante pour démarrer le processus ultérieur d'auto-éducation.

Vaut-il la peine de suivre des cours, d'autant plus rémunérés?


L'opinion de nos spécialistes sur les cours est mitigée.

Tout programme de formation est utile dans la mesure où il fournit de nombreuses informations à la fois de manière structurée. Les informations sont collectées en fragments pratiques pour le développement, divisés en étapes. Niveau par niveau, vous pouvez suivre le cursus, comme dans un jeu, et acquérir des connaissances utiles.

Vous pouvez suivre les cours avec l'un des deux objectifs - soit pour combler les lacunes dans les connaissances, soit pour consolider des informations déjà connues. Selon les objectifs, tout sera assimilé de différentes manières. Mais en raison de l'abondance de nouvelles connaissances, pas 100% des informations reçues seront réglées. De ce point de vue, l'autoformation sur un projet spécifique est plus utile. Les informations recueillies ou la réponse trouvée resteront certainement dans votre tête. Certes, cela prendra un peu plus de temps.
Tous les murs ne valent pas la peine d'être percés avec votre front. Et le bon équilibre, où il vaut la peine d'écouter l'enseignant dans les cours, et où - pour essayer d'apprendre quelque chose par vous-même, chacun décide par lui-même. Cet équilibre existe dans tout autre domaine: vous savez probablement déjà qu'il est plus facile pour vous d'étudier de façon indépendante ou d'écouter un professeur.

Passons aux détails. Plusieurs fois dans des conversations avec nos spécialistes des tests, les cours d'Alexey Barantsev ont fait surface, par exemple, sur les tests fonctionnels pour les testeurs manuels ou sur l'automatisation. Mais il est clair que l'éventail des possibilités d'apprentissage ne se limite pas à elles.

Les cours mentionnés de manière négative, nous ne donnerons pas ici. Tout le monde gagne autant que possible, et la formation professionnelle est la même entreprise que tout le reste. Par conséquent, avant de payer de l'argent pour développer une profession, il vaut la peine de passer du temps à rechercher le marché.

Les programmes sont mieux choisis par référence. Dans le même temps, vous ne devez pas regarder les avis sur les sites Web des cours eux-mêmes ou des établissements d'enseignement qui en font la promotion. Il vaut mieux chercher des commentaires négatifs sur les réseaux sociaux. La rétroaction positive est souvent laissée par ceux qui étudient encore - qui ne peuvent pas exprimer tout ce qu'ils pensent du processus d'apprentissage. La vérité est révélée lorsqu'ils sont libérés et commencent à repenser ce qui leur est arrivé. Soit dit en passant, vous êtes susceptible de trouver un point négatif à propos d'un établissement d'enseignement, la seule question est de savoir combien il sera et quel sera son contenu.

Les bons cours devraient inclure plus que la simple publication de vidéos et la collecte de devoirs. Une rétroaction normale est nécessaire avec l'enseignant ou le mentor, qui expliquera quelle est l'erreur, dans quelle direction cela vaut la peine de se déplacer, afin de résoudre correctement le problème. Et vous pouvez regarder des vidéos gratuitement (puis résoudre des problèmes sur Internet).

La communauté autour de l'apprentissage est susceptible d'être importante pour certains. Les décisions conjointes rassemblent l'équipe, tout en développant les compétences générales nécessaires au travail d'équipe ultérieur.

Dois-je aller à la conférence?


Les conférences sont un élément très utile du monde informatique. Tout d'abord, il s'agit d'une plateforme d'échange d'expériences. Ici, vous pouvez rarement trouver un rapport qui répondra à une question privée momentanée dans une situation particulière. Mais vous pouvez tomber sur des approches pour résoudre des problèmes similaires qui sont tout à fait applicables à votre situation.

Lors de certaines conférences, on peut rencontrer des rapports «de base» qui permettent de rassembler les connaissances initiales dans un nouveau segment, par exemple, dans l'automatisation. Mais le plus souvent, il s'agit bien entendu d'informations destinées à des professionnels plus expérimentés. En général, une conférence est plutôt un lieu de réseautage et de connaissances connexes (à côté de votre spécialisation actuelle, par exemple, dans une autre langue).

Il convient de noter que la plupart des questions abordées lors des conférences se trouvent sur Internet. Des événements uniques peuvent donner une expérience vraiment non évidente.

De nombreux documents de conférence peuvent être trouvés dans des enregistrements en ligne. L'essentiel n'est pas de se concentrer sur leur visualisation. Si vous regardez beaucoup de vidéos, mais pratiquez un peu, l'auto-développement sensible ne fonctionnera pas. Tout a besoin d'un équilibre. Soit dit en passant, contrairement à la visualisation des rapports, une présence personnelle aux conférences est généralement aussi des connaissances, une communication avec des personnes avec lesquelles vous pouvez discuter des problèmes et des problèmes actuels.

Où obtenir la première expérience?


Une véritable expérience de test ne peut être obtenue qu'au travail dans un projet réel. Plus vous écrivez de code de vos propres mains, plus vous résoudrez efficacement les problèmes suivants, car la théorie que vous lisez sans vous entraîner est rapidement oubliée.
Dans un vrai projet, la formation sera beaucoup plus efficace. Des problèmes concrets se poseront, leurs solutions peuvent être trouvées sur Google ou sur les forums. Un chemin tracé de manière indépendante sera très utile à l'avenir. Naturellement, ce chemin ne doit pas être tracé à partir de zéro - par conséquent, nous avons déjà parlé de l'endroit où chercher les connaissances initiales.

Associé à une base commune, tout projet donnera un certain degré de spécialisation. Il s'agira peut-être de tester des produits pour différents systèmes d'exploitation, des applications client-serveur ou des outils pour serveurs. Tout cela nécessitera ses compétences d'accompagnement.

Précieux lorsque des collègues vous accompagnent en cours de route. Par conséquent, il est très important pour un débutant de choisir la bonne entreprise. Pour un nouveau venu, il vaut mieux avoir une grande organisation où les piles technologiques pour chaque type de produit sont déjà définies, tous les processus sont construits, il y a une documentation de test et beaucoup d'équipes qui peuvent chercher une solution ou demander des conseils. Au début, une approche systématique des tests et de l'idéologie de l'échange interne d'expérience est beaucoup plus importante que le salaire promis. Et aussi, nous serons francs, dans les grandes entreprises, la responsabilité des décisions stratégiques incorrectes est plutôt floue, vous pouvez donc acquérir de l'expérience en toute sécurité sans risquer l'ensemble des activités de votre employeur.

Dans les petites entreprises et les startups, l'attitude vis-à-vis des tests est souvent différente. Quelqu'un teste quelque chose quelque part - et c'est bien. Comment tester correctement, ils ne le diront pas. Au contraire, en contournant toutes les procédures vendredi soir, ils téléchargeront de nouvelles versions en production et les testeront plus tard.

Il vaut mieux aller à de telles «danses sauvages» pour des spécialistes plus formés qui comprennent ce qu'est la déviation des processus classiques. Pour une personne sans expérience, travailler dans ce mode ne produira que de la bouillie dans la tête. Très probablement, il n'apprendra rien de bon ici.

En général, si vous n'êtes pas chanceux avec votre lieu de travail, il n'est pas nécessaire de collecter d'urgence les choses. L'essentiel est de trouver un spécialiste sur qui vous pouvez compter pour trouver les bonnes solutions - une sorte de mentor et de conseiller. Soit dit en passant, le mentor n'a pas à être recherché parmi ses collègues. Il peut s'agir d'un étranger qui vous dira quoi étudier et où chercher. Certes, un étranger est peu susceptible d'être plongé dans le sujet du projet. Il faudra sans doute se souvenir de communiquer avec eux au sujet de la NDA.

Juin, milieu, senior. Existe-t-il un moyen supplémentaire


Sur son projet, le testeur est généralement contraint de se limiter à la pile technologique existante. Changer la pile, ainsi que des expériences audacieuses, est généralement assez coûteux ou associé à un changement de lieu de travail. Cependant, dans le cadre de la pile, quelque part jusqu'au niveau supérieur, vous avez suffisamment de problèmes - ce n'est pas une année de dur labeur et d'auto-éducation.

Quand il semble que vous vous êtes reposé contre le plafond, vous pouvez devenir des managers ou aller «en largeur» - pour étudier de nouveaux cadres et outils, en augmentant votre prix sur le marché du travail. Il est important que lorsque vous étudiez différentes approches, vous ayez la vision très intégrée qui vous aidera à mieux résoudre les problèmes apparemment insolubles, même à l'intérieur de votre pile.

Comme dans le développement, dans les tests, il y a une petite proportion de tâches qui impliquent des connaissances plus approfondies, par exemple les mathématiques. La conversation à ce sujet commence là où les mathématiques apparaissent et dans le développement lui-même - sous des charges élevées, etc. Il s'agit d'un autre domaine de croissance potentielle pour ceux qui peuvent intégrer des structures logiques à très grande échelle dans leur tête (et qui s'ennuient avec des tâches de test standard). Il y a très peu de telles tâches sur le marché. Mais grâce à eux, la possibilité de poursuivre le développement personnel reste pour ceux qui ne veulent pas suivre la voie managériale du développement.

Liens annexes


Le matériel de test est disponible sur http://www.protesting.ru/ . Il y a beaucoup de théorie et un peu de pratique. Vous pouvez trouver des informations de base sur les types de tests, ce qu'est un scénario de test, un plan de test, etc. Il est vrai que cette ressource se développe depuis les années 2000, donc certaines informations ont réussi à devenir obsolètes. Mais sur la base ici, vous pouvez trouver de précieux exemples.

Le forum sur la ressource https://software-testing.ru/forum/ est une sorte d'analogue Habr pour les testeurs (pour la plupart pour les automates). Il y a beaucoup d'informations utiles exactement au niveau initial - sur Habré dans la section des tests, il y a des articles plus avancés, et les textes pour les débutants apparaissent de moins en moins et le public accepte pire.

Deux autres bonnes sources d'information:https://tproger.ru/digest/free-software-testing-books/ et https://automation-remarks.com/ .

Merci aux spécialistes des tests de notre entreprise pour leur aide dans la préparation de l'article!

PS Nous publions nos articles sur plusieurs sites du Runet. Abonnez-vous à nos pages sur VK , FB , Instagram ou la chaîne Telegram pour en savoir plus sur toutes nos publications et autres actualités Maxilect.

All Articles