Documente Academic
Documente Profesional
Documente Cultură
Ce este testarea
Aplicațiile software sunt peste tot și au devenit o parte crucială a vieții noastre.
unde toate filmele tale preferate au fost făcute folosind un fel de software
De-a lungul istoriei computerului, este destul de comun pentru software și sisteme
urmând să fie livrate în exploatare și din cauza prezenței unor defecte sau bug-uri
Software-ul care nu funcționează sau chiar are probleme minore poate cauza probleme și frustrări uriașe
O mică greșeală de calcul într-o aplicație de afaceri poate cauza pierderi de bani
o operațiune de software îndelungată sau un raport lent ar putea pierde timp și poate provoca frustrare
dacă aștepți la coadă rândul tău la o casierie. Reputația dvs. de afaceri va fi în pericol
dacă software-ul dvs. nu este la standarde și poate provoca chiar vătămări sau deces.
Există multe exemple de probleme minore de software care cauzează o problemă uriașă
Vă voi arăta una dintre cele mai faimoase bug-uri din istorie
Aceasta a fost prima lansare a rachetei Agenției Spațiale Europene Ariane 5 în iunie 1996
Ei bine, cu toții am auzit de prăbușirile avioanelor Boeing, a avut loc un accident de avion etiopian recent
în 2019
Boeing va lansa o actualizare de software pentru aeronava 737 Max la sol în săptămânile următoare
Producătorul de avioane american se așteaptă ca Administrația Federală a Aviației din SUA să aprobe
modificări de proiectare ale software-ului
Software-ul pe care Boeing intenționează să îl implementeze include actualizări ale Sistemului de creștere
a caracteristicilor de manevră.
Prin urmare, să avem grijă de crearea unui software funcțional stabil ar trebui să fie întotdeauna scopul
nostru
Și din experiența mea, nicio problemă în software nu este o problemă mică; Am văzut proiecte software
eșuate din cauza unui singur
greșeală de scriere pe unul dintre ecranele software-ului. Când clientul a văzut acea greșeală de scriere
după livrarea software-ului
și-a anulat viitoarea lucrare cu acea companie. A spus că dacă nu au prins o problemă evidentă ca aceasta
Acesta este motivul pentru care testarea ar trebui să înceapă cât mai devreme posibil
Vid5
Obiectivul testării Obiectivele tipice ale testării
Cel mai comun obiectiv binecunoscut al testării, este evaluarea calității software-ului și
pentru a reduce riscul defecțiunii software în funcționare. Dar uneori, puncte de vedere diferite
poate fi reparat. Acest lucru va reduce nivelul total de risc de calitate insuficientă a software-ului (în
În timpul livrării software-ului pentru acceptare, obiectivul principal ar putea fi confirmarea acestui lucru
sistemul funcționează conform așteptărilor, pentru a câștiga încredere în nivelul de calitate și pe care l-a
îndeplinit
cerintele.
În unele cazuri, obiectivul principal al testării poate fi acela de a evalua calitatea software-ului
(fără intenția de a găsi sau remedia defecte), doar pentru a oferi informații părților interesate astfel
Testarea poate fi utilizată pentru a preveni defectele prin evaluarea produselor de lucru, cum ar fi
cerințele,
De asemenea, pentru a verifica dacă toate cerințele specificate au fost îndeplinite și implementate.
Dar doar pentru a vă anunța, implementarea cerințelor specificate, deoarece nu este suficientă
nu acceptă software-ul..poate pentru că software-ul așa cum este nu i-a rezolvat problema
inca.
De aceea, testarea implică și validare, care înseamnă verificarea dacă sistemul o va face
satisface nevoile utilizatorilor și ale altor părți interesate în mediul sau mediile operaționale.
cerințe sau standarde. De exemplu, puteți testa software-ul pentru a vă asigura că este conform
cu standardul ISO sau pentru a obține sigla certificată Windows pe cutia dvs. de software... deci aici
organizare.
Acestea sunt obiectivele de testare care au fost menționate în programă. Dar mi-ar plăcea
să adaug că toate aceste obiective servesc unui mare obiectiv care cred că este tatăl
a tuturor obiectivelor de testare care este reducerea nivelului de risc al software-ului insuficient
calitate (cu cuvinte mai simple, asigurându-vă că defectele nedetectate nu vor fi dăunătoare în
Operațiune)
Acestea erau obiective de testare pe care le puteai vedea în orice proiect software. Uneori,
în curs de testare, unde ne aflăm în ciclul de viață al dezvoltării software și care software
modelul ciclului de viață de dezvoltare pe care îl folosim. Deci diferite obiective pot fi aplicate în timpul
cursul dezvoltării proiectului software depinde de contextul testării. Aceste diferențe
În timpul testării componentelor, un obiectiv poate fi acela de a găsi cât mai multe defecțiuni
ca defectele de bază să fie identificate și remediate din timp. Un alt obiectiv poate fi
pentru a crește acoperirea de cod a testelor componente. ne vom ocupa de acoperire mai mult în
videoclipuri viitoare... dar pentru moment creșterea acoperirii codului înseamnă să ne asigurăm că am
acoperit
cât mai multe linii de cod și logică prin rularea testelor noastre.
asteptat si satisface cerintele. Un alt obiectiv al acestei teste poate fi acela de a oferi informații
Orice activitate care va ajuta la atingerea obiectivului de testare este considerată activitate de testare
Vid6
Ai mai auzit termenul de risc într-un videoclip anterior și îl vei auzi mult mai mult în timpul acestui curs
și dacă intenționați să vă alăturați altor cursuri ISTQB, îl veți auzi și mai mult.
Pe scurt, noi, testerii, lucrăm pentru a reduce riscul apariției defecțiunilor în timpul funcționării.
În plus, așa cum am spus înainte... există multe alte obiective de testat,
aceste obiective sunt, desigur, alte motive pentru care este necesară testarea
De exemplu, testarea software-ului poate fi, de asemenea, necesară pentru a îndeplini contractul
Deci, cum pot testerii să reducă riscul apariției defecțiunilor în timpul funcționării.
Testerul ar trebui să folosească diferite tehnici pentru a evita această problemă majoră de software
Una dintre tehnici este de a găsi și remedia cât mai multe defecte posibil înainte de lansarea software-ului
Această tehnică presupune execuția componentei sau a sistemului testat cu unele date de testare;
o astfel de testare se numește testare dinamică.
Dar această formă de testare necesită ca codul software să fie implementat și rulat
se întâmplă mai devreme. Deci nu există cod de executat sau de rulat. De aceea se numește static.
Testarea statică implică tehnici precum revizuirea documentelor (de exemplu, cerințe, povești ale
utilizatorilor,
Atât testarea dinamică, cât și testarea statică pot fi utilizate ca mijloace pentru atingerea unor obiective
similare
și va oferi informații care pot fi folosite pentru a îmbunătăți atât sistemul testat
O întrebare frecventă care mi s-a adresat aici este cine efectuează testarea statică și dinamică?
Fii atent la raspunsul meu
atât testarea statică, cât și testarea dinamică pot fi efectuate de oricine din ciclul de viață al software-ului
vorbim despre testare în general, despre rolul testării, care poate fi făcută de oricine
nu este vorba doar despre tine. Dacă vreau să vorbesc despre testare ca pe un loc de muncă,
Disciplina de testare software implică atât testarea statică, cât și cea dinamică.
Deci, amintiți-vă că atunci când menționăm testarea în general, atunci ne referim atât la testarea statică,
cât și la cea dinamică
Exemple de tehnici diferite utilizate de testator pentru a dezvolta software de mai bună calitate includ
Dacă testerii sunt implicați în revizuirea cerințelor sau în rafinarea poveștii utilizatorului, ar putea detecta
defecte ale acestor produse de lucru
Această înțelegere sporită poate reduce riscul unor defecte semnificative de proiectare și poate permite
identificarea testelor într-un stadiu incipient
și, în cele din urmă, să solicite testerilor să verifice și să valideze software-ul înainte de lansare
și sprijină procesul de eliminare a defectelor care au cauzat eșecurile, care este un alt nume de depanare
Aceasta este ceea ce am numit testare dinamică înainte. Acest lucru crește probabilitatea ca software-ul să
se întâlnească
Un test bun este cel care găsește un defect dacă există unul prezent
Un test care descoperă niciun defect a consumat resurse, dar aproape că nu a adăugat valoare
vid7
În timp ce oamenii folosesc adesea expresia asigurare a calității (sau doar QA) pentru a se referi la testare
si nu stii sa faci pizza, atunci Probabilitatea ca vei face ceva de mancare este foarte mica
Dar dacă vă dau o rețetă de pizza care s-a dovedit până acum a fi o pizza bună
Cine a scris această rețetă cu siguranță a avut mai multe încercări pentru a veni cu acea rețetă bună
din când în când, autorul rețetei ar putea adăuga ceva ici și colo
până când clienții pizza sunt de acord că aceasta este o pizza bună
Cu cât procesul este mai bun, cu atât software-ul este mai bun
produsele de lucru sau rezultatele create de acele procese sunt, în general, de o calitate superioară
În plus, utilizarea analizei cauzei principale pentru a detecta și înlătura cauzele defectelor este importantă
pentru asigurarea eficientă a calității.
Activitățile de testare fac parte din procesul general de dezvoltare sau întreținere a software-ului
managementul calității include atât asigurarea calității, cât și controlul calității Printre alte activități
Managementul calității include toate activitățile care direcționează și controlează o organizație în ceea ce
privește calitatea
Vid8
Erori, defecte și eșecuri
O ființă umană poate face o eroare (greșeală), această persoană ar putea fi analistul de sistem
Unele dintre aceste erori vor ADĂUGA un defect (defecțiune, eroare) la codul programului sau la un
document
Am spus unele dintre aceste erori pentru că nu toate greșelile vor produce o eroare.
O greșeală a analistului ar adăuga un bug la software. Dar o greșeală de utilizator nu va ADĂUGA un bug
la software
Dacă se execută un defect în cod, sistemul poate să nu facă ceea ce ar trebui să facă
Observați din nou că am spus „poate eșua”, deoarece nu toate defectele ar eșua software-ul
De fapt, unele erori ar face ca software-ul să eșueze doar în circumstanțe foarte specifice.
Dacă aceste circumstanțe nu s-ar întâmpla niciodată, atunci defectul nu va cauza un eșec
Există o vorbă „A greși este uman; pentru a găsi erorile necesită un tester”
se duce la doctor si doctorul decide ceva in neregula cu stomacul care este defectul
motivul durerii de stomac este că pacientul a mâncat prea mult cu o seară înainte
Dacă un document conține o eroare, se utilizează pentru a construi o componentă sau un software
Eroarea din document ar putea fi greșeala analistului de sistem pentru că nu a înțeles clientul
sau greșeala clientului în primul rând pentru că clientul nu a putut explica exact ce vrea
Presat de timp
Falibilitatea umană
Comunicarea greșită între participanții la proiect, inclusiv comunicarea greșită cu privire la cerințe și
design
Complexitatea codului, a designului, a arhitecturii, a problemei de bază care trebuie rezolvată și/sau a
tehnologiilor utilizate
mai ales atunci când astfel de interacțiuni intrasistem și intersistem sunt mari ca număr
Toți acești factori vor adăuga presiuni asupra proiectanților de sisteme și vor crește probabilitatea erorilor
în specificații,
de exemplu. standarde de compilare, critice pentru siguranță sau legate de siguranță, cum ar fi comutarea
căilor ferate, controlul traficului aerian și așa mai departe
Este posibil ca unele sisteme să nu aibă probleme evidente de funcționalitate, dar încă inutilizabile
Luați în considerare un sistem care este lent sau un sistem care nu poate accepta mai mult de 1000 de
utilizatori la un moment dat
Acest lucru este încă inacceptabil. Numim acest tip de probleme defecte nefuncționale
Utilizăm testarea pentru a ne ajuta să măsurăm calitatea software-ului în ceea ce privește numărul de
defecte găsite,
Raspunsul este nu
Testarea nu poate elimina direct defectele, ci doar le raportează. Prin urmare, testarea nu poate îmbunătăți
direct calitatea
Testarea poate da încredere în calitatea software-ului dacă găsește puține defecte sau deloc
Un test proiectat corespunzător care trece reduce nivelul general de risc din sistem
bine, am vorbit despre erori și defecte, este timpul să vorbim despre eșecuri
Pe lângă defecțiunile cauzate de defecte ale codului, eșecurile pot fi cauzate și de condițiile de mediu
De exemplu, radiațiile, câmpurile electromagnetice și poluarea pot cauza defecte ale firmware-ului sau
pot influența execuția
ceea ce vrem să spunem aici este că ar putea exista ceva care nu funcționează corect
dar nu se datorează unei erori în software. Aceasta ar putea fi o surpriză pentru unii.
când software-ul funcționează bine, dar ne imaginăm că ceva nu este în regulă și raportăm un defect
aici avem (rezultat fals-pozitiv) fals înseamnă ceva greșit și pozitiv înseamnă că am găsit ceva, dar a fost
constatare greșită. fals pozitive sunt raportate ca defecte, dar nu sunt de fapt defecte. Este un raport de
eroare prost.
După cum am spus, fals pozitive pot apărea din cauza erorilor în modul în care au fost executate testele,
sau din cauza defectelor datelor de testare, a mediului de testare sau a altor programe de testare sau din
alte motive.
Pe de altă parte
Când software-ul are defecte, dar nu le-am putut găsi nici după testare
apoi spunem că avem (rezultat fals-negativ) fals înseamnă ceva greșit și negativ înseamnă că nu l-am
găsit
Fals negative sunt teste care nu detectează defecte pe care ar fi trebuit să le detecteze.
Deci care crezi că este mai periculos, fals negativ sau fals pozitiv?
Dacă te gândești bine, falsele negative sunt mai periculoase decât falsele pozitive
Vid10
După cum am spus, eșecurile sunt cauzate de defecte, iar defectele sunt cauzate de erori sau greșeli făcute
de oameni.
Cauzele fundamentale ale defectelor sunt primele acțiuni sau condiții care au contribuit la crearea
defectelor.
astfel încât să putem reduce apariția unor defecte similare în viitor. Concentrându-se pe cele mai
importante cauze fundamentale,
De exemplu, să presupunem că plățile incorecte ale dobânzii, din cauza unui singur rând de cod incorect,
duce la reclamații ale clienților. Codul defect a fost scris pentru o cerință ambiguă,
Dacă un procent mare de defecte există în calculele dobânzii, iar aceste defecte au cauza principală în
similară
În acest exemplu, plângerile clienților sunt efecte. Plățile incorecte ale dobânzii sunt eșecuri.
Calculul incorect din cod este un defect și a rezultat din defectul inițial,
în timp ce scrieți cerința. Procesul de analiză a cauzei principale este discutat în ISTQB-ETM Expert
Level
Testare și depanare
Testarea și depanarea sunt diferite. Executarea testelor poate arăta defecțiuni cauzate de defecte ale
software-ului.
Depanarea este activitatea de dezvoltare care găsește, analizează și remediază astfel de defecte.
Retestarea ulterioară sau testarea de confirmare verifică dacă remediile au rezolvat defectele.
În unele cazuri, testerii sunt responsabili pentru testul inițial și testul final de confirmare,
în timp ce dezvoltatorii fac depanarea și testarea componentelor asociate. Cu toate acestea, în dezvoltarea
Agile
Standardul ISO (ISO/IEC/IEEE 29119-1) conține informații suplimentare despre conceptele de testare a
software-ului.
Înainte să plec, vreau să vă gândiți, ce găsesc testerii de sistem? Erori, defecte sau defecțiuni?
Testerii de sistem găsesc eșecuri... apoi scriu un raport despre acea eșec pentru dezvoltator
Apoi, dezvoltatorul va folosi tehnicile sale de depanare pentru a găsi defectul care a cauzat acea
defecțiune și pentru a încerca să-l remedieze.
Vid10
Conceptul de acoperire în testarea software-ului
este definită ca o măsură în Testarea software-ului care -măsoară cantitatea de testare efectuată de un set
de teste.
Prin cantitatea de teste ne referim la ce părți ale programului aplicației sunt exercitate atunci când rulăm
un grup de teste
În termeni simpli, acoperirea testului măsoară eficacitatea testării noastre
Deci, când putem conta pe anumite lucruri dintr-o aplicație și, de asemenea, putem spune dacă cazurile de
testare acoperă
acele lucruri ale aplicației, atunci putem spune că cât de mult au acoperit cazurile noastre de testare.
Deci, de exemplu, dacă avem 4 caracteristici și am testat doar 3 dintre ele, atunci acoperirea noastră de
testare este de 75% din caracteristici
Sau dacă avem 1000 de linii de cod și testele noastre au vizitat sau au exercitat 600 de linii din acele linii
Puteți avea 100 de cazuri de testare care spun că acoperă 50% din software-ul dvs
puteți adăuga încă 100 de cazuri de testare, dar acoperirea testului ar fi în continuare aceeași 50%
și puteți adăuga doar un caz de testare care va crește acoperirea testului la 100%
Deci, care sunt părțile software-ului pe care le putem măsura pentru acoperire
Acoperire structurală: Fiecare element de proiectare al software-ului a fost exercitat în timpul orelor de
testare, funcții
implementare Acoperire: Fiecare linie de cod a software-ului a fost sau nu exercitată în timpul testării
Ei bine, avem nevoie de un fel de hartă care să arate urme între fiecare cerință și fiecare test
un astfel de concept de trasabilitate poate fi aplicat între cerințe, elemente de proiectare, linii de cod,
cazuri de testare și așa mai departe.
Pentru a găsi zonele în cerințele specificate care nu sunt acoperite de testele noastre
pentru a ști unde trebuie să creăm mai multe cazuri de testare pentru a ne crește acoperirea testelor
Identificarea unei măsuri cantitative a acoperirii testului, care este o metodă indirectă de verificare a
calității
vid11
Cele șapte principii de testare
O serie de principii de testare au fost sugerate în ultimii 40 de ani și oferă linii directoare generale pentru
toate testele.
Dar, pe de altă parte, dacă testul dvs. nu a găsit defecte, aceasta nu este o dovadă că software-ul nu are
defecte.
Amintiți-vă de problema Y2K, în care multe soluții software eșuează, deoarece consideră anul doar ca
fiind de 2 cifre,
Dacă te gândești la acele soluții software, ele funcționau perfect în anii 70, 80 și 90.
Prin urmare, acele soluții conțin defecte care așteptau să apară o dată cu totul specială
Așa că nu putem numi aceste soluții fără erori, chiar dacă au funcționat perfect de mulți ani
Deci nu există nimic numit software fără erori. Nu avem cum să dovedim asta
Trebuie doar să proiectăm cât mai multe teste pentru a găsi cât mai multe defecte.
dar, chiar dacă nu sunt găsite defecte, testarea nu este o dovadă a corectitudinii
Testarea exhaustivă este imposibilă
Imaginați-vă dacă avem o pagină web în care trebuie să introduceți vârsta angajatului, care ar trebui să se
încadreze între 20 și 50 de ani.
Pentru a testa acest câmp în detaliu, trebuie să introduceți toate valorile posibile în acel câmp (atât
valorile valide, cât și cele nevalide).
Deci, dacă acest câmp acceptă un număr întreg, care variază de la -32.767 la 32.767, atunci avem 65535
de valori posibile
Adăugați la el o grămadă de combinații de valori de text și caractere speciale (ei bine, utilizatorul poate
introduce text din greșeală
De asemenea, s-ar putea să avem cazuri de testare în care lipim numerele nu doar tastându-le,
Dacă fiecare valoare durează un minut pentru a fi testată, atunci am avea nevoie de 70000 de minute
pentru a testa numai acest câmp
70000 de minute înseamnă 1167 de ore, adică 49 de zile, testând acest câmp zi și noapte?
Testarea tuturor combinațiilor posibile de intrări și condiții prealabile se numește testare exhaustivă.
Din acest motiv, analiza riscului, tehnicile de testare și prioritățile sunt folosite pentru a se concentra
Utilizarea lor este esențială pentru a se asigura că piesele esențiale sunt testate
Multe probleme din sistemele software pot fi urmărite până la cerințe lipsă sau incorecte
În testele timpurii, încercăm să găsim erori și defecte cât mai curând posibil
Din graficul afișat, când se descoperă o eroare în cerință în timpul fazei de cerință
Cu cât așteptăm mai mult să remediem acest bug, cu atât este mai costisitor să fie remediat. De ce?
Pentru că acum este posibil să fi construit o parte din designul nostru pe baza acestor cerințe defectuoase
este mai ieftin să-l repari în faza de proiectare decât să așteptați până la etapele ulterioare. Și așa mai
departe
O eroare în cerință ar crea un design greșit, care, la rândul său, ar crea un cod de erori,
Din graficul afișat, vedem că dacă clientul nostru a descoperit o eroare după livrarea software-ului
acest lucru ar costa de 1000 de ori mai mult decât dacă am fi descoperit și remediat eroarea în faza de
cerințe
În plus, timpul și efortul necesar pentru a remedia o eroare de cerințe în timpul fazei de testare a
sistemului
ar putea fi de 500 de ori mai mare decât dacă am fi descoperit și remediat bug-ul în faza de cerințe
pentru a găsi defectele din timp, activitățile de testare ar trebui să înceapă cât mai devreme posibil în
software
sau ciclul de viață al dezvoltării sistemului, testerii ar trebui să se alăture ciclului de viață al software-ului
de îndată ce documentele sunt în modul schiță
De exemplu, cerințele individuale sunt testabile? Putem găsi cerințe ambigue sau lipsă? și așa mai departe
Ceea ce încercăm să realizăm aici este să întrerupem ciclul „eroare-cod-eșec” pe care l-am menționat
anterior.
Aplicarea unui proces reduce erorile făcute de oameni, testarea statică identifică defecte cât mai devreme
posibil
testarea dinamică găsește eșecuri pe care le-am putea găsi încă și trimite acele eșecuri înapoi
Dacă așteptăm până în ultimul minut pentru a introduce testere, presiunea timpului poate crește dramatic.
Cu cât activitatea de testare este începută mai devreme, cu atât timpul scurs disponibil este mai lung
Testerii nu trebuie să aștepte până când software-ul este disponibil pentru testare
Unele întrebări din examen ar putea fi legate de cele mai scumpe defecte de remediat
Bine
deci care defecte sunt cele mai costisitoare pentru a remedia cerinţele defecte.
Dacă ați fost în faza de proiectare, atunci defectele cerințelor sunt cel mai scump de remediat atunci
iar defectele de proiectare sunt cele mai ieftine și așa mai departe
Dacă avem software de 10 module sau componente. Imaginați-vă că primul nostru ciclu de testare a expus
100 de erori.
Nu veți descoperi că fiecare modul are exact 10 erori, ci, mai degrabă, este adesea un număr mic de
module
Complexitatea sistemului
Cod volatil
Efectele schimbării
Clusterele de defecte previzionate și grupurile de defecte observate efectiv în testare sau operare,
sunt o contribuție esențială într-o analiză de risc utilizată pentru a concentra efortul de testare
Acest fenomen este strâns legat de principiul Pareto, care se numește regula 80/20.
Dreapta
În software, se spune că aproximativ 80 la sută din probleme se găsesc în aproximativ 20 la sută din
module
Deci, dacă doriți să descoperiți un număr mai mare de defecte, este util să folosiți acest principiu și să
vizați zonele
Cu toate acestea, trebuie amintit că testarea nu ar trebui să se concentreze exclusiv pe acele părți
Este posibil să existe mai puține defecte în codul rămas, dar ar putea fi mai grave
Dacă aceleași teste sunt repetate iar și iar, în cele din urmă același set de teste nu va mai găsi niciun defect
nou
Testele nu mai sunt eficiente în găsirea defectelor, la fel cum pesticidele nu mai sunt eficiente în uciderea
insectelor după un timp.
Pentru a detecta noi defecte, testele existente și datele de testare ar putea trebui modificate
și poate fi necesar să fie scrise noi teste pentru a exercita diferite părți ale software-ului sau sistemului
În unele cazuri, cum ar fi testarea de regresie automată, paradoxul pesticidelor are un rezultat benefic
Un software de joc care folosește mult grafica va fi testat diferit de un editor de grafică
software care utilizează, de asemenea, grafica intens
Un site web static simplu va fi testat diferit de un site de comerț electronic dinamic,
Software-ul de control industrial critic pentru siguranță este testat diferit de o aplicație mobilă de comerț
electronic
Conectarea pentru un sistem bancar se va face diferit de autentificarea pentru un joc online
chiar dacă interfața cu utilizatorul ar putea arăta exact la fel în ambele aplicații.
Ca un alt exemplu, testarea într-un proiect Agile se face diferit decât testarea într-un proiect de ciclu de
viață secvenţial
Unele organizații se așteaptă ca testerii să poată rula toate testele posibile și să găsească toate defectele
posibile
În plus, este o eroare (adică o credință greșită) să te aștepți că doar găsirea și remedierea unui număr mare
de defectec
De exemplu, testarea amănunțită a tuturor cerințelor specificate și remedierea tuturor defectelor găsite
pe care le-am găsit nu sunt suficiente motive pentru care software-ul va avea succes
Gandeste-te la asta
Înainte de a începe testarea dinamică, nu au fost raportate defecte în raport cu codul livrat până acum
Înseamnă asta că software-ul care nu a fost testat și, prin urmare, nu există defecte restante împotriva
acestuia
S-ar putea să mergi la un medic cu simptome pe care acesta îți administrează medicamente conform
analizei sale asupra problemei
încercați medicamentul pentru o perioadă fără îmbunătățiri, așa că se dovedește că analiza inițială a
medicului a fost greșită
Primul medicament nu a fost unul rău, dar a fost un medicament greșit în funcție de situația actuală.
Ei bine, pentru unul, ei pot enumera 4 opțiuni, 3 dintre ele sunt principii și a patra nu este un principiu
Ceva de genul „testarea ajută la câștigarea încrederii în software”, este adevărat, dar nu este un principiu.
De exemplu, un client primește software-ul, dar este supărat pentru că software-ul nu îi satisface nevoia
O echipă vrea să descopere cât mai multe defecte, ce principiu ar trebui să urmeze.
așa cum am menționat mai înainte, „riscul” este un aspect important atunci când vorbim despre testare
deci haideți să vorbim câteva minute despre risc doar pentru a evidenția conceptul de risc.
Acum, dacă testarea arată doar prezența defectelor și testarea exhaustivă este imposibilă plus paradoxul
pesticidelor
Dacă riscul este scăzut și acceptabil, atunci putem opri testarea și livrăm software-ul. În caz contrar, ar
trebui să continuăm testarea
Testarea ar trebui să ofere părților interesate suficiente informații pentru a lua decizii informate cu privire
la eliberarea
software-ul fiind testat pentru următorul pas de dezvoltare sau predarea către clienți.
vom vorbi mai multe despre risc și testare într-o secțiune ulterioară
Testarea software-ului nu este un joc aleatoriu cu software-ul până când găsim o eroare
ci mai degrabă este un proces pentru a asigura realizarea celor mai eficiente și mai eficiente teste.