Procesul de verificare și validare a designului

⚡ Rezumat inteligent

Verificarea designului confirmă faptul că rezultatul unui design corespunde cu datele de intrare documentate, în timp ce validarea designului confirmă faptul că produsul finit satisface nevoile reale ale utilizatorilor săi. Ambele se desfășoară pe tot parcursul dezvoltării, niciodată la final.

  • 🔘 Două întrebări diferite: Verificarea întreabă dacă produsul a fost proiectat corect, iar validarea întreabă dacă a fost proiectat produsul corect.
  • ☑️ Intrări și ieșiri: Datele de intrare pentru proiectare reprezintă setul de cerințe fizice și de performanță; datele de ieșire pentru proiectare reprezintă ceea ce produce fiecare fază de proiectare și ceea ce examinează verificarea.
  • Dovezi obiective: Validarea este completă numai atunci când există dovada fizică că produsul satisface nevoile documentate ale utilizatorului.
  • 🧪 Verificare în cinci etape: Identificare și pregătire, planificare, dezvoltareping, execuția și raportarea formează secvența standard de verificare.
  • 🛠️ Tracebilitate pe tot parcursul: Legăturile dintre intrările de proiectare, cazurile de testare și rezultate sunt cele care dovedesc că fiecare cerință a fost într-adevăr acoperită.
  • 📈 Secvența contează: Validarea urmează unei verificări reușite, iar verificarea nu este niciodată un substitut acceptabil pentru aceasta.

Procesul de verificare și validare a designului în dezvoltarea de software

Verificarea proiectării

Verificarea proiectării este o metodă de confirmare, prin examinare și prin furnizarea de dovezi, că rezultatul unui produs software proiectat îndeplinește specificațiile de intrare. Scopul procesului de verificare a proiectării în timpul dezvoltării software este de a se asigura că produsul software proiectat este același cu ceea ce a fost specificat.

Datele de intrare pentru proiectare reprezintă orice cerință fizică și de performanță utilizată ca bază pentru proiectare. Rezultatul proiectului este rezultatul fiecărei faze de proiectare și al efortului total de proiectare. În industriile reglementate, cum ar fi dispozitivele medicale, rezultatul final al proiectului devine baza pentru înregistrarea principală a dispozitivului, motiv pentru care vocabularul de control al proiectării apare atât de des în documentația de verificare.

În practică, verificarea compară două seturi de documente: specificațiile, standardele și constrângerile incluse, cu desenele, codul și instrucțiunile de testare emise. Fiecare neconcordanță dintre ele reprezintă o constatare a verificării.

Validarea designului

Verificarea dovedește consistența internă. Validarea pune întrebarea mai dificilă dacă specificația a descris produsul corect în primul rând.

Validarea designului este un proces de evaluare a produsului software în raport cu cerințele exacte ale utilizatorilor finali sau ale părților interesate. Scopul validării designului este de a testa produsul software după dezvoltare pentru a confirma că acesta îndeplinește aceste cerințe atunci când este utilizat în propriul mediu al utilizatorului.

Validarea se ocupă de demonstrarea consecvenței și completitudinii unui design în raport cu nevoile utilizatorului. Aceasta este etapa în care construiești efectiv o versiune a produsului și o validezi în funcție de cerințele utilizatorului.

Bannerul de mai jos etichetează cele două jumătăți ale activității, așa cum sunt de obicei prezentate în înregistrările de proiectare.

Bannerul de titlu pentru validarea designului utilizat în înregistrările de control al designului

Diagrama următoare prezintă procesul de validare a designului în sine, de la nevoile utilizatorului până la produsul validat.

Fluxul procesului de validare a designului de la nevoile utilizatorului la produsul validat

Scopul este de a demonstra cu dovezi obiective că produsul satisface nevoile documentate ale utilizatorului. Dovezile obiective sunt pur și simplu o dovadă fizică a rezultatului - o imagine, un fișier text, un fișier audio sau un raport semnat - care arată că procedura a fost efectiv efectuată.

Prin intermediul acestor dovezi obiective, procesul examinează în mod constant dacă produsul îndeplinește cerințele predefinite. Acesta implică activități de testare, inspecție, analiză și tehnici similare, motiv pentru care validarea se bazează de obicei pe testarea sistemului și testarea de acceptare a utilizatorului mai degrabă decât pe verificări la nivel de unitate.

Diferența dintre verificarea și validarea proiectului

Există întotdeauna concepții greșite între verificare și validare. Sunt activități diferite și ambele sunt efectuate în fiecare etapă a procesului de dezvoltare, mai degrabă decât la o singură etapă importantă.

Verificarea proiectării Validarea designului
Verificarea proiectării se utilizează acolo unde rezultatul real al proiectului ar trebui să fie același cu rezultatul așteptat al proiectului, care satisface specificațiile produsului. Validarea designului este utilizată pentru a stabili dacă designul final corespunde așteptărilor și nevoilor utilizatorului.
Verificarea designului întreabă: ați proiectat produsul corect? Validarea designului întreabă: ați proiectat produsul corect?
Verificarea proiectării include unitatea și principala testarea nivelului de integrare. Validarea designului include integrarea secundară sau la nivel superior și testarea la nivel de sistem.
Anumite aspecte ale validării proiectării pot fi realizate în timpul verificării proiectării, dar verificarea proiectării nu înlocuiește validarea proiectării. Validarea proiectării urmează verificării cu succes a proiectului.
Verificarea proiectării poate fi efectuată pe un modul individual sau pe sistemul complet în orice condiții. Validarea proiectării va fi efectuată într-o condiție specificată conform cerințelor utilizatorului.
Verificarea proiectării poate utiliza tehnici statice. Aceasta include inspecții de sistem, analiză și activități de verificare formală. Validarea designului constă în raportul final al rezultatelor executării testelor, care este revizuit, aprobat și semnat. Aceste documente sunt stocate pentru referințe ulterioare.

O scurtătură utilă: verificarea este în mare parte muncă statică împotriva documentelor, în timp ce validarea este în mare parte testare dinamică împotriva unei construcții în desfășurare.

Procesul de verificare a proiectării

Procesul de verificare se desfășoară în cinci etape, iar fiecare dintre ele produce un artefact de care depinde etapa următoare.

Identificare si pregatire:

  • În timp ce o specificație este dezvoltată, activitatea de verificare este identificată în paralel. Acest lucru permite proiectantului să se asigure că specificația este într-adevăr verificabilă, astfel încât un inginer de testare să poată începe elaborarea unor planuri și proceduri de testare detaliate. Orice modificare a specificației trebuie comunicată.
  • Identificați cea mai bună abordare pentru efectuarea verificării și definiți metodele de măsurare, resursele, instrumentele și facilitățile necesare.
  • Planul de verificare finalizat este revizuit împreună cu echipa de proiectare pentru a identifica problemele înainte de finalizarea planului.

planificare:

  • Planificarea verificării este o activitate concomitentă cu echipele principale și de dezvoltare. Aceasta are loc pe tot parcursul ciclului de viață al proiectului și este actualizată ori de câte ori se modifică datele de proiectare.
  • În această fază, software-ul sau sistemul testat este documentat în domeniul de aplicare.
  • Un plan preliminar de testare este redactat și apoi rafinat. Planul surprinde etapele importante care reduc riscul proiectului.
  • Se selectează instrumentele, mediul de testare și strategia de dezvoltare, iar se identifică cerințele care trebuie confirmate prin inspecție sau analiză.

Developing:

  • Caz de testare dezvoltarea coincide cu Metodologia SDLC echipa de proiect a implementat. În această etapă sunt identificate o varietate de metode de testare.
  • Datele de intrare pentru proiectare trebuie dezvoltate astfel încât chiar și cele mai simple activități de verificare să fie lipsite de ambiguitate și verificabile.
  • Timpul de verificare este redus atunci când concepte similare sunt verificate în secvență, deoarece rezultatul unui test poate fi reutilizat ca intrare pentru un test ulterior.
  • TracLegăturile de fezabilitate sunt create între cazurile de testare și intrările de proiectare corespunzătoare, pentru a se asigura că fiecare cerință este testată și că rezultatul proiectării îndeplinește intrările de proiectare.

Executie:

  • Procedurile de testare create în timpul fazei de dezvoltare sunt executate în conformitate cu planul de testare și respectate cu strictețe în timpul activității de verificare.
  • Dacă apar rezultate nevalide sau dacă vreo procedură necesită modificări, modificările trebuie documentate și aprobate oficial.
  • Orice problemă găsită este înregistrată ca defect prin metodele obișnuite procesul de management al defectelor.
  • A tracmatricea de eficiență este creat pentru a verifica dacă fiecare intrare de proiectare identificată în planul de testare de verificare a fost testată și pentru a determina rata de promovabilitate.

rapoarte:

  • Această activitate se realizează la finalul fiecărei etape de execuție a verificării.
  • Raportul de verificare a proiectării oferă un rezumat detaliat al rezultatelor verificării, inclusiv gestionarea configurației, rezultatele pentru fiecare tip de testare și problemele constatate în timpul activității de verificare.
  • O verificare a designului tracSe creează un raport de fezabilitate între cerințe și rezultatele testelor corespunzătoare, pentru a confirma că toate cerințele au fost testate și că au fost înregistrate rezultatele corespunzătoare.
  • Orice neconformitate este documentată și abordată în mod corespunzător.
  • RevEvaluările sunt efectuate la finalizarea activității de verificare a proiectării, iar rezultatele sunt aprobate oficial.

Procesul de validare a designului

Validarea nu are o secvență la fel de rigidă. În schimb, se bazează pe un set mic de metode acceptate, iar un proiect folosește în mod normal mai multe dintre ele.

  • Comparație cu modele echivalente. Unele proiecte pot fi validate prin compararea lor cu echipamente similare care servesc unui scop similar. Acest lucru este relevant în special atunci când se validează modificările de configurație ale infrastructurii existente sau proiectele standard care sunt încorporate într-un sistem sau o aplicație nouă.
  • Demonstrație și inspecție. Oricare dintre ele sau ambele pot fi utilizate pentru a valida cerințele și alte funcționalități ale produsului.
  • Analiza. Designul poate fi analizat prin modelare matematică sau prin o simulare care recreează funcționalitatea necesară.
  • Testarea. Testele sunt efectuate asupra proiectului final pentru a valida capacitatea sistemului de a funcționa conform specificațiilor, adică atunci când testarea funcțională și testarea nefuncțională îndeplini cerințele utilizatorului.
  • Documentație. Planul de testare, execuția și rezultatele acesteia ar trebui documentate și menținute ca parte a înregistrărilor de proiectare. Validarea reprezintă, în cele din urmă, rezultatele colectate ale tuturor activităților de validare.
  • Justificarea echivalenței. Atunci când în validarea finală a proiectului se utilizează produse echivalente, producătorul trebuie să documenteze similaritatea și orice diferență față de producția inițială.

Exemplu

Un scurt exemplu concretizează distincția.

  • Luați un produs simplu: un ceas rezistent la apă.
  • Documentul cu cerințe despre produs ar putea preciza că „ceasul trebuie să fie impermeabil în timpul înotului”. Aceasta este nevoia utilizatorului și este ceea ce se raportează la validare.
  • Specificațiile de proiectare ar putea preciza că „ceasul ar trebui să funcționeze chiar dacă utilizatorul înoată pentru o perioadă lungă de timp”. Aceasta este informația de proiectare și este ceea ce se raportează la verificare.
  • Rezultatele testelor ar trebui să confirme că ceasul îndeplinește aceste cerințe. Dacă nu, iterațiile de reproiectare continuă până când se întâmplă acest lucru.

Observați cum un ceas ar putea trece verificarea și totuși să eșueze validarea. Dacă specificația definește o perioadă de înot prelungită la cincisprezece minute, iar înotătorii reali stau în apă timp de o oră, rezultatul proiectului se potrivește perfect cu datele de intrare și totuși eșuează pentru utilizator.

Avantajele validării și verificării designului

Rularea ambelor activități în mod continuu, mai degrabă decât ca o poartă la final, este ceea ce produce beneficiile de mai jos.

  • Proiectele pot fi monitorizate continuu, ceea ce face posibilă îndeplinirea cerințelor definite de utilizator în fiecare etapă.
  • Validarea designului evidențiază diferența dintre modul în care funcționează funcționalitatea și modul în care se așteaptă să funcționeze.
  • Documentarea procedurilor de validare face ca funcționalitatea să fie ușor de înțeles ulterior, ori de câte ori se face o modificare sau o îmbunătățire.
  • Timpul de dezvoltare este redus constant, iar productivitatea se îmbunătățește, ceea ce ajută la livrarea produsului conform așteptărilor.
  • Procesul definește gama și domeniul de aplicare al fiecărei metode de validare care trebuie utilizată.
  • Validarea poate fi efectuată folosind date de proiectare detaliate care reprezintă cerințele utilizatorului final.
  • Orice diferență dintre rezultat și documentele de nevoie ale utilizatorului este înregistrată, nu pierdută.
  • Modificările aduse unui design validat declanșează o activitate de revalidare, astfel încât înregistrarea nu se îndepărtează niciodată de produs.
  • Documentarea fiecărei activități care are loc în timpul validării este ceea ce dovedește în mod adecvat că designul îndeplinește cerințele utilizatorului.

Prin urmare, verificarea și validarea proiectării sunt cel mai bine planificate în cadrul unui plan mai larg. ciclul de viață al testării software și mapate în raport cu celălalt tipuri de testare software, mai degrabă decât să fie tratată ca un exercițiu separat de conformitate.

Întrebări frecvente

Brațul descendent stâng deține activitățile de verificare - cerințe, proiectare și revizuiri de cod. Brațul ascendent drept deține activitățile de validare, de la verificările unitare și de integrare până la testarea sistemului și de acceptare, fiecare nivel răspunzând specificației opuse.

În mare parte, dar nu strict. Verificarea se bazează pe recenzii, inspecții și teste preliminare, în timp ce validarea execută construcția. Verificarea poate include în continuare teste executate la nivel de unitate, așadar tratați divizarea statică și dinamică ca pe o tendință, mai degrabă decât ca pe o regulă.

IEEE 1012, standardul pentru verificarea și validarea sistemelor, software-ului și hardware-ului, este cadrul principal. Standardele de management al calității, cum ar fi ISO 9001, impun controale atât pentru proiectare, cât și pentru dezvoltare, iar sectoarele reglementate adaugă propriile reguli de control al proiectării.

Verificarea este de obicei efectuată de ingineri și evaluatori independenți de persoana care a produs rezultatul proiectului. Validarea implică utilizatorii finali sau reprezentanții acestora, deoarece numai aceștia pot evalua dacă produsul livrat satisface nevoia reală.

Instrumentele asistate de inteligență artificială semnalează cerințe ambigue sau netestabile în timpul revizuirii, sugerează tracLegăturile de fezabilitate dintre intrările de proiectare și cazurile de testare și evidențierea lacunelor de acoperire într-o matrice de verificare. Decizia de aprobare rămâne la latitudinea recenzentului, deoarece dovezile trebuie să fie justificabile.

Copilotul GitHub poate redacta codul de test care implementează o procedură de verificare și poate explica modulele necunoscute în timpul unei revizuiri a codului. Nu poate furniza în sine dovezi obiective, așa că rezultatul generat necesită în continuare revizuire și aprobare formală.

Tratarea validării ca pe o formalitate după trecerea verificării, scrierea de intrări de proiectare care nu pot fi măsurate și lăsarea... traceficacitate până la sfârșit. Fiecare produce o înregistrare care pare completă, dar nu poate supraviețui unui audit sau unui utilizator real.

Ori de câte ori modificarea ar putea afecta o nevoie a utilizatorului sau condițiile în care produsul a fost validat. Analiza impactului decide domeniul de aplicare: o corecție limitată ar putea necesita testarea regresiei numai, în timp ce un flux de lucru modificat necesită repetarea validării afectate.

Rezumați această postare cu: