Sistem de testare funcțională. Testarea de încărcare a software-ului[editare

03.03.2020 Efecte foto

Având în vedere șansele de astăzi, fiecare Petya și Vasya pot dezvolta site-uri web. Dar în această lume a tehnologiei în schimbare rapidă, cum poți rămâne unic și impresiona consumatorii?

Băieți, cheia inimii clientului dumneavoastră este nimic mai puțin decât „calitate”. Indiferent cât de complex creați un site web, calitatea este singurul factor care conduce orice afacere și duce la obiectivul principal - atragerea clienților.

Site-ul tău web este un fel de fereastră online care prezintă afacerea ta oamenilor din lumea reală. Fiecare obiect de pe site-ul dvs., de la culoarea site-ului, design, funcționalitate, care include ușurința de navigare și chiar și timpul de încărcare a conținutului, contează de fapt.

Cum vă puteți asigura că toate aceste componente au fost organizate perfect și cu cea mai mare precizie? Analiza și testarea corectă a funcționalității este o parte integrantă a ciclului de dezvoltare a proiectului, în care asigurarea calității este, de asemenea, inclusă în scenariu.

Lista de verificare pentru dezvoltatori web

1. Excelență în proiectare

Aici trebuie să priviți lucrurile din perspectiva clientului dvs. și cum își doresc ca afacerea lor să apară potențialilor clienți. Un site web este o platformă care oferă publicului țintă o imagine în oglindă a produsului lor.

Aduceți unicitate designului dvs., asigurându-vă în același timp că rămâneți în limitele conceptelor și specificațiilor de design ale clientului dvs. pentru a obține rezultatele așteptate.

2. Management de conținut la standarde înalte

Nu există nicio schimbare în vechea zicală „Conținutul este regele”: va domni întotdeauna în lumea marketingului online. Conținutul organizat, care este, de asemenea, proaspăt, interactiv, lizibil și ușor de înțeles va deschide ușa către inima clientului dvs.

Cercetările și sondajele arată că utilizatorii tind să rămână pe un site abia câteva secunde, din care petrec și mai puțin timp citind conținutul. De aceea este necesar să se acorde o atenție deosebită acestui punct. Doar conținutul bun al site-ului îl va face pe vizitator să rămână pe site.

Să discutăm câteva puncte care vă vor ajuta să obțineți un site web fără șanse zero de erori.

3. Creativ cu bun simț

Aspectul site-ului dvs. este ca un test de turnesol care determină dacă site-ul dvs. poate mulțumi publicul. Prin urmare, este necesar să îl faceți atractiv și, în același timp, să nu fie strălucitor.

Amintiți-vă că prima impresie este întotdeauna cea mai bună impresie!

De aceea, ar trebui să respectați următoarele reguli privind conținutul site-ului:

  • Utilizarea inteligentă a spațiului
  • Suficient spațiu alb pentru ca conținutul să-l lase să respire
  • Fără imagini nepotrivite
  • Lizibilitate bună
  • Evitați culorile contrastante și dimensiunile inadecvate ale fonturilor
  • Evitați linkurile rupte
  • Compatibilitate obligatorie între browsere
  • Nu uitați să vă schimbați ID-ul de e-mail de pe site
  • Anul Drepturile de autor trebuie să indice anul în care site-ul va fi lansat


4. Conținutul este regele site-ului

După cum sa discutat, un site web este o platformă care prezintă o afacere unui public global. Amintiți-vă că nu doar localnicii vor vizita site-ul, ci o gamă largă de oameni din diferite părți ale lumii. Fiți pregătiți să le faceți față și să le satisfaceți nevoile.

Tipul de conținut pe care îl alegeți și modul în care îl prezentați joacă de fapt un rol important atunci când aveți un public numeros, mai ales că cursa pentru satisfacerea gusturilor utilizatorilor devine din ce în ce mai strânsă.

Când cheltuiți timp și bani pentru a gestiona conținut rafinat pentru site-ul dvs., trebuie să verificați calitatea acestuia pentru a vă asigura că este relevant pentru interesele publicului dvs., fără a sacrifica calitatea și unicitatea.

Iată câteva dintre regulile generale pentru selectarea conținutului pe care trebuie să le urmați pentru a obține rezultate mai bune:

Acestea sunt câteva practici comune de conținut de care trebuie să scapi cât mai curând posibil pentru a obține rezultate mai bune:

  • Evitați greșelile de ortografie și gramaticale
  • Asigurați spații între cuvinte
  • Spații obligatorii după semnele de punctuație
  • Începeți o propoziție cu majuscule
  • Verificați dacă există discrepanțe
  • Evitați aspectul dezorganizat al conținutului


5. Funcționalitate

Imaginează-ți că ai primit recent un conac frumos, dar nu poți încuia ușile. Ai cheltuit toți banii câștigați din greu pentru a construi un conac care este deschis tuturor. La ce folosește asta? Același lucru este valabil și pentru site-ul dvs. Ai muncit foarte mult la un site care este absolut frumos, dar nu funcționează conform specificațiilor clientului.

Cum speri ca clientul tau sa atraga atentia de la clienti sau potentiali clienti cu un astfel de site? Totul este în zadar! Acum nu-ți mai face griji!

Iată câteva sfaturi pentru a vă ajuta cu funcționalitatea sa:

  • Asigurați o navigare adecvată
  • Evitați greșelile în trimiterea mesajelor de abonament, informații de contact etc.
  • Furnizați comentarii la secțiunile de conectare și înregistrare a site-ului
  • Verificați dacă toate linkurile sunt funcționale
  • Verificați dublu caracteristici de comerț electronic


6. Funcționalitate de comerț electronic

Site-urile de comerț electronic nu sunt altceva decât magazine online în care oamenii fac achiziții cu un singur clic sau atingeți smartphone-ul lor. Trebuie să fii în permanență la curent cu tendințele și să vii cu idei inovatoare care să le hrănească spiritul.

Crearea unei afișări este direct proporțională cu numărul de utilizatori online de pe site-ul dvs. De aceea este necesar să înțelegem ce caută clienții pe astfel de site-uri:

  • Timp scurt de încărcare
  • Disponibilitatea posibilității de a șterge, adăuga, comanda etc.
  • Disponibilitate de intrare si iesire
  • Calcule corecte pentru tranzacție

Amintiți-vă, nu sunteți singuri în căutarea site-ului de comerț electronic perfect și toți ceilalți sunt la fel de concentrați ca și dvs. Chiar și creșterea timpilor de încărcare vă poate opri clienții.

Există anumite standarde de programare pe care ar trebui să începeți să le urmați astăzi pentru a reduce timpul de încărcare la zero sau la minimum.

Unele dintre ele sunt menționate mai jos:

  • Eliminarea link-urilor rupte
  • Concentrați-vă pe conținut
  • Optimizarea imaginii
  • Optimizarea fișierelor mari
  • Folosind Pure CSS
  • Optimizarea codurilor PHP


7. E-mail

Se pot face multe lucruri folosind e-mailul. Acest lucru poate varia de la pur și simplu furnizarea de informații valoroase până la tranzacții comerciale uriașe. Prin urmare, asigurați-vă că trimiterea e-mailului nu eșuează niciodată. Și, de asemenea, nu uitați să vă confirmați adresa de e-mail.

8. Apel la acțiune (CTA)

Un îndemn la acțiune este o legătură între conținutul organic de care este interesat potențialul tău și o pagină de aplicație cu valoare mai mare (pagina de destinație), care, la rândul său, este suficient de relevantă și interesantă pentru a-ți convinge vizitatorii să completeze un scurt formular.

CTA-urile sunt una dintre cele mai dovedite strategii pentru a atrage atenția unui utilizator și de aceea o recomandăm. În primul rând, asigurați-vă că funcționează. Îndemnul dvs. la acțiune ar trebui să atingă cu adevărat semnul, și ar trebui să fie clar și la obiect.

Dacă poate avea o culoare contrastantă din schema de culori a paginii web, în ​​timp ce încă se potrivește în designul general, va fi mai eficient.

Perfecțiunea înseamnă o mulțime de lucruri mici făcute corect!

Acum că am terminat cu elementele de bază ale creării unui site web, să trecem mai degrabă peste ceilalți factori relevanți care necesită atenție imediată.

  • Furnizarea de mesaje standard de confirmare
  • Furnizarea de stil de e-mail de confirmare și combinații de culori similare cu site-ul web
  • Sigla companiei obligatorie
  • Numele companiei în adresă
  • Compatibilitate între browsere
  • Configurarea paginii Eroare 404
  • Selectați toate linkurile și butoanele

Nu în ultimul rând, ce va face site-ul dvs. ușor de utilizat!

Lista de verificare pentru clienți

Cine este această persoană pentru care creați un site web? Acesta este cineva care va construi o afacere și va face vânzări prin intermediul site-ului și, evident, acesta nu este utilizatorul final, dar el este totuși clientul pentru care lucrați.

Dacă nu știi ce vrea, atunci cum ai de gând să-i oferi un site care este destinat utilizatorilor săi finali?

Lista de verificare a siglei

Un logo pentru site-ul web este la fel de important ca și crearea oricăror alte componente ale site-ului. Deci, atunci când clientul dvs. are nevoie de un site web împreună cu un logo, iată câteva lucruri la care ar trebui să lucrați.

  • Logo-ul are legătură cu afacerea?
  • Se potrivește sigla în site-ul propriu-zis?
  • Va rămâne mult timp în memoria publicului?


Lista de verificare pentru design în general

Deși am discutat deja despre elementele necesare pentru revizuirea site-ului web, este necesară și o listă de verificare generală atunci când vine vorba de partea de codificare:

  • Formatul document pe care îl utilizați pe site
  • Set de caractere folosite pe site
  • Site-ul dvs. implementează HTML sau XHTML valid?
  • Ați implementat CSS valid pentru site-ul dvs.?
  • Ați implementat clase sau identificatori care nu sunt importanți pentru site-ul dvs.?
  • Ce cod ai implementat pentru site-ul tău?
  • Verificați link-urile rupte! Nu-l ignora, s-ar putea să nu știi, dar s-ar putea să fie mulți dintre ei!
  • Viteza site-ului pe pagină?
  • Există erori JavaScript pe site-ul dvs.?

Probabil asta e tot! Sperăm că cu ajutorul listei noastre veți putea crea cele mai tari site-uri!

4.3 — Cum se verifică funcționalitatea site-ului

Ce verifică site-ul?

Verificarea rețelei, în termeni simpli, verifică site-ul dvs. web pentru erori potențiale înainte de a intra în vigoare sau înainte ca codul să fie mutat în producție.

În această etapă, problema este securitatea site-ului web, verificarea accesului pentru utilizatori, precum și vizitarea utilizatorilor obișnuiți și capacitatea acestuia de a gestiona promovarea.

Site-ul care verifică lista de verificare:

Unele sau toate următoarele tipuri de testare pot fi efectuate în funcție de testarea cerințelor dvs. web.

1. Testarea funcționalității:

Această testare este utilizată în conformitate cu cerințele tehnice, scopul său și cerințele funcționale pe care le-ați mapat pentru aceasta în documentația de dezvoltare a proiectului. Testarea a inclus acțiuni:

Verificați toate linkurile de pe paginile dvs. web pentru a vedea dacă funcționează corect și confirmați că nu există linkuri întrerupte. Conexiunile care vor fi testate includ −

  • Comunicatii
  • Link-uri interne
  • Conexiuni de ancorare
  • Conexiuni MailTo

Testarea formularelor lucrați conform așteptărilor. Aceasta include -

  • Scriptul începe să funcționeze, formularul funcționează. De exemplu, dacă utilizatorul nu completează un câmp obligatoriu dintr-un formular, sistemul afișează un mesaj de eroare.
  • Verificați dacă toate valorile sunt implicite.
  • Odată ce datele sunt trimise în formulare de baze de date live sau legate la o adresă de e-mail de la serviciu.
  • Formulare formatate optim pentru o citire ușoară.
Testarea site-ului

Testarea cookie-urilor. Cookie-urile sunt fișiere mici utilizate de site-uri web pentru a reține în primul rând sesiunile active ale utilizatorilor. Deci nu trebuie să vă înregistrați de fiecare dată când vizitați. Testarea cookie-urilor va include:

  • Verificarea de la distanță a modulelor cookie (sesiuni), ștergerea memoriei cache sau ștergerea după expirarea timpului.
  • Șterge cookie-urile (sesiuni) și verifică datele de conectare trimite o cerere pentru următoarea vizită.

Testarea HTML și CSS, garantează că pot ajunge cu ușurință pe site-ul dvs.

  • Verificarea erorilor de sintaxă
  • Scheme de culori ușor de citit
  • Conformitatea standardului. Asigurați-vă că un astfel de standard este W3C, OASIS, IETF, ISO, ECMA sau menținători WS-I.

Examinați fluxul de lucru al afacerii.

  • Testarea de la început până la sfârșit a unui flux de lucru/scenariu de afaceri care duce un utilizator printr-o serie de pagini de internet.
  • Furnizați un rezultat negativ al scenariului atunci când utilizatorul efectuează un pas neașteptat, rezultând o eroare adecvată sau un mesaj de asistență.

2. Testare de utilizare:

Testarea de utilizare a devenit acum o parte vitală a oricărui proiect de rețea. Acest test poate fi efectuat de testeri sau de un grup mic de focus similar cu publicul țintă al aplicației web.

Verificați navigarea pe site:

  • Meniurile, butoanele sau de pe site-ul dvs. ar trebui să fie ușor accesibile și consecvente pe toate paginile de internet.
  • Conținutul trebuie să fie clar, fără erori gramaticale sau de ortografie.
  • Imaginile, dacă există, trebuie să conțină textul „titlu”

3. Testarea interfeței:

Cele trei domenii care vor fi testate sunt aplicația, rețea și serverul de baze de date.

  • Aplicație: Cererile de testare care sunt trimise corect la baza de date, iar ieșirea din partea clientului este afișată corect. Erori, dacă cineva a fost prins folosindu-l, atunci acesta va fi afișat doar administratorului și nu utilizatorului final.
  • server web: Serverul Web de testare procesează toate cererile de aplicație fără nicio eroare a serviciului.
  • Server baza de date: Asigurați-vă că întrebările trimise în baza de date produc rezultatele așteptate.
Baze de date

Testează răspunsul sistemului, această conexiune între cele trei straturi (Aplicație, Rețea și Baza de date) nu poate fi stabilită în mesajul corespunzător care arată informațiile utilizatorului final.

4. Testarea bazei de date:

Baza de date este o componentă critică a aplicației dvs. web și ar trebui să se pună accent pe verificarea amănunțită. Testarea acțiunii va include −

  • Testați dacă apar erori prin revizuirea întrebărilor
  • Integritatea datelor este menținută prin crearea, actualizarea sau ștergerea datelor din baza de date.
  • Verificați timpii de răspuns la întrebări și ajustați-le dacă este necesar.
  • Datele de testare care sunt recuperate din baza de date sunt afișate cu precizie în aplicația dvs. web.

5. Testare de compatibilitate.

Testele de compatibilitate asigură că aplicația dvs. web se afișează corect pe diferite dispozitive. Acest test include -

Test de compatibilitate browser: Același site web se va afișa diferit. Ar trebui să verificați dacă aplicația dvs. web este redată corect prin browsere, javascript, AJAX și sistemul de autentificare funcționează bine. De asemenea, puteți verifica compatibilitatea browser-ului dvs. pentru mobil.

Furnizarea de elemente pentru butoanele web „Like”, câmpuri de text etc. schimbare cu schimbări în Sistem de operare. Asigurați-vă că site-ul dvs. web funcționează bine pentru diferite combinații de sisteme de operare, cum ar fi Windows, Linux, Mac și browsere precum Google Chrome, Opera, Firefox, Internet Explorer, Safari etc.

6. Performanța de testare:

Acest lucru vă garantează spațiul de lucru sub toate sarcinile. Testarea va include un număr nelimitat de posibilități -

  • Timpul de răspuns al site-ului a fost aplicat la diferite viteze de comunicare.
  • Testați aplicația dvs. web pentru a determina comportamentul acesteia la sarcini normale și de vârf.
  • Testați site-ul dvs. de încărcare pentru a determina punctul său de rupere atunci când nu este la orele de vârf normale.
  • Testați, dacă are loc un dezastru major, care poate atinge sarcina maximă, după care site-ul durează mult pentru a-și veni în fire.
  • Asigurați-vă că tehnicile de optimizare, cum ar fi compresia gzip, browserul și cache-ul serverului sunt activate pentru a reduce dimensiunea încărcării memoriei.

7. Testare de securitate:

Testarea de securitate este vitală pentru cei, în general, care stochează informații sensibile despre consumatori, cum ar fi cărțile de credit. Testarea de acest tip va include −

  • Accesul neautorizat la paginile protejate nu ar trebui permis.
  • Fișierele restricționate nu trebuie descărcate fără acces adecvat.
  • Verificați dacă sesiunile sunt șterse automat după o inactivitate extinsă a utilizatorului.
  • La utilizarea certificatelor SSL, site-ul trebuie să redirecționeze către paginile criptate SSL.
Fișiere criptate

8. Testarea publicului:

Veți selecta un număr mare de persoane (mulțimea) pentru a efectua teste care ar fi efectuate de un grup select de oameni din companie. Testarea crowdsourced este un concept interesant și viitor, care ajută la dezlegarea multor defecte nedetectate.

Articolul concluzionează că aproape toate testele pot fi aplicate resursei dvs. web.

În calitate de Web Tester, sarcina lui principală este să constate că testarea web este un proces destul de dificil și te vei confrunta cu multe obstacole. Una dintre principalele probleme cu care te vei confrunta este presiunea termenului limită. Ieri, totul este întotdeauna necesar! Cantitatea de cod va trebui modificată. Asigură-te că știi exact ce se așteaptă de la tine în viitor. Cele mai bune procese ale sale identifică toate sarcinile care sunt incluse în testarea dvs. web și apoi creează o foaie de lucru pentru estimări și planuri precise.

Securitatea informațiilor 11.07.2018 8693

Testarea funcțională este unul dintre tipurile cheie de testare, a cărei sarcină este să stabilească conformitatea software-ului dezvoltat cu cerințele funcționale inițiale ale companiei clientului. Adică, testarea funcțională vă permite să verificați capacitatea unui sistem informațional, în anumite condiții, de a rezolva problemele necesare utilizatorilor.

În funcție de gradul de acces la codul de sistem, se pot distinge două tipuri de teste funcționale:

⦁ testare cutie neagră – efectuarea de teste funcționale fără acces la codul de sistem,
⦁ testare cutie albă – testare funcțională cu acces la codul de sistem.
Testarea cutiei negre se efectuează fără cunoștințe despre mecanismele interne ale sistemului și se bazează pe manifestările externe ale funcționării acestuia. Această testare verifică comportamentul software-ului sub diferite date de intrare și starea internă a sistemelor. În cazul testării cutiei albe, cazurile de testare sunt create pe baza codului sistemului software. Există, de asemenea, un tip extins de testare cutie neagră, care include studierea codului - așa-numita cutie gri.

Beneficii cheie

⦁ Testarea software-ului funcțional simulează complet utilizarea efectivă a sistemului.
⦁ Vă permite să identificați cu promptitudine erorile de software de sistem și, astfel, să evitați multe probleme atunci când lucrați cu acesta în viitor.
⦁ Economii prin corectarea erorilor mai devreme în ciclul de viață al software-ului.

Etapele principale ale testării funcționale

Pregătirea— Se efectuează o analiză a documentelor sursă despre sistem: cerințe funcționale și de afaceri, specificații tehnice, pașaport de proiect. Există, de asemenea, dezvoltarea și aprobarea unui plan de testare, cazuri de testare, acordul privind termenele limită ale proiectului, numărul de iterații și evaluarea riscurilor posibile. Sarcinile în această etapă sunt efectuate în comun cu reprezentanții clientului.

Efectuarea— Testarea funcțională este efectuată manual folosind scenarii de testare pregătite în prealabil, toate erorile găsite fiind introduse în sistemul de urmărire a erorilor. În cazul în care firma clientului nu dispune de un astfel de sistem, compania moderatoare de crowdtesting poate: furniza un sistem de management al testelor pe site-ul său; furnizează companiei o licență către client; să utilizeze fondurile disponibile companiei clientului; descurcă-te doar cu suita office; livrați procesul de testare companiei clientului folosind instrumente gratuite.

Raport— Elaborarea și aprobarea rapoartelor de testare cu o listă a abaterilor detectate și recomandări pentru îmbunătățirea sistemului este în curs. Dacă este necesar, se oferă instruire pentru utilizatori.

Zone de testare funcțională

Testare de regresie — Testarea funcționalității produsului după remedierea erorilor sau a unei noi funcționalități a fost implementată

Testare de securitate — Evaluarea vulnerabilității software-ului la diferite atacuri și încercări de acces neautorizat la date.

Testarea sistemului — Verificarea conformității software-ului cu cerințele prevăzute în caietul de sarcini

Testarea aplicațiilor mobile — Detectarea defectelor în funcționarea interfeței grafice

Testarea instalației — Testarea procesului de instalare/dezinstalare a software-ului

— Testarea funcționării software-ului pe diverse medii software și hardware.

Testarea integrării — Testarea interacțiunilor dintre componentele sistemului și între mai multe sisteme.

Testarea fumului — Un scurt ciclu de teste pentru a determina funcționarea corectă a principalelor funcții ale aplicației.

Testarea documentației — Verificarea documentelor pentru conformitatea cu standardele acceptate, precum și conformitatea cu anumite caracteristici

Asigurarea acoperirii testelor — Evaluarea densității acoperirii sistemului prin teste

Testare de utilizare — Determinarea gradului de ușurință în utilizare, înțelegere și atractivitate a produsului dezvoltat

Testare de regresie


De fiecare dată când faceți modificări sistemului sau îi adăugați noi funcționalități, există

probabilitatea ca aceste modificări să afecteze performanța funcționalității dezvoltate anterior sau a sistemului în ansamblu. Testarea de regresie vă permite să verificați corectitudinea completărilor și să vă asigurați că programul, după modificări, continuă să îndeplinească cerințele stabilite și să interacționeze cu succes cu alte sisteme.

Se recomandă efectuarea acestui tip de testare de fiecare dată după actualizarea programului, ceea ce poate include remedierea unui defect, îmbinarea codului, migrarea la alt sistem de operare sau bază de date, adăugarea de noi funcționalități și alte modificări. Dacă în timpul funcționării software-ului numărul utilizatorilor de sistem a crescut semnificativ în comparație cu operarea pilot, se recomandă efectuarea testelor de sarcină de regresie.

În timpul proiectului, testerii verifică mai întâi acea parte a funcționalității în care probabilitatea ca o eroare să apară după modificări este cea mai mare. Pentru a economisi timp, specialiștii pot dezvolta teste de regresie automate care vor reduce timpul de testare fără a pierde calitatea muncii.

Beneficii cheie

⦁ Cu testarea regulată de regresie, există o reducere semnificativă a numărului de defecte din sistem până la momentul lansării.
⦁ Eliminarea degradării calității sistemului pe măsură ce funcționalitatea crește.
⦁ Reducerea probabilității erorilor critice în operarea pilotului.

Etape principale

⦁ Teste de verificare: includ teste pentru a verifica remedierea erorilor și teste pentru a verifica integritatea funcționalității de bază în fiecare versiune nouă de software;
⦁ Teste de regresie: verificarea unei noi versiuni a programului cu un set de teste care au fost folosite la testarea versiunii anterioare și nu au scos la iveală erori;
⦁ Regresia asupra erorilor remediate: verificarea erorilor identificate și corectate anterior, aceasta este necesară pentru a evita apariția unor erori similare după modificarea codului.

Testarea integrării


Multe sisteme IT moderne interacționează cu alte sisteme și module, așa că este extrem

Este important să înțelegeți relația lor și să le verificați funcționalitatea. Testarea integrării vă permite să detectați defectele care apar atunci când sistemele interacționează. Pentru aceasta se pot folosi atât teste manuale, cât și automate.

Testarea integrării este recomandată înainte de a începe testarea sistemului. Acest tip de testare ar trebui efectuat cât mai devreme posibil, deoarece defectele de integrare, de regulă, sunt de natură arhitecturală, remedierea lor în etapele ulterioare de dezvoltare este riscantă și poate fi mult mai costisitoare; Pentru a accelera începerea procesului de testare, se recomandă utilizarea dezvoltării de emulatoare de sistem externe.

Testarea de integrare poate include, de asemenea, testarea de regresie pentru a verifica modificările aduse aplicației sau mediului și funcționalitatea funcționalității vechi.

Beneficii cheie

Testarea de integrare vă permite să simulați acțiunile utilizatorului și să obțineți rapid confirmarea că produsul software interacționează cu succes cu alte sisteme. Această abordare garantează mai multe avantaje:

⦁ Prevenirea erorilor critice în operarea pilotului;
⦁ Reducerea influenței factorului uman;
⦁ Economisirea costurilor pentru corectarea defectelor.

Sarcinile principale

Sarcina principală a testării integrării este de a găsi erori asociate cu interacțiunea modulelor de sistem sau a mai multor sisteme. Ca rezultat, toate sistemele și modulele adiacente ale unui sistem trebuie să funcționeze în armonie.

Metodele de realizare a testelor de integrare sunt selectate în funcție de soluțiile de integrare.

Etape

⦁ Elaborarea unui plan de testare - un ghid de acțiune pentru testeri;
⦁ Generarea datelor de testare și crearea cazurilor de testare;
⦁ Implementarea de scripturi pentru rularea cazurilor de testare;
⦁ Executarea cazurilor de testare și corectarea erorilor;
⦁ Repetați ciclul de testare până la integrarea cu succes.

Testare de securitate


Testele de securitate sunt efectuate pentru a evalua rezistența sistemului la atacuri ilegale.

acțiuni: atacuri de hackeri, pătrunderea virușilor, încercări de acces la informații corporative. Testarea de securitate este relevantă în special pentru aplicații web, aplicații cu informații comerciale sau personale importante, sisteme de plată, aplicații care necesită integritate a informațiilor, aplicații sociale, aplicații cu licență comercială. Adesea pentru controale de securitate

Astfel de sisteme de testare funcțională nu sunt suficiente.

Beneficii cheie

⦁ Testarea de securitate reduce probabilitatea accesului neautorizat la sistem, a furtului de informații și a pierderii datelor;
⦁ Clienții primesc o evaluare obiectivă a nivelului de securitate al sistemelor.

Sarcinile principale

⦁ Analiza arhitecturii și construcția unui model de amenințare și risc
⦁ Definirea criteriilor de securitate
⦁ Căutați vulnerabilități în codul sursă
⦁ Testarea fuzz
⦁ Testarea de penetrare
⦁ Testare bazată pe risc
⦁ Efectuarea testelor de sarcină

Etape

⦁ Pregatire: colectarea informatiilor, clarificarea detaliilor;
⦁ Planificare: analiza vulnerabilităților sistemului și a posibilelor amenințări, întocmirea unei matrice de risc;
⦁ Proiectare: determinarea parametrilor de securitate a sistemului, analiza codului, teste elementare;
⦁ Dezvoltare: introducerea datelor neașteptate, incorecte, atipice (fuzz testing), evaluarea componentelor software nefuncționale, modelul de testare a riscurilor;
⦁ Implementare: ⦁ teste de sarcină, teste de penetrare.

Testarea fumului

Asamblarea frecventă a software-ului nu are loc întotdeauna cu calitatea cerută, drept urmare produsul software poate conține erori în funcționarea funcționalității critice pentru afaceri. De aceea, verificarea funcționalității cheie a sistemului ar trebui efectuată imediat după asamblare și înainte de transferul software-ului pentru testare.

Testarea de fum are ca scop identificarea defectelor imediat după ce software-ul este construit. Include un număr mic de cazuri de testare și este conceput pentru a identifica erori evidente de funcționalitate. Testele de fum sunt de obicei efectuate după o actualizare a software-ului, dar această metodă poate fi folosită și pentru a testa produse software create de la zero. Testarea SMOKE poate fi efectuată ca testare de acceptare înainte de testarea funcțională. Deoarece testarea fumului se efectuează cu o frecvență destul de mare și se cheltuiesc resurse semnificative de testare, se recomandă automatizarea acestei zone.

Beneficii cheie

⦁ Identificarea erorilor critice în primele ore (minute) după instalare
⦁ Reducerea riscului lansării unui produs de calitate scăzută;
⦁ Minimizarea riscurilor la integrarea sistemelor;
⦁ Reducerea costurilor de corectare a defectelor;
⦁ Accelerați verificarea prin automatizare.

Sarcinile principale

⦁ Selectarea scenariilor de testare astfel încât să asigure acoperirea testului a funcțiilor de sistem cu cea mai mare prioritate.
⦁ Determinarea numărului de teste SMOKE și a timpului de executare a acestora. De obicei, nu sunt selectate mai mult de 10 scenarii pentru testele SMOKE cu un timp de execuție de câteva ore.
⦁ Redactarea scripturilor de testare, descrierea etapelor de reproducere și a rezultatelor așteptate ale implementării acestora. La cererea clientului, scripturile pot fi automatizate.
⦁ Efectuarea testelor de FUM.

Testarea sistemului


Testarea sistemului este concepută pentru a testa

software terminat în starea în care va fi implementat în producția pilot.

Testarea sistemului vă permite să detectați defecte, cum ar fi identificarea funcționalității lipsă din sistem, funcționarea incorectă a funcțiilor sistemului, erorile care apar la utilizarea datelor de testare specifice sau combinarea acestora și erori în interacțiunea cu alte sisteme.

Beneficii cheie

⦁ Reducerea numărului de defecte în operarea pilot;
⦁ Posibilitatea de a utiliza scenarii de testare ca materiale de instruire pentru viitorii utilizatori ai sistemului;
⦁ Identificarea erorilor de instalare a standului, care facilitează munca administratorilor AS la instalarea sistemului pentru operarea pilot.

Sarcinile principale

⦁ Determinarea modului de abordare a scrierii scenariilor de testare
⦁ Crearea unui plan de testare și a unei metodologii
⦁ Pregătirea datelor de testare
⦁ Testare
⦁ Detectarea utilizării incorecte a resurselor

Etape

⦁ Plan de testare
⦁ Dezvoltarea testelor
⦁ Pregătirea datelor de testare
⦁ Execuții de testare – automate și convenționale
⦁ Crearea raportului
⦁ Testare de regresie după remedierea erorilor

Testarea documentației

Testarea documentației vă permite să evaluați diferite caracteristici ale documentelor și cerințelor: completitudine și redundanță, lipsă de ambiguitate și coerență, clasificare și trasabilitate, fezabilitate și verificabilitate.

Testarea documentației este recomandată atunci când se creează software nou sau când acesta se modifică din cauza dezvoltării afacerii. Este mai bine să începeți testarea documentației în etapa de creare a cerințelor de sistem, aceasta va elimina unele dintre defecte înainte ca acestea să fie implementate în cod.

Beneficii cheie

⦁ Identificarea erorilor de cerințe într-un stadiu incipient vă permite să reduceți costul corectării acestora.
⦁ Documentația de înaltă calitate reduce intensitatea muncii și durata proiectului în ansamblu.
⦁ Cerințele comerciale clare și complete permit dezvoltatorilor să evalueze mai bine domeniul de activitate și să dezvolte specificații tehnice.
⦁ Documentația clară reduce numărul de întrebări despre funcționarea sistemului pentru utilizatori și testeri, ceea ce facilitează munca administratorului și a analistului.

Testarea documentației implică testarea mai multor niveluri de documentație:

⦁ Cerințe de afaceri
⦁ Cerințe funcționale
⦁ Specificații tehnice
⦁ Manuale de utilizare

Testarea aplicațiilor mobile


Testare– cea mai importantă etapă a dezvoltării aplicațiilor mobile. Acest tip de testare vă permite să verificați funcționalitatea aplicației pe diverse dispozitive și sisteme de operare în conformitate cu cerințele specificate.

Beneficii cheie

⦁ Verificarea funcționalității și compatibilității aplicației pe diverse dispozitive și platforme.
⦁ Riscuri reputaționale reduse, deoarece lansarea unei aplicații de calitate scăzută pe orice platformă mobilă este asociată cu comentarii negative și evaluări scăzute ale utilizatorilor.
⦁ Posibilitatea de automatizare a testării aplicațiilor mobile, ceea ce reduce timpul fiecărei iterații.

Pentru a efectua testarea, compania de moderare a testării în mulțime se bazează pe o varietate de dispozitive mobile, inclusiv toate modelele moderne de tablete și smartphone-uri, deținute de testeri din întreaga lume.

Asigurarea acoperirii testelor

Acoperirea testului este o valoare care exprimă procentul de funcționalitate verificat prin teste față de funcționalitatea generală a sistemului. Se recomandă ca acoperirea testului să fie evaluată atunci când se pregătește un plan de testare și o metodologie pentru a se asigura că testarea poate oferi nivelul necesar de acoperire a testului. Acest tip de testare poate fi efectuat fie manual, fie prin testare automată.

Beneficii cheie

⦁ Evaluarea acoperirii testelor arată în mod clar procentul de funcționalitate acoperit de teste și este un criteriu pentru completitudinea acestora: cu cât procentul de acoperire a testului este mai mare, cu atât este mai mare caracterul complet.
⦁ Oferirea celei mai complete acoperiri de testare reduce numărul de defecte și îmbunătățește calitatea produsului final.

Sarcinile principale

La pregătirea unui plan de testare și a unei metodologii pentru testarea manuală și automată, în funcție de obiectivele testării, se determină nivelul necesar de acoperire a testului. La testare, se recomandă utilizarea nivelului maxim realizabil de acoperire a testului, cu toate acestea, pentru a reduce timpul pentru pregătirea și efectuarea testelor, este permisă utilizarea acoperirii testelor incomplete.

Testarea instalației

Testarea instalării (testarea instalării) vă permite să vă asigurați că software-ul este instalat și configurat corect, că noile versiuni sunt lansate fără erori și că este, de asemenea, posibil să dezinstalați și să eliminați acest software. Testarea instalării trebuie efectuată la crearea software-ului, după lansarea unei noi versiuni, precum și la modificarea configurației standului.
Testarea instalării software-ului se recomandă să fie efectuată pe diferite platforme, manual sau prin automatizare. Următorii factori influențează acest tip de muncă de testare:
⦁ Ce platforme și sisteme de operare sunt acceptate?
⦁ Cum va fi distribuit software-ul?
⦁ Cine va instala software-ul?

Beneficii cheie

Testarea instalării vă permite să evitați problemele atunci când instalați software într-un mediu industrial, cum ar fi:
⦁ Incapacitatea de a instala software
⦁ Pierderea datelor după instalarea unei noi versiuni
⦁ Imposibilitatea de a reveni la o versiune anterioară

Ca rezultat, economisiți bani și timp, facilitând în mod semnificativ munca administratorilor.
Sarcinile principale

Testarea instalării se efectuează conform planului de instalare a software-ului. Se verifică instalarea, configurarea, actualizarea, derularea versiunii și eliminarea software-ului pe toate platformele declarate.

Testare de utilizare

Testarea de utilizare este efectuată atunci când se creează software nou și se îmbunătățește. Scopul principal al unei astfel de teste este de a găsi soluții pentru cea mai prietenoasă interfață de program pentru a reduce timpul necesar pentru a rezolva problemele utilizatorilor.

Rezultatul testării de utilizare este o serie de sugestii pentru îmbunătățirea obiectului de testare, de exemplu, schimbarea locației butoanelor sau adăugarea unora noi pentru a executa rapid o comandă, completarea valorilor implicite, adăugarea de taste rapide etc.
Beneficii cheie

Rezultatele testării de utilizare vor oferi feedback pozitiv din partea utilizatorilor sistemului în viitor. Dacă sistemul este destinat utilizării regulate, de exemplu, de către angajații din call center, casierii băncii sau asistenții de vânzări dintr-un magazin, ergonomia sistemului le va reduce costurile cu forța de muncă în efectuarea operațiunilor zilnice. Dacă sistemul este conceput pentru a servi clienții, de exemplu, un magazin online sau o bancă online, comoditatea și simplitatea sistemului vor lăsa amintiri pozitive despre lucrul cu acesta, care vor păstra clienții și vor atrage alții noi.

Sarcinile principale

Scopul testării de utilizare este de a determina nivelul de confort al utilizatorului și ușurința de a rezolva sarcinile pentru care a fost creat produsul.

În cadrul acestei sarcini, se evaluează următoarele:

⦁ Câți pași trebuie să faceți pentru a finaliza sarcina?
⦁ Cât durează finalizarea sarcinii?
⦁ Câte greșeli face un utilizator începător când îndeplinește o sarcină?
⦁ Ce impresie a avut utilizatorul din lucrul cu programul?
⦁ Emoțiile utilizatorului în timpul efectuării unei sarcini.

Testarea configurației

Testarea configurației- acesta este un test de funcționare a software-ului pe diverse medii software și hardware. Acest tip de testare este utilizat dacă se știe că produsul informațional va fi utilizat, de exemplu, pe diferite platforme, în diferite browsere și va suporta diferite versiuni de drivere.

Beneficii cheie

⦁ Testarea configurației simulează complet utilizarea efectivă a sistemului.
⦁ Vă permite să identificați în timp util erorile de sistem din software atunci când lucrați în diferite configurații și, astfel, să preveniți problemele atunci când lucrați cu acesta.

Etapele principale ale testării configurației

Pregătirea— Se întocmește o listă a configurațiilor de sistem în baza cărora va avea loc testarea. În practică, este adesea imposibil de descris întregul set de configurații în care va fi utilizat sistemul. Prin urmare, acestea sunt prioritizate și doar cele mai importante configurații sunt incluse în lista finală.
Efectuarea— Sistemul este testat pe configurații selectate.
Raport– Firmei client i se pune la dispoziție un raport detaliat cu o listă a defectelor și abaterilor detectate în funcționarea sistemului pentru fiecare opțiune de configurare.

Chiar dacă sunteți atât de tolerant încât puteți reporni programul de 18 ori după un accident în decurs de o jumătate de oră și abia apoi aruncați monitorul direct în fereastră, veți fi de acord că lucrul cu acest program ar fi mai confortabil dacă nu s-ar bloca. ” .

Cum vă puteți asigura că cazurile de blocare, înghețare sau eșec în efectuarea acțiunilor necesare programului pe care l-ați dezvoltat devin foarte rare?

Nu există un răspuns exact la această întrebare. Dar de-a lungul secolelor, cei mai înțelepți oameni de știință s-au gândit la acest subiect de ani de zile și au reușit să găsească un remediu care, dacă nu elimină toate erorile de program, atunci măcar creează iluzia acțiunii pentru a le elimina.

Și acest remediu se numește TESTAREA produsului software.

Potrivit oamenilor înțelepți, Testarea este una dintre cele mai stabilite modalități de a asigura calitatea dezvoltării software și este inclusă în setul de instrumente eficiente ale unui sistem modern de asigurare a calității produselor software.

Calitatea unui produs software este caracterizată printr-un set de proprietăți care determină cât de „bun” este produsul din punctul de vedere al părților interesate, cum ar fi clientul produsului, sponsorul, utilizatorul final, dezvoltatorii și testerii de produse, inginerii suport, marketingul. , instruire și personal de vânzări. Fiecare dintre participanți poate avea o idee diferită despre produs și cât de bun sau rău este acesta, adică cât de înaltă este calitatea produsului. Astfel, stabilirea problemei asigurării calității produsului are ca rezultat sarcina de a identifica părțile interesate, criteriile lor de calitate și apoi de a găsi soluția optimă care să satisfacă aceste criterii.

Când și cine?

Potrivit dezvoltatorilor experimentați, testarea unui produs software ar trebui să fie efectuată chiar de la începutul creării sale. Dar, în același timp, dezvoltatorii experimentați nu ar trebui să ia parte la testare, deoarece aceasta nu este o chestiune regală. Produsul software trebuie testat de angajați special instruiți numiți testeri, pentru că nici cel mai experimentat dezvoltator nu își va putea vedea greșeala, nici măcar folosind cele mai noi instrumente optice.

Cu toate acestea, toți dezvoltatorii sunt de acord că testarea unui produs software din punctul de vedere al clasificării după scop ar trebui împărțită în două clase:

  • Testare funcțională
  • Testare nefuncțională

Testare funcțională

Testarea funcțională înseamnă verificarea conformității unui produs software cu cerințele funcționale specificate în specificațiile tehnice pentru realizarea acestui produs. Pentru a spune simplu, testarea funcțională verifică dacă produsul software îndeplinește toate funcțiile necesare.

Deci, ați decis în sfârșit să efectuați teste funcționale. Te uiți la specificațiile tehnice, citești cerințele funcționale și realizezi că cel puțin acestea nu sunt în ordinea în care se poate face testarea. Veți fi surprinși că cu destul de mult timp în urmă, alții au observat deja această discrepanță și și-au dat seama cum să o depășească.

Pentru a efectua teste funcționale, personalul departamentului de control tehnic elaborează un program de documente și o metodologie pentru testarea funcționalității aplicației (API). Documentul PMI conține o listă de scenarii de testare a produselor software (cazuri de testare) cu o descriere detaliată a pașilor. Fiecare pas al scenariului de testare este caracterizat de acțiunile utilizatorului (specialist în testare) și de rezultatele așteptate - răspunsul programului la aceste acțiuni. Programul de testare și metodologia trebuie să simuleze funcționarea produsului software în mod real. Aceasta înseamnă că scenariul de testare ar trebui să fie construit pe baza unei analize a operațiunilor pe care viitorii utilizatori ai sistemului le vor efectua și nu trebuie să fie o secvență de manipulări compilată artificial, înțeles doar de dezvoltator.

De obicei, testarea funcțională este efectuată la două niveluri:

  • Testarea componentelor (unității). Testarea componentelor individuale ale unui produs software, axată pe specificul, scopul și caracteristicile funcționale ale acestora.
  • Testare de integrare. Acest tip de testare se efectuează după testarea componentelor și are ca scop identificarea defectelor în interacțiunea diferitelor subsisteme la nivelul fluxurilor de control și schimbului de date.

Testare nefuncțională

Testarea nefuncțională evaluează calitățile unui produs software, cum ar fi ergonomia sau performanța.

Cred că importanța acestui tip de testare este clară și nu necesită justificare. La urma urmei, toată lumea înțelege că, dacă, de exemplu, performanța sistemului nu este suficientă, atunci utilizatorii vor trebui să aștepte o jumătate de zi pentru un răspuns la acțiunile lor, ceea ce poate duce la hibernarea lor în masă.

După cum sugerează și numele, testarea nefuncțională verifică conformitatea unui produs software cu cerințele nefuncționale din specificațiile tehnice pentru crearea acestuia. Și, ca și în cazul testării funcționale, un program de testare și o metodologie sunt dezvoltate pentru testarea nefuncțională.

Testarea și conformitatea software-ului încorporat în era Agile

Respectarea standardelor din industrie nu este ceva pe care îl puteți neglija sau face mai târziu; este o parte integrantă a procesului de dezvoltare a software-ului (software) încorporat. Pentru unele industrii - cum ar fi avionica, auto și asistența medicală - respectarea strictă a standardelor de calitate în dezvoltarea de sisteme integrate complexe și fără probleme devine vitală pentru a aduce un produs pe piață. În mod tradițional, testarea a jucat un rol important în dezvoltarea sistemelor încorporate pentru industriile reglementate de standarde. Cu toate acestea, în ultimii ani, practicile și procesele de testare consacrate, locul și rolul lor în astfel de proiecte, s-au schimbat semnificativ. Acesta a schimbat jocul, iar când regulile jocului se schimbă, trebuie să te schimbi cu ele pentru a câștiga.

Odată cu dezvoltarea constantă a tehnologiilor noi, de ultimă oră, companiile trebuie să ofere rapid pe piață produse fiabile, sigure, ușor de utilizat și compatibile cu alte sisteme - doar pentru a evita pierderea în lumea tehnologică în schimbare rapidă. Într-o astfel de situație, modelul tradițional în cascadă, în care procesul de dezvoltare a software-ului este strict secvențial și testarea este efectuată chiar la sfârșit, devine un lucru din trecut. Metodele DevOps și Agile devin din ce în ce mai populare, deoarece le permit inginerilor să finalizeze sarcini care anterior se succedau simultan.

Testarea performanței

În timpul fazei de testare a performanței, primul pas este testarea sarcinii, al cărei scop este de a verifica dacă sistemul va răspunde în mod adecvat la influențele externe într-un mod apropiat de funcționarea reală.

Pe lângă testarea la sarcină, testele sunt efectuate în condiții de hardware minim și test de sarcină maximă - stres, precum și teste în condiții de volume maxime de informații prelucrate - testare volumetrică.

Există un alt tip de testare: testarea de stabilitate și fiabilitate, care include nu numai testarea pe termen lung a unui produs software în condiții normale, ci și capacitatea acestuia de a reveni la funcționarea normală după perioade scurte de sarcini stresante.

Documentatie pentru testare

După cum sa menționat deja mai sus, testarea este efectuată în conformitate cu programul și metodologia de testare, care este dezvoltată în conformitate cu GOST 34.603-92.

Pentru a efectua testarea, este dezvoltat un caz de testare, care trebuie să conțină date suficiente pentru a testa toate modurile de funcționare ale produsului software. De obicei, un caz de testare este creat în comun de către client și antreprenor pe baza datelor reale.

Pentru a efectua toate tipurile de testare a performanței, cel mai adesea este creat un așa-numit generator de date, care vă permite să creați automat o cantitate suficientă de date pentru a obține un rezultat obiectiv la evaluarea performanței.

În timpul testării, se întocmește un protocol de testare, care conține informații despre finalizarea tuturor etapelor și etapelor testării și comentariile primite în timpul testării.

Dacă rezultatul testului este negativ, se efectuează remedierea și retestarea.

Testare exploratorie

Testarea exploratorie (testarea ad-hoc este un subtip de testare funcțională. Este folosită în proiecte cu creștere rapidă, cu metode de dezvoltare flexibile, unde nu există documentație și cerințe clare. Testarea exploratorie este cea mai înaltă acrobație în testarea software-ului. Testarea calitativă este disponibilă pentru specialiști cu înaltă calificare și depinde aproape în totalitate de executant, de experiența sa, de cunoștințele (atât în ​​materie, cât și de metodele de testare) și de capacitatea de a ajunge rapid la fundul lucrurilor.

Testare de sarcină

Testarea la sarcină este procesul de analiză a performanței sistemului testat sub sarcină. Scopul testării de sarcină este de a determina capacitatea aplicației de a rezista la sarcini externe. De obicei, testele sunt efectuate în mai multe etape.

1. Generarea de scripturi de testare

Pentru o analiză eficientă, scenariile trebuie să fie cât mai apropiate de cazurile reale de utilizare. Este important să înțelegeți că excepții sunt întotdeauna posibile și că chiar și cel mai detaliat plan de testare poate să nu acopere un singur caz.

2. Dezvoltarea unei configurații de testare

Având scenarii de testare, este important să se distribuie ordinea creșterii sarcinii. Pentru o analiză de succes, este necesară identificarea criteriilor de evaluare a performanței (viteza de răspuns, timpul de procesare a cererii etc.).

3. Efectuarea unui test de testare

Atunci când se efectuează teste, este important să se monitorizeze în timp util execuția scenariilor și răspunsul sistemului testat. Emularea sarcinilor mari necesită o infrastructură hardware și software serioasă. În unele cazuri, metodele de modelare matematică sunt folosite pentru a reduce costul muncii. Datele obținute la sarcini reduse sunt luate ca bază și sunt aproximative. Cu cât este mai mare nivelul de sarcină simulată, cu atât este mai mică acuratețea estimării. Cu toate acestea, această metodă reduce semnificativ costurile.

Testează automatizarea

Principala caracteristică a testării automate este capacitatea de a efectua rapid teste de regresie. Principalele avantaje ale automatizării (conform unui raport de la Worksoft) sunt eficiența sporită a personalului, detectarea mai devreme a defectelor și calitatea mai ridicată a proceselor de afaceri. Aceste avantaje sunt compensate de un dezavantaj semnificativ: cost ridicat - din cauza costului ridicat de implementare și suport pentru automatizarea testelor, aproximativ 50% dintre companii folosesc în continuare testarea manuală în principal.

Testare de utilizare

Orice aplicație este creată pentru a fi utilizată. Ușurința de utilizare este un indicator important al calității unui program. Industria IT cunoaște multe exemple de proiecte care au decolat după o soluție de succes a utilizării. Cu cât audiența este mai largă, cu atât este mai important factorul de utilizare. Testarea de utilizare implică o analiză detaliată a comportamentului utilizatorului. Pentru a evalua ergonomia, este important să aveți date nu numai despre viteza de finalizare a unei sarcini de afaceri, ci și despre emoțiile utilizatorului, expresiile faciale și timbrul vocii.

Testarea configurației

Testarea configurației oferă încredere că aplicația va funcționa pe diferite platforme și, prin urmare, pentru numărul maxim de utilizatori. Pentru aplicațiile WEB, de obicei se alege testarea încrucișată. Pentru aplicații Windows - testare pe diverse sisteme de operare și rate de biți (x86, x64). O componentă importantă a testării configurației este infrastructura de testare: pentru a efectua teste, trebuie să mențineți în mod constant o flotă de mașini de testare. Numărul lor variază de la 5 la câteva zeci.

Testarea integrării

Dacă proiectul dvs. are mai multe componente, are nevoie de testare de integrare. Cu o arhitectură de aplicație complexă, o condiție necesară pentru asigurarea calității este verificarea interacțiunii părților programului. Testarea se realizează prin dezvoltarea și desfășurarea cazurilor „end-to-end”. Testarea integrării este efectuată după testarea componentelor. Prin urmare, este foarte important să se țină cont de experiența de testare a componentelor, respectând în același timp orientarea către business a cazurilor de testare.

Testarea de stres

Orice sistem are o limită la funcționarea sa normală. Când limita este depășită, sistemul intră într-o stare de stres și își schimbă semnificativ comportamentul. Testarea de stres testează funcționarea unei aplicații în condiții care depășesc limitele normale de funcționare. Acest lucru este deosebit de important pentru programele „critice”: software bancar, programe din industria aviației, medicină. Testele de stres se efectuează nu numai în etapa de dezvoltare a software-ului, ci și pe parcursul întregului ciclu de operare pentru a obține și procesa datele de comportament ale sistemului pe o perioadă lungă de timp.

  • abateri neintenționate ale dezvoltatorilor de la standardele de lucru sau planurile de implementare;
  • specificațiile cerințelor funcționale și de interfață sunt realizate fără respectarea standardelor de dezvoltare, ceea ce duce la întreruperea funcționării programelor;
  • organizarea procesului de dezvoltare - management imperfect sau insuficient al resurselor managerului de proiect (umane, tehnice, software etc.) si probleme de testare si integrare a elementelor proiectului.

Să ne uităm la procesul de testare bazat pe recomandările standardului ISO/IEC 12207 și să dăm tipurile de erori care sunt detectate în fiecare proces de ciclu de viață.

Procesul de dezvoltare a cerințelor. Atunci când determină conceptul inițial al sistemului și cerințele inițiale pentru sistem, analiștii greșesc atunci când specifică nivelul superior al sistemului și construiesc un model conceptual al domeniului subiectului.

Erorile tipice în acest proces sunt:

  • inadecvarea specificației cerințelor pentru utilizatorii finali - specificarea incorectă a interacțiunii software-ului cu mediul de operare sau cu utilizatorii;
  • nerespectarea cerințelor clienților pentru proprietățile individuale și generale ale software-ului;
  • descrierea incorectă a caracteristicilor funcționale;
  • lipsa disponibilității instrumentelor pentru toate aspectele implementării cerințelor clienților etc.

Procesul de proiectare.Erorile în proiectarea componentelor pot apărea la descrierea algoritmilor, a logicii de control, a structurilor de date, a interfețelor, a logicii de modelare a fluxului de date, a formatelor de intrare-ieșire, etc. Aceste erori se bazează pe defecte în specificațiile analistului și defectele de proiectare. Acestea includ erori legate de:

  • cu definirea interfeței utilizator cu mediul;
  • cu o descriere a funcțiilor (inadecvarea scopurilor și obiectivelor componentelor care se descoperă la verificarea unui set de componente);
  • cu definirea procesului de prelucrare a informațiilor și a interacțiunii dintre procese (rezultat al determinării incorecte a relațiilor dintre componente și procese);
  • cu specificarea incorectă a datelor și a structurilor acestora la descrierea componentelor individuale și a software-ului în ansamblu;
  • cu descrierea incorectă a algoritmilor modulului;
  • cu determinarea condițiilor pentru apariția unor posibile erori în program;
  • cu încălcarea standardelor și tehnologiilor adoptate pentru proiect.

Etapa de codificare.In aceasta etapa apar erori care sunt rezultatul defectelor de proiectare, erori ale programatorilor si managerilor in timpul dezvoltarii si depanarii sistemului. Cauzele erorilor sunt:

  • lipsa controlului asupra valorilor parametrilor de intrare, indicilor matricei, parametrilor buclei, rezultatelor de ieșire, împărțirea cu 0 etc.;
  • tratarea incorectă a situațiilor neregulate la analizarea codurilor de returnare din subrutinele numite, funcții etc.;
  • încălcarea standardelor de codificare (comentarii proaste, iraționale alocarea modulelorși componentă etc.);
  • utilizarea unui nume pentru a desemna diferite obiecte sau nume diferite ale unui obiect, mnemonici de nume slabe - modificări inconsecvente ale programului de către diferiți dezvoltatori etc.

Proces de testare.În acest proces, erorile sunt făcute de programatori și testeri la efectuarea tehnologiei de asamblare și testare, selectarea seturilor de testare și a scenariilor de testare etc. Eșecurile software-ului cauzate de acest tip de erori trebuie identificate, eliminate și să nu afecteze statisticile componentelor și erorile software în general.

Proces de întreținere.Pe parcursul procesului de întreținere se descoperă erori care sunt cauzate de neajunsuri și defecte ale documentației operaționale, indicatori insuficienti de modificare și lizibilitate, precum și incompetența persoanelor responsabile cu întreținerea și/sau îmbunătățirea software-ului. În funcție de natura modificărilor efectuate, în această etapă pot apărea aproape orice erori similare erorilor enumerate anterior în etapele anterioare.

Toate erorile care apar în programe sunt de obicei împărțite în următoarele clase [7.12]:

  • erori logice și funcționale;
  • erori de calcul și de rulare;
  • erori de intrare/ieșire și de manipulare a datelor;
  • erori de interfață;
  • erori de volum de date etc.

Erori logice sunt cauza încălcării logicii algoritmului, inconsecvența internă a variabilelor și operatorilor, precum și a regulilor de programare. Erorile funcționale sunt o consecință a funcțiilor definite incorect, a încălcării ordinii de aplicare a acestora sau a lipsei de integralitate a implementării lor etc.

Erori de calcul apar din cauza inexactității datelor sursă și a formulelor implementate, erori de metodă, aplicare incorectă a operațiilor de calcul sau operanzilor. Erorile de rulare sunt asociate cu eșecul de a furniza viteza necesară de procesare a cererilor sau timpul de recuperare a programului.

Erori I/O iar manipularea datelor sunt o consecință a pregătirii de proastă calitate a datelor pentru execuția programului, a eșecurilor la introducerea lor în baze de date sau la preluarea lor din acesta.

Erori de interfață se referă la erori în relația dintre elementele individuale între ele, care se manifestă în timpul transferului de date între ele, precum și în timpul interacțiunii cu mediul de operare.

Erori de volum se referă la date și sunt o consecință a faptului că metodele de acces implementate și dimensiunile bazelor de date nu satisfac volumele reale de informații de sistem sau intensitatea prelucrării acestora.

Clasele principale de erori date sunt caracteristice diferitelor tipuri de componente software și se manifestă în programe în moduri diferite. Astfel, atunci când lucrați cu o bază de date, apar erori în prezentarea și manipularea datelor, erori logiceîn specificarea procedurilor aplicate de prelucrare a datelor etc. În programele de calcul predomină erorile de calcul, iar în programele de control și procesare predomină erorile logice și funcționale. Software-ul, care constă din multe programe diverse care implementează diferite funcții, poate conține erori de diferite tipuri. Erorile de interfață și încălcările de volum sunt tipice pentru orice tip de sistem.

Analiza tipurilor de erori din programe este o condiție prealabilă pentru crearea planurilor de testare și a metodelor de testare pentru a asigura corectitudinea software-ului.

În stadiul actual de dezvoltare a instrumentelor de suport pentru dezvoltarea software (tehnologii CASE, metode orientate pe obiecte și instrumente de proiectare a modelelor și programelor), se realizează o proiectare în care software-ul este protejat de cele mai frecvente erori și astfel previne apariția defecte software.

Relația dintre eroare și eșec.Prezența unei erori într-un program, de regulă, duce la o defecțiune a software-ului în timpul funcționării acestuia. Pentru a analiza relațiile cauză-efect „eroare-eșec”, se efectuează următoarele acțiuni:

  • identificarea defectelor în tehnologiile de proiectare și programare;
  • relația dintre defecte în procesul de proiectare și erori umane;
  • clasificarea defecțiunilor, defectelor și eventualelor erori, precum și a defectelor la fiecare etapă de dezvoltare - compararea erorilor umane făcute într-un anumit proces de dezvoltare și a defectelor obiectului, ca urmare a erorilor din specificația proiectului, modele de program;
  • verificarea și protecția erorilor în toate etapele ciclului de viață, precum și detectarea defectelor la fiecare etapă de dezvoltare;
  • compararea defectelor și defecțiunilor în software pentru a dezvolta un sistem de interconexiuni și metode de localizare, colectare și analizare a informațiilor despre defecțiuni și defecte;
  • dezvoltarea de abordări ale proceselor de documentare și testare a software-ului.

Scopul final al cauzei erorilor-eșecuri este de a defini metode și mijloace pentru testarea și detectarea erorilor anumitor clase, precum și criteriile pentru finalizarea testării pe mai multe seturi de date; în identificarea modalităților de îmbunătățire a organizării procesului de dezvoltare, testare și întreținere a software-ului.

Iată următoarea clasificare a tipurilor de defecțiuni:

  • hardware, în care software-ul la nivelul întregului sistem este inoperabil;
  • informațional, cauzat de erori în datele de intrare și transmiterea datelor prin canale de comunicație, precum și defecțiunea dispozitivelor de intrare (o consecință a defecțiunilor hardware);
  • ergonomic, cauzat de erorile operatorului în timpul interacțiunii sale cu mașina (această defecțiune este o defecțiune secundară și poate duce la defecțiuni de informare sau funcționale);
  • software, dacă există erori în componente etc.

Unele erori pot fi rezultatul unor deficiențe în definirea cerințelor, proiectare, generare de cod de ieșire sau documentare. Pe de altă parte, acestea sunt generate în timpul dezvoltării unui program sau în timpul dezvoltării interfețelor elementelor individuale ale programului (încălcarea ordinii parametrilor, mai puțini sau mai mulți parametri etc.).

Surse de erori.Erorile pot fi generate în timpul dezvoltării proiectului, componentelor, codului și documentației. De regulă, acestea sunt descoperite în timpul execuției sau întreținerii software-ului în cele mai neașteptate și diferite puncte.

Unele erori dintr-un program pot fi rezultatul unor deficiențe în definirea cerințelor, proiectare, generare de cod sau documentare. Pe de altă parte, erorile sunt generate în timpul dezvoltării unui program sau a interfețelor elementelor acestuia (de exemplu, atunci când ordinea de setare a parametrilor de comunicare este încălcată - mai puțin sau mai mult decât este necesar etc.).

Motivul erorilor este lipsa de înțelegere a cerințelor clienților; specificarea incorectă a cerințelor în documentele de proiect etc. Acest lucru duce la faptul că sunt implementate unele funcții de sistem care nu vor funcționa așa cum este propus de client. În acest sens, se poartă o discuție comună între client și dezvoltator a unor detalii ale cerințelor pentru a le clarifica.

Echipa de dezvoltare a sistemului poate modifica, de asemenea, sintaxa și semantica descrierii sistemului. Cu toate acestea, este posibil ca unele erori să nu fie detectate (de exemplu, indecșii sau valorile variabile ale acestor operatori sunt setate incorect).