7 factors affecting test estimation selenium automation project selenium tutorial 32
A l’últim parell de tutorials de Selenium, en vam conèixer proves d'automatització mitjançant l'eina Cogombre i Seleni . També hem debatut sobre el integració de Selenium WebDriver amb Cogombre .
En aquest tutorial, parlarem de diferents factors que afecten l'estimació de l'esforç de l'automatització del seleni .
ubicació del fitxer apk al telèfon Android
La planificació i l'estimació són dos aspectes més importants del cicle de vida del desenvolupament de programari.
Personalment, crec que a la indústria del programari n’hi ha no hi ha mètodes a prova de bales de fer qualsevol cosa. Atès que cada projecte és exclusiu i té diferents conjunts de complexitat i factors ambientals, la implementació de l’estratègia d’estimació i planificació hauria de suposar un esforç col·laboratiu dels equips individuals amb les intervencions adequades de gent gran i el suport de la direcció.
Abans de començar a estimar qualsevol projecte, és imperatiu entendre totes i cadascuna de les fases que travessarà el vostre projecte, de manera que pugueu fer una estimació correcta i justificada.
L’estimació no només es pot fer per al procés de proves manuals, sinó que en aquesta era de l’automatització també s’apliquen tècniques d’estimació a l’automatització de proves. Ara, el Selenium agafa força i popularitat al mercat, estic intentant escriure sobre alguns factors que haurien de tenir-se en compte a l’hora d’estimar un projecte de Selenium.
Comencem!!
Suposo que estem iniciant la iniciativa Automation des de zero i que no tenim cap marc ja disponible.
Què aprendreu:
- Factors que afecten l'estimació de l'automatització del seleni
- # 1 Abast del projecte
- # 2 Complexitat de l'aplicació
- # 3 Ús d'eines / tecnologies de suport
- # 4 Implementació del marc
- # 5 Aprenentatge i formació
- Configuració de l'entorn # 6
- # 7 Codificació / scripting i revisió
- Conclusió:
- Lectura recomanada
Factors que afecten l'estimació de l'automatització del seleni
A continuació s'expliquen els diversos factors que afecten i que hauríeu de tenir en compte per a l'estimació del projecte específic de 'seleni':
# 1 Abast del projecte
L’abast normalment significa identificar els casos de prova correctes per a l’automatització. Apliqueu l'estratègia 'Divideix i regleu' per aconseguir-ho. Dividiu la vostra aplicació en petits trossos o mòduls i analitzeu-los per obtenir els casos de prova adequats per a l'automatització.
Els passos implicats són:
- Identifiqueu els diversos factors que seran la base per identificar els casos de prova candidats.
- Divideix l'aplicació en mòduls més petits
- Analitzeu cada mòdul per identificar els casos de prova candidats
- Calculeu el ROI
Per obtenir més informació sobre com identificar el cas de prova correcte, consulteu el meu document anterior: Selecció de casos de prova correctes per a automatització
# 2 Complexitat de l'aplicació
Aquests passos són:
- Determineu la mida de l'aplicació en funció del nombre de casos de prova que cal automatitzar.
- Complexitat de mida mitjançant la sèrie de Fibonacci.
- Identifiqueu el punt de verificació i el punt de control de cada cas de prova
Aquí hem d’establir la definició d’aplicació de mida gran / mitjana i petita. Aquesta definició difereix des d’una perspectiva individual / grupal. La manera com classifiqueu la vostra sol·licitud també pot dependre del nombre de casos de prova.
Per exemple:
Si la vostra aplicació té de 300 a 500 casos de prova per automatitzar, podeu considerar-la com una aplicació de mida petita. Si els casos de prova són més de 1500, es pot classificar com a complexos. Aquest factor pot ser diferent per a les diferents aplicacions. Per a alguns, es poden considerar 1500 casos de prova per automatitzar com a escala petita / mitjana. Per tant, un cop hàgiu identificat el nombre exacte de casos de prova, reduïu-lo a petit / mitjà o gran. La vostra estratègia per estimar l’esforç dependrà enormement d’aquests criteris.
També heu de tenir en compte els diferents punts de control i punts de verificació per al vostre cas de prova. Un cas de prova pot tenir més d’un punt de control
però només tindrà 1 punt de verificació. En cas que tingueu més d'un punt de verificació, es recomana bifurcar-se en casos de prova separats. Això també us facilitarà el manteniment i la millora del conjunt de proves.
# 3 Ús d'eines / tecnologies de suport
Aquests passos són:
- Identifiqueu el marc i les necessitats d'automatització
- En funció de les necessitats, analitzeu i identifiqueu les eines a utilitzar.
- Identifiqueu les dependències / implicacions de l’ús de l’eina.
El seleni per si sol no és suficient per construir un framework o completar l'automatització. Selenium (controlador web) només farà un script per al cas de prova, però també hi ha altres tasques, com informar del resultat, fer un seguiment dels registres, fer captures de pantalla, etc.
Per aconseguir-ho, necessiteu eines separades que s’integraran amb el vostre marc. Per tant, aquí és important identificar aquestes entitats de suport que s’adaptaran millor a les vostres necessitats i que us ajudaran a obtenir un ROI positiu
# 4 Implementació del marc
Aquí ve la part complicada J que són els passos implicats !!
- Identifiqueu l'entrada (patró en què s'introdueixen les dades a l'script) i la sortida (informes / resultats de les proves) del vostre paquet d'automatització.
- Dissenyeu els fitxers d'entrada. Això pot anar des d'un simple fitxer de text fins a un fitxer excel complex. Bàsicament és el fitxer que tindrà les vostres dades de prova.
- Dissenyeu l'estructura de carpetes en funció dels paràmetres d'entrada i
- Implementar la funció d'informes (ja sigui en algun fitxer Excel o mitjançant qualsevol eina com ReportNG)
- Determineu / implementeu el registre en el vostre marc
- Implementeu l'eina de compilació al vostre marc
- Implementar el marc de proves unitàries (Junit o TestNG)
Hi ha molts altres requisits, a part de només fer scripts en automatització de proves amb Selenium, com llegir les dades d’un fitxer, informar / rastrejar els resultats de la prova, fer un seguiment de registres, activar els scripts en funció de les condicions d’entrada i de l’entorn, etc. Per tant, necessitem una estructura que s'encarregarà de tots aquests guions. Aquesta estructura no és res més que el vostre Framework.
Les aplicacions web són complexes per naturalesa perquè impliquen moltes eines i tecnologia de suport per implementar. De manera similar, implementar el marc a Selenium també és complicat (no diré que complex), ja que implica altres eines per integrar-se. Com que sabem que el seleni NO és una eina, sinó que en realitat és una col·lecció / grup de fitxers jar, està configurat i no està 'instal·lat', el propi seleni no és prou fort per construir un marc complex. Requereix una llista d’eines de tercers per construir un marc.
Hem de recordar aquí que no hi ha res de 'ready-made' al seleni. Per a tot, hem de codificar, de manera que hi hauria d’haver disposicions d’estimació per analitzar els errors i solucionar problemes.
Aquí hem d’entendre que aquesta construcció de Framework és l’aspecte més important del vostre esforç d’automatització. Si el vostre marc és sòlid, el manteniment i la millora es fan més fàcils, especialment a l’era d’Agile, si el vostre marc és bo, podeu integrar les proves a tots els sprints fàcilment.
No m’equivocaré si dic que aquest factor concret del disseny del Marc hauria de ser l’aspecte més important de l’estimació. Si es necessita (com en aplicacions complexes), aquest factor s'ha de desglossar de nou en un WBS separat i s'hauria de fer l'estimació.
# 5 Aprenentatge i formació
Aprendre Seleni és una mica diferent que aprendre qualsevol altra eina d'automatització. Bàsicament consisteix a aprendre un llenguatge de programació que no només un llenguatge de seqüència d’ordres (tot i que el llenguatge de seqüències ajuda a construir un marc com el que voleu escriure un script que invocaria els vostres scripts automatitzats després de fer canvis a la configuració de l’entorn).
En cas que combinem WebDriver amb Java, diria que si un està ben versat amb Java Core, estan en molt bones condicions per començar amb l’automatització de Selenium.
Juntament amb l’aprenentatge de Java, hi hauria d’haver disposicions per aprendre altres tecnologies com ANT / Maven (per a la construcció), TestNG / jUnit (marc de prova unitària), Log4J (per a registre), informes (per a informes), etc. el nivell del marc. Com més creixi aquesta llista, més temps trigaria.
Si la direcció ha decidit anar amb seleni, aquestes activitats d'aprenentatge es poden fer paral·lelament a l'activitat de planificació. Com que no hi ha límit a l’hora d’aprendre aquestes tecnologies, es suggereix tenir un pla definit (pla d’estudis) per a l’equip perquè puguin iniciar el seu procés d’aprenentatge en una direcció determinada i tothom es troba a la mateixa pàgina.
Pràcticament parlant, els verificadors no tenen gaire aprenentatge d’un llenguatge de programació en tota regla i creiem que això és un pastís dels desenvolupadors. Però ara hem de canviar aquesta mentalitat i hauríem de considerar que l’aprenentatge del llenguatge de programació és igual d’important que l’aprenentatge del nou procés de proves. Això no només augmentarà els coneixements del verificador sobre l’idioma i l’automatització, sinó que també donarà l’oportunitat d’entendre com funciona l’aplicació internament, cosa que pot augmentar el seu abast per trobar nous errors.
Configuració de l'entorn # 6
Entorn establert ofertes (no limitat a): -
- Configuració del codi a l’entorn de prova
- Configuració del codi a l'entorn de producció
- Escriptura de scripts per activar les proves automatitzades.
- Desenvolupament de la lògica d’informes
- Establir la freqüència d’execució dels scripts i desenvolupar la lògica per a la seva implementació
- Creació de fitxers de text / excel per introduir les dades de prova i casos de prova
- Creació de fitxers de propietats per fer el seguiment dels entorns i les credencials
# 7 Codificació / scripting i revisió
Abans de començar a escriure les proves, hi ha dos requisits previs:
- Els casos de proves de candidats haurien de ser útils
- El marc està a punt
Identifiqueu les diferents accions que realitza la vostra aplicació web. Pot ser accions senzilles com navegar, fer clic, introduir text; o una acció complexa com connectar-se a una base de dades, gestionar flash o Ajax. Feu un cas de prova a la vegada i identifiqueu quines accions fa aquest cas de prova concret i calculeu les hores en conseqüència per cada cas de prova. La suma de totes les hores de tot el conjunt de proves us proporcionarà el nombre exacte.
També s'hauria de disposar de subministraments per a la revisió. Les ressenyes són simplement la revisió del codi que pot fer un company o un desenvolupador. La programació per parells és la millor opció ràpida, però si no és possible, en funció dels recursos disponibles o de l'estratègia de revisió de les organitzacions, s'haurien d'assignar hores per a això.
Més detalls sobre cada factor que afecta l'estimació:
Factor núm. 1: abast
Significat : Identificació dels casos de prova candidats per a l'automatització mitjançant el ROI
Passos implicats:
- Identifiqueu els diversos factors que seran la base per identificar els casos de prova candidats.
- Divideix l'aplicació en mòduls més petits
- Analitzeu cada mòdul per identificar els casos de prova candidats
- Calculeu el ROI
Entrega: Llista de casos de prova que cal automatitzar.
Observacions: És important congelar l'abast un cop seguiu altres passos d'estimació.
Factor núm. 2: complexitat
Significat: Establir la definició d'aplicacions senzilles i de mida reduïda.
Passos implicats:
- Mida l'aplicació en funció del nombre de casos de prova que cal automatitzar.
- Complexitat de mida mitjançant la sèrie de Fibonacci.
- Identifiqueu el punt de verificació i el punt de control de cada cas de prova.
Entrega: Mida de l'aplicació: petita, mitjana o gran.
Una sèrie de casos de prova i el seu punt de control i punt de verificació corresponents.
Observacions : Recomanat: un cas de prova pot tenir diversos punts de control, però només un punt de verificació. Si un cas de prova té més d’un punt de verificació, s’hauria de bifurcar en un cas de prova diferent.
Factor núm. 3: eines de suport
Significat: El seleni en si no és prou fort per construir un marc complex. Requereix una llista d’eines de marc per construir un marc.
Passos implicats:
- IDE finalitzat
- Eina de prova unitària finalitzada
- Registrador finalitzat
- Eina d'informes finalitzada
- Eina de construcció finalitzada
Entrega: Llista d’eines necessàries per crear el marc.
Observacions:
Exemples:
- Eclipsi / RAD: com a IDE
- Ant / Maven: com a eina de compilació
- jUnit / TestNG: com a marc de prova unitària
- Log4j: com a registrador
- ReportiNG: com a eina d'informes
- Fitxers de text: per fer un seguiment dels entorns / credencials
- Fitxers Excel: per al seguiment de les dades de la prova
- Perl / Python: per configurar un entorn i activar els scripts de prova.
Factor núm. 4: implementació del marc
Significat: Creació d’estructura
Passos implicats:
- Dissenyeu els fitxers d'entrada.
- Dissenyar l'estructura de carpetes
- Determineu / implementeu el registre en el vostre treball de marcs
- Implementeu l'eina de compilació al vostre marc
- Implementar el marc de prova unitària
Entrega:
- Marc i estructura de carpetes creats a l'IDE.
- Fulls Excel que contenen les vostres dades d’entrada
- Fitxers de propietats que contenen dades i credencials relacionades amb l'entorn.
Observacions: Aquest és el pas més crucial. Es recomana incloure una mica de temps de memòria intermèdia mentre es calcula, perquè la resolució de problemes de temps requereix més temps del previst.
Factor núm. 5: configuració del medi ambient
Significat: Es tracta de la configuració i descàrrega / preparació del codi per al desplegament del codi
Passos implicats:
- Prepareu el fitxer d’entrada i els informes
- Creeu l'script d'activació
Entrega: Entorn preparat
Observacions: Hem d'intentar construir el nostre marc de manera que amb menys molèsties, el nostre codi es desplegui a l'esmentat entorn / caixa.
No m'equivoco si dic que amb entrades mínimes als nostres fitxers de text (que tenen l'URL i les credencials), el nostre codi hauria d'estar llest per executar-se i ROCK.
Factor núm. 6: Aprenentatge i formació
Significat: Aprendre un llenguatge de programació i altres tecnologies de suport
Passos implicats: Prepareu un pla segons les vostres necessitats d’automatització i compartiu-lo amb l’equip i animeu-los a aprendre i seguir el pla d’estudis.
Entrega: Pla d’entrenament i el seu rastrejador que farà un seguiment del progrés de l’equip.
Observacions: S'hauria de posar èmfasi a construir lògiques més aviat a aprendre la sintaxi.
Factor núm. 7: codificació / scripting i revisió
Significat: Escriure els scripts de prova reals i revisar-los
Passos implicats:
- Els casos de prova i el marc estan a punt.
- Feu / dividiu els casos de prova i converteix-los en scripts automatitzats i feu un seguiment del vostre progrés
Entrega: Scripts de prova automatitzats
Observacions: el Tot l’equip hauria de participar en l’escriptura dels scripts de prova mitjançant el marc implementat. Per tant, mentre s’estima, s’ha de tenir en compte els esforços de tot l’equip.
Conclusió :
Dit això sobre tots aquests punts, no oblideu incloure la sobrecàrrega de la gestió i una mica de temps de memòria intermèdia a la vostra estimació final d’automatització de seleni. La millor manera provada de fer qualsevol estimació és seguir el mecanisme WBS (Work Breakdown Structure). Això és senzill i serveix per a la implementació de les necessitats d'estimació d'automatització.
Els factors esmentats anteriorment són els que es basen en la meva experiència, però també poden existir altres entitats que puguin afectar l'estratègia.
La regla del polze aquí és “Identifiqueu certs criteris, dividiu els vostres mòduls o el cas de prova en aquests criteris; i escalar-lo ”. Segons la vostra xifra a escala, podeu arribar a una estimació precisa.
Pròxim tutorial núm. 33 : Acabarem la nostra sèrie de tutorials gratuïts de formació en línia Selenium més completa amb l'últim tutorial, és a dir, ' Preguntes d’entrevistes amb proves de seleni amb respostes '.
Feu-nos saber si teniu altres consells per a l'estimació de l'esforç dels projectes de seleni.
Lectura recomanada
- Introducció a Selenium WebDriver - Tutorial Selenium # 8
- Escenaris de scripts i resolució de problemes de Selenium eficients: tutorial núm. 27 de Selenium
- Depuració d’escriptures de Selenium amb registres (Tutorial Log4j) - Tutorial Selenium núm. 26
- 30+ millors tutorials sobre seleni: apreneu el seleni amb exemples reals
- Tutorial de Cogombre Selenium: Integració de Cogombre Java Selenium WebDriver
- Com es poden localitzar elements als navegadors Chrome i IE per crear scripts Selenium - Tutorial Selenium # 7
- Marcs d’automatització de proves més populars amb pros i contres de cadascun: Tutorial Selenium núm. 20
- Implementació del nostre primer script WebDriver - Selenium WebDriver Tutorial # 10