qtp frameworks test automation frameworks keyword driven
=> Feu clic aquí per veure la sèrie de tutorials de formació QTP
preguntes i respostes d’entrevistes d’analistes de garantia de qualitat
Què és Test Automation Framework i què és QTP Framework?
En el context d 'una implementació reeixida de QTP per a un projecte de proves de programari, sovint ens trobem amb el concepte de frameworks. El marc no és res més que l’enfocament que seguim constantment durant el procés d’automatització: un conjunt de pautes.
Personalment, no m’agrada donar noms i dir que un funciona millor que l’altre. La selecció d’un determinat marc no és l’inici d’un projecte. És el contrari el que és cert. En el procés d’elaborar una estratègia de prova, heu de crear les regles que són aplicables a la situació actual del comprovador i que allà mateix hi ha el vostre marc.
Dit això, els següents són alguns dels punts importants que hem de tenir en compte:
- Reutilització
- Fàcil manteniment de l’escriptura
- Legibilitat dels scripts
- Bona estructura de carpetes viable per a tots els recursos de prova
- No hi ha valors de codificació dura
- Cap cascada de fallades. (és a dir, si falla una prova, no hauria de provocar la fallada ni la detenció de les altres)
Aquesta és la llista bàsica i es poden afegir més segons el requisit.
Qualsevol estratègia de prova que intenti incorporar alguns o tots aquests punts anteriors és el vostre Test Automation Framework.
Hi ha diversos noms i tipus de marcs. La següent és la llista de marcs segons jo:
Què aprendreu:
- Tipus de marcs d'automatització: (s'aplica a QTP Framework)
- Marc Lineal
- Marc basat en paraules clau
- Lectura recomanada
Tipus de marcs d'automatització: (s'aplica a QTP Framework)
- Lineal - La forma més senzilla de crear una prova. Simplement escriviu un sol programa sense modularitat en passos seqüencials
- Basat en paraules clau - Creeu paraules clau diferents per a un conjunt d'operacions diferents i, a l'script principal, només podem fer referència a aquestes paraules clau.
- Basat en dades - Per executar el mateix conjunt d'operacions en diversos conjunts de dades que es guarden en fitxers separats, principalment fulls Excel.
- Híbrid - Un marc de combinació que es pot basar en part en dades i en part basat en paraules clau
- BPT - Això només significa que els programes es divideixen en components empresarials i s’utilitzen amb un o altre dels tipus de marcs anteriors
Marc Lineal
Tal com es va comentar, aquest enfocament implica simplement escriure el codi a mesura que anem enregistrant i seguint endavant.
Per exemple, si l'operació que heu de verificar és la creació d'un compte nou a Gmail, seran els passos següents:
- Obriu gmail.com
- Feu clic a 'Crea un compte'
- Introduïu els detalls
- Verifiqueu els detalls
- Creeu el compte
'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
L’anterior és un exemple de l’aspecte d’un programa que utilitza el mètode lineal. En aquest punt, és obvi quins són els avantatges i desavantatges d’aquest mètode.
Avantatges:
- Senzillesa. Per al programador principiant, aquest mètode és adequat
- Temps: no es necessita molt de temps per crear la prova
- Es requereix molt poca planificació
Desavantatges:
- Cap reutilització
- Si hi ha un altre script que verifiqui un aspecte determinat de la pàgina 'Comptes de Google', haureu de tornar a escriure el codi per iniciar la pàgina gmail.com també. Així que molta repetició.
- Totes les dades s’incorporen directament al codi. La codificació dura no permet fer servir el codi per a cap altre conjunt de dades.
- És propici a produir errors i el manteniment és difícil
Tot i que els desavantatges superen els avantatges, aquest mètode es pot utilitzar quan el vostre objectiu és estricte per dur a terme una tasca sense validacions.
Els components dels actius de prova en aquest tipus de marcs són:
- Guió de prova
- Dipòsit d'objectes (això es pot evitar utilitzant programació descriptiva si cal)
Marc basat en paraules clau
Com podem millorar la prova de marc lineal anterior? Com podem superar els desavantatges?
find command a unix amb exemples
Viouslybviament, necessitem reutilització, modularitat i llegibilitat. Intentar incorporar aquestes funcions i arribar a una solució òptima no és res més que un intent de crear un nou marc millorat.
Quins són els components reutilitzables?
- Llançament de Gmail i arribada a la pàgina 'Comptes de Google'. Això és un fet, ja que validar aquesta pàgina significa arribar primer. 'Compte de Google GoTo': es pot convertir en una funció independent que es pot trucar una vegada i una altra.
- Introduïu els detalls i valideu-los: podeu dividir-lo en blocs positius i negatius per incloure més nivell de modularitat
- Creació de comptes: el nivell final de validació i realització de la tasca actual
Un cop heu arribat aquí, no només heu identificat components que es poden cridar una vegada i una altra, sinó que també heu dividit el vostre programa lineal en mòduls.
quina idea utilitzar per a Python
Funcions:
Fins ara a la nostra sèrie, no hem tractat les funcions. Les funcions no són res més que un tros de codi que fa determinades operacions. Accepta paràmetres d’entrada del programa que el crida i li retorna valor.
Com a pràctica general, tots els fragments de codi reutilitzables s’agrupen en un fitxer que conté totes les funcions reutilitzables. Aquest fitxer està associat amb un recurs a la prova QTP. Normalment, una biblioteca de funcions pot ser un fitxer del tipus: .vbs, .txt o .qfl
Tornem al nostre exemple- Així és com pot ser el fitxer de biblioteca de funcions:
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
Ara el vostre guió real serà:
'Open GMail gotoGoogleAccount() ‘Enter the details EnterDetails() ‘Submit SubmitToCreate()
Des del programa anterior, ara queda clar que hem aconseguit la llegibilitat, la modularitat i, si en cas que un altre programa vulgui utilitzar la funció d’inici de sessió, segur que el podem tornar a utilitzar. Tot el que heu de fer és associar també la biblioteca de funcions a aquesta nova prova i ja esteu bé.
També podeu veure que al vostre script els noms de les funcions funcionen com si ho fossin VBScript’s paraules clau i d’aquí el nom d’aquest marc.
Els components dels actius de prova en aquest tipus de marcs són:
- Prova scripts
- OR compartit
- Biblioteca de funcions compartides
Ara, què més milloraria aquest programa? Si poguéssim fer la funció EnterDetails () per agafar diferents conjunts de dades i crear diferents comptes i no limitar-nos a les dades que hem codificat de manera dura al programa. Aquest és exactament el següent pas. Les dades que condueixen les proves i l'enfocament en què ho fem és el marc basat en dades.
En parlarem Marcs basats en dades i híbrids en detall al proper tutorial.
=> Visiteu aquí la sèrie de tutorials de formació QTP
Si teniu problemes relacionats amb el marc QTP que no teniu en compte en aquests articles, feu-nos-ho saber. Sens dubte, intentarem respondre a les vostres preguntes.
Lectura recomanada
- Marcs d’automatització de proves més populars amb pros i contres de cadascun: Tutorial Selenium núm. 20
- Automatització de proves: és una carrera especialitzada? Els provadors normals també poden fer automatització?
- Per què necessitem un marc per a l'automatització de proves?
- Tutorial QTP # 18: marcs basats en dades i híbrids explicats amb exemples de QTP
- En què es diferencia la planificació de proves per a projectes manuals i d'automatització?
- Com funcionen les proves impulsades per dades (exemples de QTP i seleni)
- Com triar la millor eina de proves d'automatització (una guia completa)
- Marc basat en dades a Selenium WebDriver mitjançant Apache POI