7 principa testiranja softvera s primjerima
7 principa testiranja softvera
1) Iscrpno testiranje nije moguće
2) Kvar Clustering.
3) Paradoks pesticida
4) Testiranje pokazuje prisutnost nedostataka
5) Odsutnost pogreške – zabluda
6) Rano testiranje
7) Testiranje ovisi o kontekstu
Naučimo sljedeće principe testiranja video primjer-
Kliknite ovdje ako video nije dostupan
pozadina
Važno je da tijekom testiranja softvera postignete optimalne rezultate testiranja bez odstupanja od cilja. Ali kako utvrditi da slijedite pravu strategiju za testiranje? Za to se morate pridržavati nekih osnovnih načela testiranja. Evo sedam zajedničkih načela testiranja koja se naširoko prakticiraju 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šavam premjestiti datoteku dok je otvorena
- Nemate sigurnosna prava za lijepljenje datoteke u mapu B
- Mapa B je na zajedničkom disku i kapacitet za pohranu je pun.
- Mapa B već ima datoteku s istim nazivom, zapravo, popis je beskrajan
- 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
Kad biste testirali sve moguće kombinacije projekta, VRIJEME IZVRŠENJA I TROŠKOVI bi eksponencijalno porasli. Potrebni su nam određeni principi i strategije za optimizaciju testiranja
Evo 7 načela:
1) Iscrpno testiranje nije moguće
Da! Iscrpno testiranje nije moguće. Umjesto toga, potrebna nam je optimalna količina testiranja na temelju procjene rizika aplikacije.
A pitanje od milijun dolara je, kako odrediti ovaj rizik?
Kako bismo odgovorili na ovo, napravimo vježbu
Po vašem mišljenju, koja će operacija najvjerojatnije uzrokovati vaš Operakvar sustava?
Siguran sam da bi većina vas pogodila, otvaranje 10 različitih aplikacija u isto vrijeme.
Pa ako ste ovo testirali Operasustavom, shvatili biste da se nedostaci vjerojatno mogu naći u višezadaćnim aktivnostima i da ih je potrebno temeljito testirati, što nas dovodi do našeg sljedećeg načela Mana Clustering.
2) Kvar Clustering.
Mana Clustering koji navodi da mali broj modula sadrži većinu otkrivenih nedostataka. Ovo je primjena Paretovog načela na testiranje softvera: približno 80% problema nalazi se u 20% modula.
Iskustvom možete identificirati takve rizične module. Ali ovaj pristup ima svoje probleme
Ako se isti testovi ponavljaju iznova i iznova, na kraju isti testovi više neće pronalaziti nove greške.
3) Paradoks pesticida
Uzastopna uporaba iste mješavine pesticida za iskorjenjivanje insekata tijekom uzgoja s vremenom će dovesti do toga da kukci razviju otpornost na pesticide, što znači da su pesticidi neučinkoviti na insekte. Isto vrijedi i za testiranje softvera. Ako se provede isti niz ponovljenih testova, metoda će biti beskorisna za otkrivanje novih nedostataka.
Kako bi se to prevladalo, testne slučajeve treba redovito pregledavati i revidirati, dodajući nove i različite testne slučajeve kako bi se pronašlo više nedostataka.
Testeri se ne mogu jednostavno osloniti na postojeće tehnike testiranja. Mora stalno paziti na poboljšanje postojećih metoda kako bi testiranje bilo učinkovitije. Ali čak i nakon svog ovog znoja i napornog rada u testiranju, nikada ne možete tvrditi da je vaš proizvod bez grešaka. Da bismo potvrdili ovu točku, pogledajmo ovaj video javnog predstavljanja Windows 98
Mislite da tvrtka poput MICROSOFT-a ne bi temeljito testirala svoj OS i riskirala bi svoju reputaciju samo da vidi kako im se OS ruši tijekom javnog predstavljanja!
4) Testiranje pokazuje prisutnost nedostataka
Dakle, princip testiranja kaže da – Testiranje govori o prisutnosti nedostataka, a ne govori o odsutnosti nedostataka. tj Testiranje softvera smanjuje vjerojatnost da u softveru ostanu neotkriveni nedostaci, ali čak i ako se nedostaci ne pronađu, to nije dokaz ispravnosti.
Ali što ako, naporno radite, poduzimate sve mjere opreza i učinite svoj softverski proizvod 99% bez grešaka. A softver ne zadovoljava potrebe i zahtjeve klijenata.
To nas vodi do našeg sljedećeg načela, koje glasi: Odsutnost pogreške
5) Odsutnost pogreške – zabluda
Moguće je da je softver koji je 99% bez grešaka još uvijek 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 provjera zadovoljava li softver poslovne potrebe. Odsutnost greške je zabluda, tj. pronalaženje i popravljanje nedostataka ne pomaže ako je građeni sustav neupotrebljiv i ne ispunjava potrebe i zahtjeve korisnika.
Da bi se riješio ovaj problem, sljedeći princip testiranja glasi da je rano testiranje
6) Rano testiranje
Rano testiranje – testiranje treba 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 početi s testiranjem? Preporuča se da počnete pronalaziti grešku čim se definiraju zahtjevi. Više o ovom principu u kasnijem vodiču za obuku.
7) Testiranje ovisi o kontekstu
Testiranje ovisi o kontekstu, što u osnovi znači da će se način na koji testirate web-mjesto e-trgovine razlikovati od načina na koji testirate komercijalnu gotovu aplikaciju. Svi razvijeni softveri nisu identični. Možete koristiti različite pristupe, metodologije, tehnike i vrste testiranja ovisno o vrsti aplikacije. Na primjer, testiranje bilo kojeg POS sustava u maloprodajnoj trgovini razlikovat će se od testiranja bankomata.
Mit: “Principi služe samo kao referenca. Neću ih koristiti u praksi.”
Ovo je tako neistinito. Test Principles pomoći će vam da stvorite učinkovit Strategija testiranja i nacrti testnih slučajeva za otkrivanje pogrešaka.
Ali učenje principa testiranja je isto kao učenje vožnje po prvi put.
U početku, dok učite voziti, obraćate pažnju na sve i svašta kao što su mijenjanje brzina, brzina, rukovanje spojkom, itd. Ali s iskustvom, usredotočite se samo na vožnju, ostalo dolazi samo po sebi. Takav da čak i razgovarate s drugim putnicima u automobilu.
Isto vrijedi i za principe testiranja. Iskusni testeri su usvojili ove principe do te razine da ih primjenjuju čak i bez razmišljanja. Stoga mit da se načela ne koriste u praksi jednostavno nije istinit.