Tehnike testiranja softvera s primjerima dizajna testnih slučajeva
⚡ Pametni sažetak
Tehnike testiranja softvera pomažu u dizajniranju boljih testnih slučajeva smanjenjem potreba za izvršavanjem, a istovremeno maksimizirajući pokrivenost, identificirajući neuhvatljive uvjete putem strukturiranih ručnih metoda. Ovi pristupi crne kutije, poput analize graničnih vrijednosti i particioniranja ekvivalencije, daju prioritet granicama i particijama za učinkovitu validaciju. Oni nadopunjuju iscrpna ograničenja testiranja, crpeći iz temeljnih principa kako bi povećali pouzdanost.

Što je tehnika testiranja softvera?
Tehnike testiranja softvera pomažu vam u dizajniranju boljih testnih slučajeva. Budući da iscrpno testiranje nije moguće, tehnike ručnog testiranja pomažu u smanjenju broja testnih slučajeva koji se moraju izvršiti, a istovremeno povećavaju pokrivenost testiranjem. Pomažu u identificiranju testnih uvjeta koje je inače teško prepoznati. Tehnike testiranja softvera mogu se klasificirati u sljedeće vrste:
- Analiza graničnih vrijednosti
- Particioniranje klase ekvivalencije
- Testiranje temeljeno na tablici odluka
- Prijelaz stanja
- Pogreška u pogađanju
👉 Prijavite se za besplatni projekt testiranja softvera uživo
7 principa tehnika testiranja softvera
Tehnike testiranja softvera slijede skup načela za provođenje procesa testiranja. Ovih 7 načela vode testere da učinkovito planiraju, dizajniraju i izvršavaju testove. Ova načela osiguravaju da testiranje ostane svrsishodno, učinkovito i usklađeno s ciljevima projekta.
7 principa tehnika testiranja softvera su Testiranje pokazuje prisutnost nedostataka, Iscrpno testiranje je nemoguće, Rano testiranje štedi vrijeme i troškove, Nedostatak Clustering, paradoks pesticida, testiranje ovisi o kontekstu i zabluda odsutnosti pogrešaka. Možete kliknuti na sljedeće link biste saznali više.
Kako umjetna inteligencija transformira tradicionalne tehnike testiranja softvera?
AI je revolutionizirajuće testiranje softvera uvođenjem automatizacija, predviđanje i prilagodljivost. Omogućuje automatizirano generiranje testnih slučajeva iz prirodnog jezika korištenjem LLM-ova, skripte za samoizlječenje koje se prilagođavaju promjenama korisničkog sučelja i prediktivna analiza nedostataka na temelju povijesnih podataka. Umjetna inteligencija također podržava određivanje prioriteta na temelju rizika, vizualno testiranje, i autonomno izvršavanje testova unutar CI/CD cjevovoda. Kroz sučelja prirodnog jezika, Testeri mogu kreirati slučajeve razgovorom, ubrzavajući tijek rada. U biti, umjetna inteligencija čini testiranje pametniji, brži i otporniji, smanjenje ručnog napora uz istovremeno poboljšanje točnosti i pokrivenosti u modernim, stalno rastućim aplikacijama.
Tehnike testiranja softvera
Analiza graničnih vrijednosti (BVA)
Analiza rubnih vrijednosti temelji se na testiranju na granicama između particija. Uključuje maksimalne, minimalne, unutarnje ili vanjske granice, tipične vrijednosti i vrijednosti pogreške.
Empirijski dokazi pokazuju da se mnogi defekti javljaju blizu graničnih uvjeta, a ne pri srednjim vrijednostima. Također je poznat kao BVA i daje izbor testnih slučajeva koji vježbaju granične vrijednosti.
Ova tehnika testiranja crne kutije nadopunjuje particioniranje ekvivalencije fokusirajući se na rubne slučajeve istih ulaznih raspona. Ova tehnika testiranja softvera temelji se na načelu da ako sustav ispravno radi za granične vrijednosti, vjerojatno će raditi i za sve vrijednosti unutar raspona.
Smjernice za analizu graničnih vrijednosti
- Ako je ulazni uvjet ograničen između vrijednosti x i y, tada bi testni slučajevi trebali biti dizajnirani s vrijednostima x i y, kao i vrijednostima koje su iznad i ispod x i y.
- Ako je ulazni uvjet velik broj vrijednosti, testni slučaj treba razviti tako da se testiraju minimalne i maksimalne vrijednosti. Ovdje se također testiraju vrijednosti iznad i ispod minimalne i maksimalne vrijednosti.
- Primijenite smjernice 1 i 2 na izlazne uvjete. To daje izlaz koji odražava očekivane minimalne i maksimalne vrijednosti. Također testira vrijednosti ispod ili iznad vrijednosti.
Primjer:
Input condition is valid between 1 to 10 Boundary values 0,1,2 and 9,10,11
Particioniranje klase ekvivalencije
Particioniranje klasa ekvivalencije dijeli skup ulaznih uvjeta u grupe za koje se očekuje da će proizvesti slično ponašanje. Ova metoda testiranja softvera dijeli ulaznu domenu programa na klase podataka iz kojih bi se trebali dizajnirati testni slučajevi.
Koncept iza ove tehnike dizajna testnih slučajeva jest da je testni slučaj reprezentativne vrijednosti svake klase jednak testu bilo koje druge vrijednosti iste klase. Omogućuje vam identificiranje valjanih i nevaljanih klasa ekvivalencije.
Primjer:
Uvjeti unosa vrijede između
1 to 10 and 20 to 30
Dakle, postoji pet klasa ekvivalencije
--- to 0 (invalid) 1 to 10 (valid) 11 to 19 (invalid) 20 to 30 (valid) 31 to --- (invalid)
Odaberite vrijednosti iz svake klase, tj.
-2, 3, 15, 25, 45
Također pročitajte više o – Analiza graničnih vrijednosti i testiranje podjele ekvivalencije
Testiranje temeljeno na tablici odluka
Tablica odlučivanja poznata je i kao tablica uzroka i posljedice. Ova tehnika testiranja softvera koristi se za funkcije koje reagiraju na kombinaciju ulaza ili događaja. Na primjer, u scenariju validacije obrasca, gumb 'Pošalji' aktivira se tek nakon što su sva obavezna polja ispunjena.
Prvi zadatak je identificirati funkcionalnosti gdje izlaz ovisi o kombinaciji ulaza. Ako postoji veliki skup ulaznih kombinacija, podijelite ga na manje podskupove, što je korisno za upravljanje tablicom odlučivanja.
Za svaku funkciju potrebno je stvoriti tablicu i popisati sve vrste kombinacija ulaza i njihovih odgovarajućih izlaza. To pomaže u prepoznavanju uvjeta koji je tester previdio.
Slijede koraci za izradu tablice odluka:
- Navedite ulaze u redove
- Unesite sva pravila u stupac
- Popunite tablicu različitim kombinacijama ulaznih podataka
- U zadnjem retku zabilježite izlaz prema ulaznoj kombinaciji.
PrimjerGumb za slanje u kontaktnom obrascu omogućen je samo kada krajnji korisnik unese sve podatke.
Prijelaz stanja
U tehnici promjene stanja, promjene ulaznih uvjeta mijenjaju stanje aplikacije koja se testira (AUT). Ova tehnika testiranja omogućuje testeru testiranje ponašanja AUT-a. Tester može izvršiti ovu radnju unosom različitih ulaznih uvjeta u nizu. U tehnici promjene stanja, tim za testiranje pruža pozitivne i negativne ulazne testne vrijednosti za procjenu ponašanja sustava.
Smjernice za tranziciju stanja:
- Prijelaz stanja trebao bi se koristiti kada tim za testiranje testira aplikaciju za ograničen skup ulaznih vrijednosti.
- Tehnika dizajna testnih slučajeva treba se koristiti kada tim za testiranje želi testirati niz događaja koji se događaju u testiranoj aplikaciji.
Primjer:
U sljedećem primjeru, korisnik se može uspješno prijaviti nakon što unese valjanu lozinku u roku od tri pokušaja. Ako korisnik unese nevažeću lozinku u prvom ili drugom pokušaju, bit će upitan da ponovno unese lozinku. Kada korisnik unese pogrešnu lozinku 3rd vrijeme, radnja se poduzima i račun će biti blokiran.
Dijagram prijelaza stanja
Na ovom dijagramu, kada korisnik unese ispravan PIN broj, prelazi u stanje odobrenog pristupa. Sljedeća tablica je kreirana na temelju gornjeg dijagrama -
Tablica prijelaza stanja
| Ispravan PIN | Neispravan PIN | |
|---|---|---|
| S1) Početak | S5 | S2 |
| S2) 1st pokušaj | S5 | S3 |
| S3) 2nd pokušaj | S5 | S4 |
| S4) 3rd pokušaj | S5 | S6 |
| S5) Pristup odobren | - | - |
| S6) Račun blokiran | - | - |
U gornjoj tablici, kada korisnik unese ispravan PIN, stanje prelazi u Pristup odobren. A ako korisnik unese netočnu lozinku, prelazi u sljedeće stanje. Ako učini isto 3rd vremena, on će doći u stanje blokiranog računa.
Pogreška u pogađanju
Pogreška u pogađanju je tehnika testiranja softvera u kojoj testeri koriste iskustvo i intuiciju kako bi predvidjeli vjerojatne pogreške u kodu. Tehnika se uvelike temelji na iskustvu gdje analitičari testiranja koriste svoje iskustvo kako bi pogodili problematični dio aplikacije za testiranje. Stoga analitičari testiranja moraju biti vješti i iskusni za bolje pogađanje pogrešaka.
Tehnika broji popis mogućih pogrešaka ili situacija sklonih pogreškama. Zatim tester piše testni slučaj kako bi se otkrile te pogreške. Za dizajniranje testnih slučajeva temeljenih na ovoj tehnici testiranja softvera, analitičar može koristiti prošla iskustva za identifikaciju uvjeta.
Smjernice za pogađanje pogrešaka:
- Test treba koristiti prethodno iskustvo testiranja sličnih aplikacija
- Razumijevanje sustava koji se testira
- Poznavanje tipičnih pogrešaka u implementaciji
- Sjetite se prethodno problematičnih područja
- Procijenite povijesne podatke i rezultate testiranja
Prednosti i ograničenja tehnika testiranja
Prednosti:
- Poboljšava pokrivenost testiranjem i osigurava širu validaciju funkcionalnosti softvera.
- Poboljšava otkrivanje nedostataka ciljanjem područja visokog rizika ili sklonih pogreškama.
- Promosustavni dizajn testova, smanjujući redundanciju i preklapanje.
- Pomaže u ranom prepoznavanju problema u SDLC-u, smanjujući ukupne troškove projekta.
- Pojednostavljuje složeno testiranje metodama poput BVA i particioniranja ekvivalencije.
- Povećava pouzdanost softvera i povjerenje dionika u kvalitetu proizvoda.
Ograničenja:
- Nijedna tehnika ne jamči potpuno otkrivanje nedostataka.
- Neke tehnike uvelike ovise o iskustvu i prosudbi testera.
- Može previdjeti probleme s integracijom, upotrebljivošću ili performansama u stvarnom svijetu.
- Vremenska i resursna ograničenja mogu ograničiti temeljitu primjenu.
- Određene metode nude ograničenu podršku za automatizaciju, što smanjuje skalabilnost.
Kako odabrati prave tehnike testiranja?
Odabir pravih tehnika testiranja softvera zahtijeva njihovo usklađivanje sa specifičnostima projekta kako bi se osigurala učinkovitost i pokrivenost. Čimbenici poput modela razvoja, rizika i resursa vode proces odabira. Kao stručnjak za testiranje softvera, uvijek preporučujem kombiniranje više tehnika za optimalne rezultate. To sprječava mogućnost prevelikog oslanjanja na jednu metodu.
- Uskladite s ciljevima: Uskladite tehnike s ciljevima kao što su funkcionalnost, performanse ili sigurnosne potrebe.
- Procijenite rizike: Dajte prioritet područjima visokog rizika metodama temeljenim na riziku za ciljanu validaciju.
- Prilagodite arhitekturu i model: Odlučite se za agilne pristupe u iterativnim ili višeslojnim sustavima.
- Ograničenja ravnoteže: Razmotrite vrijeme, proračun, vještine i alate za izvedivu provedbu.


