Rulați testele simțit mai bine în perspectivă a modelelor de experiența utilizatorului - software

Da, Andy (Andy Yap), Rational Software IBM Software Group

În multe proiecte de dezvoltare de software (software) nu beneficiază de suficientă atenție la încercare, și, prin urmare, nu are teste stricte de conformitate necesare pentru a obține un produs bun. Adesea, managerul neexperimentat acuzat pentru teste, dar, uneori, pur și simplu nu au suficient timp pentru a îndeplini simultan termenele proiectului și o abordare cuprinzătoare a testării.

Cu toate acestea, folosind transmite o planificare, care este susținută de Rational Unified Process (sau RUP). echipe de lucru pe proiecte care pot oferi timp de plumb necesar pentru testarea pe tot parcursul ciclului de dezvoltare. RUP prevede, printre alte funcții, iterative și bazate pe precedentul, folosind o abordare a dezvoltării de software. Această abordare necesită o echipă de dezvoltatori indică cerințele de management corecte adăugări incrementale capacității, și testarea bazate pe scenarii de testare. precedente de operare oferă etape bine definite și descrise de interacțiune cu sistemul. Ca o regulă, etapele operaționale ale precedente pot fi utilizate ca proceduri de testare, astfel încât există o tendință de a o comparație a trecerii scenariilor de testare operaționale și cazuri de utilizare.

Ce este un script de test? RUP se definește după cum urmează:

Definiția (de obicei formal) un anumit set de intrări de testare, condițiile de execuție și rezultatele scontate indicate pentru a evalua un aspect particular elementul de test dorit.

Desemnarea de cazuri de testare la nivel înalt pentru a rula procesul de management de testare, care trebuie să fie simplu, ușor de schimb de date, și ușor de înțeles, deoarece numărul mai mare de cazuri de testare va fi administrat într-o etapă ulterioară de dezvoltare de software, sau atunci când lucrează la echipa de proiect să înțeleagă mai bine cerințele.

Există două elemente principale, care, în cazul în care identificarea corectă și la timp, pentru a facilita testarea:

  • scenarii de testare
  • date de test

Proiectele iau modelul experienței utilizatorului (UX), ca parte a operațiunilor de dezvoltare de software, deoarece le permite să simuleze interfețe de utilizator - adică, experiența fizică și psihologică a utilizării aplicației. Prin urmare, modelul UX creează o generalizare a aplicării prototipului. Este o combinație de modelare și cerințe de colectare pentru a crea un prototip care este cel mai interesant pentru profesioniștii care efectuează testele. Astăzi, un număr tot mai mare de echipe de lucru pe proiecte, știu cum să creeze un model de UX pentru a crea un prototip. Dacă aveți nevoie pentru a defini cazuri de testare pentru testarea funcțională, puteți începe prin a uita la modelul UX. În ceea ce ea descrie modul în care interfața cu utilizatorul va lucra pentru a atinge obiectivele lor, atunci este posibil să se obțină în mod natural script-urile de test funcționale. Acesta poate fi, de asemenea, utilizat pentru a determina volumul de muncă pentru testarea performanțelor. Prin urmare, modelul UX devine testare colectiv de testare motivator. RUP definește un motivator de testare, după cum urmează:

Ceva care oferă un stimulent pentru efectuarea de teste, încurajează testere la acțiune și le împinge să efectueze testele. Motivatorii de testare ajuta să identifice și să facă vizibile lucruri care vor încuraja testere pentru a evalua aspectele relevante ale acestei versiuni a software-ului: în general, motivatorii de testare sunt definite de obicei ca un risc.

Să vedem cum procesul de modelare UX începe să detecteze motivatorii de testare.

Într-un proiect tipic este modelat primul ecran, care va vedea utilizatorul final. Acest lucru se face cu ajutorul stereotipurilor de clasă <<экран>> Și / sau <<форма ввода>>. Ecranele sunt conectate împreună într-o diagramă schimbare ecrane cu lanț, ceea ce reprezintă utilizarea aplicației în nici un fel. Textul completează această prezentare este de a arhiva precedentele de operare. Numeroase caz de utilizare operațională descrie modul în care un utilizator interacționează cu aplicația. Toate majore modurile în care utilizatorul poate utiliza aplicația, este o hartă de navigație.

Vom trece prin exemplul de a cumpăra un bilet la film (Cumpărare bilet de film), bazat pe modelul UX, care constă dintr-o hartă de navigație (Figura 1), o arhivă de exemple de cumpărare operaționale un bilet la film (figura 2) și o serie de ecrane (a se vedea figura 3).

Aici sunt pașii necesari pentru a obține planul dur de management de testare:

  • Înțelegerea hărții de navigare.
  • Definiția tranzacții semnificative.
  • Evaluarea eforturilor de testare.
  • Determinarea datelor de test.
  • Planul de modularitate.
  • Se determină caracterul adecvat al tranzacției.

Figura 1 prezintă o hartă de navigație pentru mai multe ecrane care aparțin aceleași cazuri operaționale arhivă. Pentru a finaliza tranzacția de cumpărare a unui bilet de film de utilizator trebuie să interacționeze cu trei ecrane și două forme de introducere de date. Aceste două forme de introducere a datelor (de obicei, numite <<форма ввода>>) Sunt utilizate pentru a introduce valori de intrare, cum ar fi numele de utilizator și parola. Fig. 1 Fiecare ecran are o secțiune de mijloc, care indică faptul că utilizatorul poate vedea, și secțiunea inferioară, indicând faptul că utilizatorul poate face.

Figura 1: arhiva precedente operaționale Grafic Navigational

Harta de navigare arată toate legătura încrucișată între ecrane. Dezvoltatorul poate utiliza aceste teste pentru a simula fluxul de tranzacții de comunicare. Pentru acest exemplu, crearea de scripturi de testare, care sunt asociate fluxuri de navigație este prezentată în tabelul 1.

Numărul total de testare timp de înregistrare stsenarievOzhidaemoe pe un test de stsenariyUsilie

În primul rând, testerii trebuie să vadă toate tranzacțiile relevante, care urmează să fie verificate. De obicei, fiecare tranzacție semnificativă corespunde unui script de test. Termenul „semnificativ“ este înțeles ca însemnând perspectiva unui utilizator, pentru a efectua o activitate utilizând aplicația. Conform acestei definiții este semnificativă doar completat și tranzacții corecte, deoarece tranzacția este incompletă și inexactă funcționează complet dorințele utilizatorilor. Două moduri posibile din harta de navigație poate fi văzut pentru a obține două puncte finale: Afișează revizuirea filmului și rezultatele selecției filmelor. Tabelul care corespund fluxurilor primare și slave.

Despre operațiunile în așteptare vor fi discutate în secțiunea „cazuri de testare detaliate“. Tranzacții în așteptare în arhiva precedente operaționale corespund fluxului de alternativă.

Tabelul 1 explică, de asemenea, efortul necesar pentru a efectua scenarii de testare. Eforturile atașate la o tehnologie care este nevoie pentru a ajunge la un rezultat final. În cazul în care eforturile de a automatiza instrument utilizat pentru înregistrare și redare, combinate cu timpul minim pentru punerea în aplicare a cazurilor de testare este dublu procesul de înregistrare. Acesta va fi un factor important în luarea deciziilor cu privire la resursele necesare și teste de planificare. De exemplu, în cazul în care utilizatorul trebuie să minute y pentru a obține un rezultat de selecție pagini de film și finalizarea unei tranzacții de cumpărare, pentru a obține timpul total (z), necesar pentru înregistrarea și reproducerea de o astfel de tranzacție, y poate fi multiplicată cu 2. Forța totală necesară va fi egală cu z, înmulțit numărul de cazuri de testare. Acest număr finit poate fi folosit pentru planificarea iterație.

Coloana 5 din Tabelul 1 prezintă seturi necesare datele pentru efectuarea scenariilor de testare. Datele de testare pentru primul scenariu de test (fluxul principal 1) poate fi ușor obținută prin uita la selectarea formularul de înregistrare și formează filmul. Pentru a găsi datele de testare pentru al doilea scenariu de test (Slave flux 1), este necesar să se verifice acțiunile care sunt pentru a afișa ecranul următor care listează filmele care pot fi selectate.

Creatorul de teste are acum o listă de date de testare, care poate fi operat. Atunci când există deja o aplicații de baze de date existente, cele mai multe dintre lucrările de testare de experți care vizează determinarea utilitatea înregistrărilor în baza de date. Pentru a realiza amploarea și profunzimea de acoperire ingineri de cazuri de testare de testare trebuie să examinați informațiile din arhivele precedente de operare. Până atunci, până când ați gândit bine prin datele de testare reale pentru a sprijini cazurile de testare corespunzătoare, nici o lucrare reală se va face.

Anterior, a explicat necesitatea de a identifica tranzacții semnificative. Fiecare dintre aceste tranzacții pot fi reprezentate de un scenariu de testare. Tranzacțiile au o anumită similitudine. De exemplu, fiecare tranzacție trebuie să înceapă cu înregistrarea în sistem, iar capătul de ieșire al sistemului. Astfel încât cazurile de test pentru fiecare tranzacție va avea un piese complet identice. Atunci când una dintre aceste tranzacții trebuie să facă unele modificări, aceste modificări trebuie să fie repetate în scenariile cu tranzacții identice. Desigur, punerea în aplicare a unui număr mare de repetări poate fi greoaie și consumatoare de timp.

Cu utilizarea de script-uri de testare de întreținere modulare devin mai convenabil. Prin partiționarea tranzacția pe secvența de ecran (ca în coloana 4 din tabelul 1), este posibil să se realizeze modularității în cazul în cazul în care, de exemplu, un ecran corespunde unui scenariu de testare.

Astfel, atunci când schimbă ecranul de înregistrare principal (MainFrm), din coloana de test script (coloana 6 din tabelul 1), se poate observa că scenariul afectat testul doi. Tot ce trebuie să faceți - este de a schimba un singur scenariu: scriptul de autentificare.

Modularitate necesită crearea dependențe între tranzacții, și, prin urmare, este necesară o coloană „Dependența“ în Tabelul 1. Dependența poate avea, de asemenea, un context mai larg: de exemplu, se poate arăta starea cererii, care determină tranzacția curentă, sau pentru a arăta finalizarea altă tranzacție. Pentru a efectua primul scenariu de testare Există trei scenarii în următoarea secvență: un script de conectare, script-ul și script-ul paginii rezultatele selecției de film.

Ultima coloană din tabelul 1 identifică rezultatele așteptate ale scenariilor de test. Această coloană este necesară. Nu toate etapele sunt testate, deoarece ar fi de testare exagerare. Având în vedere că obiectivul este posibilitatea ca utilizatorul unei tranzacții, verificarea este limitată la rezultatul final al tranzacției care este verificată. Pentru a testa scenariul „curentul principal“ prețul biletului este verificat (sau bilete) la filmul obținut din sistem. Acesta este scopul testării. În verificarea intermediară necesară.

de testare pe întregul ecran, de exemplu, verificați toate butoanele, caseta combo, lista, statele în care acestea sunt situate, schema de culori a paginii, fiecare caracter dimensiunea fontului, etc. cu siguranță că nu este necesară și nu va fi niciodată un obiectiv bun primar. O modalitate de a afla, nu este activitatea de testare de prisos, este să se uite la scopul script de test, sau orice cerințe legale. Excluzând instrucțiuni explicite înapoi, de obicei, cea mai bună opțiune ar fi să nu meargă dincolo de aceste cerințe. Urmați această regulă și altfel de testare ar putea fi prea nepractic.

Pe scurt, harta de navigație permite controlul următoarelor teste: (1) pentru a dezvolta un proiect de cazuri de testare la nivel înalt pentru întreaga aplicație; (2) se determină cantitatea de date de test generate. Acest proiect poate fora un grad suficient pentru a indica tranzacția scanată și valorile de ieșire așteptate.

Este demn de menționat este „idei de testare“ și catalogul de idei de testare (RUP artefact). operațiunile de testare până în prezent nu sunt acoperite sunt idei de testare. scenarii de testare pe care le reprezintă, încă mai trebuie să fie clarificate și detaliate. RUP definește ideea unui test, după cum urmează:

O scurtă declarație care definește un test care este potențial util pentru a efectua. Această afirmație este adesea un aspect al unui test dat: de intrare, starea de execuție sau un rezultat de așteptat, dar, de obicei, doar un singur lucru de la cele de mai sus. Testul este diferit de ideea unui scenariu de test care nu conține un caiet de sarcini de testare de locuri de muncă, ci doar o idee generală a acesteia.

idei de testare sunt instrumente importante pentru testele de înaltă performanță. Toate aceste informații ajută managerii să evalueze resursele și să planifice tot ce este necesar pentru a efectua testul.

În cele mai multe organizații, experiența de testare este o colecție de experiențe cu mult diferite ale membrilor echipei care lucrează la proiect. O metodologie de standardizare a experienței este de obicei absentă. Ca o soluție la această problemă, director de idei de testare oferă un mecanism pentru colectarea și reutilizarea de testare experiență diferite grupuri și angajații individuali. Pentru a fi cu adevărat utile, un catalog de idei de testare ar trebui să ofere o corespondență clară între idei de testare și punerea în aplicare a acestora (adică, toate cazurile cunoscute de testare).

Un exemplu de un director de idei de testare servește ca un tabel 2. Informațiile relevante de proiect sunt colectate în liniile „Create (înregistrare despre bilete la cinema)“ și „Select (în revista de film).“ Pot exista, de asemenea, similare pentru a testa idei de la un alt proiect, la fel ca în „Create (celălalt).“

Tabelul 2: Test de director idei

scenarii de testare de cultivare folosind precedente operaționale arhiva

După crearea o idee de echipa de testare la nivel înalt poate începe pentru a detalia script-uri de testare care lucrează la proiect.

Pentru a determina etapele reale ale scenariilor de test ne referim la precedentul operațional de arhivă, care este etapele operaționale ale precedente cu informații suplimentare despre experiența utilizatorului. precedente de operare Arhiva este prezentată în Figura 2.

Figura 2: arhivă precedente operaționale

Colecta toate utilizatorului pentru a arhiva de performanță fără precedent furnizează informații importante intenționat selectate pentru a efectua lucrări la testare. Toate aceste reguli ajuta la detaliu scenariile de testare, așa cum se arată în tabelul 1. Folosind un tabel pentru a colecta toate informațiile într-un singur loc permite testere pentru a face față rapid cu cerințele testelor și de a determina cât de mult de lucru este necesar pentru a le efectua. Ulterior, experții pot detecta un număr mai mare de cazuri de testare, dar suma totală ar trebui să fie fezabil cu îmbunătățirea lucrului în echipă cu cazuri de testare. De obicei, testerii trebuie să efectueze o iterație a evaluării și înțelegerea procesului de testare.

Modelul UX, există alte elemente. De exemplu, alternativ ecrane, așa cum se arată în Figura 3 este o diagramă de secvență între ecranele și mesajele sunt acțiuni care pot fi efectuate de către utilizator. Pentru fiecare precedente de operare de arhivă, există, de obicei, o serie de ecrane. Trebuie remarcat faptul că unele acțiuni sunt în ordine cronologică, și poate depinde de acțiunile efectuate anterior. Deci, tranzacțiile trebuie să fie luate în considerare astfel de secvențe. Această diagramă de secvență permite proiectantului pentru a rafina de testare scenarii de testare suplimentare. Cu toate acestea, o mare parte din informațiile de mai sus sunt disponibile în format text din precedentele operaționale de arhivă, astfel încât ceea ce despre secvențierea a ecranului, nu vom furniza informații și descrierea acțiunii suplimentare.

Figura 3: ecrane alternativ atunci când cumpără bilete la film

Test de gestionare a include activități diferite: crearea colectivului de angajați, elaborarea planului de testare de master, care detaliază metodele utilizate pentru a testa și țintă de testare din punct de vedere al organizării, elaborarea planului de testare cu privire la echipa care lucrează la proiect, și multe altele.

modelul UX ajută echipele să înceapă un test de succes. Ele pot produce o planificare inițială a resurselor cu harta de navigație, nu petrece prea mult timp pe detalii. Apoi, pe măsură ce progresul, dezvoltarea și creșterea importanței scenarii detaliate de testare, acestea vor fi în măsură să găsească cea mai mare parte a informațiilor necesare în dosarele precedente de operare.