what is sdet know difference between tester
Ce didacticiel traite de tous les aspects d'un SDET (ingénieur en développement logiciel en test), y compris les compétences, les rôles et responsabilités, le salaire et le cheminement de carrière:
Nous discuterons en profondeur du rôle de SDET, des attentes et des responsabilités de ce rôle que les entreprises attendent, des compétences qu'un SDET doit posséder, des outils et des technologies avec lesquels le candidat devrait être pratique, ainsi que des salaires en général. offert.
Ce que vous apprendrez:
Comprendre le rôle SDET
La forme étendue de SDET est - Ingénieur développement logiciel en test
En termes très simples, ce rôle est une combinaison d'un intermédiaire entre un rôle de développeur pur et un rôle de testeur pur. Les SDET sont des professionnels qualifiés dans les domaines de l'ingénierie de la qualité et du développement de logiciels.
Le terme SDET a été inventé pour la première fois par Microsoft, qui a ensuite été suivi et utilisé par la plupart des grands noms de produits tels que Google, Amazon, Adobe, Expedia, etc. Les rôles principaux attendus étaient de remplacer les tâches manuelles répétitives par une certaine automatisation pour augmenter l'efficacité ainsi que fiabilité des applications testées.
Comparaison entre SDET et QA manuel
Les testeurs manuels d'assurance qualité sont principalement axés sur la boîte noire ou les tests d'application. Cela signifie que, pour un testeur d'assurance qualité, ce qui compte, c'est une spécification du comportement attendu d'une application lorsqu'elle reçoit une certaine entrée.
meilleure idée pour python sur mac
Le testeur QA utiliserait simplement l'application / le système testé comme n'importe quel utilisateur / client normal, mais en se concentrant sur des détails plus minutieux ainsi que sur des scénarios de bord en essayant différentes combinaisons d'entrées, etc.
SDET se concentre sur les applications à la fois de White Box et de tests Black Box. En d'autres termes, ils seraient également conscients du fonctionnement interne de l'application, ce qui leur permet d'écrire des tests d'automatisation à l'aide des techniques de test White Box ou Black Box.
Essentiellement, un ingénieur en développement logiciel en test doit être au courant de toutes les techniques de test Black Box ainsi que des connaissances pratiques en développement / codage pour comprendre le fonctionnement interne de l'application, ce qui garantit de meilleures normes de qualité ainsi qu'un produit logiciel moins défectueux.
Essentiellement, un SDET doit servir de catalyseur pour une assurance qualité efficace par tous les moyens. Ce que cela signifie également, que l'individu utiliserait ses compétences pour s'assurer que toutes les parties du logiciel testé sont validées de la meilleure façon possible, ce qui devrait inclure le test des domaines fonctionnels et non fonctionnels.
Voyons la comparaison des testeurs SDET et manuels sur différents paramètres
Paramètre | SDET | Testeur manuel |
---|---|---|
Portée du test | Se concentre sur une grande variété de techniques et de types de test. Exemple: Fonctionnel, non fonctionnel, sécurité, performance, etc. | En règle générale, concentrez-vous sur la perspective de fonctionnalité de l'application testée. Un testeur manuel se comporte comme un utilisateur / client de l'application testée et la valide dans cette perspective. |
Automatisation | Les SDET se concentrent principalement sur l'automatisation de scénarios répétitifs pour garantir que les testeurs manuels puissent se concentrer sur des scénarios plus complexes et plus complexes et utiliser leur bande passante et leurs compétences plus efficacement. | Les testeurs manuels possèdent certaines ou aucune compétence en automatisation. Cependant, il est nécessaire que les testeurs manuels soient conscients de l'utilisation d'outils qui facilitent les tests manuels. Exemple: Utiliser Postman pour exécuter des points de terminaison d'API, utiliser des fournisseurs de cloud tels que Sauce Labs pour exécuter des tests sur différentes versions de plate-forme, etc. |
Ensemble de compétences principales | Les SDET sont principalement responsables de l'automatisation des cas de test ainsi que de l'écriture de scripts / outils réutilisables qui aident l'équipe à réduire les efforts répétitifs. Un membre senior de l'équipe SDET est également responsable de la création de cadres d'automatisation et de permettre aux autres SDET d'écrire des tests à l'aide du cadre. | Les testeurs manuels se concentrent principalement sur la fonctionnalité des applications, se concentrent sur les scénarios de cas de pointe et les cas de test complexes. Par exemple: Un testeur manuel testant une application mobile, en plus de tous les scénarios fonctionnels, penserait à des scénarios tels que - Que faire si je ferme l'application lorsqu'une opération backend / un appel réseau est en cours. - Que se passe-t-il si le mobile est soudainement éteint lorsque le client se trouve sur une page particulière de l'application. - Que se passe-t-il si Internet s'éteint au milieu du téléchargement d'un document sur une application, etc. |
Les salaires | Les SDET se voient généralement proposer des salaires plus élevés (~ 40 à 50% de plus que les testeurs manuels), en raison des compétences qu'ils possèdent et de l'expérience qu'ils possèdent. | Les rôles de test manuels purs commandent un salaire inférieur par rapport à un rôle hybride où un testeur manuel s'efforce également d'apprendre de nouveaux outils et d'ajouter de la valeur au produit livré. |
Ingénieur en développement logiciel dans les compétences de test
Voici les compétences qu'un SDET doit posséder:
# 1) Esprit ouvert
Le premier et principal ensemble de compétences est que tout ingénieur en développement logiciel en test doit être ouvert à l'apprentissage de tout langage / outil de script nécessaire pour lui permettre de tester en profondeur l'application en cours de test.
Il est fort probable qu'en tant que SDET dans une entreprise, vous finissiez par travailler avec la pile technologique Microsoft / .NET, mais dans une autre entreprise, le langage de développement est principalement Java - donc SDET devrait avoir un état d'esprit ouvert pour apprendre de nouvelles choses / technologies en tant que et au besoin.
# 2) Adaptatif
Un ingénieur en développement logiciel en test doit s'adapter aux besoins du projet, des outils et technologies, des bases de données, etc. Par exemple - en tant que SDET, vous pouvez avoir une expérience de test d'API, mais un autre rôle vous oblige à tester l'interface utilisateur ou le frontend. Par conséquent, le rôle vous oblige à vous adapter aux besoins du projet, afin de fournir un produit standard de haute qualité.
# 3) Multitâche
Dans la plupart des entreprises de produits, le ratio DEV et QA est souvent biaisé dans une large mesure. Cela signifie qu'il est courant de voir des équipes ayant un ratio DEV: QA de 4: 1 ou même de 5: 1. Par conséquent, il est impératif qu’un SDET soit censé être impliqué dans plusieurs choses et livrer.
Voici quelques responsabilités sur lesquelles un SDET devrait travailler:
- Participer aux réunions des parties prenantes: Un SDET doit assurer une liaison étroite avec les développeurs ainsi qu'avec les responsables du produit pour comprendre le produit des deux développeurs ainsi que du point de vue du produit, puis concevoir / suggérer une stratégie d'automatisation.
- Créer un cadre / des outils
- Élaborer une stratégie de planification des tests
- Soulever / enquêter sur les défauts
- Il peut parfois être nécessaire de contribuer aux tests unitaires avec les développeurs.
# 4) État d'esprit exploratoire
Chaque SDET doit se souvenir de ces lignes à tout moment - ' Si vous répétez constamment les mêmes actions, pensez à l'automatiser '
La personne aurait un état d'esprit pour réduire l'effort pour tout ce qui se présente à elle à l'aide d'outils pour améliorer la productivité ainsi que pour garantir des produits logiciels de haute qualité.
En plus de tous les travaux d'automatisation, le travail principal de SDET est de fournir des produits de haute qualité avec tout ce qu'il faut, par conséquent, il devra également se concentrer sur les tests de produits par le biais de méthodes exploratoires pour découvrir de plus en plus de bogues et de défauts cachés.
# 5) Collaborez, contribuez et communiquez
Le rôle de SDET consiste à assurer la liaison entre les différentes parties prenantes telles que les développeurs, les produits, les testeurs manuels, etc.
Il est important que les SDET collaborent avec toutes les parties prenantes requises et communiquent tous les détails nécessaires le cas échéant.
Les SDET et l'équipe d'assurance qualité détiennent les barrières de qualité d'un produit avant son ouverture au public et jouent donc un rôle important pour juger qu'un produit est apte à être lancé aux clients ou non.
Rôles et responsabilités
Essayons donc de comprendre quels sont les tâches et responsabilités quotidiennes des SDET et les différentes tâches qu’ils sont censés accomplir.
- Travailler aux côtés des développeurs ainsi que des parties prenantes de l'entreprise et s'efforcer d'automatiser les critères d'acceptation. Cela signifie en termes simples - un SDET comprend d'abord les exigences du point de vue de l'acceptation / du client et doit également comprendre la façon dont le produit est développé en termes de langage de codage, de bases de données, etc., puis planifie une stratégie pour automatiser le maximum de scénarios possible. .
- Responsable de la création de solutions d'automatisation de test robustes et de haute qualité pour les tests fonctionnels, de régression et de performance.
- Créez des scripts / outils réutilisables là où c'est nécessaire.
- Contribuer aux domaines de test fonctionnels et non fonctionnels. Les tests fonctionnels incluent les tests du point de vue des fonctionnalités / exigences et sont largement guidés par des critères d'acceptation ou des user stories.
Cependant, les tests non fonctionnels sont également importants. Par exemple, quelle est la performance de l'application, l'application est-elle suffisamment sécurisée, assurez-vous qu'il ne reste aucun piratage dans l'application, ce qui pourrait entraver la sécurité de l'application et entraîner une grande perte pour les clients ainsi que pour l'organisation. - Ils participent également aux discussions sur la conception et la conception architecturale et fournissent des commentaires efficaces lors des révisions de code.
Devenez un grand SDET
Pour devenir un excellent SDET, voyons quelques conseils / outils de base et compétences techniques qui doivent être appris pour mieux réussir dans leurs rôles.
Dans la section précédente, nous avons appris les qualités qu'un ingénieur en développement logiciel en test doit posséder pour devenir excellent dans ses rôles. Ils doivent avoir un état d'esprit ouvert, être adaptatifs et doivent être capables de communiquer, de collaborer et de contribuer de la manière prescrite par le produit ou l'équipe.
qui est responsable de la valeur commerciale fournie par une équipe Scrum
Voyons une liste de quelques outils et technologies courants que les SDET doivent apprendre:
- Doit avoir une solide compréhension des principes de test, des types de test et des méthodologies.
- Excellente maîtrise des problèmes de débogage - découvrez des outils de débogage tels que - Débogueur Web Chrome qui sont extrêmement utiles pour le débogage des applications Web, ainsi que pour l'analyse des journaux réseau pour une application en cours de test.
- Ils doivent être capables d'écrire du code / des scripts réutilisables et doivent donc maîtriser au moins un langage de script. Le plus simple à apprendre est Python qui pourrait être appliqué à une grande variété de tâches, de cadres d'automatisation, etc.
- Familiarisez-vous avec les clients de test d'API comme FACTEUR
- Doit être conscient des outils et techniques de test de la boîte blanche - comme les cadres de moquage ( Mockito ), etc., car on pourrait s'attendre à ce qu'ils contribuent également à l'écriture de tests unitaires si nécessaire.
- Ils doivent être conscients des outils de contrôle de version comme Aller . En outre, ils doivent être familiarisés avec les concepts de Pull demandes , revues de code, etc.
- Compréhension de l'architecture des applications Web et du modèle client-serveur général.
- Doit être conscient des concepts de base de la programmation orientée objet et comprendre SOLIDE maquette ( S responsabilité ingle, OU stylo / principe fermé, L Substitution iskov, je ségrégation d'interface, ré Ependency Inversion)
- Compréhension de base de Intégration continue / Livraison continue concepts (CI / CD) et devrait également être conscient des outils CI comme Jenkins / Bamboo, etc.
Les SDET sont généralement censés prendre en charge les problèmes de déploiement et il est donc impératif de comprendre ces outils. - Ils doivent être familiarisés avec au moins un cadre d'automatisation frontale. Le plus simple et le plus utilisé dans Sélénium . C'est le Saint Graal des tests frontaux pour les applications Web et presque toutes les organisations utilisent le framework Selenium pour automatiser les tests d'interface utilisateur.
- Apprendre les bases des tests de performances et écrire des scripts simples à l'aide d'outils de test de performances open source tels que JMeter est très utile et vous pouvez vous y référer Tutoriel Jmeter . Ceci est utile car les SDET sont également censés prendre en charge les exigences non fonctionnelles telles que les tests de performance.
- Ils doivent également être conscients des concepts fondamentaux des tests de sécurité. Cela comprend également la connaissance des normes de codage de base, ce qui garantit qu'aucune faille de sécurité de base n'est laissée sans réponse dans l'application. OWASP est une excellente référence pour tous ces concepts fondamentaux.
- Les SDET doivent connaître, comprendre et mettre en œuvre des méthodologies de développement agiles et doivent être à l'aise pour travailler avec des équipes utilisant la méthodologie Sprint / Scrum agile.
- Devrait être conscient de toute plate-forme de technologie cloud comme - Amazon AWS , Google GCP , ou Microsoft Azure .
Étant donné que la plupart des entreprises évoluent désormais vers une infrastructure basée sur le cloud, il est généralement utile de commencer avec une compréhension de base des outils et des technologies cloud.
Certification pour les SDET
En général, il n'y a pas de certifications spécifiques disponibles pour les SDET
Si quelqu'un souhaite commencer son parcours d'ingénieur en développement logiciel en test, il peut simplement se concentrer sur les points mentionnés dans la section «Comment devenir un grand SDET» de ce didacticiel, puis les SDET avec leur esprit ouvert devraient poursuivre leur parcours d'apprentissage au travail.
Pour tester la terminologie et les principes de base, il est bon que tous les professionnels du test de logiciels soient certifiés avec le Certificat de test ISTQB Foundation .
Cette certification couvre tous les concepts de base des tests logiciels tels que,
- Types de tests - fonctionnels / non fonctionnels
- Test boîte noire / boîte blanche / boîte grise
- Planification des tests / gestion des défauts
- Techniques de test - Partitionnement d'équivalence, matrice de traçabilité, etc.
Il existe également d'autres certifications internationales de test de logiciels disponibles, mais la plupart d'entre elles ne sont pas des critères de sélection très importants pour les entreprises souhaitant embaucher des SDET.
Une liste de toutes ces certifications est disponible ici.
Entrevues
Avec la plupart des plus grandes sociétés de produits, l'ingénieur en développement de logiciels en entretien de test est beaucoup plus comparé à ceux qui ont des entretiens avec les développeurs, car ils sont censés connaître l'essentiel du développement des méthodologies et des concepts connexes.
Cependant, les entretiens sont un peu indulgents par rapport aux développeurs. Ce qui est souligné ici, c'est comment le candidat aborde un problème et dans quelle mesure une personne peut-elle penser le problème.
En général, les entretiens SDET consistent en des cycles / types de questions suivants dans presque toutes les grandes organisations de produits telles que Amazon, Microsoft, Adobe, Expedia, etc.
- Tour écrit: Rédaction de cas de test pour un produit donné. Ici, l'intention est de se faire une idée de ce que toutes les facettes du test peuvent penser la personne sur le candidat si elle pense / liste tous les scénarios fonctionnels, les scénarios de cas de pointe, si le candidat se concentre sur les tests de sécurité, les tests de performance, etc.
- Cycle de codage: Un petit exercice de codage est donné et le candidat doit également noter tous les tests unitaires et les scénarios de test fonctionnel. Ici, le domaine ou la compétence qui est testé est: les connaissances / constructions de base en codage, l'écriture de code testable et les connaissances sur les techniques de test en boîte blanche telles que les tests unitaires, la simulation, etc.
- Conception ronde: Une question de conception du système est posée, Exemple , comment concevriez-vous youtube
Ces types de questions sont généralement plus pertinents pour les développeurs, mais pour les SDET, l'enquêteur cherche à savoir dans quelle mesure la personne peut penser, est-ce que le candidat connaît les concepts de POO, est-il capable de penser à l'évolutivité, à la robustesse, à l'équilibrage de charge, etc. , le candidat peut-il utiliser les bonnes bases de données pour l'application à concevoir - Ronde RH / Manager: Ici, des choses comme la forme de l'équipe, la forme de la culture, etc. sont observées à propos du candidat ainsi que des discussions sur les salaires, et des négociations sont également menées.
Lecture recommandée => Questions d'entretiens chez SDET
Salaire SDET
Comme nous l'avons vu dans nos sections précédentes, les SDETs commandent des salaires plus élevés que la plupart des rôles de test manuel. Dans de nombreux cas, les salaires sont comparables à ceux des développeurs ayant un niveau d'expérience similaire.
Vous pouvez vous référer ici pour en savoir plus sur l'éventail des salaires des différents profils SDET dans différentes organisations. En général, le salaire SDET diffère selon la tranche d'expérience et l'organisation.
Vous trouverez ci-dessous une comparaison des salaires SDET des principales entreprises telles que Microsoft, Expedia.
Niveau | Microsoft ($) | Expedia ($) |
---|---|---|
SDET - I | 65000 - 80000 | 60000 - 70000 |
SDET - II | 75 000 - 11 000 | 70000 - 100000 |
Monsieur SDET | 100 000 - 150 000 | 90000 - 130 000 |
Parcours de carrière
En général, l'échelle de carrière SDET commence et évolue de la manière suivante:
- SDET-1 - SDET de niveau junior capable d'écrire des scripts d'automatisation.
- SDET-2 - SDET expérimenté capable d'écrire des outils réutilisables et des cadres d'automatisation.
- Monsieur SDET - SDET de niveau senior capable d'être un contributeur individuel comme SDET 1 et SDET 2 mais est également capable de
- Réaliser des revues de code.
- Participez aux discussions sur la conception et faites des suggestions pour apporter les changements appropriés à la conception.
- Participer à la stratégie globale de test du produit.
- Participer aux modèles de livraison CI / CD, créer des pipelines d'exécution, etc.
- Gestionnaire SDET - Après SDET2, vous pouvez choisir Sr SDET ou SDET Manager Path. Un gestionnaire SDET a également des responsabilités de gestion / leadership en plus du travail de base SDET.
- Architecte de test / Ingénieur de solutions - L'architecte de test ou l'ingénieur de solutions est une personne qui conçoit / architecte principalement un cadre global pour plusieurs projets, définit des spécifications de test, peut également agir en tant que responsable de la livraison. Ces personnes sont des particuliers et aident plusieurs projets à atteindre les résultats de leurs tests et à expédier un produit largement testé et sans défaut.
Voici une représentation au niveau du bloc de SDET Career Path:
Conclusion
Dans ce didacticiel, nous avons appris en profondeur ce qu'est un SDET en termes de rôles et de responsabilités, de compétences indispensables, quelle est la différence entre les SDET et les testeurs manuels, et ce qu'il faut pour devenir un excellent ingénieur en développement logiciel en test.
En général, SDET est un rôle très demandé et presque toutes les bonnes entreprises de produits ont ce rôle dans leurs équipes et sont très appréciées.
lecture recommandée
- Questions et réponses d'entrevue SDET (guide complet)
- 10 MEILLEURES sociétés et services de développement de logiciels personnalisés en 2021
- 20 MEILLEURS outils de développement logiciel (classements 2021)
- Mesures pour SSDLC (Secure Software Development Life Cycle)
- Phases, méthodologies, processus et modèles du SDLC (cycle de vie du développement logiciel)
- Méthodologies de développement et de test de logiciels (avec avantages et inconvénients)
- 5 choses qu'un développeur débutant (et un testeur) devrait savoir sur les tests de logiciels
- 5 façons d'être un testeur de logiciel audacieux et sûr