7 factors affecting test estimation selenium automation project selenium tutorial 32
In de laatste paar Selenium-tutorials hebben we geleerd over automatiseringstests met behulp van de tool Komkommer en Selenium We hebben ook gesproken over de integratie van Selenium WebDriver met Cucumber
In deze tutorial zullen we verschillende bespreken factoren die van invloed zijn op de schatting van de inspanning van seleniumautomatisering
Planning en schatting zijn de twee belangrijkste aspecten van de levenscyclus van softwareontwikkeling.
Ik heb persoonlijk het gevoel dat er in de software-industrie geen kogelvrije methoden om iets te doen. Aangezien elk project exclusief is en verschillende complexiteits- en omgevingsfactoren heeft, moet het implementeren van de schattings- en planningsstrategie een gezamenlijke inspanning zijn van de individuele teams met de juiste tussenkomst van senioren en managementondersteuning.
Voordat u begint met het schatten van een project, is het absoluut noodzakelijk om elke fase die uw project zal doorlopen te begrijpen, zodat u een juiste en gerechtvaardigde schatting kunt geven.
Schatten kan niet alleen worden gedaan voor het handmatige testproces, maar in dit tijdperk van automatisering worden schattingstechnieken ook toegepast op testautomatisering. Nu Selenium een momentum en populariteit wint op de markt, probeer ik te schrijven over een aantal factoren waarmee rekening moet worden gehouden bij het schatten van een Selenium-project.
Laten we beginnen!!
Ik ga ervan uit dat we het Automation-initiatief helemaal opnieuw beginnen en dat we geen kant-en-klaar raamwerk beschikbaar hebben.
Wat je leert:
wat is de beste pc-reiniger
- Factoren die de schatting van seleniumautomatisering beïnvloeden
- # 1 Reikwijdte van het project
- # 2 Complexiteit van de applicatie
- # 3 Gebruik van ondersteunende tools / technologieën
- # 4 Het raamwerk implementeren
- # 5 Leren en trainen
- # 6 Omgeving instellen
- # 7 Codering / scripting en beoordeling
- Gevolgtrekking:
- Aanbevolen literatuur
Factoren die de schatting van seleniumautomatisering beïnvloeden
De verschillende factoren die van invloed zijn en waarmee u rekening moet houden bij het schatten van het “Selenium” -specifieke project worden hieronder uitgelegd:
# 1 Reikwijdte van het project
Scope betekent doorgaans het identificeren van de juiste testcases voor automatisering. Pas de 'Verdeel & heers' -strategie toe om dit te bereiken. Breek uw applicatie in kleine stukjes of modules en analyseer ze allemaal om de juiste testcases voor automatisering te bedenken.
De betrokken stappen zijn:
- Identificeer de verschillende factoren die de basis zullen vormen voor het identificeren van de kandidaat-testgevallen.
- Verdeel de applicatie in kleinere modules
- Analyseer elke module om de kandidaat-testgevallen te identificeren
- Bereken ROI
Zie mijn vorige artikel voor meer informatie over het identificeren van de juiste testcase: Selectie van juiste testcases voor automatisering
# 2 Complexiteit van de applicatie
Stappen die hierbij betrokken zijn, zijn:
- Bepaal de grootte van de applicatie op basis van het aantal testcases dat moet worden geautomatiseerd.
- Grootte complexiteit door middel van Fibonacci-serie.
- Identificeer het verificatiepunt en ijkpunt van elke testcase
Hier moeten we de definitie van grote / middelgrote en kleine toepassingen vaststellen. Deze definitie verschilt vanuit een individueel / groepsperspectief. Hoe u uw aanvraag indient, hangt af van het aantal testgevallen.
Bijvoorbeeld:
Als uw applicatie 300 - 500 testcases heeft om te automatiseren, kunt u deze beschouwen als de kleine applicatie. Als de testgevallen meer dan 1500 zijn, kan het als complex worden geclassificeerd. Deze factor kan verschillen voor de verschillende toepassingen. Voor sommige kunnen 1500 te automatiseren testcases worden beschouwd als klein / middelgroot. Dus als u het exacte aantal testgevallen heeft geïdentificeerd, schaal het dan naar klein / middelgroot of groot. Uw strategie om de inspanning in te schatten, zal enorm afhangen van deze criteria.
U moet ook rekening houden met de verschillende ijkpunten en verificatiepunten voor uw testcase. Een testcase kan meer dan 1 ijkpunt hebben
maar heeft slechts 1 verificatiepunt. Als u meer dan 1 verificatiepunt heeft, is het raadzaam om te splitsen in afzonderlijke testcases. Dit zal ook uw onderhoud en verbetering van uw testsuite vergemakkelijken.
# 3 Gebruik van ondersteunende tools / technologieën
Stappen die hierbij betrokken zijn, zijn:
- Identificeer het raamwerk en de automatiseringsbehoeften
- Analyseer en identificeer op basis van de behoeften de te gebruiken tools.
- Identificeer de afhankelijkheden / implicaties van het gebruik van de tool.
Selenium alleen is niet voldoende om een raamwerk te bouwen of de automatisering te voltooien. Selenium (webstuurprogramma) zal alleen de testcase scripten, maar er zijn ook andere taken, zoals het rapporteren van het resultaat, het bijhouden van de logboeken, het maken van screenshots enz.
Om deze te bereiken heeft u afzonderlijke tools nodig die in uw framework worden geïntegreerd. Het is hier dus belangrijk om deze ondersteunende entiteiten te identificeren die het beste aan uw vereisten voldoen en die zullen helpen om een positieve ROI te behalen
# 4 Het raamwerk implementeren
Hier komt het lastige deel J de betrokken stappen zijn !!
- Identificeer de invoer (patroon waarin gegevens in het script worden ingevoerd) en uitvoer (rapporten / testresultaten) van uw automatiseringssuite.
- Ontwerp uw invoerbestanden. Dit kan variëren van een eenvoudig tekstbestand tot een complex Excel-bestand. Het is eigenlijk het bestand dat uw testgegevens zal bevatten.
- Ontwerp de mapstructuur op basis van uw invoerparameters en
- Implementeer de rapportagefunctie (in een Excel-bestand of met een tool zoals ReportNG)
- Bepaal / implementeer logger in uw framework
- Implementeer de build-tool in uw framework
- Implementeer het unit test framework (Junit of TestNG)
Er zijn veel andere vereisten dan alleen scripting in testautomatisering met Selenium, zoals het lezen van de gegevens uit een bestand, het rapporteren / volgen van de testresultaten, het bijhouden van logboeken, het activeren van de scripts op basis van de invoervoorwaarden en de omgeving enz. We hebben dus een structuur nodig dat zorgt voor al deze scripts. Deze structuur is niets anders dan uw Framework.
Webapplicaties zijn van nature complex omdat er veel ondersteunende tools en technologie bij komen kijken. Op een vergelijkbare manier is het implementeren van het framework in Selenium ook lastig (ik zal niet zeggen complex) omdat het andere tools omvat om te integreren. Aangezien we weten dat Selenium GEEN tool is, maar eigenlijk een verzameling / groep jar-bestanden, is het geconfigureerd en niet “Geïnstalleerd”, Selenium zelf is niet sterk genoeg om een complex raamwerk te bouwen. Het vereist een lijst met tools van derden om een raamwerk te bouwen.
We moeten hier niet vergeten dat er niets 'kant-en-klaar' in selenium is. Voor alles moeten we coderen, dus er zouden voorzieningen in schatting moeten zijn voor het googlen van de fouten en het oplossen van problemen.
Hier moeten we begrijpen dat dat Framework-bouwen het belangrijkste aspect is van uw automatiseringsinspanningen. Als uw framework zeer solide is, worden onderhoud en verbetering gemakkelijker, vooral in het tijdperk van Agile, als uw framework goed is, kunt u uw tests eenvoudig in alle sprints integreren.
Ik heb het niet mis als ik zeg dat deze specifieke factor bij het ontwerpen van het raamwerk het belangrijkste aspect van schattingen moet zijn. Indien nodig (zoals bij complexe toepassingen) moet deze factor opnieuw worden opgesplitst in een afzonderlijke WBS en moet er een schatting worden gemaakt.
de standaardgateway is niet beschikbaar windows 10 wifi
# 5 Leren en trainen
Selenium leren is een beetje anders dan het leren van een ander automatiseringstool. Het gaat in feite om het leren van een programmeertaal dan alleen een scripttaal (hoewel scripttaal helpt bij het bouwen van een raamwerk zoals u een script wilt schrijven dat uw geautomatiseerde scripts zou aanroepen nadat u de omgevingsinstellingen hebt gewijzigd).
In het geval dat we WebDriver combineren met java, zou ik zeggen dat als iemand goed thuis is in core java, ze in een zeer goede staat zijn om te beginnen met Selenium-automatisering.
Naast het leren van Java, zouden er voorzieningen moeten zijn om andere technologieën te leren, zoals ANT / Maven (voor bouwen), TestNG / jUnit (unit test framework), Log4J (voor Logging), rapportage (voor rapportage) enz. Deze lijst kan groeien op basis van het niveau van het raamwerk. Hoe meer deze lijst groeit, hoe meer tijd het zou kosten.
Als het management heeft besloten om voor selenium te gaan, kunnen deze leeractiviteiten parallel met de planningsactiviteit worden gedaan. Omdat er geen limiet is aan het leren van deze technologieën, wordt aangeraden om een definitief plan (syllabus) klaar te hebben voor het team, zodat ze hun leerproces in een bepaalde richting kunnen starten en iedereen op dezelfde pagina staat.
Praktisch gesproken hebben wij, testers, niet veel zin in het leren van een volwaardige programmeertaal en we vinden dat dit voor ontwikkelaars een fluitje van een cent is. Maar nu moeten we deze mentaliteit veranderen en moeten we het leren van de programmeertaal net zo belangrijk vinden als het leren van het nieuwe testproces. Dit vergroot niet alleen de kennis van de tester over de taal en automatisering, maar geeft ook een kans om te begrijpen hoe de applicatie intern werkt, wat hun bereik om nieuwe bugs te vinden kan vergroten.
# 6 Omgeving instellen
Omgeving opgezet deals met (niet beperkt tot): -
- Instellen van de code in de testomgeving
- Code instellen in productieomgeving
- Scripts schrijven om de geautomatiseerde tests te activeren.
- Ontwikkeling van de logica voor rapportage
- Het bepalen van de frequentie waarmee de scripts worden uitgevoerd en het ontwikkelen van logica voor de implementatie ervan
- Aanmaken van tekst / Excel-bestanden voor het invoeren van testgegevens en testgevallen
- Eigenschappenbestanden maken voor het volgen van de omgevingen en aanmeldingsgegevens
# 7 Codering / scripting en beoordeling
Voordat u daadwerkelijk begint met het schrijven van uw tests, zijn er twee voorwaarden:
- Kandidaat-testcases moeten handig zijn
- Framework is klaar
Identificeer verschillende acties die uw webtoepassing uitvoert. Het kunnen eenvoudige acties zijn zoals navigeren, klikken, tekst invoeren; of een complexe handeling zoals verbinding maken met een database, flash afhandelen of Ajax. Neem één testcase tegelijk, en bepaal wat alle acties die specifieke testcase doet, en schat dienovereenkomstig de uren per testcase. De som van alle uren voor de hele testsuite geeft u het exacte aantal.
De voorziening moet er ook zijn voor beoordeling. De beoordelingen zijn gewoon de codereview die kan worden gedaan door een peer of een ontwikkelaar. Paarprogrammering is de beste optie die snel is, maar als het niet mogelijk is, op basis van de beschikbare middelen of de beoordelingsstrategie van de organisatie, moeten er uren voor worden gereserveerd.
Meer details over elke factor die de schatting beïnvloedt:
Factor # 1: bereik
Betekenis : Identificatie van de kandidaat-testcases voor automatisering via de ROI
Betrokken stappen:
- Identificeer de verschillende factoren die de basis zullen vormen voor het identificeren van de kandidaat-testgevallen.
- Verdeel de applicatie in kleinere modules
- Analyseer elke module om de kandidaat-testgevallen te identificeren
- Bereken de ROI
Leverbaar: Lijst met testcases die moeten worden geautomatiseerd.
Opmerkingen: Het is belangrijk om uw bereik te bevriezen zodra u doorgaat met andere schattingsstappen.
Factor # 2: Complexiteit
Betekenis: Bepaal de definitie van eenvoudige en kleine applicatie.
Betrokken stappen:
- Grootte van de applicatie op basis van het aantal testcases dat moet worden geautomatiseerd.
- Grootte complexiteit door middel van Fibonacci-serie.
- Identificeer het verificatiepunt en ijkpunt van elke testcase.
Leverbaar: Grootte van de applicatie - klein, middelgroot of groot.
Een aantal testcases en het bijbehorende ijkpunt en verificatiepunt.
Opmerkingen : Aanbevolen - Een testcase kan meerdere controlepunten hebben, maar slechts één verificatiepunt. Als een testcase meer dan 1 verificatiepunt heeft, moet deze worden opgesplitst in een aparte testcase.
Factor # 3: ondersteunende tools
Betekenis: Selenium zelf is niet sterk genoeg om een complex raamwerk te bouwen. Het vereist een lijst met framework-tools voor het bouwen van een framework.
Betrokken stappen:
- Afgeronde IDE
- Afgeronde unit test tool
- Voltooide logger
- Afgeronde rapportagetool
- Afgeronde build-tool
Leverbaar: Lijst met tools die nodig zijn om het framework te maken.
Opmerkingen:
Voorbeelden:
- Eclipse / RAD - als IDE
- Ant / Maven - Als build-tool
- jUnit / TestNG - als eenheids testraamwerk
- Log4j - als Logger
- ReportiNG - als rapportagetool
- Tekstbestanden - voor het volgen van de omgevingen / inloggegevens
- Excel-bestanden - voor het volgen van de testgegevens
- Perl / Python - voor het opzetten van een omgeving en het activeren van de testscripts.
Factor # 4: uitvoeringskader
Betekenis: Creëren van structuur
hoe maak je een java lijst
Betrokken stappen:
- Ontwerp uw invoerbestanden.
- Ontwerp de mappenstructuur
- Bepaal / implementeer logger in uw framewerk
- Implementeer de build-tool in uw framework
- Implementeer het unit test framework
Leverbaar:
- Framework en mapstructuur gemaakt in de IDE.
- Excel-sheets met uw invoergegevens
- Eigenschappenbestanden met omgevingsgerelateerde gegevens en aanmeldingsgegevens.
Opmerkingen: Dit is de meest cruciale stap. Het is raadzaam om bij het schatten wat buffertijd op te nemen, omdat het oplossen van problemen enige tijd meer tijd kost dan verwacht.
Factor # 5: Omgeving opgezet
Betekenis: Behandelt het instellen van code en het downloaden / voorbereiden van de code-implementatie
Betrokken stappen:
- Bereid het invoerbestand en de rapportage voor
- Maak het triggerscript
Leverbaar: Omgeving klaar
Opmerkingen: We zouden moeten proberen ons raamwerk zo op te bouwen dat onze code met zo min mogelijk gedoe in de genoemde omgeving / box wordt geïmplementeerd.
Ik zou niet verkeerd moeten zijn als ik zeg dat met minimale invoer in onze tekstbestanden (die de URL en inloggegevens bevatten) onze code klaar moet zijn om te worden uitgevoerd en ROCK!
Factor # 6: leren en trainen
Betekenis: Een programmeertaal en andere ondersteunende technologieën leren
Betrokken stappen: Stel een plan op volgens uw automatiseringsbehoeften en deel het met het team en moedig hen aan om te leren en door te gaan volgens de syllabus.
Leverbaar: Trainingsplan en zijn tracker die de voortgang van het team zal volgen.
Opmerkingen: De nadruk moet liggen op het bouwen van logica in plaats van op het leren van syntaxis.
Factor # 7: codering / scripting en beoordeling
Betekenis: Schrijven van de daadwerkelijke testscripts en deze beoordelen
Betrokken stappen:
- Testcases en framework is klaar.
- Neem / verdeel de testcases en zet deze om in geautomatiseerde scripts en houd je voortgang bij
Leverbaar: Geautomatiseerde testscripts
Opmerkingen: het Het hele team moet deelnemen aan het schrijven van de testscripts met behulp van het geïmplementeerde framework. Dus bij het schatten moet rekening worden gehouden met de inspanningen van het hele team.
Gevolgtrekking
Over al deze punten gezegd, vergeet dan niet om de overhead van het beheer en wat buffertijd op te nemen in uw uiteindelijke Selenium-automatiseringsschatting. De beste en bewezen manier om een schatting te maken, is door het WBS-mechanisme (Work Break down Structure) te volgen. Dit is ongecompliceerd en dient om de behoefte aan automatiseringsschattingen te implementeren.
De hierboven genoemde factoren zijn gebaseerd op mijn ervaring, maar er kunnen ook andere entiteiten zijn die de strategie kunnen beïnvloeden.
De vuistregel hier is “Bepaal bepaalde criteria, verdeel je modules of testcase op die criteria; en schaal het ”. Op basis van uw geschaalde cijfer kunt u tot een nauwkeurige schatting komen.
Volgende les # 33 We zullen onze afronden meest uitgebreide Selenium online training gratis tutorials-serie met de laatste tutorial, d.w.z. ' Selenium testen interviewvragen met antwoorden
Laat het ons weten als je nog andere tips hebt voor het inschatten van de inspanning van Selenium-projecten.
Aanbevolen literatuur
- Inleiding tot Selenium WebDriver - Selenium Tutorial # 8
- Efficiënte Selenium-scripts en scenario's voor probleemoplossing - Selenium-zelfstudie # 27
- Selenium-scripts debuggen met logboeken (Log4j-zelfstudie) - Selenium-zelfstudie # 26
- 30+ beste selenium-zelfstudies: leer selenium met echte voorbeelden
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Elementen zoeken in Chrome- en IE-browsers voor het bouwen van Selenium-scripts - Selenium-zelfstudie # 7
- Meest populaire testautomatiseringsraamwerken met voor- en nadelen van elk - Selenium Tutorial # 20
- Implementatie van ons eerste WebDriver-script - Selenium WebDriver-zelfstudie # 10