qtp frameworks test automation frameworks keyword driven
=> Klik her for QTP Training Tutorials Series
salgssteder for ipad
Hvad er Test Automation Framework, og hvad er QTP Framework?
I forbindelse med en vellykket implementering af QTP til et softwaretestprojekt støder vi ofte på begrebet rammer. Rammen er intet andet end den tilgang, som vi konsekvent følger under automatiseringsprocessen - et sæt retningslinjer.
Personligt kan jeg ikke lide at give navne og sige, at den ene fungerer bedre end den anden. Valget af en bestemt ramme er ikke begyndelsen på et projekt. Det er det omvendte, der er sandt. I processen med at udarbejde en teststrategi opbygger du de regler, der gælder for testers nuværende situation, og at lige der er din ramme.
Når det er sagt, er følgende nogle af de vigtige punkter, vi skal overveje:
- Genanvendelighed
- Script er nem vedligeholdelse
- Læsbarhed af scripts
- God brugbar mappestruktur til alle testaktiverne
- Ingen hårde kodningsværdier
- Ingen kaskade af fejl. (dvs. hvis en test mislykkes, bør den ikke medføre, at de andre fejler eller stopper)
Dette er den grundlæggende liste, og mere kan tilføjes baseret på kravet.
Enhver teststrategi, der forsøger at inkorporere nogle eller alle disse ovenstående punkter, er din Test Automation Framework.
Der er forskellige navne og typer af rammer. Følgende er listen over rammer ifølge mig:
Hvad du vil lære:
- Typer af automatiseringsrammer: (Gælder for QTP Framework)
- Lineær ramme
- Søgeordsdrevet ramme
- Anbefalet læsning
Typer af automatiseringsrammer: (Gælder for QTP Framework)
- Lineær - Enkleste form for oprettelse af en test. Skriv bare et enkelt program uden modularitet i sekventielle trin
- Søgeordsdrevet - Opret forskellige nøgleord til et andet sæt operationer, og i hovedscriptet kan vi bare henvise til disse nøgleord.
- Datadrevet - At køre det samme sæt operationer på flere datasæt, der opbevares i separate filer, for det meste excel-ark.
- Hybrid - En kombinationsramme, der dels kan være datadrevet og dels søgeordsdrevet
- BPT - Dette betyder bare, at programmer er opdelt i forretningskomponenter og bruges sammen med den ene eller den anden af ovenstående typer rammer
Lineær ramme
Som diskuteret involverer denne tilgang simpelthen at skrive koden, når vi registrerer og fortsætter.
For eksempel, hvis den handling, du skal kontrollere, er oprettelsen af en ny konto i Gmail, er følgende trin:
- Åbn gmail.com
- Klik på 'Opret konto'
- Indtast detaljerne
- Bekræft detaljerne
- Opret kontoen
'Open GMail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click
Ovenstående er et eksempel på, hvordan et program, der bruger den lineære metode, ser ud. Det er indlysende på dette tidspunkt, hvad fordelene og ulemperne ved denne metode er.
Fordele:
- Enkelhed. For nybegynderprogrammereren er denne metode passende
- Tid - Det tager ikke meget tid at oprette testen
- Der kræves meget lidt planlægning
Ulemper:
- Ingen genanvendelighed overhovedet
- Hvis der er et andet script, der verificerer et bestemt aspekt af siden 'Google-konti', bliver du nødt til at omskrive koden for også at starte siden gmail.com. Så masser af gentagelser.
- Alle data er direkte indlejret i kode. Hardcoding lader ikke koden bruges til noget andet datasæt.
- Fejludsat og vedligeholdelse er vanskelig
Mens ulemperne opvejer fordelene, kan denne metode bruges, når dit mål er strengt at udføre en opgave uden valideringer.
Komponenterne af testaktiver i denne form for rammer er:
- Test script
- Objektlager (dette kan undgås ved hjælp af beskrivende programmering, hvis det er nødvendigt)
Søgeordsdrevet ramme
Hvordan kan vi gøre ovennævnte lineære rammetest bedre? Hvordan kan vi overvinde ulemperne?
c ++ tegn til streng
Vi har naturligvis brug for genanvendelighed, modularitet og læsbarhed. At forsøge at inkorporere disse funktioner og nå frem til en optimal løsning er intet andet end et forsøg på at skabe en ny, mere forbedret ramme.
Hvad er de genanvendelige komponenter?
- Lancering af Gmail og ankomst til 'Google-konti'-siden. Dette er en given, da validering af denne side betyder at komme først her. ‘GoTo Google Account” - kan gøres til en separat funktion, der kan kaldes igen og igen.
- Indtast detaljerne og valider dem - Du kan yderligere opdele dette i positive og negative blokke for at inkludere mere niveau af modularitet
- Oprettelse af konto - Det endelige niveau for validering og udførelse af den aktuelle opgave
Når du er ankommet her, har du ikke kun identificeret komponenter, der kan kaldes igen og igen, men du har også opdelt dit lineære program i moduler.
Funktioner:
Hidtil i vores serie har vi ikke behandlet funktioner. Funktioner er intet andet end et stykke kode, der udfører visse operationer. Det accepterer inputparametre fra det program, der kalder det og returnerer værdi til det.
Som en almindelig praksis er alle genanvendelige stykker kode grupperet i en fil, der indeholder alle de genanvendelige funktioner. Denne fil er knyttet til en ressource til din QTP-test. Typisk kan et funktionsbibliotek være en fil af typen: .vbs, .txt eller .qfl
Tilbage til vores eksempel- Sådan kan funktionsbiblioteksfilen være:
Function gotoGoogleAccount() 'Open Gmail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details End Function Function EnterDetails() Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details End Function Function SubmitToCreate() ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click End Function
Nu vil dit faktiske script være:
'Open GMail gotoGoogleAccount() ‘Enter the details EnterDetails() ‘Submit SubmitToCreate()
Fra ovenstående program er det nu klart, at vi har opnået læsbarhed, modularitet, og hvis et andet program ønsker at bruge login-funktionen, kan vi helt sikkert genbruge det. Alt hvad du skal gøre er at knytte funktionsbiblioteket til den nye test også, og du er klar til at gå.
Du kan også se, at funktionsnavne i dit script fungerer som om de fungerer VBScript's nøgleord og dermed navnet på denne ramme.
Komponenterne af testaktiver i denne form for rammer er:
Salesforce-udvikler interviewspørgsmål og svar pdf
- Test scripts
- Delt ELLER
- Delt funktionsbibliotek
Hvad ville ellers gøre dette program endnu bedre? Hvis vi kunne få EnterDetails () -funktionen til at tage forskellige datasæt og oprette forskellige konti og ikke være begrænset til de data, som vi hårdkodede i programmet. Det er præcis det næste trin. Data, der driver dine tests, og den tilgang, hvor vi gør dette, er den datadrevne ramme.
Vi vil diskutere Datadrevne og hybridrammer detaljeret i den kommende vejledning.
=> Besøg her for QTP Training Tutorials Series
Hvis du har problemer med QTP-ramme, som du står over for, og som ikke er dækket af disse artikler, så lad os det vide. Vi vil helt sikkert prøve at besvare dine spørgsmål.
Anbefalet læsning
- De mest populære testautomatiseringsrammer med fordele og ulemper ved hver - Selen Tutorial # 20
- Testautomatisering - er det en specialiseret karriere? Kan normale testere også automatisere?
- Hvorfor har vi brug for rammer til testautomatisering?
- QTP Tutorial # 18 - Datadrevne og hybridrammer forklaret med QTP-eksempler
- Hvordan adskiller testplanlægning sig for manuelle projekter og automatiseringsprojekter?
- Sådan fungerer datadrevet test (eksempler på QTP og selen)
- Sådan vælger du det bedste værktøj til automatiseringstest (En komplet guide)
- Datadrevet ramme i Selen WebDriver ved hjælp af Apache POI