Când să opriți testarea

Traducere. Olga Alifanova

"Știu cum să pronunți" banana "în scrisori, dar nu știu când mă voi opri", a spus o fetiță.

Frumusețea sarcinilor "scenariilor" ideale este că știm întotdeauna când să ne oprim. Ultima notă, ultima linie a dialogului din scenariu, ultima piesă a spațiului gol de pe panza înseamnă că sfârșitul lucrării este aproape. Dacă utilizați o abordare scenarială a testelor, atunci vă opriți dacă observați o problemă sau dacă aveți întrebări / idei curioase.







Dacă cercetați un produs, spuneți când să opriți nu este atât de ușor. În timpul sesiunilor de jam, muzicienii se semnalează reciproc cu ajutorul ochilor și al muzicii, când trebuie să vă liniștiți sau să vă opriți cu totul. Pentru o persoană fără experiență, motivele care afectează decizia de a termina lucrarea pot fi incomprehensibile sau invizibile. Chiar și printre artiști, oamenii mai puțin experimentați ar putea să nu poată explica de ce toată lumea sa oprit, dar stăpânul afacerilor sale cu explicații nu va avea nici o dificultate.

Cum determinăm când să oprim?

Primul pas pe această cale este realizarea faptului că nu putem fi siguri că ne-am finalizat activitatea. Orice încercare de a găsi un răspuns la întrebarea când să se oprească este un euristic. Heuristica este o metodă rapidă și ieftină de luare a deciziilor. Ei nu au încredere - pot lucra sau nu pot. Ele sunt abstracte și pot fi similare unul cu celălalt. Ele sunt dependente de context - se presupune că acestea vor fi folosite de o persoană suficient de competentă și experimentată. Sunt ca bulbi pe bordul mașinii tale. Când unul dintre ele luminează, trebuie să decidă și să nu se oprească până când se va transforma din nou în verde - dar, poate, este mai important să o ignorați și să continuați mișcarea?

Am compilat o listă de euristică pentru a opri testarea și, de asemenea, am motivat îndoielile în fiecare dintre ele.

1. Timpul este în sus! Cel mai frecvent motiv pentru a termina testarea este că timpul acordat acestuia a expirat.

Am primit informațiile necesare? Cât de mare este riscul asociat cu oprirea testării chiar acum, poate că trebuie să-l continuați? Termenul nostru impus artificial? Poate că a fost ales accidental? Încă există dezvoltare, va trebui să testați produsul în viitor?

2. Piñata. Încetați să bateți produsul cu bastoane, când dulciurile încep să iasă din acesta - terminăm testarea imediat ce găsim prima problemă destul de gravă.

Poate că unele dulciuri au rămas în piciorul piciorului? Prima "problemă serioasă" pe care am descoperit-o este cea mai importantă sau singură, demnă de atenție? Putem găsi alte probleme interesante dacă vom continua? Dacă ne înțelegem greșit gravitatea constatării și, de fapt, nu este așa de critică?

3. Un cal mort. Programul este prea strict pentru ca testele suplimentare să aibă sens. Înțelegem că totul se poate schimba atât de mult încât rezultatele testelor noastre se vor transforma într-un dovleac.

Ne bazăm pe presupunerea că am găsit deja bug-uri interesante și importante. Dacă ne oprim acum, cu siguranță nu vom pierde nimic și mai important și mai interesant?

4. Misiunea realizată. Încheiem testarea, când găsim răspunsurile la toate întrebările pe care le-am întrebat.

Testarea noastră ar putea ridica noi întrebări. Acest lucru ne conduce la euristicul lui Rumsfeld - "există un cunoscut necunoscut și necunoscut necunoscut". Este "necunoscutul necunoscut" suficient pentru a se deplasa spre bine-cunoscut datorită testelor noastre? Am descoperit ceva nou și semnificativ din "necunoscut necunoscut"? Și o întrebare dificilă dar importantă - suntem mulțumiți de modul în care am mutat "necunoscutul necunoscut" în zona unui cunoscut (sau cel puțin "cunoscut necunoscut")?

5. Misiunea a fost anulată. Clientul nostru ne-a cerut să nu mai încercăm. Poate că am depășit bugetul, proiectul a fost anulat sau altceva a fost motivul. Indiferent de motiv, trebuie să ne oprim (euristica „Timeout“ poate fi un caz special de „Anulare misiune“, în cazul în care decizia este că timpul a expirat, clientul primește, nu ne).







Clientul nostru este foarte conștient de valoarea testării, dacă aceasta continuă sau de riscurile de oprire a acesteia chiar acum? Dacă nu suntem de acord cu el, știm destul despre motivele de afaceri pentru a opri testarea?

6. Sunt blocat! Ne oprim, pentru că ne împiedică ceva. Nu avem informațiile necesare (mulți se plâng că nu pot testa fără specificații, de exemplu). Sistemul are o eroare de blocare și nu putem ajunge în zona pe care vrem să o testăm. Nu avem echipamentul necesar sau instrumentele necesare. Nu avem suficientă experiență pentru a efectua un test specializat.

Puteți ieși din impas în mai multe moduri. Poate că avem nevoie de ajutor, sau poate doar o respirație (a se vedea mai jos). Poate, dacă vom continua testarea, vom afla ce avem nevoie. Poate că scopul testării este doar cercetarea produsului în căutarea informațiilor lipsă. Poate de blocare pot fi eludate, pot echipamente si instrumente sunt disponibile pentru noi, doar că nu am știut despre ea sau nu au cerut oamenii potriviți calea cea dreaptă. Poate că în interiorul echipei sau în rândul dezvoltatorilor sau în partea de afaceri există experți care ne pot ajuta, dar nu suntem conștienți de acest lucru. Între sentimentul că sunteți blocat și gemul adevărat există o anumită diferență.

7. Întrerupeți pentru o odihnă. Nu oprim testarea - o suspendăm. Facem o pauză, pentru că suntem obosiți sau plictisiți sau rămânem cu inspirație. Poate că este nevoie de o pauză pentru a descoperi ceva sau a planifica, sau poate pentru a reflecta la ceea ce am făcut deja, pentru a afla ce să facem în continuare. Ideea principală este că avem nevoie de o pauză, iar mai târziu vom reveni la produsul odihnit și cu ochi proaspeți.

Există și un alt tip de pauză - putem suspenda testarea, deoarece celelalte funcționalități au în prezent o prioritate mai mare.

Desigur, ne putem plictisi sau obosiți, dar poate că este mai important să continuăm testarea, indiferent de ce? Poate vom studia produsul mai eficient acum? Poate o informație importantă este doar într-un test de la noi? Este o prioritate mai mare o prioritate? Alte funcționalități sunt gata pentru transferul la testare? Poate că am testat deja destul de bine?

8. Platoul. Indiferent ce facem, rezultatul este același. Poate că aplicația se blochează sau nu mai răspunde, dar aceleași rezultate pot fi obținute și în cazul în care aplicația este deosebit de stabilă - "bine, ca totul este ok".

Aplicația sa prăbușit cu adevărat sau încearcă să se recupereze? Lipsa unui răspuns în sine este un rezultat important al testului? Am încercat cu adevărat totul și a inclus variații și încărcări diferite în testele noastre?

9. Deci este acceptat. Oprim testarea, ca de obicei. Avem reguli referitoare la un anumit număr de idei, cazuri sau cicluri de testare, iar când se face o anumită muncă, ne oprim. Ei spun că echipele Agile se comportă astfel: "când toate testele de acceptare sunt transmise, suntem pregătiți pentru eliberare".

Această euristică este diferită de "Time Out" - timpul este mai elastic. Această abordare este destul de comună - am auzit de multe ori că testarea destul de bun este considerat a fi una în cazul în care există cel puțin un test pentru fiecare cerință (sau cel puțin unul negativ și un test pozitiv pentru fiecare cerință). Nu sunt de acord, desigur, dar acesta este un punct de vedere comun.

Ne apropiem critic de întrebarea, de ce ne oprim mereu aici? Nu este necesar să testați produsul în plus? Poate că trebuie să-l testezi mai puțin? Există informații disponibile - de exemplu, de la departamentul de vânzări, serviciul de asistență sau observatorii externi - care indică faptul că ar trebui să ne îndepărtăm de obiceiurile obișnuite? Am revizuit alte euristici?

10. Nu au existat întrebări interesante. Am hotărât că nici o întrebare să nu mai justifice prețul de a găsi răspunsuri la acestea, iar noi terminăm testarea. Acest euristic informează că dacă orice problemă sau risc este suficient de important, vom continua să testați.

Suntem siguri în modul nostru de modelare a riscurilor? Există pericolul de a zbura în "lebăda neagră" (sau lebada albă care a fost ignorată)? Am obținut suficientă acoperire? Sunt de încredere oracolele noastre?

11. Indiferența. Uneori, oamenii nu le pasă dacă primesc informații suplimentare sau nu vor să știe ce se întâmplă în aplicație. Aplicația poate fi prima schiță, care va fi în curând înlocuită. Uneori, oamenii se opresc din testare deoarece sunt leneși, au intenții proaste sau nu sunt motivați. Uneori motivele de afaceri pentru lansare sunt atât de importante încât nici o problemă imaginabilă nu va anula lansarea, așa că orice găsim, nu contează.

Dacă nu ne-ar păsa, de ce am început să încercăm deloc? Ne-am uitat prioritățile? Dacă cineva a oprit testarea - de ce a făcut-o? Uneori este mai ușor ca firmele să nu știe despre problemă decât să știe despre asta și să nu facă nimic - poate că așa este cazul?

12. Refuzul misiunii. Oprim testarea dacă rezultatul testării continuă să fie o problemă - de exemplu, etică - pentru o anumită persoană.

Veți continua testul dacă dă rezultate false? Va duce la o minciună? Daune pentru echipamente valoroase? Daune la oameni, ca și în experimentul Milgram sau experimentul Stanford. Poate că victima nu este supusă, iar clientul - dacă vă păstrați, în cazul în care costurile de testare (inclusiv salariul) disproporționată în raport cu valoarea testului? Poate victima ești tu? Vrei să te oprești dacă nu ești plătit suficient?







Articole similare

Trimiteți-le prietenilor: