7 principa testiranja softvera: naučite na primjerima

Sadržaj:

Anonim

Ovaj tutorial predstavlja sedam osnovnih principa testiranja softvera koje bi svaki ispitivač softvera i stručnjak za kontrolu kvalitete trebao znati.

7 principa testiranja softvera

  • Ispitivanje pokazuje prisutnost nedostataka
  • Iscrpno ispitivanje nije moguće
  • Rano testiranje
  • Grupiranje nedostataka
  • Paradoks pesticida
  • Testiranje ovisi o kontekstu
  • Odsutnost zabluda pogrešaka

Naučimo principe testiranja sa sljedećim video primjerom -

Kliknite ovdje ako videozapis nije dostupan

Pozadina

Važno je postići optimalne rezultate ispitivanja tijekom provođenja softverskog testiranja bez odstupanja od cilja. Ali kako utvrditi da slijedite pravu strategiju za testiranje? Za to se morate držati nekih osnovnih principa ispitivanja. Evo uobičajenih sedam principa testiranja koji se široko primjenjuju u softverskoj industriji.

Da biste to razumjeli, razmotrite scenarij u kojem premještate datoteku iz mape A u mapu B.

Razmislite o svim mogućim načinima na koje to možete testirati.

Osim uobičajenih scenarija, možete testirati i sljedeće uvjete

  • Pokušaj premještanja datoteke kada je otvorena
  • Nemate sigurnosna prava za lijepljenje datoteke u mapu B
  • Mapa B je na zajedničkom pogonu i kapacitet pohrane je pun.
  • Mapa B već ima datoteku s istim imenom, zapravo je lista beskrajna
  • Ili pretpostavimo da imate 15 polja za unos za testiranje, od kojih svako ima 5 mogućih vrijednosti, broj kombinacija koje treba testirati bio bi 5 15

Ako biste testirali sve moguće kombinacije, projekt VRIJEME I TROŠKOVI IZVRŠENJA eksponencijalno bi se povećali. Potrebni su nam određeni principi i strategije kako bismo optimizirali napor testiranja

Evo 7 principa:

1) Iscrpno ispitivanje nije moguće

Da! Iscrpno ispitivanje nije moguće. Umjesto toga, potreban nam je optimalan iznos ispitivanja na temelju procjene rizika aplikacije.

Pitanje od milijun dolara je, kako utvrđujete taj rizik?

Da bismo odgovorili na ovo, napravimo vježbu

Prema vašem mišljenju, koja operacija najvjerojatnije uzrokuje neuspjeh vašeg operativnog sustava?

Siguran sam da bi većina vas pogodila, otvorivši istovremeno 10 različitih aplikacija.

Dakle, ako ste testirali ovaj operativni sustav, shvatili biste da će se nedostaci vjerojatno nalaziti u višezadaćnoj aktivnosti i da ih treba temeljito testirati, što nas dovodi do našeg sljedećeg principa Grupiranje nedostataka

2) Grupiranje nedostataka

Klasteriranje nedostataka koji navodi da mali broj modula sadrži većinu otkrivenih nedostataka. Ovo je primjena Pareto principa na testiranje softvera: približno 80% problema nalazi se u 20% modula.

Prema iskustvu možete prepoznati takve rizične module. Ali ovaj pristup ima svojih problema

Ako se isti testovi ponavljaju iznova i iznova, na kraju isti testovi više neće pronaći nove greške.

3) Paradoks pesticida

Ponavljajuća uporaba iste mješavine pesticida za iskorjenjivanje insekata tijekom uzgoja s vremenom će dovesti do toga da kukci razviju otpornost na pesticid. Time neučinkoviti pesticidi na insekte. Isto se odnosi i na testiranje softvera. Ako se provode isti skupovi ponavljajućih testova, metoda će biti beskorisna za otkrivanje novih nedostataka.

Da bi se to prevladalo, test slučajeve treba redovito pregledavati i revidirati, dodajući nove i različite test slučajeve kako bi se pronašlo više nedostataka.

Ispitivači ne mogu jednostavno ovisiti o postojećim ispitnim tehnikama. Mora neprestano paziti na poboljšanje postojećih metoda kako bi testiranje bilo učinkovitije. Ali čak i nakon tolikog znoja i napornog rada na testiranju, nikada ne možete tvrditi da vaš proizvod ne sadrži greške. Da se vratimo kući do ove točke, pogledajmo ovaj video o javnom pokretanju sustava Windows 98

Mislite da tvrtka poput MICROSOFT-a ne bi temeljito testirala svoj OS i riskirala bi svoju reputaciju samo kad bi vidjela kako im se OS ruši tijekom javnog pokretanja!

4) Ispitivanje pokazuje prisutnost nedostataka

Dakle, načelo ispitivanja kaže da - testiranje govori o prisutnosti nedostataka, a ne o nedostatku nedostataka. tj. Testiranje softvera smanjuje vjerojatnost neotkrivenih nedostataka koji ostaju u softveru, ali čak i ako se ne pronađu nedostaci, to nije dokaz ispravnosti.

Ali što ako radite dodatno naporno, poduzimajući sve mjere predostrožnosti i učinite da vaš softverski proizvod bude 99% bez grešaka. A softver ne zadovoljava potrebe i zahtjeve klijenata.

To nas vodi do našeg sljedećeg principa, koji kaže da - Odsutnost pogreške

5) Odsutnost pogreške - zabluda

Moguće je da je softver koji sadrži 99% grešaka i dalje neupotrebljiv. To može biti slučaj ako se sustav temeljito testira na pogrešan zahtjev. Testiranje softvera nije puko pronalaženje nedostataka, već i provjeravanje da li softver odgovara poslovnim potrebama. Odsutnost pogreške je zabluda, tj. Pronalaženje i popravljanje nedostataka ne pomaže ako je izrada sustava neupotrebljiva i ne ispunjava potrebe i zahtjeve korisnika.

Da bi se riješio ovaj problem, sljedeći princip testiranja navodi da Rano testiranje

6) Rano testiranje

Rano testiranje - testiranje bi trebalo započeti što je ranije moguće u životnom ciklusu razvoja softvera. Tako da se svi nedostaci u zahtjevima ili fazi projektiranja uhvate u ranim fazama. Mnogo je jeftinije popraviti kvar u ranim fazama testiranja. Ali koliko rano treba započeti testiranje? Preporučuje se da počnete s pronalaženjem programske pogreške onog trenutka kada se definiraju zahtjevi. O ovom principu više u kasnijem tutorialu.

7) Testiranje ovisi o kontekstu

Testiranje ovisi o kontekstu, što u osnovi znači da će se način testiranja web mjesta e-trgovine razlikovati od načina na koji testirate reklamu s police. Svi razvijeni softveri nisu identični. Možete koristiti drugačiji pristup, metodologije, tehnike i vrste testiranja, ovisno o vrsti aplikacije. Na primjer, testiranje, bilo koji POS sustav u maloprodajnoj trgovini bit će drugačiji od testiranja bankomata.

Mit: "Principi su samo za referencu. Neću ih koristiti u praksi."

To je tako vrlo neistina. Principi testiranja pomoći će vam da stvorite učinkovitu strategiju testiranja i izradite test slučajeva za hvatanje pogrešaka.

Ali učenje principa testiranja jednako je kao da prvi put učite voziti.

U početku, dok učite voziti, obraćate pažnju na sve, poput promjena stupnja prijenosa, brzine, upravljanja spojkom itd. Ali s iskustvom, samo se usredotočite na vožnju, a sve ostalo dolazi prirodno. Takav da čak i u automobilu održavate razgovore s drugim putnicima.

Isto vrijedi i za principe ispitivanja. Iskusni testeri internalizirali su ove principe do razine da ih primjenjuju čak i bez razmišljanja. Stoga mit da se načela ne koriste u praksi jednostavno nije istinit.