A testa in productie sau nu?

Treaba asta e FOARTE periculoasa. Fie ca e fix aceeasi fie ca e o copie cu aceleasi date.

Ce poate fi periculos atunci cand testezi aplicatia utilizand date reale ? Baza de date este o copie 1:1 cu cea din productie.
Pana la urma, ai sanse mai mari sa gasesti bug-uri in productie decat in development.
Mie mi se pare o verificare in plus fata de cea din development, in niciun caz un risc asa cum zici tu.

Am facut testari de-alea un an intreg la o aplicatie de contabilitate.
Am avut un singur ‘cobai’.
De cate ori faceam o modificare la aplicatie, faceam backup la baza de date, inainte de a o pune in ‘productie’. Bineinteles, backup se facea si periodic, foarte frecvent + inainte de orice operatiune mai importanta.

Testarea ‘in productie’ a fost productiva, pentru ca asa am aflat mai bine nu numai care sunt problemele, dar si care sunt necesitatile. Cred ca o perioada s-a mers in paralel si cu alt program de conta, dar apoi s-a trecut doar la programul meu, pentru a nu se opera datele de doua ori.

Cea mai ‘periculoasa’ faza a fost o data cand m-am enervat un pic pe o aplicatie scrisa de o firma de software, cu picioarele. Firma pentru care lucram a achizitionat acea aplicatie cu cod sursa cu tot. Era ceva in genul gestiune/facturare/blabla. Butonau la ea simultan ceva de ordinul zecilor de operatori. Pentru ca aplicatia era scrisa cu picioarele, intra in deadlock foarte frecvent. Era un pic cam nasol sa rezolvi problema, asa ca intr-o dupamasa m-am enervat suficient ca sa stau sa rezolv problema.
Pur si simplu am trecut peste tot codul sursa, am identificat ochiometric sursele de deadlock (si erau o gramada!), am facut modificarile de rigoare (fara testare, ca era nevoie de introdus de date simultan de catre mai multi), sper ca am salvat baza de date (nu mai tin minte, dar sper ca am avut atata inspiratie :slight_smile: ) si am lasat aplicatia ‘in productie’.
De a doua zi, nici un deadlock in aplicatie, ever!
Si a functionat foarte bine, fara probleme. Nu recomand celor slabi de inima :slight_smile:

2 Likes

Sunt situații în care, într-adevăr, diferența de configurație dintre producție și staging nu te lasă să rezolvi unele use-caseuri decât în producție. Uneori se acceptă situația, se încearcă să se minimizeze impactul in producție, și se testează foarte controlat. Alteori nu exista nici măcar posibilitatea asta. Dacă costul e mai mic pentru cazul testării în producție, se alege varianta asta.