top 10 test automation strategies
Acesta este ultimul articol din seria de automatizare a testelor . Acest articol rezumă cele mai bune practici și strategii pentru automatizarea testelor.
Deși articolele noastre anterioare menționează cele mai bune practici (și unele dintre ele pot fi repetate aici), am simțit cu tărie să enumăr câteva dintre acestea, dar cele mai importante bune practici de automatizare aici într-un articol pentru referință .
Aceste strategii sunt preluate din propria mea experiență, plus din literatura testelor de guru precum Michael Bolton, James Bach și Cem Kaner. Aceste practici ar trebui urmate în fiecare proiect de automatizare.
Ce veți învăța:
- Cele mai bune 10 strategii și practici de automatizare a testelor
- # 1. Angajați un inginer sau o echipă dedicată automatizării
- # 2. Un instrument de automatizare este important, dar nu este soluția la toate
- # 3. Selectați instrumentul de automatizare care este familiar resurselor dvs.
- # 4. Cunoașteți aplicația testată
- # 5. Automatizare bună înseamnă un caz de testare manual bun
- # 6. Identificați oportunitățile cu automatizarea
- # 7. Nu puteți automatiza totul
- # 8. Evitați automatizarea GUI atunci când există un prezent alternativ
- # 9. Folosiți automatizarea și în alte scopuri utile
- # 10. Automatizarea este dezvoltarea de software
- Concluzie
- Lectură recomandată
Cele mai bune 10 strategii și practici de automatizare a testelor
Începem..
# 1. Angajați un inginer sau o echipă dedicată automatizării
Acesta este un lucru de bază de făcut. Nu cereți testerelor dvs. manuale să se bucure de automatizarea testelor. Dacă doriți să facă automatizarea testelor, eliberați-le de testarea manuală. Automatizarea testelor este o slujbă cu normă întreagă. Pentru aceasta, aveți nevoie de resurse dedicate.
Vă recomand să construiți o echipă de automatizare a testelor formată din cel puțin un arhitect de automatizare. Puteți angaja mai mulți ingineri de automatizare pentru a lucra sub îndrumarea arhitectului de automatizare a testelor. Numărul inginerilor de automatizare depinde de numărul și dimensiunea produselor dvs.
exemple de scenarii de testare cap la cap
# 2. Un instrument de automatizare este important, dar nu este soluția la toate
Am vorbit despre selectarea instrumentelor . Dar selectarea instrumentului potrivit este doar începutul. Unii manageri au concepția greșită că, dacă selectează instrumentul potrivit, pot automatiza cu ușurință orice. Atenție, instrumentele de automatizare nu vă oferă totul. Fac procesul mai ușor. Dar aveți nevoie de resurse calificate pentru a finaliza procesul.
Adesea instrumentele de automatizare sunt buggy și se blochează în identificarea obiectelor complexe din aplicație. Resursele pe care le angajați, dacă sunt calificate, vin cu o soluție care duce procesul înainte. În caz contrar, dacă nu angajați resurse bune, Instrumentul singur nu poate garanta automatizarea cu succes.
# 3. Selectați instrumentul de automatizare care este familiar resurselor dvs.
Dacă resursele dvs. sunt familiarizate cu C # și aplicația dvs. care urmează să fie testată este dezvoltată și în C #, atunci nu are rost să selectați instrumentul care nu oferă C # pentru a scrie scripturi.
Învățarea limbilor străine este un proces care necesită timp. Evitați această curbă de învățare cumpărând un instrument care oferă o curbă minimă de învățare.
# 4. Cunoașteți aplicația testată
Selecția instrumentului depinde în mare măsură de tehnologiile utilizate în produsul dvs. Cunoașteți-vă produsul din afară înainte de a începe automatizarea.
Dacă este o aplicație web, cunoașteți browserele pe care le va suporta. Cunoașteți tehnologiile utilizate în acesta. Dacă este o aplicație desktop, știți pe ce limbă este construită. Ce controale terțe sunt utilizate în aplicație. Acest lucru vă va ajuta să ușurați selectarea instrumentelor și automatizarea viitoare.
# 5. Automatizare bună înseamnă un caz de testare manual bun
Exemple de testare manuală puternic scrise frumos salvați-ne de automatizarea acelor cazuri de testare care sunt ușor de automatizat, dar slabe în găsirea defectelor.
Iată citatul din cartea Lecții învățate în testarea software-ului:
„Automatizarea fără un design bun al testului poate avea ca rezultat o mulțime de activitate, dar o valoare redusă.”
Este întotdeauna recomandabil să scrieți mai întâi cazul de testare sub formă manuală. Identificați toate condițiile preliminare și datele de testare . Scrieți pașii într-un mod clar și scrieți rezultatele așteptate în fața fiecărui pas. Obiectivul unui caz de testare ar trebui să fie clar și ar trebui să fie mai puțin dependent de celelalte cazuri de testare. Inginerii de automatizare ar trebui să ruleze manual acest caz de testare cel puțin o dată pentru a decide în mod clar ce obiecte trebuie identificate și care va fi fluxul de navigație. Puneți întrebări cu testere manuale.
Această activitate ajută uneori să identifice erorile chiar înainte de a scrie scriptul de automatizare. Experții spun că majoritatea erorilor sunt identificate în faza de dezvoltare a automatizării testelor, mai degrabă decât în faza de execuție efectivă.
# 6. Identificați oportunitățile cu automatizarea
Dacă ești predat cu un caz de testare manual pentru automatizare , nu automatizați doar cazul de testare așa cum este. În schimb, găsiți alte oportunități în automatizarea dvs. pentru a extinde domeniul de aplicare al acestui caz de testare.
site web care vă permite să descărcați videoclipuri YouTube
De exemplu, dacă cerința manuală a cazului de testare trebuie să vă conectați la o pagină web. Puteți extinde acest caz de testare făcându-l bazat pe date. Enumerați toate scenariile posibile de conectare, cum ar fi parola nevalidă, parola goală, numele de utilizator nevalid, adresa de e-mail nevalidă, numele de utilizator necompletat, amintiți-mă verificat, nebifat, etc. ca sursă de date pentru cazul dvs. de testare. Acum, acest caz de testare manual, după automatizare, poate testa toate scenariile posibile dintr-o singură dată.
Căutați întotdeauna oportunități care pot fi realizate cu automatizare, dar dificil de realizat manual. Cum ar fi scenarii de testare a sarcinii, repere de performanță, aceleași teste în medii diferite cu configurații diferite, pierderi de memorie, teste de înaltă precizie etc. Toate acestea sunt scenarii dificile pentru testerele manuale.
# 7. Nu puteți automatiza totul
Automatizarea înseamnă efectuarea mai puține teste mai des. Trebuie să începi mic atacând mai întâi testele de fum. Apoi acoperă-ți construiți teste de acceptare . Apoi treceți la testele efectuate frecvent, apoi treceți la timpul dvs. pentru a face teste. Dar asigurați-vă că fiecare test automatizat, economisește timp pentru ca un tester manual să se concentreze pe lucruri mai importante.
Automatizarea nu este aici pentru a înlocui testerele manuale. Nici nu poate. Este aici pentru a îndepărta munca repetată de testerele manuale, astfel încât aceștia să își poată folosi întreaga atenție și forță în găsirea de noi scenarii de testare și erori. (Citiți articolul meu Concepții greșite despre automatizarea testelor)
Automatizează câteva teste care sunt valoros și economisitori de timp sau greu de făcut pentru testere manuale. Dacă ați făcut acest lucru, sarcina de automatizare este terminată.
# 8. Evitați automatizarea GUI atunci când există un prezent alternativ
Automatizarea GUI este întotdeauna mai dură decât alte tipuri de teste automate. Deci, dacă există o situație în care vă puteți atinge obiectivul neautomatizând GUI, ci prin alte metode, cum ar fi intrările pe linia de comandă, atunci cea mai bună strategie este să evitați automatizarea GUI.
De exemplu, doriți să testați instalarea aplicației. Obiectivul este de a verifica dacă aplicația a fost instalată sau nu într-un anumit mediu. O abordare este să porniți instalarea și să faceți clic pe butonul „ Următorul ”De mai multe ori prin instrumentul dvs. de automatizare. Poate fi dificil, consumator de timp și poate fi întreținut dacă se schimbă interfața de utilizare. Cealaltă abordare este de a iniția instalarea aplicației cu un fișier batch care oferă argumente silențioase. Aplicația se va instala în tăcere, fără a arăta GUI. Obiectivul va fi atins în mai puțin timp și într-o manieră mai fiabilă.
# 9. Folosiți automatizarea și în alte scopuri utile
Automatizarea este un lucru atât de fantastic. Puteți realiza astfel de lucruri la care nu vă gândiți în mod normal. Automatizarea nu înseamnă doar programarea unui caz de testare manuală. In schimb, puteți utiliza automatizarea pentru a facilita diferite operațiuni în organizația dvs.
De exemplu, puteți utiliza automatizarea pentru a crea date master și configurații de configurare automat pentru testere manuale. Pentru a-și putea începe testarea cât mai curând posibil.
Pot da un exemplu de la propria mea companie. Am vrut să trecem de la instrumentul nostru de gestionare a cazurilor de testare. Foloseam „Test Director” (acum HP ALM) și am vrut să trecem la TFS (Team Foundation Server). Am avut în jur de 4000 de cazuri de testare manuale și erori în directorul de testare. Transferarea lor manuală către TFS ar putea dura aproximativ o lună. Așa că managerul meu mi-a cerut să încerc ceva automatizare.
care este diferența dintre îmbinarea exterioară și îmbinarea stângă
Am săpat aceste instrumente și am aflat că Test Director folosește serverul SQL ca depozit. Pentru TFS, am aflat un instrument care poate citi cazurile de testare și erorile dintr-un fișier Excel, dacă sunt scrise într-un anumit format și le poate insera în TFS. Restul poveștii este simplu. Am scris o interogare SQL pentru a prelua toate cazurile de testare și erorile și le-am exportat într-un fișier Excel în formatul specific. Am folosit apoi acel instrument care citește toate cazurile de testare și erorile din fișierul Excel și le-am inserat în TFS. Întregul proces a durat doar 3 ore. Managerul meu a fost foarte fericit. Sper să îmi dai și tu ideea.
# 10. Automatizarea este dezvoltarea de software
Dacă dezvoltați software de calitate, acesta are nevoie de cele mai bune practici. Are nevoie de recenzii de cod pentru a scrie cod de calitate. Are nevoie de un cadru sau model de proiectare care trebuie urmat. Are nevoie de întreținere constantă.
Automatizarea este practic dezvoltarea de software. Deci, toate cele mai bune practici pe care le urmați atunci când dezvoltați software-ul ar trebui urmate în procesul de automatizare. Automation Framework ar trebui să fie acolo. Revizuirea codului ar trebui făcută. Erorile de automatizare ar trebui raportate în depozitul de erori. Codul sursă de automatizare ar trebui să fie plasat sub controlul sursei, etc. Cu cât îl tratați mai mult ca pe o dezvoltare software, cu atât automatizarea va avea mai mult succes.
Concluzie
Acest lucru rezumă articolul, precum și seria de automatizare a testelor. Am învățat multe lucruri în timp ce scriau aceste tutoriale și sper să înveți și tu citind. Automatizarea testelor este o carieră interesantă și plină de satisfacții. A o face corect nu este benefic doar pentru dvs., ci și pentru organizație.
În fiecare zi, în timp ce lucrez la automatizarea testelor și tehnicile sale, găsesc provocări noi și interesante de rezolvat. Această serie a fost o încercare de a evidenția ceea ce s-ar putea întâlni într-o călătorie de automatizare a testelor. Sper că am livrat-o corect și într-un mod simplu.
Ca întotdeauna, aștept comentariile și sugestiile dumneavoastră. Simțiți-vă liber să scrieți feedback-ul dvs. în secțiunea de comentarii. Voi fi bucuros să aud de la tine și să te ajut dacă este nevoie. Mulțumesc pentru lectură.
PREV Tutorial # 6
Lectură recomandată
- Ești expert în testare manuală sau automatizată? Lucrați cu jumătate de normă pentru noi!
- Provocări de testare manuală și de automatizare
- Top 10+ Cele mai bune cărți de testare software (manuale și cărți de testare automată)
- Instrument de testare a automatizării GUI Sikuli - Ghid pentru începători Partea # 2
- Ghid pas cu pas pentru implementarea dovezii conceptului (POC) în testarea automatizării
- Procesul de testare a automatizării în 10 pași: Cum să începeți testarea automatizării în organizația dvs.
- Cum se decide ce tip de testare este necesar pentru un proiect? - Manual sau automatizare
- Cum se efectuează testarea manuală a performanței?