Webinarul lunii martie l-am rezervat SDLC-ului (Software Development Life Cycle), așadar am vorbit despre procesul de creare a unui nou produs software. Acesta implică o serie de acțiuni ca: planificarea, crearea, modificarea și întreținerea acestui nou produs.

Co-fondatorul TestingScool, Andrei Conțan, l-a avut invitat la această discuție pe Alex Mocioi, programator cu experiență și cofondator Humans in Learning. Lăsăm mai jos câteva idei de bază, iar la finalul articolului vei găsi video-ul cu acest webinar.

De ce am ales acest subiect? 

Când vrei să creezi un nou produs software este necesar să definești de la bun început un ciclu de viață (sau de dezvoltare), să monitorizezi schimbările și să actualizezi pașii în funcție de cum evoluează produsul, echipa și așteptările pe care le aveți. 

Această rutină este o necesitate în dezvoltarea software, iar testingul este extrem de important deoarece intervine în diverse etape ale dezvoltării, identifică eventuale erori și permite echipei să le remedieze fără să afecteze experiența utilizatorilor sau să genereze costuri suplimentare.

“Aplicația în sine este o soluție a unei probleme”  

Să dezvoltăm puțin într-un limbaj practic etapele SDLC-ului, care începe prin identificarea problemelor, dar și a așteptărilor pe care le ai, ca mai apoi:

  • să planifici cerințele
  • să stabilești un design arhitectural: stabilești de ce programe/tehnologii ai nevoie, de ce oameni ai nevoie, precum și partea de implementare
  • să scrii cod 
  • să începi partea de testare – unde validezi ca să te asiguri că tot ceea ce llucrezi e conform așteptărilor  
  • codul este prezentat clientului
  • dacă este acceptat ajunge să fie folosit 
  • ultima etapă este concentrată pe elemente de mentenanță.

SDLC-ul este un proces liniar, dar modul în care decizi să aplici etapele poate să difere în funcție de modul tău de operare.

Unde e testingul in SDLC? Când testăm și unde?

Care este așteptarea de la fiecare membru în fiecare etapă? 

Testingul se întâmplă la mai multe niveluri din cadrul celor 7 etape ale SDLC-ului; design-ul și implementarea pot să meargă împreună, așa totul este mai dinamic și mai fluid.

Elementul de testare trebuie să fie constant 

“Testarea te ajută să gestionezi niște riscuri. Apelăm la testare ca la o sursă de informație, vreau să văd eu pentru mine sau cer ajutorul unui tester cu mai multă experiență să-mi spună dacă sunt lucruri care mi-au scăpat, dacă i se pare și lui că am dezvoltat până acum totul ok. Scopul testing-ului este să acumulam suficiente informații despre acel produs”, afirmă Andrei Conțan.

Atunci când prezinți produsul product owner-ului trebuie să ai acumulate detalii referitoare la: etapele parcurse, riscurile pe care te-ai concentrat, zonele de funcționalitate pe care le-ai examinat și mediile în care ai efectuat testele. Informațiile despre bug-urile descoperite, limitările identificate și percepția ta asupra complexității trebuie să fie suficiente astfel încât să dovedească că produsul poate să fie prezentat clientului.

 

Vrem să amintim modelul lui Dan Ashby, care spune că testing-ul este un mindset, un skillset pe care-l aplicăm pe tot parcursul modelului de development și operațional. Testarea este continuă, din momentul în care intervine problema pe care o aduce clientul. 

continuous testing in devops
source: https://danashby.co.uk/2016/10/19/continuous-testing-in-devops/

Insistăm pe implicarea tuturor membrilor echipei în procesul de testare, aducându-și propria experiență și propriile competențe. Aici ajută enorm accesul la un server de development unde mai mulți developeri își pot implementa schimbările, astfel se testează pe o bază comună.

Toate aceste aspecte au scopul de a testa pe diverse nivele de complexitate, riscuri variate și configurări. În final, vei afla mai multe despre produsul tău, iar când va apărea un element surpriză în producție, tu vei relua procesul, în acest fel realizezi ce ți-a scăpat și cum puteai identifica problema mai repede. În același timp, trebuie să iei decizii în funcție de consecințe și să prioritizezi în funcție de importanța etapei sau task-ului la care lucrezi.

Când apar situații neprevăzute este crucial să fii flexibil și să ajustezi SDLC-ul, cunoașterea profundă a acestuia fiind esențială.

În funcție de context și de companie, acest SDLC poate să fie mai complicat sau simplist. 

“Se întâmplă deseori ca oamenii să fie tentați să aducă într-un nou proiect SDLC-ul dintr-un proiect anterior, însă trebuie să-ți păstrezi o perspectivă deschisă; modul în care procedai într-un proiect anterior sau companie precedentă rezolva anumite probleme, acum ai alte probleme și va trebui să reiei procesul de a gasi o solutie”, spune Andrei Conțan.

Este posibil să se ajungă la același model de SDLC, dar accentul ar trebui să fie pe adaptabilitate, flexibilitate. Comunicarea devine, din nou, un element cheie într-un proces de succes, de a găsi soluțiile unei probleme și de a identifica problemele adecvate.

Procesul de SDLC îți dă acel element de predictibilitate, la care ai nevoie uneori să te întorci.

Toată discuția pe această temă o poți urmări aici:

Play Video

Leave a Reply

Your email address will not be published. Required fields are marked *