Prófun án QA auðlindar

Er hægt að gera nægjanlegar prófanir á hugbúnaðarforritum með aðeins forriturum og BA og engum QA auðlindum?

Hér eru tveir hugsunarskólar:

Ein er trúin á að allir villur séu skyldir kóða og að ef þú ert með mjög hátt hlutfall af prófaumfjöllun fyrir kóðann þinn, þá ættirðu í rauninni að hafa engar villur. Sem prófunaraðilar vitum við öll að þetta er ekki satt!

Hin trúin er sú að þú gerir nægjanlegar einingarprófanir og gerir einnig samþættingar-, kerfis- og notendaprófanir til notenda til að tryggja að umsókn sé hæf í tilgangi. Þó að þetta virðist ágæt hugmynd, þá er það ekki hagnýtt þar sem verktaki þarf að fá að kóða nýja möguleika!

Báðar þessar skoðanir eru öfgakenndar.

Að prófa eigin kóða getur verið árangursríkt því að sem verktaki veistu hvaða hluti kóðans er flókinn og líklegri til að vera gallalaus, svo þú myndir einbeita þér að því svæði. Einnig vitandi að það er ekki til meira QA, neyðist þú til að skrifa gæðakóða, eins og einn verktaki orðar það



Í mínu fyrsta starfi hafði ég ekki QA. Það var undir mér komið að ganga úr skugga um að minn eigin kóði væri nógu góður áður en ég sendi hann frá mér og sá þáttur skelfdi mig nóg til þess að ég lærði að skrifa gæðakóða (sem þýðir í grundvallaratriðum að þú ert að prófa eigin kóða vandlega og gera þinn eigin QA).

Er prófun hönnuða nóg?

Ég tel að það sé góð ráð til að hvetja hugbúnaðarhönnuði til að taka eignarhald á gæðum eigin kóða, en þegar þú prófar þinn eigin kóða ertu líklegri til að missa af heilum flokki galla.

Þú getur verið mjög árangursríkur við að ná í þær tegundir af villum sem þér dettur í hug en þær eru alltaf auðveldustu villurnar að ná í fyrsta lagi. Prófin sem þú skrifar fyrir sjálfan þig mun aldrei gera gott starf við að ná villum í forsendum þínum um hvað kóðinn ætti að gera, hvers konar aðföng það þarf að takast á við osfrv. Er ekki að byrja á sömu forsendum.

Að vinna sem sjálfvirkni prófanir þýddi að ég þurfti að einbeita mér að því að prófa og kóða bæði samtímis og ég barðist oft! Þegar ég var að kóða prófin vildi ég bara ganga úr skugga um að kóðinn keyrði og láta prófið standast, ég var ekki of mikið að því hvað raunverulegt próf var vegna þess að aðaláherslan mín var á kóðun. Fljótlega áttaði ég mig á því að ég var að gera gagnslausar prófanir sem gáfu ekkert gildi.

Annað mikilvægt atriði sem þarf að hafa í huga er að einingapróf grípur aðeins í villur forritara í kóða, einingapróf greinir ekki bilanir í forritinu, sem þýðir að ef þú ert með 100% kóðaþekju þýðir það ekki gallalaust forrit.

Þó að það sé alltaf nauðsynlegt að prófa eigin kóða í gegnum einingapróf áður en hann er sendur áfram, þá er einnig mikilvægt að hafa þetta annað augnablik á honum frá hegðunarsjónarmiði. Oft erum við of nálægt kóðanum til að geta raunverulega slegið hann almennilega upp og háð honum mjög undarlegum brúnmálum og gott QA fólk er ágætlega fært um að gera það. Að prófa á kerfisstigi af öðrum notendum eins og prófunarmönnum getur oft leitt í ljós mjög áhugaverðar villur.

Einnig snýst þetta ekki bara um virknipróf. Við verðum að hafa áhyggjur og hafa áhyggjur af frammistöðuprófun, öryggisprófun, notagildisprófun osfrv., Sem er krafist ef við viljum gefa út hágæða hugbúnað.

Af hverju þurfum við enn QA?

Prófanir eru stundum álitnir flöskuhálsur við alla afhendingarleiðsluna. Væri ekki svo miklu betra ef allt væri sjálfvirkt án handvirkrar íhlutunar og engir prófanir sem vöktu galla til að stöðva losunina?

Hluti af vandamálinu þegar litið er á prófunarmenn sem flöskuhálsa er vegna skorts á eignarhaldi á gæðum meðal verktaki. Ef allir töldu sannarlega að þeir bæru ábyrgð á gæðum vörunnar (ekki bara kóða) þá vinna verktaki og prófari að sama markmiði.

Prófarar geta parað við forritara til að skrifa betri einingarpróf og verktaki getur hjálpað prófendum við að skrifa sjálfvirkar athuganir og einnig frætt prófendur um arkitektúr forritsins svo þeir geti hannað góðar prófanir til að finna þau svæði sem líklegust eru til að brjóta við kerfisprófun.

Í hugsjón heimi, prófunaraðilar ættu ekki að finna galla, eða að minnsta kosti léttvægir gallar. Þegar til er „lið QA“ sem hefur það hlutverk að finna galla er freistandi fyrir forritara að treysta bara á prófunartæki til að finna alla galla á meðan verktaki einbeitir sér að þróun og kóðun.

Þótt aðgerð Yahoo við að útrýma QA og prófadeildinni hvetur forritara til að taka eignarhald á gæðum vörunnar, þá er það samt ekki nógu gott til að tryggja öfluga vöru. Að því sögðu, jafnvel með hópi prófunarmanna geturðu enn ekki ábyrgst villulausan hugbúnað, en það sem skiptir máli er að sjá til þess að hugbúnaðurinn sé skoðaður frá ýmsum sjónarhornum og frá mismunandi sjónarhornum og það er þar sem raunverulegur ávinningur af því að hafa góð QA virka (öfugt við QA teymið) kemur.

Prófarar geta tryggt að verktaki fylgi bestu gæðatryggingarvenjur og aðstoði við tækni- og viðskiptaprófunarhönnun til að hjálpa við að bera kennsl á mikilvægustu galla áður en hugbúnaður er gefinn út.