Testarea compatibilității este o componentă integrală a multor strategii de asigurare a calității, permițând companiilor să vadă dacă software-ul lor funcționează corect pe diferite platforme. Chiar și în cazul unui program exclusiv pentru desktop, există mai multe sisteme de operare majore de care trebuie să se țină cont și sute – dacă nu chiar mii – de diferențe hardware care ar putea afecta stabilitatea. Înțelegerea procesului de testare a compatibilității și a beneficiilor sale obișnuite poate contribui la garantarea unei lansări eficiente a produsului, care să ajungă la cel mai mare număr posibil de utilizatori.
Deși testarea compatibilității poate oferi o serie de beneficii, există și numeroase provocări semnificative pe care o echipă de testare a software-ului trebuie să le depășească pentru a maximiza potențialul acestei tehnici. Există, de asemenea, practici specifice pe care aceste departamente ar trebui să le utilizeze pentru a obține cele mai bune rezultate și pentru a asigura o acoperire globală cuprinzătoare a testelor.
În acest articol, analizăm îndeaproape testele de compatibilitate, inclusiv pașii esențiali pe care echipele trebuie să îi urmeze, precum și cele mai utile instrumente de testare disponibile în prezent.
Ce este testarea compatibilității în
testare și inginerie software?
Testele de compatibilitate examinează software-ul pe diferite dispozitive, hardware și firmware pentru a se asigura că funcționează conform așteptărilor echipei. Este posibil ca fiecare utilizator să se implice în programul lor pe un nou dispozitiv, iar acest lucru face important ca firma să poată garanta că toți au o experiență similară. Testele de compatibilitate, de exemplu, pot implica verificarea fiecărei caracteristici a unei aplicații pentru a se asigura că aceasta funcționează pe fiecare sistem de operare principal.
Fără teste de compatibilitate amănunțite, este foarte posibil ca o companie să lanseze o aplicație care nu funcționează pentru anumite dispozitive populare. Aceste verificări trebuie să fie complet complete, deoarece o problemă poate apărea în mai multe moduri – de exemplu, această aplicație poate să nu funcționeze cu un tip foarte specific de placă grafică. Atunci când sunt asociate cu alte forme de testare a software-ului, echipele de asigurare a calității se pot asigura că programul lor este pregătit pentru lansare.
1. Când și de ce trebuie să faceți teste de compatibilitate pentru aplicații mobile, site-uri web, sisteme și cross-browser?
Companiile efectuează teste de compatibilitate în faza de testare a software-ului, în special atunci când au o versiune “stabilă” a programului care reflectă cu exactitate modul în care acesta se va comporta pentru clienți. Acest lucru continuă după testele alfa, de acceptare și alte forme de testare care, de multe ori, vizează stabilitatea generală și problemele legate de caracteristici. În cazul în care o aplicație se confruntă cu probleme în timpul fazei de testare a compatibilității, acestea se vor datora, de obicei, unor probleme specifice legate de compatibilitate. Efectuarea acestor verificări prea devreme le poate face de fapt redundante, deoarece modificările minore ulterioare în ciclul de dezvoltare a programului pot afecta radical compatibilitatea.
Testele de compatibilitate pentru browsere și software sunt importante deoarece ajută companiile să lanseze o aplicație despre care știu că va funcționa în mod adecvat pe aproape toate dispozitivele posibile. De exemplu, testele de compatibilitate între browsere, în special, ajută la asigurarea faptului că persoanele care folosesc Opera au aceeași experiență ca și cele care folosesc Firefox și alte browsere importante. De obicei, echipa testează atâtea variante hardware/software câte îi permite timpul și bugetul. Acest lucru înseamnă că trebuie să prioritizeze în mod inteligent sistemele sau browserele pe care este mai probabil ca clienții lor să le folosească, ceea ce le permite să garanteze o acoperire largă a testelor și un produs viabil.
2. Atunci când nu este nevoie să efectuați teste de compatibilitate software
Companiile ar putea crea o aplicație personalizată pentru un anumit sistem de operare sau model, limitând masiv numărul de verificări necesare. Testarea compatibilității între browsere în cadrul testării software-ului ar putea fi redundantă dacă acest program nu necesită un browser, de exemplu. Timpul ar putea fi, de asemenea, un factor important în ceea ce privește capacitatea unei companii de a efectua aceste teste, deși echipele de testare ar trebui să se străduiască să garanteze că principalele sisteme și browsere sunt compatibile cu software-ul. Există, de asemenea, anumite proiecte care nu pot beneficia de teste de compatibilitate de bază.
3. Cine este implicat în testarea compatibilității?
Iată care sunt principalele persoane care efectuează teste de compatibilitate în testarea software:
1. Dezvoltatorii
În timpul dezvoltării, echipa de dezvoltare verifică performanța aplicației pe o singură platformă, iar acesta poate fi chiar singurul dispozitiv pe care compania intenționează să lanseze programul.
2. Testere
Echipele de asigurare a calității, fie din cadrul companiei, fie angajate din exterior, verifică numeroase configurații posibile ca parte a etapei de testare a compatibilității aplicației, inclusiv toate sistemele de operare și browserele majore.
3. Clienți
Clienții companiei ar putea avea hardware sau configurații pe care echipa nu a putut să le testeze temeinic, ceea ce ar putea face ca experiența lor de utilizator să fie prima verificare reală a acelei configurații specifice.
Beneficiile testelor de compatibilitate
Beneficiile obișnuite ale testelor de compatibilitate software includ:
1. Public mai larg
Cu cât o echipă își testează mai temeinic software-ul, cu atât mai multe dispozitive pentru care îl poate lansa cu încredere, asigurându-se că un public larg de pe mai multe platforme se poate bucura de aplicația sa. Acest lucru permite companiilor să obțină mai multe vânzări de produse pe program și poate îmbunătăți, de asemenea, numărul de recenzii pozitive pe care acest software le primește de la utilizatori.
2. Îmbunătățește stabilitatea
Testele de compatibilitate în cadrul testelor de testare a software-ului sunt esențiale pentru a evidenția problemele de stabilitate și de performanță, care pot fi adesea mai pronunțate pe diferite dispozitive – mai ales dacă dezvoltatorii au conceput această aplicație doar pentru o singură platformă. Un test de compatibilitate a sistemului arată companiei la ce se pot aștepta utilizatorii (de pe o gamă largă de dispozitive) în ceea ce privește performanța generală a software-ului.
3. Rafinează dezvoltarea
Aceste teste au, de asemenea, un impact semnificativ pe termen lung asupra unei echipe de dezvoltare. De exemplu, testele de compatibilitate mobilă pot oferi informații valoroase despre dezvoltarea aplicațiilor, de care întreprinderile ar putea ține cont atunci când creează programe suplimentare. Acest lucru poate reduce semnificativ cheltuielile cu testele de compatibilitate pentru proiectele viitoare, permițându-le să reutilizeze lecțiile învățate din acest proces.
4. Verifică alte teste
Cele mai multe forme de testare de până acum au un domeniu de aplicare limitat și nu testează toate combinațiile posibile de hardware sau software – aceste teste ar putea verifica efectiv aceste rezultate. Testarea compatibilității între browsere, de exemplu, validează etapele preexistente de asigurare a calității, demonstrând că rezultatele sunt aceleași atunci când utilizatorul are un browser diferit.
5. Reduce costurile
Testele de compatibilitate pot reduce, de asemenea, costurile pentru programul actual, ajutând echipele să identifice problemele înainte ca o aplicație să intre în versiunea publică – în acest moment, remedierea erorilor devine mai costisitoare. Cu cât testele unei echipe sunt mai variate (și cu cât rata de acoperire a testelor este mai mare), cu atât este mai ieftin să se elimine erorile pe măsură ce apar.
Provocările testării compatibilității
Iată care sunt provocările comune cu care se pot confrunta companiile atunci când implementează testele de compatibilitate în testarea software:
1. Timp limitat
În timp ce instrumentele de automatizare și alte soluții pot accelera semnificativ testele de compatibilitate prin simularea unei game de dispozitive, acest proces trebuie să respecte totuși calendarul de dezvoltare al companiei. Acest lucru înseamnă că echipa de testare trebuie să acorde prioritate celor mai comune dispozitive și browsere pentru a garanta că primesc cea mai largă (și cea mai numeroasă) audiență.
2. Lipsa unor dispozitive reale
Aceste verificări implică de obicei mașini virtuale care simulează componentele și condițiile dispozitivelor reale; acest lucru este mult mai ieftin (și mai rapid) decât achiziționarea independentă a pieselor și platformelor relevante. Cu toate acestea, acest lucru poate afecta acuratețea acestor rezultate, mai ales că performanța depinde adesea de modul în care utilizatorii operează un dispozitiv real.
3. Greu de pregătit pentru viitor
Testele de compatibilitate se pot angaja doar cu platformele care există deja; acest lucru înseamnă că nu pot garanta că aplicația va funcționa conform așteptărilor pe versiunile viitoare de Windows și Google Chrome. Organizațiile nu pot remedia acest lucru decât după lansare, ceea ce este adesea mai costisitor, iar aplicația ar putea deveni în cele din urmă învechită.
4. Întreținerea infrastructurii
În cazul în care o echipă decide să verifice o cantitate semnificativă de platforme în interiorul companiei, acest lucru poate avea ca rezultat taxe de infrastructură ridicate. Testarea compatibilității aplicațiilor mobile, de exemplu, ar putea implica achiziționarea unui număr de dispozitive mobile reale. Deși acest lucru este mai precis decât testarea simulată a compatibilității hardware, este costisitor și implică, de obicei, o întreținere periodică.
5. Număr mare de combinații
Testele de compatibilitate țin cont de mulți factori care se intersectează, cum ar fi sistemul de operare, browserul, hardware-ul, firmware-ul și chiar rezoluția ecranului. Chiar dacă echipa de testare are mult timp la dispoziție, ar fi efectiv imposibil să ia în considerare toate posibilitățile. Testele de configurare și de compatibilitate trebuie din nou să acorde prioritate celor mai probabile combinații de dispozitive.
Caracteristicile testelor de compatibilitate
Caracteristicile cheie ale testelor de compatibilitate includ:
1. Minuțios
Aceste verificări trebuie să fie capabile să izoleze orice posibile probleme de compatibilitate care apar între dispozitive, altfel echipa ar putea ajunge să lanseze un program defectuos. De exemplu, aceste verificări trebuie să se asigure că fiecare caracteristică a aplicației este redată conform așteptărilor, indiferent de rezoluția ecranului utilizatorului.
2. Expansivitate
Testele ar trebui să mențină un echilibru între profunzime și amploare, ajutând echipele să investigheze o serie de probleme pe mai multe configurații de dispozitive. Testele de compatibilitate între browsere analizează o gamă largă de combinații de sisteme de operare și browsere, asigurând un nivel ridicat de acoperire – uneori cu ajutorul unei soluții automate.
3. Bidirecțional
Acest proces implică atât testarea compatibilității anterioare, cât și a celei ulterioare; prima permite echipei să vadă cum va funcționa aplicația lor pe un hardware mai vechi. Aceasta din urmă permite echipei să acceseze platforme de ultimă generație, ajutând-o să garanteze performanțe de succes pe termen lung, chiar dacă capacitățile sale de viitor sunt destul de limitate.
4. Repetabil
Problemele pe care aceste verificări le descoperă trebuie să fie ușor de repetat de către alți testeri și departamente – arătând că acestea reflectă erorile pe care utilizatorii sunt susceptibili să le întâlnească. În cazul în care un test de compatibilitate a unui site web indică faptul că anumite caracteristici specifice nu funcționează pe un anumit browser, repetabilitatea ajută dezvoltatorii să rezolve problema.
Tipuri de teste de compatibilitate
Principalele tipuri de teste de compatibilitate sunt următoarele:
1. Testarea compatibilității retroactive
Testarea compatibilității cu versiunile anterioare implică verificarea aplicației folosind versiuni mai vechi ale hardware-ului actual – acest lucru este esențial deoarece restricționarea acestor verificări la dispozitivele moderne poate limita semnificativ numărul de utilizatori. Mulți oameni folosesc încă sisteme de operare mai vechi, cum ar fi Windows 8, de exemplu.
2. Testarea compatibilității frontale
Testele de compatibilitate viitoare sunt similare, dar analizează în schimb tehnologiile moderne sau viitoare pentru a vedea dacă este posibil ca aplicația să continue să funcționeze ani de zile, în ciuda progreselor și actualizărilor. Fără aceste teste, software-ul ar putea chiar să nu mai funcționeze la următoarea actualizare a browserului, de exemplu.
3. Testarea compatibilității browserului
Testele de compatibilitate cu browserele de site-uri web asigură faptul că o aplicație sau un site web poate funcționa pe diferite browsere; acest lucru este vital deoarece acestea folosesc motoare de prezentare diferite. Echipele de asigurare a calității testează chiar și compatibilitatea între browsere – ceea ce înseamnă că verifică dacă fiecare browser poate gestiona aplicația pe sisteme de operare diferite.
4. Testarea compatibilității mobile
Testarea aplicațiilor mobile este un proces similar cu cel de verificare a aplicațiilor desktop și web, mai ales că sistemul de operare al telefonului este un alt aspect esențial. Aplicațiile Android și iOS, de exemplu, au formate complet diferite și necesită un proces de dezvoltare și testare complet separat pentru a se adapta la ambele.
5. Testarea compatibilității hardware
Aceste verificări analizează componentele specifice care alcătuiesc mașina și modul în care acestea ar putea afecta un program; acest lucru este esențial pentru aproape orice tip de dispozitiv. De exemplu, un computer poate avea o placă grafică care nu poate reda cu succes interfața unei aplicații web.
6. Testarea compatibilității dispozitivelor
Unele aplicații se conectează cu dispozitive externe prin Bluetooth, bandă largă sau o conexiune prin cablu. De exemplu, o aplicație ar putea avea nevoie să se conecteze la o imprimantă. Aceste teste au scopul de a se asigura că programul se conectează cu conexiunile proprii ale platformei și cu toate dispozitivele pe care le poate accesa.
7. Testarea compatibilității rețelei
În cazul în care o aplicație necesită funcționalitate de rețea pentru a funcționa – de exemplu, prin conectarea la o bază de date online prin intermediul serverului companiei – acest lucru necesită numeroase verificări de compatibilitate. Acest lucru asigură că programul poate rula la o viteză adecvată cu o conexiune de rețea Wi-Fi, 4G sau 3G.
Ce testăm în cadrul testelor de compatibilitate?
Testele de compatibilitate verifică, de obicei, următoarele:
1. Performanță
Unul dintre scopurile principale ale testelor de compatibilitate este de a asigura stabilitatea, deoarece unele aspecte ale aplicației pot fi complet incompatibile cu platformele obișnuite. Analizând capacitatea generală de reacție a acestui program, echipa de testare se asigură că nu există blocaje grave pe anumite dispozitive.
2. Funcționalitate
Testele de compatibilitate verifică, de asemenea, caracteristicile și funcțiile generale ale unei aplicații pentru a se asigura că software-ul este capabil să ofere rezultatele corecte. De exemplu, un sistem de gestionare a relațiilor cu clienții ar putea fi incapabil să ofere date despre vânzări sau analize generale pentru utilizatorii cu un sistem de operare învechit.
3. Grafică
Unele browsere sau dispozitive pot întâmpina dificultăți în redarea anumitor elemente grafice din mai multe motive, iar verificările de compatibilitate vă pot ajuta în acest sens. Este posibil ca un program să funcționeze numai la anumite rezoluții de ecran, cu excepția cazului în care dezvoltatorii modifică modul în care programul își afișează conținutul.
4. Conectivitate
Testele de compatibilitate analizează, de asemenea, modul în care programul se integrează în mod specific atât cu dispozitivul utilizatorului, cât și cu propria bază de date, permițându-i să detecteze dispozitive precum imprimantele. Aceste verificări ar putea, de exemplu, să arate că aplicația nu se poate conecta la propria bază de date în rețelele 3G.
5. Versatilitate
Aceste verificări se asigură că aplicația companiei este suficient de versatilă pentru a funcționa pe versiuni vechi și noi ale aceluiași sistem de operare, prin intermediul testelor de compatibilitate cu trecutul și cu viitorul. Acest lucru garantează că utilizatorii nu sunt excluși din program în cazul în care software-ul lor este depășit de câțiva ani.
Tipuri de rezultate ale testelor de compatibilitate
Cele trei rezultate principale ale testelor de compatibilitate sunt:
1. Rezultatele testelor
Cea mai frecventă ieșire pentru aceste verificări sunt rezultatele în sine, care pot lua mai multe forme. De exemplu, testele de compatibilitate a browserelor pot dezvălui că o aplicație web are ca rezultat o scurgere de memorie pe Microsoft Edge, în timp ce aceeași aplicație nu are efecte negative pe browserele bazate pe Chrome. Alternativ, aplicația ar putea funcționa exact așa cum se așteaptă echipa pe platformele relevante.
2. Jurnalele de testare
Rezultatele testelor se manifestă, de asemenea, sub forma jurnalelor proprii ale aplicației, care evidențiază orice probleme software descoperite prin mesaje de eroare. Aceste jurnale pot identifica chiar și partea specifică a unui program care provoacă această eroare. În special pentru testarea compatibilității, testerii trebuie să fie familiarizați cu modul în care aceste jurnale se manifestă și prezintă aceste probleme pe diferite platforme.
3. Cazuri de testare
Cazurile de testare a compatibilității stabilesc testele pe care echipa le va efectua și oferă un spațiu pentru a înregistra rezultatele într-un format simplu. Testatorii ar trebui să se folosească de cunoștințele lor despre software, împreună cu rezultatele și jurnalele, pentru a identifica cauza unei probleme. Cu cât furnizează mai multe informații, cu atât mai repede dezvoltatorii pot începe să rezolve problemele.
Tipuri de defecte detectate
prin testarea compatibilității
Iată care sunt cele mai frecvente erori pe care le pot identifica testele de compatibilitate:
1. Scalarea machetei
Un test de compatibilitate a unui site web poate arăta dacă elementele care compun o aplicație web sau chiar paginile web se adaptează la dispozitivul utilizatorului, în special la rezoluția și dimensiunea ecranului acestuia. Prin urmare, unele elemente grafice pot fi dificil de vizualizat pe anumite browsere.
2. Defecțiuni ale software-ului
Testele de compatibilitate permit să se vadă mai ușor dacă o aplicație poate fi rulată pe anumite platforme. De exemplu, un dezvoltator de jocuri ar putea descoperi cerințele minime de sistem ale produsului său verificând ce dispozitive se blochează din cauza vitezei insuficiente a RAM și a procesorului în momentul lansării acestuia de către testeri.
3. Probleme de validare HTML/CSS
Diferitele browsere și dispozitive citesc codul în moduri diferite, unele dintre ele corectând automat greșelile simple de codare, cum ar fi închiderea necorespunzătoare a unui tag HTML. Testele de compatibilitate cu browserele pot identifica cazuri de CSS invalid care împiedică aplicația să genereze conținut și chiar funcții de bază.
4. Erori de redare video
Multe playere video moderne folosesc HTML5 pentru a transmite videoclipuri online, acesta putând fi o parte esențială a aplicației web a unei companii. Cu toate acestea, echipele care verifică compatibilitatea browserului site-ului web ar putea descoperi că funcțiile video ale aplicației lor nu sunt compatibile cu browserele învechite.
5. Securitatea fișierelor
Testele de compatibilitate din cadrul ingineriei software pot, de asemenea, să detecteze probleme legate de securitatea fișierelor și de modul în care aceasta variază de la un dispozitiv la altul. De exemplu, noile versiuni de Windows au o securitate mai robustă pentru intrări/ieșiri. Acest lucru poate duce la faptul că aplicația (cum ar fi un software antivirus) se luptă să acceseze fișierele dispozitivului.
Procesul de testare a compatibilității
Etapele obișnuite ale testării compatibilității sunt:
1. Compilați un plan de testare
Un plan de testare cuprinzător este esențial pentru testarea compatibilității; echipa de asigurare a calității se poate referi la acesta, după cum este necesar, în timpul verificărilor. De exemplu, aceasta detaliază dispozitivele pe care le vor testa și criteriile de reușită sau de eșec; de asemenea, trebuie să stabilească dacă vor utiliza automatizarea robotică a proceselor.
2. Configurarea cazurilor de testare
Cazurile de testare sunt la fel de importante, deoarece acestea detaliază verificările specifice de compatibilitate pe care echipele le efectuează și dispozitivele specifice cu care lucrează. Acesta conține, de asemenea, pașii exacți pe care îi vor urma testerii, precum și un spațiu amplu pentru a înregistra rezultatele și orice informații care îi vor ajuta pe dezvoltatori să asigure compatibilitatea.
3. Stabilirea mediului de testare
Un mediu de testare izolat și independent, lipsit de influențe exterioare, este necesar pentru a asigura teste precise, permițând, de asemenea, echipei de asigurare a calității să identifice de unde provin problemele pe care le descoperă. În plus, testerii pot efectua verificări ale aplicației fără a compromite în vreun fel versiunea “reală”.
4. Executarea testelor
Odată ce cazurile de testare și mediul de testare sunt complet pregătite, echipa poate începe testele de compatibilitate – chiar și în cazul unei soluții automate, echipa are la dispoziție doar o perioadă limitată de timp. Testatorii vor trebui să acorde prioritate celor mai comune sisteme de operare și configurații de dispozitive pentru a ține cont de acest lucru și pentru a asigura o acoperire largă a testelor în ciuda acestor limitări.
5. Reîncercați
Odată ce testele sunt finalizate și dezvoltatorii primesc cazurile de testare, aceștia vor modifica aplicația în așa fel încât să îi îmbunătățească compatibilitatea, deși este posibil ca acest lucru să nu fie posibil pentru toate dispozitivele. Testatorii reverifică apoi aplicația și verifică dacă problemele pe care le-au descoperit anterior nu mai sunt prezente și dacă nu există noi erori majore.
Parametrii comuni de testare a compatibilității
Iată câțiva parametri utilizați în mod obișnuit pentru testele de compatibilitate:
1. Lățimea de bandă
Testele de compatibilitate cu rețelele măsoară modul în care aplicația interacționează cu diferite rețele, inclusiv cu rețelele de date în bandă largă și mobile. Lățimea de bandă minimă necesară pentru ca programul să își îndeplinească sarcinile obișnuite și să se conecteze la baza de date a companiei ar putea fi prea mare pentru o conexiune 3G medie, de exemplu.
2. Utilizarea CPU
Una dintre modalitățile prin care se manifestă problemele de performanță este utilizarea disproporționată a procesorului – acest lucru poate însemna că dispozitivul pur și simplu nu îndeplinește cerințele minime ale programului. Problemele legate de CPU pot afecta, de asemenea, timpul de răspuns al aplicației, limitând funcționalitatea acesteia și provocând un decalaj suficient de mare pentru a dezangaja utilizatorii.
3. Scala de utilizare a sistemului
Scala de utilizare a sistemului este o modalitate obișnuită de măsurare a detaliilor subiective ale unui program, cuprinzând zece întrebări de bază despre ușurința de utilizare a unei aplicații. Scorul SUS rezultat este de la 100 și poate diferi de la o platformă la alta din cauza erorilor grafice.
4. Numărul total de defecte
Această măsură este o constantă pentru majoritatea tipurilor de testare, permițându-le testerilor să înțeleagă starea actuală a programului. De asemenea, echipa are posibilitatea de a compara numărul total de defecte între diferite platforme. În acest fel, testerii pot evidenția erorile care se datorează incompatibilității.
5. Scorul SUPRQ
Similar scorului SUS al unei aplicații, chestionarul Standardized User Experience Percentile Rank Questionnaire este o modalitate prin care testerii pot evalua o aplicație în funcție de mai mulți factori cheie, inclusiv ușurința de utilizare și aspectul. Acest lucru îi ajută să identifice modul în care clienții ar putea întâmpina dificultăți în utilizarea aplicației pe anumite dispozitive.
7 greșeli și capcane în implementarea testelor de compatibilitate
Iată șapte greșeli importante pe care trebuie să le evitați atunci când efectuați teste de compatibilitate:
1. Lipsa unor dispozitive reale
Deși ar fi imposibil de testat pe toate combinațiile posibile de dispozitive, o echipă de testare poate beneficia de pe urma utilizării cât mai multor dispozitive reale pe care le poate găsi. Diferite platforme oferă dispozitive “reale” prin intermediul soluțiilor cloud pentru a facilita testarea compatibilității între browsere în moduri care pot reflecta performanța nativă.
2. Evitarea dispozitivelor mai vechi
Mulți utilizatori încă își accesează aplicațiile pe versiuni mai vechi de Windows sau iOS; concentrarea exclusivă pe noile ediții ale dispozitivelor și sistemelor de operare populare ar putea limita raza de acțiune a unui produs. Dacă echipa nu își extinde testele la dispozitive “învechite”, o parte semnificativă a publicului ar putea avea dificultăți în utilizarea programului.
3. Gestionarea necorespunzătoare a timpului
Există adesea un volum mare de dispozitive și configurații care necesită un test de compatibilitate, ceea ce înseamnă că echipa trebuie să își gestioneze timpul pentru a verifica cât mai multe dintre acestea. Acest lucru este important, deoarece testele sunt de obicei încă în curs de desfășurare aproape de sfârșitul dezvoltării; o gestionare greșită ar putea limita masiv numărul de verificări.
4. Programarea necorespunzătoare
În mod similar, este extrem de important ca echipele să se asigure că efectuează aceste teste într-o etapă rezonabilă a dezvoltării programului, de preferință după testarea alfa și majoritatea formelor de testare funcțională. Astfel, este mai ușor de văzut dacă o problemă este un defect general sau specific dispozitivelor pe care echipa le analizează.
5. Nu ține cont de rezoluția ecranului
Rezoluția ecranului poate fi un factor de compatibilitate mult mai important decât recunosc multe echipe de testare – mai ales că aceasta poate fi personalizată și influențează modul în care un dispozitiv afișează elementele grafice. Chiar și cu un termen limită tot mai scurt pentru testele de compatibilitate, este vital ca echipele de testare să se străduiască să țină cont de acest aspect în strategia lor.
Lipsa de expertiză
Testatorii trebuie să fie foarte calificați pentru a verifica compatibilitatea cu site-ul web, cu browserul și cu software-ul, printre multe alte forme pe care le pot lua aceste teste. În cazul în care un lider de testare atribuie unuia dintre membrii echipei sale sarcina de a efectua verificări de compatibilitate, iar acesta nu are suficientă experiență, acest lucru ar putea încetini testele și limita acuratețea lor.
6. Nicio discuție prealabilă
Având în vedere că testele de compatibilitate necesită adesea mult timp (și, eventual, o gamă largă de dispozitive), echipele trebuie să stabilească pe deplin domeniul de aplicare al verificărilor lor încă din faza de asigurare a calității. De exemplu, aceștia trebuie să aibă o idee clară cu privire la dispozitivele sau configurațiile specifice pe care intenționează să le testeze chiar înainte de a începe verificările.
Cele mai bune practici pentru testarea compatibilității
Cele mai bune modalități de a asigura teste de compatibilitate de înaltă calitate includ:
1. Testarea pe parcursul dezvoltării
Deoarece software-ul se schimbă semnificativ de la o săptămână la alta, acest lucru poate afecta compatibilitatea programului cu dispozitivele la care este destinat. Echipele trebuie să efectueze în mod repetat teste de compatibilitate software și cross-browser pentru a se asigura că aplicația funcționează în continuare bine pe aceste platforme și după modificările de dezvoltare.
2. Utilizați dispozitive reale
Unele instrumente de testare a compatibilității oferă acces la dispozitive simulate “reale”, care pot fi foarte asemănătoare cu experiența utilizatorului pentru platforma respectivă. Acest lucru vă permite să asigurați compatibilitatea cu mai multe dispozitive, menținând în același timp un nivel ridicat de precizie care nu este prezent în anumite soluții automate.
3. Stabilirea priorității testelor
Având la dispoziție un timp limitat pentru a efectua aceste verificări, este posibil ca cei care testează compatibilitatea să trebuiască să acorde prioritate celor mai frecvente dispozitive, browsere și sisteme de operare. În mod similar, echipa de testare ar trebui să inspecteze mai întâi cele mai importante caracteristici ale software-ului pentru a garanta funcționalitatea de bază pe aceste dispozitive.
4. Integrarea tehnicilor agile
Unele companii aleg să adopte o abordare bazată pe sprinturi pentru testele de compatibilitate, ceea ce le permite să atingă cu ușurință etapele de testare, cum ar fi verificarea unui anumit număr de dispozitive. Agile încurajează comunicarea între departamente, oferind, în același timp, o structură de testare prestabilită care poate garanta o îmbunătățire rapidă și consecventă.
5. Limitarea domeniului de testare
Echipele de asigurare a calității trebuie să știe când să încheie testele și chiar să accepte un caz de incompatibilitate. În acest caz, dezvoltatorul ar putea să nu modifice software-ul și ar putea, în schimb, să modifice cerințele minime, dacă acest lucru ar fi prea dificil de eludat prin remedieri de erori.
Exemple de cazuri și scenarii de testare a compatibilității
Cazurile de testare a compatibilității stabilesc datele de intrare ale echipei de testare, strategia de testare și rezultatele așteptate; acestea din urmă sunt comparate cu rezultatele reale. Deoarece verificările acoperă mai multe dispozitive și configurații, acesta este adesea un proces extins.
Aceste cazuri includ de obicei:
– Testați afișarea corectă a codului HTML al aplicației web.
– Verificați dacă codul JavaScript al programului este utilizabil.
– Vedeți dacă aplicația funcționează în rezoluții diferite.
– Testați dacă programul poate accesa directorul de fișiere.
– Asigurați-vă că aplicația se conectează la toate rețelele viabile.
Iată câteva exemple specifice de testare a compatibilității în testarea software pentru diferite programe:
1. Aplicație de rețele sociale
Rețelele de socializare iau în mod obișnuit forma unor aplicații web pentru browsere și a unor aplicații mobile pentru dispozitive corespunzătoare; ambele tipuri necesită teste la fel de amănunțite. De exemplu, această aplicație mobilă trebuie să fie pe deplin operațională cel puțin pe dispozitivele iOS și Android – echipa verificând dispozitivele vechi și noi în cadrul fiecărui sistem de operare. De exemplu, dacă un anumit model de iPhone nu poate reda fișiere GIF animate, echipa trebuie să identifice cauza pentru a asigura o experiență de utilizare consecventă.
2. Joc video
În general, jocurile video oferă opțiuni grafice personalizabile pe care utilizatorii le pot modifica pentru a se potrivi cu aparatul lor; acest lucru include controlul rezoluției ecranului și asigurarea că interfața de utilizare se adaptează în mod corespunzător. Anumite probleme pot apărea în funcție de hardware-ul specific al jucătorului – erorile de antialiasing conducând la o grafică granulată. Acest lucru s-ar putea datora unei plăci grafice comune care este incompatibilă cu redarea texturilor companiei. În funcție de problema exactă, aceasta se poate manifesta chiar ca o blocare a sistemului atunci când anumite dispozitive lansează jocul.
3. Sistem CRM în cloud
Soluțiile de gestionare a relațiilor cu clienții utilizează foarte mult bazele de date pentru a prelua informații despre tranzacții, furnizori și alte aspecte importante ale afacerii, în principal cu ajutorul stocării în cloud. Testatorii trebuie să se asigure că această bază de date și serviciile sale de cloud funcționează în diferite rețele, inclusiv 3G și 4G, dacă un utilizator trebuie să o acceseze fără conectivitate la internet. De asemenea, echipa trebuie să inspecteze o gamă largă de sisteme de operare, deoarece anumite defecțiuni pot apărea doar pe dispozitive Linux, de exemplu.
Teste de compatibilitate manuale sau automate?
Automatizarea ar putea fi foarte utilă pentru testele de compatibilitate, permițând echipelor să verifice un număr mare de dispozitive mult mai rapid decât o abordare manuală. Cu toate acestea, testarea manuală ar putea fi mai potrivită atunci când se efectuează verificări pe un număr limitat de browsere și dispozitive – de exemplu, un joc video disponibil doar pe două platforme. Utilizabilitatea software-ului este adesea un factor esențial în testele de compatibilitate și necesită de obicei o perspectivă umană care poate identifica mai bine problemele de redare grafică. Automatizarea proceselor robotice poate ajuta în acest sens prin implementarea unor roboți software care pot imita mai ușor abordarea unui utilizator uman în ceea ce privește testele de compatibilitate.
În cazul programelor concepute pentru o gamă largă de dispozitive, cum ar fi aplicațiile mobile și web, automatizarea permite echipei să asigure o acoperire mai largă a testelor. Ar putea chiar să folosească hiperautomatizarea pentru a externaliza în mod inteligent aceste verificări, într-un mod care să asigure că testerii umani inspectează aceste platforme pentru funcționalitatea specifică utilizatorului. Testele de compatibilitate în cadrul testelor manuale sunt încă obligatorii pentru anumite sarcini – cum ar fi verificarea afișării corecte a interfeței de utilizator pe fiecare dispozitiv. Acest lucru înseamnă că cea mai bună abordare ar putea fi o strategie mixtă care poate testa mai multe dispozitive în general prin automatizare, mărind ritmul acestora, dar ținând cont în același timp de importanța utilizării.
De ce aveți nevoie pentru a începe testarea compatibilității?
Principalele condiții prealabile pentru testarea compatibilității includ de obicei:
1. Personal de testare calificat
Testele de compatibilitate au, în general, cerințe de calificare mai ridicate decât alte forme de asigurare a calității, datorită faptului că verifică o gamă mai largă de dispozitive și întâlnesc adesea mai multe erori. Acestea pot include rezolvarea problemelor, comunicarea și atenția la detalii. Șefii de echipă ar trebui să desemneze testeri care au experiență în examinarea aceleiași aplicații pe mai multe platforme.
2. Emulare puternică a dispozitivului
Poate fi dificil să se găsească și să se testeze fiecare dispozitiv fizic din domeniul de aplicare al echipei, ceea ce face ca emulația să fie esențială pentru a vedea cum răspund diferite platforme la același program. Acest proces este rareori perfect, iar testerii trebuie să analizeze numeroasele emulatoare și instrumente de testare automată disponibile pentru a vedea care dintre ele oferă cea mai mare acuratețe.
3. Domeniu de testare clar
Echipa ar trebui să aibă o înțelegere a domeniului de aplicare înainte de începerea verificărilor, mai ales că acest lucru ar putea decide ritmul în care lucrează. În timp ce programul poate avea ca scop acoperirea mai multor platforme, testerii ar trebui să identifice un punct limită adecvat. De exemplu, testarea sistemelor de operare lansate înainte de Windows 7 ar putea duce la o scădere a randamentului.
4. Gestionarea timpului
Testele de compatibilitate pot avea loc în orice moment pe parcursul etapei de asigurare a calității, dar, de obicei, sunt păstrate pentru finalul dezvoltării – când programul este stabil și complet. Cu toate acestea, testerii ar trebui să ia în considerare compatibilitatea cu mult înainte de acest lucru, deoarece acest lucru este adesea consumator de timp. O planificare riguroasă în avans ajută echipa să se asigure că are suficient timp pentru fiecare verificare.
Testarea compatibilității
listă de verificare, sfaturi și trucuri
Iată câteva sfaturi suplimentare pe care echipele de asigurare a calității trebuie să le aibă în vedere atunci când pun în aplicare testele de compatibilitate:
1. Nu vizați o acoperire absolută
În timp ce fiecare strategie de testare urmărește să maximizeze acoperirea testelor, acestea se opresc de obicei înainte de a ajunge la 100% din cauza randamentelor descrescătoare, cu doar îmbunătățiri minore pentru foarte puțini utilizatori. În contextul compatibilității, echipele ar trebui să înțeleagă când prea puțini dintre clienții lor vor utiliza un dispozitiv pentru ca aceste verificări să fie utile.
2. Prioritizarea combinațiilor cross-browser
Testarea compatibilității între browsere presupune verificarea fiecărui browser în funcție de diferite sisteme de operare. Testatorii trebuie să utilizeze analize cuprinzătoare cu privire la publicul lor pentru a determina care sunt cele mai populare dintre cele două și să folosească acest lucru pentru a-și ghida abordarea. Aceștia ar putea chiar să dezvolte o matrice de compatibilitate a browserelor, care să stabilească domeniul de aplicare al acestor verificări și diversele lor configurații.
3. Verificați aspectul
Asigurarea unei experiențe consecvente se află în centrul testelor de compatibilitate, iar aceste verificări trebuie să meargă mai departe de a identifica dacă funcțiile programului funcționează pe diferite dispozitive. Echipele trebuie să verifice, de asemenea, aspectul general al software-ului, inclusiv alinierea oricăror formulare sau tabele, precum și integritatea CSS și HTML a programului.
4. Verificați API-urile
Interfețele de programare a aplicațiilor sunt o componentă de bază a modului în care browserele citesc aplicațiile, ceea ce le face vitale pentru testele de compatibilitate între browsere ale unei echipe. Diferitele browsere web au propriile apeluri API, iar actualizările acestora în timp ar putea afecta compatibilitatea. Testatorii trebuie să le verifice în mod regulat, chiar dacă societatea utilizează un API similar pentru fiecare program.
5. Examinați certificatul SSL
Certificatele SSL sporesc securitatea unui browser – criptând traficul web și permițând utilizatorilor să beneficieze de protocoalele HTTPS. Un site web sau o aplicație web ar putea avea un certificat care este incompatibil cu anumite browsere. Acest lucru înseamnă că testerele trebuie să valideze certificatul pe toate platformele majore pentru a se asigura că utilizatorii se simt în siguranță pe site-ul lor.
6. Validarea playerelor video
Programele care afișează clipuri video, cum ar fi serviciile de streaming sau jocurile mobile freemium susținute de reclame, ar trebui să fie supuse unor teste pentru a se asigura că aceste clipuri video sunt afișate pe toate dispozitivele vizate. Pentru multe dintre aplicații, aceste verificări vor include atât dispozitivele desktop, cât și cele mobile și ar putea examina calitatea, viteza și rata de cadre a videoclipului.
5 cele mai bune instrumente și software de testare a compatibilității
Cele mai eficiente instrumente gratuite și cu plată pentru testarea compatibilității sunt:
1. ZAPTEST Free & Enterprise Edition
ZAPTEST oferă o funcționalitate excelentă atât în ediția sa gratuită, cât și în ediția Enterprise (cu plată), ajutând companiile de orice mărime (sau buget) cu verificările de compatibilitate. Companiile care aleg versiunea Enterprise a ZAPTEST se pot bucura chiar și de un randament de până la 10 ori mai mare decât investițiile inițiale. Funcția 1SCRIPT a soluției este special adaptată la nevoile testerilor de compatibilitate, permițându-le acestora să ruleze exact aceleași teste pe mai multe platforme fără a modifica codul pentru a se potrivi. Adăugați funcționalitatea RPA de ultimă generație, fără costuri suplimentare, și veți avea o soluție unică de automatizare a oricărei sarcini.
2. LambdaTest
LambdaTest utilizează o abordare bazată pe cloud pentru a furniza 3.000 de dispozitive automate – deși se concentrează în mod semnificativ pe browserele web, ceea ce ar putea limita eficiența acestei soluții pentru anumite programe. Platforma este specializată în testarea continuă, integrând mai strâns procesul de asigurare a calității cu cel de dezvoltare. De asemenea, verificările din această aplicație permit utilizatorilor să își seteze rezoluția, ceea ce face mult mai ușoară testarea compatibilității între browsere. Această soluție oferă un model freemium, deși acesta include teste limitate fără upgrade și fără dispozitive reale.
3. BrowserStack
Similar cu LambdaTest, BrowserStack oferă acces la 3.000 de dispozitive reale; catalogul lor include, de asemenea, opțiuni legacy și beta pentru browsere. Deși este mai probabil ca oamenii să își actualizeze browserul decât sistemul de operare, este posibil să existe încă multe persoane care folosesc versiuni mai vechi – BrowserStack se adaptează la acest lucru. De asemenea, utilizatorii pot efectua teste de geolocalizare pentru a vedea cum arată site-urile și aplicațiile web în diferite țări. Cu toate acestea, nu există opțiuni gratuite sau freemium, iar testarea dispozitivelor reale poate fi lentă.
4. TestGrid
TestGrid permite testarea paralelă, permițând echipelor să verifice mai multe combinații în același timp pentru a accelera procesul. De asemenea, această soluție se integrează bine în fluxul de lucru de testare și dezvoltare – facilitând, eventual, o abordare agilă, prin faptul că reprezintă o parte esențială a sprinturilor departamentului. Cu toate acestea, TestGrid se confruntă uneori cu probleme de conectare la dispozitive și browsere cloud. În plus, programul este destul de limitat în ceea ce privește testarea sarcinii, documentația și adăugarea de noi dispozitive la configurația companiei.
5. Browsera
Browsera se concentrează în principal pe testarea site-urilor web pentru a se asigura că acestea sunt afișate corect pe diferite dispozitive, browsere și sisteme de operare. Fiind o abordare bazată pe cloud, echipele de asigurare a calității nu trebuie să instaleze acest laborator virtual de testare pe dispozitivele lor. Browsera poate, de asemenea, să compare rezultatele pentru a identifica în mod inteligent problemele de aspect și erorile JavaScript pe care chiar și un tester uman le-ar putea rata. Cu toate acestea, Browsera nu oferă suport pentru mai multe browsere obișnuite, inclusiv Opera, și oferă doar o funcționalitate de testare de bază gratuită.
Concluzie
Testele de compatibilitate sunt esențiale pentru o strategie de asigurare a calității de succes, permițând echipelor să își valideze aplicațiile pe o gamă largă de dispozitive. Dacă nu adoptă această tehnică, companiile pot ignora faptul că software-ul lor nu va funcționa pentru o mare parte din publicul țintă decât după lansare. Acest lucru costă mult timp și bani în comparație cu testarea înainte de lansare, iar aplicații precum ZAPTEST pot simplifica și mai mult acest proces. Cu 1SCRIPT și multe alte caracteristici disponibile gratuit, cum ar fi testarea paralelă, alegerea ZAPTEST ca instrument de testare ar putea transforma orice proiect, oferind echipelor o încredere totală în aplicația lor.