Vodič za osiguranje kvalitete softvera

Osiguranje kvalitete

Osiguranje kvalitete (obično poznato kao QA) je način na koji se proizvod u razvoju provjerava radi li kako treba. Stvarne metode koje se koriste u procesima osiguranja kvalitete jako se razlikuju ovisno o veličini i prirodi proizvoda.

Za osobni projekt vjerojatno ćete samo testirati, tražeći od drugih da daju povratne informacije u odgovarajućim fazama. Suprotno tome, bankarska aplikacija mora imati sve aspekte svake značajke iscrpno provjerene i dokumentirane kako bi se osiguralo da je i funkcionalna i sigurna.

Bez obzira na to koliko je postupak osiguranja kvalitete formalni ili detaljan, njegov je cilj identificirati programske pogreške kako bi se mogle riješiti prije nego što proizvod bude pušten u prodaju.

Metodologije

Okretan

U agilnom pristupu razvoju, cilj je da svaki ciklus rada ('sprint') proizvodi radni softver koji se može iterativno dodavati i poboljšavati. To QA procese čini nužnim dijelom razvojnog ciklusa.

Testiranjem softverskih komponenti u svakoj fazi njihove proizvodnje smanjujete rizik od prisutnosti bugova pri izdavanju.

Terminologija

Ispitivanje automatizacije

Testiranje izvedeno s unaprijed napisanim skriptama dizajniranim za kontrolu izvršavanja testova.

Crna kutija

Ovi testovi ne gledaju unutar testiranog sustava, već ga tretiraju kao 'zatvorenog' na isti način na koji će ga doživjeti krajnji korisnik.

Mana

Svako odstupanje od specifikacija aplikacije; često nazivan "bugom".

Istraživačko ispitivanje

Nepisani pristup testiranju koji se oslanja na jedinstvenu kreativnost testera u nastojanju da pronađe nepoznate greške i identificira regresije.

Ispitivanje integracije

Testiranje pojedinačnih komponenata / modula zajedno kako bi se osiguralo njihovo međusobno povezivanje i dobra interakcija.

Ispitivanje negativnog puta

Scenarij testiranja dizajniran za stvaranje stanja pogreške u značajci / aplikaciji i provjeru da li se pogreškom rukuje na istančan način. Primjer za to je unos niza brojeva u polje e-pošte u obrazac za registraciju korisnika i provjeravanje da registracija nije prihvaćena dok se ne navede stvarna adresa e-pošte.

Ispitivanje regresije

Testiranje provedeno na novoj verziji kako bi se osiguralo da nova funkcionalnost nenamjerno nije pokvarila prethodno testiranu funkcionalnost.

Ispitivanja dima

Minimalistički pristup testiranju čiji je cilj osigurati da osnovna funkcionalnost funkcionira prije nego što se održe dublja testiranja. Tipično se događa na početku postupka ispitivanja.

Test slučaj

Navedeni preduvjeti, koraci i očekivani rezultati na koje se poziva QA ispitivač / inženjer kako bi utvrdio izvršava li značajka svoj zadatak prema očekivanjima.

Bijela kutija

Odnosi se na testove izvedene na strukturnoj razini unutar baze kodova. Programeri koji provjeravaju jesu li ulazi i izlazi određenih funkcija ili komponenata testiranje bijele kutije.

Također poznat kao "staklena kutija", "prozirna kutija", "prozirna kutija" jer ispitivač može "vidjeti unutra" testirani sustav.

Glavne kategorije su

  • Jedinstveni testovi (pojedine jedinice koda rade ono što trebaju)
  • Integracijski testovi (jedinice / komponente pravilno međusobno komuniciraju)
  • Regresijski testovi (ponovna primjena testova u kasnijim fazama razvoja kako bi se osiguralo da i dalje rade)

Tri su glavne tehnike:

  • Ekvivalencijsko particioniranje (testirane ulazne vrijednosti reprezentativne su za veće skupove ulaznih podataka)
  • Analiza granične vrijednosti (sustav se ispituje s odabranim ulazima gdje se ponašanje i stoga izlaz trebaju mijenjati)
  • Uzročno-posljedični grafikon (testovi su dizajnirani iz vizualizacije odnosa ulaz-izlaz)

Ostali izvori

  • Kako napisati QA dokumentaciju koja stvarno radi
  • Test Driven Development
  • Jedinstveni testovi