Tutorial
Testarea automată
Testarea automată sau Automatizarea testelor este o tehnică de testare a software-ului care funcționează folosind instrumente software speciale de testare automată pentru a executa o suită de cazuri de testare. Dimpotrivă, Testarea manuală este efectuată de un om care stă în fața unui computer executând cu atenție pașii testului.
Software-ul de testare de automatizare poate introduce, de asemenea, date de testare în Sistemul în curs de testare, poate compara rezultatele așteptate și cele reale și poate genera rapoarte detaliate de testare. Software Test Automation necesită investiții considerabile de bani și resurse.
Ciclurile de dezvoltare succesive vor necesita executarea aceleiași suite de teste în mod repetat. Folosind un instrument de automatizare a testelor, este posibil să înregistrați această suită de teste și să o redați după cum este necesar. Odată ce suita de testare este automatizată, nu este necesară nicio intervenție umană. Acest lucru a îmbunătățit rentabilitatea investiției pentru Test Automation. Scopul automatizării este de a reduce numărul de cazuri de testare care trebuie rulate manual și nu de a elimina testarea manuală cu totul.
Automatizarea testelor este cea mai bună modalitate de a crește eficacitatea, acoperirea testului și viteza de execuție în testarea software-ului.
Selectarea instrumentului de testare depinde în mare măsură de tehnologia pe care este construită aplicația în curs de testare.
Test Automation Maintenance Approach este o fază de testare a automatizării efectuată pentru a testa dacă noile funcționalități adăugate la software funcționează bine sau nu.
Alegerea corectă a instrumentului de automatizare, a procesului de testare și a echipei sunt jucători importanți pentru ca automatizarea să aibă succes. Metodele manuale și de automatizare merg mână în mână pentru o testare de succes.
Automatizarea testelor este cea mai bună modalitate de a crește eficacitatea, acoperirea testului și viteza de execuție în testarea software-ului. Testarea automată a software-ului este importantă din următoarele motive:
- Testarea manuală a tuturor fluxurilor de lucru, a tuturor domeniilor, a tuturor scenariilor negative necesită timp și bani
- Este dificil să testați manual site-urile multilingve
- Testare Automatizarea în testarea software-ului nu necesită intervenție umană. Puteți rula testul automat nesupravegheat (peste noapte)
- Test Automation mărește viteza de execuție a testului
- Automatizarea ajută la creșterea acoperirii testelor
- Testarea manuală poate deveni plictisitoare și, prin urmare, predispusă la erori.
Cazuri de testare automată
Cazurile de testare care urmează să fie automatizate pot fi selectate folosind următorul criteriu pentru a crește rentabilitatea investiției automatizării
- Risc ridicat – cazuri de testare critice pentru afaceri
- Cazuri de testare care sunt executate în mod repetat
- Cazuri de testare care sunt foarte obositoare sau dificil de efectuat manual
- Cazuri de testare care necesită timp
Următoarea categorie de cazuri de testare nu sunt potrivite pentru automatizare:
- Cazuri de testare care sunt nou proiectate și nu sunt executate manual cel puțin o dată
- Cazuri de testare pentru care cerințele se schimbă frecvent
- Cazuri de testare care sunt executate ad-hoc.
Proces automat de testare
Următorii pași sunt urmați într-un proces de automatizare:
Pasul 1) Selectarea instrumentului de testare
Pasul 2) Definiți domeniul de aplicare al automatizării
Pasul 3) Planificare, proiectare și dezvoltare
Pasul 4) Execuția testului
Pasul 5) Întreținere
Procesului de testare automată
Selectarea instrumentului de testare
Selectarea instrumentului de testare depinde în mare măsură de tehnologia pe care este construită aplicația în curs de testare. De exemplu, QTP nu acceptă Informatica. Deci QTP nu poate fi folosit pentru testarea aplicațiilor Informatica.
Este o idee bună să efectuați o demonstrație a conceptului instrumentului pe AUT.
Definirea domeniului de aplicare al automatizării
Domeniul de aplicare al automatizării este zona aplicației dvs. în curs de testare, care va fi automatizată. Următoarele puncte ajută la determinarea domeniului de aplicare:
- Caracteristicile care sunt importante pentru afacere
- Scenarii care au o cantitate mare de date
- Funcționalități comune pentru aplicații
- Fezabilitatea tehnică
- Măsura în care componentele afacerii sunt reutilizate
- Complexitatea cazurilor de testare
- Abilitatea de a utiliza aceleași cazuri de testare pentru testarea între browsere
Planificare, proiectare și dezvoltare
În această fază, creați o strategie și un plan de automatizare, care conține următoarele detalii:
- Instrumente de automatizare selectate
- Design cadru și caracteristicile sale
- Elemente de automatizare în domeniul de aplicare și în afara domeniului de aplicare
- Pregătirea automată a bancului de testare
- Programul și cronologia scriptării și execuției
- Produse livrate ale testării automatizării
Executarea testului
Scripturile de automatizare sunt executate în această fază. Scripturile au nevoie de date de testare de intrare înainte de a fi setate să ruleze. Odată executate, acestea oferă rapoarte detaliate de testare.
Execuția poate fi efectuată folosind instrumentul de automatizare direct sau prin instrumentul de management al testelor care va invoca instrumentul de automatizare.
Exemplu: Centrul de calitate este instrumentul de management al testelor care, la rândul său, va invoca QTP pentru executarea scripturilor de automatizare. Scripturile pot fi executate într-o singură mașină sau într-un grup de mașini. Execuția se poate face și pe timpul nopții, pentru a economisi timp.
Test Automation Maintenance Approach este o fază de testare a automatizării efectuată pentru a testa dacă noile funcționalități adăugate la software funcționează bine sau nu. Întreținerea în testarea automatizării este executată atunci când sunt adăugate noi scripturi de automatizare și trebuie revizuite și menținute pentru a îmbunătăți eficacitatea scripturilor de automatizare cu fiecare ciclu de lansare succesiv.
Cadru pentru automatizare
Un cadru este un set de linii directoare de automatizare care ajută la
- Menținerea coerenței testării
- Îmbunătățește structura testului
- Utilizarea minimă a codului
- Mai puțină întreținere a codului
- Îmbunătățiți reutilizarea
- Testerii non-tehnici pot fi implicați în cod
- Perioada de antrenament de utilizare a instrumentului poate fi redusă
- Implica Date oriunde este cazul
Există patru tipuri de cadre utilizate în testarea software-ului de automatizare:
- Cadrul de automatizare bazat pe date
- Cadrul de automatizare bazat pe cuvinte cheie
- Cadrul modular de automatizare
- Cadrul de automatizare hibrid
Cele mai bune practici ale instrumentului de automatizare
Pentru a obține un ROI maxim al automatizării, respectați următoarele
- Sfera de aplicare a automatizării trebuie determinată în detaliu înainte de începerea proiectului. Acest lucru stabilește corect așteptările de la Automation.
- Selectați instrumentul de automatizare potrivit: un instrument nu trebuie selectat pe baza popularității sale, dar este potrivit cerințelor de automatizare.
- Alegeți un cadru adecvat
- Standarde de scriptare - Standardele trebuie urmate în timpul scrierii scripturilor pentru automatizare. Unii dintre ei sunt-
- Creați scripturi uniforme, comentarii și indentări ale codului
- Gestionarea adecvată a excepțiilor – Cum este tratată eroarea în cazul defecțiunii sistemului sau al comportamentului neașteptat al aplicației.
- Mesajele definite de utilizator ar trebui să fie codificate sau standardizate pentru înregistrarea erorilor pentru ca testerii să le înțeleagă.
- Măsuri de măsură - Succesul automatizării nu poate fi determinat prin compararea efortului manual cu efortul de automatizare, ci și prin captarea următoarelor valori.
- Procent de defecte găsite
- Timpul necesar pentru testarea automatizării pentru fiecare ciclu de lansare
- Se ia timp minim pentru eliberare
- Indicele de satisfacție a clienților
- Îmbunătățirea productivității
Îndrumările de mai sus, dacă sunt respectate, pot ajuta foarte mult la succesul automatizării dvs.
Beneficiile testării automatizării
Beneficiile Test Automation:
- 70% mai rapid decât testarea manuală
- Acoperire de testare mai largă a caracteristicilor aplicației
- Fiabil în rezultate
- Asigurați consistența
- Economisește timp și costuri
- Îmbunătățește precizia
- Intervenția umană nu este necesară în timpul execuției
- Crește eficiența
- Viteză mai bună în executarea testelor
- Scripturi de testare reutilizabile
- Testați frecvent și temeinic
- Mai mult ciclu de execuție poate fi realizat prin automatizare
- Timpul timpuriu de lansare pe piață
Tipuri de testare automată
- Testarea fumului
- Testarea unitară
- Testare de integrare
- Testare funcțională
- Testarea cuvintelor cheie
- Testarea regresiei
- Testare bazată pe date
- Testarea cutiei negre
Cum să alegi un instrument de automatizare?
Selectarea instrumentului potrivit poate fi o sarcină dificilă. Următorul criteriu vă va ajuta să alegeți cel mai bun instrument pentru cerințele dvs.
- Suport pentru mediu
- Ușurință în utilizare
- Testarea bazei de date
- Identificarea obiectului
- Testarea imaginii
- Testarea de recuperare a erorilor
- Maparea obiectelor
- Limbajul de scripting folosit
- Suport pentru diferite tipuri de teste – inclusiv funcționale, managementul testelor, mobil etc.
- Suport pentru mai multe cadre de testare
- Ușor de depanat scripturile software de automatizare
- Abilitatea de a recunoaște obiecte în orice mediu
- Rapoarte ample de testare și rezultate
- Minimizați costul de instruire al instrumentelor selectate
Selectarea instrumentelor este una dintre cele mai mari provocări care trebuie abordate înainte de a trece la automatizare. Mai întâi, identificați cerințele, explorați diverse instrumente și capabilitățile sale, stabiliți așteptările de la instrument și alegeți o dovadă a conceptului.