- Uvod konceptu pomaka ulijevo
- Šta je testiranje pomaka ulijevo?
- Kako se radi Pomak ulijevo Utjecaj na razvoj softvera?
- Šta bi testeri trebali raditi drugačije u Shiftu lijevo?
- Prednosti testiranja Shift Left
- Zaključak
Javite nam svoja razmišljanja/prijedloge u odeljku za komentare ispod.
PREV Vodič
Koncept Testiranja softvera uveden je postepeno kada su nedostaci u proizvodnji počeli da udaraju u budžet projekta i stoga je „Funkcionalno testiranje“ stupilo na snagu s vrlo vitkim timom testera. U tom trenutku, bili smo samo dva Testera naspram tima od 20 programera.
IT industrija je počela slijediti model vodopada za razvoj softvera u kojem, kao što svi znamo , životni ciklus razvoja softvera ide sekvencijalno redom od .
Dakle, ako krenete s lijeva na desno, faza testiranja je krajnje desno od životnog ciklusa razvoja softvera.
Uvod konceptu pomaka ulijevo
U određenom vremenskom periodu, ljudi su shvatili važnost testiranja softvera i uticaj držanja 'faze testiranja' na krajnjoj desnoj strani ili na kraju životni ciklus razvoja softvera. Ova spoznaja se dogodila jer je cijena greške identificirane prema ekstremnoj desnici i na kraju bila vrlo visoka i ogroman napor & bilo je potrebno previše vremena da se poprave.
Bilo je slučajeva da nakon toliko vremena i truda utrošenog na softver, zbog ključne greške identifikovane na kraju, softver koji je kritičan za misiju nije mogao biti pušten u tržištu što je rezultiralo ogromnim gubitkom.
Dakle, zbog identifikacije greške u posljednjoj fazi ili je objavljivanje odgođeno ili uputa, softver je ukinut uzimajući u obzir trud koji je potreban da se popravi, što zaista nije vrijedilo.
'Defekti su jeftiniji kada se uhvate rano.
Ova spoznaja i velika naučena lekcija, uvela je veliku revoluciju u softversku industriju i rodila novi koncept pod nazivom 'Shift Left' , što znači pomicanje 'Faze testiranja' ulijevo s desna ili uključivanje testiranja u svakoj fazi i uključivanje testera u cijelosti.
Testiranje pomak ulijevo također znači da samo ne testirati na kraju, već testirajte kontinuirano.
Šta je testiranje pomaka ulijevo?
Prvo, princip 'Shift left' podržava Testing tim da sarađuje sa svim zainteresovanim stranama u ranoj fazi u fazi razvoja softvera. Stoga oni mogu jasno razumjeti zahtjeve i dizajnirati testne slučajeve kako bi pomogli softveru da 'Fail Fast' i omogućio timu da popravi sve kvarove što je prije moguće.
Pristup Shift Left nije ništa drugo nego uključivanje testera mnogo ranije u životnom ciklusu razvoja softvera, što bi im zauzvrat omogućilo da razumiju zahtjeve, dizajn softvera, arhitekturu, kodiranje i njegovu funkcionalnost, postavljaju teška pitanja klijentima, poslovnim analitičarima i programerima, traže pojašnjenja i daju povratne informacije gdje god je to moguće za podršku tim.
Ovo učešće i razumijevanje ćenavesti testere da steknu potpuno znanje o proizvodu, promišljaju različite scenarije i dizajniraju scenarije u realnom vremenu na osnovu ponašanja softvera koji bi pomogao timu da identifikuje nedostatke čak i prije nego što se kodiranje završi.
Kako se radi Pomak ulijevo Utjecaj na razvoj softvera?
Pristup podizanja pomaka utječe na razvoj softvera na nekoliko načina.
U nastavku je nekoliko ključnih tačaka o pomaku ulijevo:
- Pristup Shift Left fokusira se na uključivanje testera u sve i najvažnije kritične faze programa . Ovo omogućava testerima da preusmjere svoj fokus s otkrivanja kvara na prevenciju kvarova i da usmjere poslovne ciljeve programa.
- Pristup pomaka ulijevo pruža, veliku važnost za testiranje s kojim se uloge i odgovornosti testera neizmjerno povećavaju.
- S obzirom da se povećava odgovornost za tim za testiranje, tim se jednostavno ne fokusira na 'Testiranje softvera za identifikaciju bugs' , ali proaktivno radi s timom odmah od početnih faza kako bi planirao i izgradio robusnu i učinkovitu strategiju testiranja pružajući odlično vodstvo i smjernice timu fokusirajući se na dugoročnu viziju proizvod, a ne samo preuzimanje odgovornosti za rad testiranja.
- Pristup Shift Left daje prilika za testere da prvo dizajniraju testove , gdje su testovi u potpunosti fokusirani na korisničko iskustvo i njihova očekivanja što će zauzvrat omogućiti programerima da razviju softver na osnovu ovih testova a samim tim i zadovoljavanje potreba kupaca.
- Pristup Shift Left jednostavno se ne završava samo sa Testerima. Prelazak na puštanje i kontinuirano provođenje aktivnosti testiranja će također omogućiti programerima da preuzmu više vlasništva nad svojim kodom i povećaju svoje odgovornosti za testiranje.
- Promjena Lijevi pristup također ohrabruje Testere da usvoje BDD razvoj vođen ponašanjem i razvoj vođen testom TDD , što pomaže u sprječavanju indukcije defekta u softver.
- Shift Lijevo Testiranje u Agileu: Pristup Shift Lijevo podržava formiranje Agile Scrum timova koji obavezno uključuje Testere zajedno s ostalim ulogama i uključuje Testere u redovne stand-up pozive, druge interakcije, sastanci pregleda koji su omogućili da testeri imaju više informacija u vezi sa programom i samim tim im omogućili da se prepuste i uključe u detaljnu analizu softvera i daju brze povratne informacije koje bi pomogle u sprečavanju nedostataka utemeljenih u softveru.
Ukupno testiranje Shift Left poziva testere da 'Uključite se ranije' , što je prije moguće iuključite se u diskusiju i surađujte na idejama, zahtjevima u svakoj fazi u kojoj ishod faze ima utjecaj na vrijednost konačnog rezultata i također pomozite projektu da identificira rizike i unaprijed ih ublaži.
Šta bi testeri trebali raditi drugačije u Shiftu lijevo?
U nastavku je dato nekoliko ključnih faktora koje treba napomenuti kao ono što Testeri rade drugačije u strategiji Shift Left Strategy:
#1) Test tim mora se uključiti rano u sistem odmah od pokretanja projekta kako bi se razvila integracija s ostatkom tima i poslovanjem da pruži korisne inpute u svakoj fazi razvoja softvera.
#2) Testni tim bi trebao raditi sa Business & Operativni tim i dobijaju jasnoću u vezi sa programom i pružaju jasan uvid u potražnju i pomažu u efikasnom planiranju potreba za povećanjem resursa, potreba za obukom i zahtjevima alata za testiranje u dobrom programu unaprijed.
#3) Testni timovi moraju komunicirati sa svim poslovnim dionicima u ranoj fazi razvoja softvera kako bi dobili jasnu vidljivost proizvoda & dizajnirajte jedinstvenu strategiju testiranja i planirajte optimizirani napor testiranja, analizirajte ovisnost o testnim okruženjima, trećim stranama, stubovima itd. i pripremite robusnu strategiju i okvir automatizacije i izgraditi efikasno upravljanje podacima o testovimaplan.
#4) Testni tim mora raditi s ostatkom tima u pružanju odličnog vodstva testa i smjernica timu na taj način imajući na umu dugoročnu viziju proizvoda, a ne samo preuzimanje odgovornosti za aktivnosti testiranja.
#5) Zahtjevi su ključ i osnova za uspjeh svakog programa i dobro- definisani zahtevi definišu uspeh projekta. Tokom faze planiranja zahtjeva, Testeri trebaju pregledati i analizirati zahtjeve za bilo kakvu dvosmislenost, bolju jasnoću, potpunost, provjerljivost, definiciju kriterija prihvatljivosti, itd.
Također potrebno je identificirati zahtjeve koji nedostaju (ako ih ima) i razumjeti zavisnosti i strategije implementacije. Clear Requirements pomaže softveru da 'brzo otkloni' i popravi sve kvarove što je prije moguće.
#6) Unesite dovoljno jasnoće i preciznosti u zahtjeve tako što ćete iznijeti stvarni primjeri koji ilustriraju funkcije koje su u upotrebi.
#7) Testeri moraju prisustvovati sastancima za pregled dizajna redovno i razumjeti dizajn i arhitekturu proizvoda i identificirati nedostatke u dizajnu, predložiti alternativne opcije dizajna, identificirati rupe i kreirati test scenarije u skladu s tim kako bi razbili dizajn.
#8) Testeri moraju izvršiti statičko testiranje (recenzije) dosta unaprijed i dati povratne informacije o ključnom projektudokumente tako da se spriječi da se defekti uzeme u softver i kasnije prošire njegov učinak.
#9) Testni tim bi trebao sarađivati s timom za dizajn i razvoj u pružanje testnih scenarija unaprijed za razvoj koda i rješavanje svih mogućih scenarija u stvarnom vremenu i poslovnih tokova.
#10) Testni tim mora dizajnirati snažni i robusni scenariji testiranja tako da se samo nekoliko kvarova identifikuje tokom testiranja i da se veliki nedostaci spriječe prilikom ulaska u fazu testiranja.
#11) Testeri moraju Testirati što je prije moguće , bilo na samostalnom ili lokalnom sistemu, tako da kvar ne dođe u kasnijim fazama.
Cijela suština koncepta 'Shift Left' za Testere je da pronađu nedostatke što je prije moguće svim mogućim sredstvima.
Prednosti testiranja Shift Left
The Pristup Shift Left radi na bazi agilnog manifesta i također ima nekoliko prednosti.
To su:
- Pojedinci i interakcije nad procesima i alati.
- Radni softver preko sveobuhvatne dokumentacije.
- Suradnja s klijentima preko pregovora o ugovoru.
- Odgovaranje na promijeniti preko slijedeći plan.
Možemo vidjeti da dok je vrijednost tamo u stavkama na desnoj strani, cijenimo više za stavke na lijevoj strani.
Pa, Shift lijevo je otprilikedonoseći ideju testiranja ranije u procesu, što rezultira boljim i efikasnijim testiranjem i poboljšanjem kvaliteta softvera.
Ukratko, proces testiranja Shift Left je:
- Rano pronalaženje nedostataka čime se smanjuje trošak projekta.
- Kontinuirano testiranje iznova i iznova kako bi se na kraju smanjili nedostaci.
- Za automatizirajte sve i poboljšajte vrijeme izlaska na tržište.
- Usredotočiti se na zahtjeve kupaca i poboljšati korisničko iskustvo.
Zaključak
Koncept 'Shift Left' donio je ogromnu transformaciju za cijelu ulogu 'Testiranja'. Do tada je jedini fokus testiranja bio samo na 'otkrivanju defekata', a sada je cilj 'pomjeranja lijevo' iz perspektive testiranja putovanje od 'ranog otkrivanja kvara do statičkog testiranja' .
Dakle, pomak ulijevo predstavlja veliki skok u softverskoj industriji u metodologiji razvoja softvera prema brzini izlaska na tržište, poboljšanju kvaliteta softvera i smanjenju 'Vremena za izlazak na tržište'.
O autoru: Ovaj članak je napisao član STH tima Gayathri Subrahmanyam. Ona se bavi testiranjem softvera od 90-ih, baš kada je uloga testera uvedena u industriju. Tokom svoje karijere testiranja, uradila je mnogo TMMI procena, radova na industrijalizaciji testiranja i TCOE podešavanja pored rukovanja isporukama testova i