Companiile enorme de software, precum Google, au succes, în ciuda bug-urilor cu prioritate redusă în software-ul lor, dar companiile mai mici și noile companii nu au acel lux.
Clienții așteaptă ca produsele să facă ceea ce pretind pe pagina de vânzări sau în documentație. Cu atât de multe opțiuni acolo, nu se vor gândi de două ori despre săriturile de pe navă dacă produsul își pierde timpul și banii. Prin urmare, software-ul trece prin teste riguroase înainte de lansare, pentru a:
evidențiați diferențele dintre conceptul original și rezultatul final
Verificați dacă software-ul funcționează așa cum au planificat designerii
validarea produsului final - produsul trebuie să îndeplinească cerințele clientului
să evalueze caracteristicile și calitatea
Testarea urmează un model strict. Acest lucru optimizează utilizarea unor resurse valoroase - abilități, timp și bani, oferind în același timp părților interesate informații esențiale pentru a duce produsul în față. Scopul este de a facilita o bună experiență a utilizatorilor finali printr-un program puternic de asigurare a calității . Cu mizele atât de înalte, managerii de QA sunt unii dintre cei mai buni câștigători în domeniul tehnic. Încercarea de obicei urmează acești pași:
Analiza cerințelor în care managerii prezintă un plan pentru a pune în aplicare o strategie de testare adecvată.
Testele încep și rezultatele sunt analizate.
Orice defecte sunt corectate, iar software-ul trece prin teste de regresie - un sistem de verificare a programului funcționează încă după modificări.
Un raport de închidere a testului detaliază apoi întregul proces și rezultatele.
Metode de testare software
Iată diferitele metode utilizate pentru a evalua comportamentul și performanța produsului.
Testarea cutie neagră și cutia albă sunt cele două metode fundamentale.
- Testarea cutie neagră - De asemenea, se numește testare funcțională sau caietul de sarcini, această metodă se concentrează pe ieșire. Testerele nu se referă la mecanismele interne. Ei verifică doar că software-ul face ceea ce trebuia. Cunoașterea codării nu este necesară, iar testerele funcționează la nivelul interfeței utilizator.
- Testarea casetei albă - Această metodă utilizează know-how-ul de codificare ca parte a procedurii de testare. Atunci când un produs eșuează, testerele merg atât de adânc în codul necesar pentru a găsi cauza. Dezvoltatorii de software fac acest lucru ei înșiși, deoarece ei determină modul în care produsul ar trebui să funcționeze. Structura pe bază de sticlă și testarea sticlei sunt alte denumiri pentru această metodă.
- Analiza statică - Testerele examinează codul și documentația software-ului, dar nu execută programul. Încercările statice încep de la începutul dezvoltării produsului în timpul procesului de verificare.
- Testarea dinamică - software-ul este executat cu diverse intrări, iar testerele compară rezultatele cu comportamentul așteptat cu această metodă.
- GUI de testare - Aceasta teste GUI caracteristici - formatare text, casete text, butoane, liste, aspect, culori, fonturi, dimensiuni de fonturi, și așa mai departe. GUI de testare este consumatoare de timp, iar companiile terțe părți iau adesea sarcina în loc de dezvoltatori.
Nivelurile de testare
Acestea sunt necesare pentru a identifica zonele de slăbiciune și suprapuneri în fiecare fază a ciclului de viață al dezvoltării software-ului.
- Testarea unităților - dezvoltatorii testează cele mai importante părți ale codului, cum ar fi clasele, interfețele și funcțiile / procedurile. Ei știu cum trebuie să răspundă codul lor și pot face ajustări în funcție de ieșire.
- Testarea componentelor - Alte nume sunt testarea modulelor sau programelor. Este similar cu testarea unităților, dar conține un nivel mai ridicat de integrare. Modulele software-ului sunt testate pentru defecte pentru a verifica funcția lor individuală.
- Testarea integrării - identifică erorile atunci când modulele sunt integrate. Diferite teste de integrare sunt de jos în sus, de sus în jos și funcționale incrementale.
- Testarea sistemului - Componentele unui proiect sunt testate în ansamblu în diferite medii cu această metodă. Acesta se încadrează în metoda cutie neagră și este unul dintre testele finale din acest proces. Acesta determină dacă sistemul funcționează așa cum ar trebui pentru a răspunde nevoilor companiilor și utilizatorilor.
- Testarea Alpha - Personalul intern testează software-ul pe site-ul dezvoltatorului într-un mediu simulat sau real. După aceasta, dezvoltatorii rectifică bug-uri și alte probleme.
- Testarea beta - cunoscută și ca test de teren, clientul testează produsul pe propriul site în condiții reale. Clientul poate oferi unui grup de utilizatori finali posibilitatea de a testa software-ul prin intermediul versiunilor pre-release sau beta. Feedback-ul cu privire la eventualele îmbunătățiri este trimis apoi dezvoltatorului.
- Acceptarea testelor - De asemenea, în scopul testării cutiei neagră, clientul testează software-ul pentru a afla dacă dezvoltatorul a creat programul în funcție de specificațiile dorite.
Tipuri de încercări
Aceste teste de software se concentrează pe obiective specifice.
- Instalarea de testare - Inginerul de testare software și managerul de configurare efectuează acest test pentru a se asigura că utilizatorul final poate instala și executa programul. Acesta acoperă domenii cum ar fi fișierele de instalare, locațiile de instalare și privilegiile administrative.
- Dezvoltare de testare - Aceasta pune în aplicare o serie de strategii sincronizate pentru a detecta și a preveni defectele. Acesta include analiza codului static, recenzii ale codului de peer, analiza trasabilității și măsurători. Scopul este reducerea riscurilor și economisirea costurilor.
- Testarea utilizabilității - experiența utilizatorului se află în centrul atenției cu acest test. Măsoară cât de bine este proiectată GUI și ușurința în utilizare. Testul verifică acuratețea și eficiența funcțiilor și răspunsurile emoționale ale subiecților de testare.
- Testul de sănătate - Aceasta indică dacă software-ul merită timpul și costul pentru continuarea testelor. Prea multe defecte și teste mai agresive nu au loc.
- Testarea fumului - Testarea fumului relevă defecțiuni de bază care sunt suficient de grave pentru a preveni eliberarea. Atunci când aceasta se realizează pe o construcție nouă, se numește test de verificare a construirii.
- Testarea prin regresie - Când sistemul suferă modificări, testarea de regresie monitorizează comportamentul neașteptat. Ea evidențiază efectele adverse asupra modulelor sau componentelor.
- Testarea distructivă - Testele introduc intrări anormale și discernă capacitatea software-ului de a gestiona intrările neașteptate. Aceasta arată dezvoltatorilor cât de robust este programul de gestionare a erorilor.
- Testarea de recuperare - În cazul în care hardware-ul sau alte funcții nu reușesc, acest test arată cât de bine software-ul se poate recupera și continua funcționarea.
- Testarea automată - aceasta realizează funcții greu de implementat manual. Utilizează software specific pentru a rula testele și pentru a furniza date despre rezultatele reale față de cele așteptate.
- Testarea compatibilității - Software-ul trebuie să ruleze în medii de calcul diferite, astfel că acesta verifică compatibilitatea cu diferite sisteme. De exemplu, software-ul funcționează cu diferite sisteme de operare și browsere web?
- Testarea performanței - Acesta este un test în profunzime care examinează performanța software-ului în diferite scenarii. Se colectează informații despre reactivitate, stabilitate, alocarea resurselor și viteza. Mai mult, sub-testele precum volumul, capacitatea și testarea vârfului joacă un rol în acest proces.
- Testarea securității - aceasta măsoară capacitatea software-ului de a proteja securitatea utilizatorilor. Aceasta înseamnă funcții de autorizare, autentificare, confidențialitate, integritate, disponibilitate și non-repudiere.
- Test de accesibilitate - Nu este același lucru cu testarea utilizabilității. Acest lucru determină măsura în care utilizatorii de abilități diferite - învățarea și dizabilitățile fizice incluse, pot utiliza software-ul.
- Testarea internaționalizării și a localizării - rezultatele arată modul în care software-ul se poate adapta la diferite limbi și cerințe regionale. Aceasta include adăugarea de componente pentru locații specifice și traducerea textului.
Testarea software-ului este o parte esențială a introducerii unui produs pe piață. Și fără testeri, gama vastă de programe disponibile nu ar exista. Deveniți un tester de software certificat prin organizații precum BCS, Institutul Chartered pentru IT, ISTQB® și ASQ (fostă Societatea Americană pentru Calitate).