Preizkušanje s premikom v levo: skrivna mantra za uspeh programske opreme

Koncept Testiranje programske opreme se je začel uvajati postopoma, ko so napake v proizvodnji začele vplivati na proračun projekta, zato se je "funkcionalno testiranje" začelo izvajati z zelo skromno ekipo testerjev. Takrat smo bili samo dva testerja proti ekipi 20 razvijalcev.

Industrija IT je pri razvoju programske opreme začela slediti modelu slapa, pri katerem, kot vsi vemo, življenjski cikel razvoja programske opreme poteka zaporedno po vrstnem redu .

Če torej začnete z leve proti desni, je faza testiranja skrajno desno v življenjskem ciklu razvoja programske opreme.

Uvod v koncept premikanja v levo

Sčasoma so ljudje spoznali pomen Testiranje programske opreme in vpliv ohranjanja "faze testiranja" na skrajni desni strani ali na koncu življenjskega cikla razvoja programske opreme. Do tega spoznanja je prišlo, ker so bili stroški napake, ugotovljene na skrajni desni strani in na koncu, zelo visoki in je bilo za njihovo odpravo potrebno ogromno truda & amp; preveč časa.

Bili so primeri, ko po porabi toliko časa in truda za programsko opremo zaradi ključnega hrošča, ugotovljenega na koncu, kritične programske opreme ni bilo mogoče dati na trg, kar je povzročilo veliko izgubo.

Zato je bila zaradi ugotovitve napake v zadnji fazi izdaja odložena ali pa je bila programska oprema včasih opuščena, saj je bilo treba vložiti veliko truda v njihovo odpravo, kar pa se ni izplačalo.

"Okvare so manj drage, če so odkrite zgodaj.

To spoznanje in velika lekcija sta prinesla veliko revolucijo v industriji programske opreme in rodila nov koncept, imenovan "Premik v levo , kar pomeni premik "faze testiranja" z desne na levo ali vključevanje testiranja v vsako fazo in vključevanje preizkuševalcev ves čas.

Preizkušanje s premikom v levo pomeni tudi, da ne testiramo na koncu, ampak testiramo neprekinjeno.

Kaj je testiranje s premikom v levo?

Prvič, načelo "premik v levo" podpira zgodnje sodelovanje ekipe za testiranje z vsemi zainteresiranimi stranmi zato lahko jasno razumejo zahteve in oblikujejo testne primere, ki pomagajo programski opremi pri hitrem odpravljanju napak, ekipi pa omogočajo, da vse napake odpravi v najkrajšem možnem času.

Pri pristopu Shift Left ne gre za nič drugega kot za vključitev preizkuševalcev veliko prej v življenjski cikel razvoja programske opreme, kar bi jim omogočilo razumeti zahteve, zasnovo programske opreme, arhitekturo, kodiranje in njeno funkcionalnost, postavljati zahtevna vprašanja strankam, poslovnim analitikom in razvijalcem, zahtevati pojasnila in zagotavljati povratne informacije, kjer koli je to mogoče, da bi podprli ekipo.

S tem sodelovanjem in razumevanjem bodo testerji pridobili popolno znanje o izdelku, razmislili o različnih scenarijih in oblikovali scenarije v realnem času na podlagi obnašanja programske opreme, kar bo ekipi pomagalo pri odkrivanju napak še pred kodiranjem.

Kako premik v levo vpliva na razvoj programske opreme?

Pristop Shift Lift vpliva na razvoj programske opreme na več načinov.

Spodaj je navedenih nekaj ključnih točk o premiku v levo:

  • Pristop Shift Left se osredotoča na vključevanje preizkuševalcev v vse, predvsem pa v kritične faze. programa To testerjem omogoča, da se preusmerijo od odkrivanja napak k njihovemu preprečevanju in da spodbujajo poslovne cilje programa.
  • Pristop premik v levo zagotavlja, velik pomen za testiranje s čimer se vloge in odgovornosti preizkuševalcev močno povečajo.
  • Zaradi povečanja odgovornosti ekipe za testiranje se ta ne osredotoča na "Testiranje programske opreme za odkrivanje napak , vendar proaktivno sodeluje z ekipo že v začetnih fazah pri načrtovanju in oblikovanju zanesljive in učinkovite strategije testiranja, pri čemer ekipi zagotavlja odlično vodenje testiranja in usmerjanje, pri čemer se osredotoča na dolgoročno vizijo izdelka in ne prevzema le odgovornosti za testiranje.
  • Pristop s premikom v levo omogoča možnost, da testerji najprej oblikujejo teste. , kjer so testi v celoti osredotočeni na izkušnje strank in njihova pričakovanja, kar bo razvijalcem omogočilo razvoj programske opreme na podlagi teh testov in s tem izpolnitev potreb strank.
  • Pristop Shift Left se ne konča samo pri testerjih. Premik v let in neprekinjeno izvajanje dejavnosti testiranja bo prav tako omogočiti razvijalcem, da prevzamejo večjo odgovornost. njihove kode in povečati njihovo odgovornost za testiranje.
  • Pristop "premik v levo" spodbuja tudi Testerji naj sprejmejo na vedenju temelječ razvoj BDD in na testiranju temelječ razvoj TDD , kar pomaga preprečiti vnos napake v programsko opremo.
  • Preizkušanje s premikom v levo v agilnem okolju: Pristop Shift Left podpira oblikovanje Ekipe Agile Scrum, ki obvezno vključujejo testerje skupaj z drugimi vlogami in vključuje testerje v redne pogovore, druge interakcije, sestanke za pregled, zaradi česar imajo testerji več informacij, povezanih s programom, kar jim je omogočilo, da se prepustijo in vključijo v podrobno analizo programske opreme in zagotovijo hitre povratne informacije, ki bi pomagale pri preprečevanju napak, utemeljenih v programski opremi.

Splošno testiranje Shift Left zahteva, da testerji "Vključite se zgodaj , čim prej vključite v razpravo in sodelujte pri idejah, zahtevah v vsaki fazi, kjer izid faze vpliva na vrednost končnega izdelka, ter pomagajte projektu vnaprej prepoznati tveganja in jih ublažiti.

Kaj naj testerji počnejo drugače v programu Shift Left?

V nadaljevanju je navedenih nekaj ključnih dejavnikov, na katere je treba opozoriti, kaj testerji počnejo drugače pri Strategija premika v levo:

#1) Testna ekipa mora vključitev v sistem že na začetku projekta. da bi razvili integracijo s preostalo ekipo in podjetjem, da bi zagotoviti koristne prispevke na vseh stopnjah. razvoja programske opreme.

#2) Testna ekipa mora sodelovati z ekipo za poslovanje in operacije ter pridobiti jasnost o programu. in zagotavljajo jasen pregled nad povpraševanjem ter pomagajo pri učinkovitem načrtovanju potreb po povečanju števila virov, potreb po usposabljanju in zahtev po orodjih za testiranje programa veliko vnaprej.

#3) Ekipe za testiranje morajo že na začetku razvoja programske opreme sodelovati z vsemi poslovnimi deležniki, da bi jasna vidljivost izdelka & oblikovanje enotne strategije testiranja. in načrtovanje optimiziranega testiranja, analiziranje odvisnosti od testnih okolij, tretjih oseb, podstavkov itd. ter priprava zanesljive strategije in okvira za avtomatizacijo ter vzpostavitev učinkovitega načrta za upravljanje testnih podatkov.

#4) Testna ekipa mora sodelovati s preostalo ekipo pri zagotavljanju odlično vodenje testov in usmerjanje ekipe pri tem je treba upoštevati dolgoročno vizijo izdelka in ne le prevzeti odgovornost za dejavnosti testiranja.

#5) Zahteve so ključ in osnova za uspeh vsakega programa, dobro opredeljene zahteve pa določajo uspeh projekta. V fazi načrtovanja zahtev preizkuševalci pregledati in analizirati zahteve. za morebitne nejasnosti, boljšo jasnost, popolnost, testabilnost, opredelitev meril sprejemljivosti itd.

Prav tako je treba opredeliti manjkajoče zahteve (če obstajajo) ter razumeti odvisnosti in strategije izvajanja. Jasne zahteve pomagajo programski opremi, da "hitro odpove" in čim prej odpravi vse napake.

#6) Zahteve so dovolj jasne in natančne, tako da poudarite resnični primeri ki ponazarjajo uporabljene funkcije.

#7) Testerji morajo udeležba na sestankih za pregled načrtovanja. Redno in razumljivo oblikovanje in arhitekturo izdelka ter ugotavljanje napak v oblikovanju, predlaganje alternativnih možnosti oblikovanja, ugotavljanje vrzeli in ustrezno ustvarjanje testnih scenarijev za prekinitev oblikovanja.

#8) Testerji morajo izvajanje statičnega testiranja (pregledi) vnaprej in zagotovite povratne informacije o ključnih projektnih dokumentih, da se prepreči, da bi se napake ukoreninile v programski opremi in pozneje povečale njen učinek.

#9) Testna skupina mora sodelovati z oblikovalsko in razvojno skupino. vnaprejšnje zagotavljanje testnih scenarijev za razvoj kode in obravnavajo vse možne scenarije in poslovne tokove v realnem času.

#10) Testna ekipa mora zasnovati močni in zanesljivi testni scenariji. tako da se med testiranjem odkrije le nekaj napak, večje napake pa se preprečijo že v fazi testiranja.

#11) Testerji morajo Čim prej testirajte , bodisi v samostojnem ali lokalnem sistemu, da se napaka ne bi pojavila v poznejših fazah.

Bistvo koncepta "Shift Left" za preizkuševalce je, da na vse možne načine čim prej odkrijejo napake.

Prednosti testiranja Shift Left

Pristop Shift Left deluje na podlagi manifesta agilnosti in ima tudi več prednosti.

To so:

  • Posamezniki in interakcije nad procesi in orodji.
  • Delovna programska oprema nad izčrpno dokumentacijo.
  • Sodelovanje s strankami nad pogajanji o pogodbah.
  • Odzivanje na spremembe nad upoštevanjem načrta.

Vidimo lahko, da so predmeti na desni strani sicer vredni več, vendar so nam bolj pomembni predmeti na levi strani.

Namen programa Shift Left je, da idejo o testiranju prenesemo v zgodnejši del procesa, s čimer dosežemo boljše in učinkovitejše testiranje ter izboljšamo kakovost programske opreme.

Na kratko je postopek testiranja Shift Left naslednji:

  • zgodnje odkrivanje napak in s tem zmanjšanje stroškov projekta.
  • Nenehno testiranje vedno znova, da bi na koncu zmanjšali število napak.
  • Vse avtomatizirati in izboljšati čas za vstop na trg.
  • Osredotočanje na zahteve strank in izboljšanje njihove izkušnje.

Zaključek

"Premik v levo Do takrat je bilo testiranje osredotočeno le na "odkrivanje napak", zdaj pa je cilj "premika v levo" z vidika testiranja pot "Od zgodnjega odkrivanja napak do statičnega testiranja .

Tako je Shift Left velik preskok v industriji programske opreme na področju metodologije razvoja programske opreme, ki omogoča hitrejši dostop do trga, izboljšanje kakovosti programske opreme in skrajšanje "časa do začetka trženja".

O avtorju: Ta članek je napisal član ekipe STH Gayathri Subrahmanyam. S testiranjem programske opreme se ukvarja že od 90. let prejšnjega stoletja, ko se je v industriji pojavila vloga testerja. V svoji karieri je opravila veliko ocen TMMI, testne industrializacije in nastavitev TCOE, poleg tega pa je opravljala testne dobave in izvajala prakse DevOps za velik projekt. Toda po njenih besedah se učenje nikoli ne konča...

V spodnjem razdelku s komentarji nam sporočite svoje mnenje/nasvete.

PREV Tutorial

Priporočeno branje

    Pomakni se na vrh