7 factors affecting test estimation selenium automation project selenium tutorial 32
Dans les deux derniers tutoriels sur Selenium, nous avons découvert tests d'automatisation à l'aide de l'outil Cucumber et Selenium . Nous avons également discuté de la intégration de Selenium WebDriver avec Cucumber .
Dans ce tutoriel, nous aborderons différents facteurs affectant l'estimation de l'effort de l'automatisation du sélénium .
La planification et l'estimation sont les deux aspects les plus importants d'un cycle de vie de développement logiciel.
Je pense personnellement que dans l'industrie du logiciel, il y a pas de méthodes pare-balles de faire quoi que ce soit. Étant donné que chaque projet est exclusif et comporte différents ensembles de complexité et de facteurs environnementaux, la mise en œuvre de la stratégie d'estimation et de planification devrait être un effort de collaboration des équipes individuelles avec des interventions appropriées des personnes âgées et un soutien de la direction.
Avant de commencer à estimer un projet, il est impératif de comprendre chaque phase que votre projet traversera, afin que vous puissiez donner une estimation correcte et justifiée.
L'estimation peut non seulement être effectuée pour le processus de test manuel, mais à l'ère de l'automatisation, des techniques d'estimation sont également appliquées à l'automatisation des tests. Maintenant que Selenium gagne un élan et une popularité sur le marché, j'essaie d'écrire sur certains facteurs qui devraient être pris en considération lors de l'estimation d'un projet Selenium.
Commençons!!
Je suppose que nous commençons l'initiative d'automatisation à partir de zéro et que nous n'avons pas de cadre prêt à l'emploi disponible.
Ce que vous apprendrez:
- Facteurs affectant l'estimation de l'automatisation du sélénium
- # 1 Portée du projet
- # 2 Complexité de l'application
- # 3 Utilisation d'outils / technologies de soutien
- # 4 Mise en œuvre du cadre
- # 5 Apprentissage et formation
- # 6 Configuration de l'environnement
- # 7 Codage / script et révision
- Conclusion:
- lecture recommandée
Facteurs affectant l'estimation de l'automatisation du sélénium
Les différents facteurs qui affectent et que vous devez prendre en compte pour l'estimation du projet spécifique «Selenium» sont expliqués ci-dessous:
# 1 Portée du projet
La portée signifie généralement l'identification des cas de test corrects pour l'automatisation. Appliquez la stratégie «Diviser et régner» pour y parvenir. Divisez votre application en petits morceaux ou modules et analysez chacun d'eux pour trouver les cas de test appropriés pour l'automatisation.
Les étapes impliquées sont:
- Identifiez les différents facteurs qui formeront la base de l'identification des cas de test candidats.
- Divisez l'application en modules plus petits
- Analyser chaque module pour identifier les cas de test candidats
- Calculer le retour sur investissement
Pour plus de détails sur la façon d'identifier le cas de test correct, veuillez consulter mon article précédent: Sélection de cas de test corrects pour l'automatisation
# 2 Complexité de l'application
Les étapes impliquées ici sont:
- Déterminez la taille de l'application en fonction du nombre de cas de test à automatiser.
- Complexité de taille grâce à la série Fibonacci.
- Identifier le point de vérification et le point de contrôle de chaque cas de test
Ici, nous devons établir la définition d'une application de grande / moyenne et petite taille. Cette définition diffère d'un point de vue individuel / de groupe. La manière dont vous classifiez votre application peut également dépendre du nombre de cas de test.
Par exemple:
Si votre application dispose de 300 à 500 cas de test à automatiser, vous pouvez la considérer comme une application de petite taille. Si les cas de test dépassent 1500, il peut être classé comme complexe. Ce facteur peut être différent pour les différentes applications. Pour certains, 1500 cas de test à automatiser peuvent être considérés comme à petite / moyenne échelle. Ainsi, une fois que vous avez identifié le nombre exact de cas de test, mettez-le à l'échelle en petit / moyen ou grand. Votre stratégie d'estimation de l'effort dépendra énormément de ces critères.
Vous devez également prendre en compte les différents points de contrôle et points de vérification pour votre scénario de test. Un cas de test peut avoir plus d'un point de contrôle
mais n'aura qu'un seul point de vérification. Si vous avez plus d'un point de vérification, il est recommandé de bifurquer dans des cas de test distincts. Cela facilitera également la maintenance et l'amélioration de votre suite de tests.
# 3 Utilisation d'outils / technologies de soutien
Les étapes impliquées ici sont:
- Identifier le cadre et les besoins d'automatisation
- En fonction des besoins, analyser et identifier les outils à utiliser.
- Identifiez les dépendances / implications de l'utilisation de l'outil.
Le sélénium seul n'est pas suffisant pour construire un cadre ou compléter l'automatisation. Selenium (pilote Web) ne scriptera que le scénario de test, mais il existe également d'autres tâches, comme rapporter le résultat, suivre les journaux, prendre des captures d'écran, etc.
Pour y parvenir, vous avez besoin d'outils séparés qui seront intégrés à votre cadre. Il est donc important ici d'identifier ces entités supports qui répondront le mieux à vos besoins et vous aideront à obtenir un retour sur investissement positif
# 4 Mise en œuvre du cadre
Voici la partie délicate J les étapes impliquées sont !!
quel est le meilleur téléchargeur mp3
- Identifiez l'entrée (modèle dans lequel les données sont introduites dans le script) et la sortie (rapports / résultats de test) de votre suite d'automatisation.
- Concevez vos fichiers d'entrée. Cela peut aller d'un simple fichier texte à un fichier Excel complexe. C'est essentiellement le fichier qui contiendra vos données de test.
- Concevez la structure des dossiers en fonction de vos paramètres d'entrée et
- Implémentez la fonction de création de rapports (soit dans un fichier Excel, soit en utilisant n'importe quel outil comme ReportNG)
- Déterminez / implémentez le logger dans votre framework
- Implémentez l'outil de construction dans votre framework
- Implémenter le framework de test unitaire (Junit ou TestNG)
Il existe de nombreuses autres exigences en dehors de la simple création de scripts dans l'automatisation des tests avec Selenium, comme la lecture des données d'un fichier, le rapport / suivi des résultats des tests, le suivi des journaux, le déclenchement des scripts en fonction des conditions d'entrée et de l'environnement, etc. Nous avons donc besoin d'une structure qui s'occupera de tous ces scripts. Cette structure n'est rien d'autre que votre cadre.
Les applications Web sont complexes par nature car elles impliquent de nombreux outils et technologies de support à mettre en œuvre. De la même manière, la mise en œuvre du framework dans Selenium est également délicate (je ne dirai pas complexe) car elle implique d'autres outils à intégrer. Puisque nous savons que Selenium n'est PAS un outil mais en fait une collection / groupe de fichiers jar, il est configuré et non «installé», Selenium lui-même n'est pas assez puissant pour construire un framework complexe. Il nécessite une liste d'outils tiers pour créer un cadre.
Nous devons nous rappeler ici qu'il n'y a rien de «prêt à l'emploi» dans Selenium. Pour tout, nous devons coder, donc des dispositions en matière d'estimation devraient être là pour rechercher les erreurs et le dépannage sur Google.
Ici, nous devons comprendre que la création de ce Framework est l'aspect le plus important de votre effort d'automatisation. Si votre framework est solide comme le roc, la maintenance et l'amélioration deviennent plus faciles surtout à l'ère de l'Agile, si votre framework est bon, vous pouvez intégrer facilement vos tests dans tous les sprints.
Je ne me trompe pas si je dis que ce facteur particulier de conception du cadre devrait être l’aspect le plus important de l’estimation. Si nécessaire (comme dans une application complexe), ce facteur doit à nouveau être décomposé en un WBS séparé et une estimation doit être effectuée.
# 5 Apprentissage et formation
L'apprentissage de Selenium est un peu différent de l'apprentissage de tout autre outil d'automatisation. Il s'agit essentiellement d'apprendre un langage de programmation plutôt qu'un simple langage de script (bien que le langage de script aide lors de la construction d'un cadre comme vous voulez écrire un script qui invoquerait vos scripts automatisés après avoir effectué les modifications des paramètres d'environnement).
Dans le cas où nous combinons WebDriver avec java, je dirais que si l'on est bien familiarisé avec le noyau Java, ils sont en très bon état pour commencer avec l'automatisation Selenium.
Parallèlement à l'apprentissage de Java, des dispositions devraient être là pour apprendre d'autres technologies telles que ANT / Maven (pour la construction), TestNG / jUnit (cadre de test unitaire), Log4J (pour la journalisation), la création de rapports (pour la création de rapports), etc. cette liste peut augmenter en fonction de le niveau du cadre. Plus cette liste s'allonge, plus cela prendra de temps.
Si la direction a décidé d'opter pour le sélénium, ces activités d'apprentissage peuvent être menées en parallèle avec l'activité de planification. Parce qu'il n'y a pas de limite à l'apprentissage de ces technologies, il est suggéré d'avoir un plan défini (syllabus) prêt pour l'équipe afin qu'elle puisse initier son processus d'apprentissage dans une direction définie et que tout le monde soit sur la même longueur d'onde.
En pratique, nous, les testeurs, n'avons pas beaucoup envie d'apprendre un langage de programmation à part entière et nous pensons que c'est un jeu d'enfant pour les développeurs. Mais maintenant, nous devons changer cette mentalité et devrions considérer l'apprentissage du langage de programmation comme étant tout aussi important que l'apprentissage du nouveau processus de test. Cela augmentera non seulement les connaissances des testeurs sur le langage et l'automatisation, mais donnera également une chance de comprendre comment l'application fonctionne en interne, ce qui peut augmenter leur portée pour trouver de nouveaux bogues.
# 6 Configuration de l'environnement
Environnement mis en place avec (non limité à): -
- Configuration du code dans l'environnement de test
- Configuration du code dans l'environnement de production
- Rédaction de scripts pour déclencher les tests automatisés.
- Développer la logique du reporting
- Établir la fréquence d'exécution des scripts et développer la logique de sa mise en œuvre
- Création de fichiers texte / Excel pour la saisie des données de test et des cas de test
- Création de fichiers de propriétés pour suivre les environnements et les informations d'identification
# 7 Codage / script et révision
Avant de commencer à écrire vos tests, il y a 2 prérequis:
- Les cas de test candidats doivent être pratiques
- Le cadre est prêt
Identifiez les différentes actions effectuées par votre application Web. Il peut s'agir d'actions simples comme la navigation, le clic, la saisie de texte; ou une action complexe comme se connecter à une base de données, gérer Flash ou Ajax. Prenez un cas de test à la fois, identifiez toutes les actions de ce cas de test particulier et estimez les heures en conséquence pour chaque cas de test. La somme de toutes les heures de l'ensemble de la suite de tests vous donnera le nombre exact.
Des dispositions devraient également être prévues pour l'examen. Les révisions sont simplement la révision du code qui peut être effectuée par un pair ou un développeur. La programmation en binôme est la meilleure option, qui est rapide, mais si ce n'est pas possible, en fonction des ressources disponibles ou de la stratégie d'examen des organisations, des heures devraient lui être allouées.
Plus de détails sur chaque facteur affectant l'estimation:
Facteur n ° 1: portée
Sens : Identifier les cas de test candidats pour l'automatisation via le ROI
Étapes impliquées:
- Identifiez les différents facteurs qui formeront la base de l'identification des cas de test candidats.
- Divisez l'application en modules plus petits
- Analyser chaque module pour identifier les cas de test candidats
- Calculez le ROI
Livrable: Liste des cas de test à automatiser.
Remarques: Il est important de geler votre champ d'application une fois que vous avez effectué d'autres étapes d'estimation.
Facteur n ° 2: Complexité
Sens: Établissez la définition d'une application simple et de petite taille.
Étapes impliquées:
- Dimensionner l'application en fonction du nombre de cas de test qui doivent être automatisés.
- Complexité de taille grâce à la série Fibonacci.
- Identifiez le point de vérification et le point de contrôle de chaque cas de test.
Livrable: Taille de l'application - Petite, moyenne ou grande.
Un certain nombre de cas de test et leur point de contrôle et point de vérification correspondants.
Remarques : Recommandé - Un scénario de test peut avoir plusieurs points de contrôle, mais un seul point de vérification. Si un cas de test a plus d'un point de vérification, il doit être divisé en un cas de test distinct.
comment ouvrir un objet flash à ondes de choc
Facteur n ° 3: outils de soutien
Sens: Le sélénium lui-même n'est pas assez fort pour construire un cadre complexe. Cela nécessite une liste d'outils de cadre pour construire un cadre.
Étapes impliquées:
- IDE finalisé
- Outil de test unitaire finalisé
- Enregistreur finalisé
- Outil de reporting finalisé
- Outil de construction finalisé
Livrable: Liste des outils nécessaires pour créer le cadre.
Remarques:
Exemples:
- Eclipse / RAD – as IDE
- Ant / Maven - Comme outil de construction
- jUnit / TestNG - comme cadre de test unitaire
- Log4j - comme enregistreur
- ReportiNG - comme outil de reporting
- Fichiers texte - pour suivre les environnements / informations d'identification
- Fichiers Excel - pour suivre les données de test
- Perl / Python - pour configurer un environnement et déclencher les scripts de test.
Facteur n ° 4: cadre de mise en œuvre
Sens: Création de structure
Étapes impliquées:
- Concevez vos fichiers d'entrée.
- Concevoir la structure des dossiers
- Déterminez / implémentez un enregistreur dans votre cadre de travail
- Implémentez l'outil de construction dans votre framework
- Implémenter le framework de test unitaire
Livrable:
- Structure et structure de dossier créées dans l'EDI.
- Feuilles Excel contenant vos données d'entrée
- Fichiers de propriétés contenant des données et des informations d'identification liées à l'environnement.
Remarques: C'est l'étape la plus cruciale. Il est conseillé d'inclure un certain temps de tampon lors de l'estimation, car le dépannage prend plus de temps que prévu.
Facteur n ° 5: configuration de l'environnement
Sens: Traite de la configuration du code et du téléchargement / préparation du déploiement du code
Étapes impliquées:
- Préparer le fichier d'entrée et le reporting
- Créer le script de déclenchement
Livrable: Prêt pour l'environnement
Remarques: Nous devrions essayer de construire notre framework de telle manière qu'avec le moins de tracas, notre code soit déployé dans ledit environnement / boîte.
Je ne devrais pas me tromper si je dis qu'avec des entrées minimales dans nos fichiers texte (qui ont l'URL et les informations d'identification), notre code devrait être prêt à fonctionner et ROCK!
Facteur n ° 6: Apprentissage et formation
Sens: Apprendre un langage de programmation et d'autres technologies de support
Étapes impliquées: Préparez un plan selon vos besoins d'automatisation et partagez-le avec l'équipe et encouragez-les à apprendre et à procéder conformément au programme.
Livrable: Plan de formation et son tracker qui suivront les progrès de l'équipe.
Remarques: L'accent devrait être mis sur la construction de logiques plutôt que sur l'apprentissage de la syntaxe.
meilleur espion de téléphone portable pour android
Facteur n ° 7: codage / script et révision
Sens: Rédiger les scripts de test réels et les revoir
Étapes impliquées:
- Les cas de test et le cadre sont prêts.
- Prenez / divisez les cas de test et convertissez-les en scripts automatisés et suivez vos progrès
Livrable: Scripts de test automatisés
Remarques: le Toute l'équipe doit participer à l'écriture des scripts de test en utilisant le framework implémenté. Ainsi, lors de l'estimation, les efforts de toute l'équipe doivent être pris en compte.
Conclusion :
Après avoir dit tous ces points, n'oubliez pas d'inclure les frais généraux de gestion et un certain temps de tampon dans votre estimation finale de l'automatisation Selenium. La meilleure et la manière éprouvée de faire une estimation est de suivre le mécanisme WBS (Work Break down Structure). Ceci est simple et sert à mettre en œuvre les besoins d'estimation d'automatisation.
Les facteurs mentionnés ci-dessus sont ceux basés sur mon expérience, mais il peut également y avoir d'autres entités qui pourraient affecter la stratégie.
La règle empirique ici est «Identifiez certains critères, divisez vos modules ou cas de test sur ces critères; et le mettre à l'échelle ». Sur la base de votre chiffre mis à l'échelle, vous pouvez arriver à une estimation précise.
Tutoriel suivant # 33 : Nous terminerons notre la série de tutoriels gratuits de formation en ligne Selenium la plus complète avec le dernier tutoriel, c'est-à-dire ' Questions d'entrevue de test de sélénium avec réponses ».
Faites-nous savoir si vous avez d'autres conseils pour l'estimation de l'effort des projets Selenium.
lecture recommandée
- Introduction à Selenium WebDriver - Tutoriel Selenium # 8
- Script Selenium efficace et scénarios de dépannage - Tutoriel Selenium # 27
- Débogage de scripts Selenium avec des journaux (Tutoriel Log4j) - Tutoriel Selenium # 26
- 30+ meilleurs tutoriels sur Selenium: Apprenez le sélénium avec de vrais exemples
- Tutoriel Cucumber Selenium: Intégration Cucumber Java Selenium WebDriver
- Comment localiser des éléments dans les navigateurs Chrome et IE pour créer des scripts Selenium - Tutoriel Selenium # 7
- Les cadres d'automatisation de test les plus populaires avec leurs avantages et leurs inconvénients - Tutoriel Selenium # 20
- Implémentation de notre premier script WebDriver - Tutoriel Selenium WebDriver # 10