HEKLANJE

Automatizirano testiranje web stranice

TEMU APP 100 E KUPON

Upravo ste završili izradu web stranice svoje tvrtke. Sami ste ga testirali i dali ste ga testirati drugim zaposlenicima tvrtke. Web stranica sada radi. Nekoliko tjedana kasnije počinjete dobivati e-poštu od bijesnih kupaca koji se žale da ne mogu naručiti jer određeni koraci u procesu “Kupi odmah” daju pogreške. Brzo rješavate problem. Nekoliko dana kasnije dobivate pritužbe o nekom drugom problemu i opet brzo reagirate kako biste popravili web stranicu. To traje nekoliko mjeseci dok pritužbe konačno ne prestanu i stvari se stabiliziraju. U ovom trenutku napravite neka poboljšanja na svojoj web stranici. Nekoliko dana kasnije korisnikova e-pošta upozorava vas na činjenicu da ste u procesu izrade ovog poboljšanja “pokvarili” još nešto na web stranici. Opet trošite vrijeme da pronađete i riješite problem, ali do sada ste zbunjeni i nemalo frustrirani. Ti su vas problemi koštali mnogo kupaca u posljednjih nekoliko mjeseci i potencijalno su izazvali zlovolju u široj zajednici kupaca. Čini vam se da je jedini način da se otkriju ti problemi prije nego što su “zaživjeli” bio da ste zaposlili veliku vojsku testera softvera, nešto što si vaša tvrtka ne može priuštiti.

Unesite automatizirano testiranje softvera. Iako ništa ne može zamijeniti dobre ljudske testere, široka pokrivenost testom zahtijeva određeni stupanj softverske automatizacije da bi bila ekonomski izvediva. Automatizirani alati za testiranje mogu pružiti veliki multiplikator radne snage i vrlo dobro obavljati posao hvaleći ljudske testere. Svaka promjena na vašoj web stranici, koliko god mala bila, zahtijeva temeljito testiranje kako bi se osiguralo da ništa drugo nije pogođeno. To vrlo brzo postaje dugotrajno zbog velikog broja mogućih slučajeva za testiranje. Strategija prema kojoj se testovi automatiziraju pomoću softvera postaje ekonomska nužnost.



Postoje dvije klase alata za automatsko testiranje. Prva vrsta, alati za funkcionalno i regresijsko testiranje, pomažu osigurati da se web stranica ponaša kako treba: na primjer, ako korisnik klikne gumb X, stranica Y se prikazuje bez pogrešaka. Alati za funkcionalno i regresijsko testiranje mogu automatizirati veliki broj scenarija kako bi osigurali da vaša web stranica radi kako je predviđeno. Druga vrsta, alati za testiranje opterećenja mjere koliko dobro vaše web mjesto radi kada je podvrgnuto velikom stresu, kao što je veliki broj istodobnih korisnika. O testiranju opterećenja raspravljat ću u zasebnom članku.

Sada ću vam dati pregled osnovnih karakteristika funkcionalnog testiranja. Prije nego što počnete s bilo kakvom automatizacijom funkcionalnog testiranja, morat ćete identificirati testne scenarije koje želite automatizirati. Kada to učinite, morat ćete generirati testne skripte koje pokrivaju te scenarije.

Alat za funkcionalno testiranje obično će bilježiti interakcije korisnika s web-mjestom. Dok izvodite razne operacije na svojoj web stranici ili aplikaciji, alat bilježi svaki korak. Kada završite sa snimanjem, generira automatiziranu skriptu iz vaših interakcija s vašim web mjestom. Alternativno, možete koristiti alat za izradu skripte ručno. Testeri obično rade kombinaciju to dvoje. Oni će koristiti snimač za generiranje osnovnog okvira svojih skripti, a zatim će ručno podešavati skripte kako bi uključili posebne slučajeve.

Skripte mogu biti grafičke i/ili tekstualne. Dobar alat za funkcionalno testiranje ne zahtijeva od korisnika programersko iskustvo. Korisnici koji nisu vješti u programiranju uglavnom će raditi s grafičkim skriptama. U većini alata grafičke skripte obično prikazuju sve interakcije u strukturi stabla i korisnici mogu uređivati bilo koji čvor stabla kako bi izmijenili skriptu. Međutim, neki korisnici koji imaju iskustvo u programiranju možda će htjeti programirati svoje skripte. Ti će korisnici obično raditi s tekstualnom skriptom napisanom na standardnom jeziku kao što je JavaScript ili VBScript.

Nakon što ste generirali svoju skriptu, morat ćete umetnuti provjere u svoje skripte kako biste provjerili radi li vaša web stranica ispravno. Takve se provjere obično nazivaju kontrolnim točkama. Kontrolna točka provjerava odgovaraju li vrijednosti svojstva dobivene testiranjem web stranice očekivanim vrijednostima. Kontrolne točke omogućuju postavljanje kriterija za usporedbu očekivanih vrijednosti s dobivenim vrijednostima. Očekivana vrijednost svojstva proizlazi iz bilježenja interakcija s web mjestom. Pregledava se i mijenja s kontrolnih točaka. Trenutna vrijednost se dohvaća tijekom ponavljanja (tj. tijekom izvođenja testnog slučaja).

Postoji mnogo različitih vrsta kontrolnih točaka. Kontrolna točka stranice provjerava izvor stranice ili okvira kao i njihova statistička svojstva. Možete provjeriti neispravne veze, provjeriti URL-ove veza, izvore slika, hijerarhiju HTML oznaka ili čak cijeli HTML izvor web stranice ili okvira. Također možete postaviti pragove za vrijeme učitavanja stranice. Kontrolna točka teksta provjerava je li dati tekst prikazan ili nije prikazan u određenom području na web stranici. Kontrolna točka web-objekta provjerava svojstva web-objekta, npr. vrijednost polja HTML INPUT. Kontrolna točka baze podataka provjerava sadržaj baze podataka koju koristi vaše web mjesto.

Kada ponovno reproducirate testnu skriptu, alat za testiranje otvorit će snimljenu aplikaciju i izvesti snimljene korake istim redoslijedom kojim su navedeni u skripti. Dok ponavlja skriptu, također će prolaziti kroz sve kontrolne točke koje ste umetnuli u skriptu. Osim toga, možete testirati ponašanje svoje aplikacije s različitim unosima podataka. Na primjer, možete pokušati poslati stranicu nakon unosa različitih vrijednosti u okvir za uređivanje web stranice. Na kraju reprize obično se generira detaljno izvješće.



Automatizacija funkcionalnog testiranja omogućuje vam automatiziranje ponovljenog testiranja velikog broja scenarija na vašoj web stranici. Alati za funkcionalno testiranje važno su oružje u vašem razvojnom arsenalu čija upotreba daje veliku produktivnost i omogućuje malim grupama za testiranje da obave znatno više posla. Postoji vrlo jak ekonomski razlog za korištenje alata za funkcionalno testiranje kao dijela ciklusa razvoja i postavljanja web stranice.