Kje začeti s preizkusno avtomatizacijo obstoječega spletnega mesta?

Andrew vpraša:

Pred kratkim sem se pridružil spletnemu podjetju kot njihov prvi član QA. Spletno mesto je bilo razvito v zadnjih petih letih, v tem času pa so testiranje izvajali razvijalci in drugi člani ekipe.

Uradnega preverjanja kakovosti ali postopka testiranja ni, zato so bila vsa testiranja v glavnem priložnostna.


Zdaj moj upravitelj, ki je zadolžen za dobavo programske opreme, želi, da ustvarim avtomatiziran paket za regresijsko testiranje, ki ga bo ekipa lahko izvedla vsakič, ko razvije nove funkcije.

Moje vprašanje je: kje naj začnem s testno avtomatizacijo za izdelavo tega regresijskega paketa za spletno mesto, ki deluje že več kot pet let?


Vse ideje / predlogi bi bili zelo hvaležni.

Moj odgovor:

Ko spletno mesto že vrsto let deluje in služi strankam v živo, je v zrelem stanju. Zrelo mislim, da v sistemu (upam) ni očitnih resnih napak in če sploh, bodo to subtilne ali obrobne težave, ki jih vsi ne morejo zlahka opaziti.

Kaj mi ne bi smel do, je poskusiti napisati teste za nazaj za vse zgodbe, ki so že bile razvite in so postale del sistema. Vendar si želimo nekaj ključnih scenarijev, ki sistem izvajajo od konca do konca, da bi zagotovili, da prihodnji razvoj ne bo ogrozil obstoječe funkcionalnosti.


V spodnjih korakih je nekaj smernic, ki jih je mogoče uporabiti za obstoječe in že uveljavljeno spletno mesto, da bi našli ključne scenarije in način njihove razširitve za ustvarjanje funkcionalnega regresijskega paketa.

Sorodno:

1. Raziščite

Najprej se morate seznaniti s spletnim mestom in njegovimi lastnostmi. Začnite z raziskovanjem spletnega mesta in se naučite njegovega vedenja. Med tem lahko ustvarite tudi miselno strukturo spletnega mesta, katere strani obstajajo in katere funkcije so na vsaki strani.

Zemljevidi uma so odličen način za posnetek in pregled celotne spletne strani na visoki ravni. Vedno se lahko obrnemo na miselne zemljevide, da bi razumeli, kako so strani povezane.


2. Zberite meritve

Zberite meritve uporabe spletnega mesta od skupine za trženje in / ali analitiko. Večina podjetij na svoje spletno mesto vgradi »sledilne oznake«, kot je Google Analytics, da lahko spremlja, kako uporabniki to spletno mesto uporabljajo. Obstaja veliko informacij o vedenju uporabnika in pogostih potovanja uporabnikov ki jih je mogoče pridobiti iz teh sistemov za sledenje.

Razlog, zakaj moramo zbrati te informacije, je ta, da lahko najprej določimo, katere testne scenarije najprej avtomatizirati, tako da bomo v najkrajšem možnem času dobili največ vrednosti.

3. Ključni scenariji

Začnite z avtomatizacijo osnovnih scenarijev prek spletne aplikacije. To bo osnova našega 'paketa za regresijo dima'. Na primer, za tipično spletno aplikacijo za e-poslovanje je osnovni celovit scenarij:

Domača stran -> Rezultati iskanja -> Podrobnosti o izdelku -> Prijava / registracija kupca -> Podrobnosti o plačilu -> Potrditev naročila


Pomembno je omeniti, da moramo najprej začeti le s tem, da se prebijemo po straneh, začenši z domače strani in do strani za potrditev naročila. Cilj je preveriti, da tok nakupa ni prekinjen, namesto da natančno preveri funkcionalnost vsake strani.

Ko zajamemo najpreprostejši in najpogostejši tok uporabnikov, lahko preučimo več različic. Kljub številnim kombinacijam funkcij in strani bi opazili, da je skozi sistem v resnici le peščica uporabniških potovanj, ki jih je treba upoštevati.

S pregledom analitičnih podatkov boste verjetno ugotovili, da bi 80% uporabnikov šlo po istih poteh, vendar z različnimi podatki. Zato je treba naš paket za regresijo dima izdelati na podlagi teh scenarijev.

4. Povečajte pokritost

Opomba o pokritosti, tukaj ne govorim o testni pokritosti; poudarek je na pokritost funkcij .


Razširite paket regresije dima in ustvarite obsežnejši paket regresije funkcij z uporabo miselnih map in uporabo tehnike testiranja stanja prehoda za izdelavo scenarijev.

Vstopne točke - Za začetek moramo najprej najti vstopne točke v sistem. Te vstopne točke so lahko uporabnik, ki pristane na domači strani, strani s podrobnostmi o izdelku ali a SEM (trženje z iskalniki) določeno stran.

Ko določimo določeno ciljno stran, moramo preveriti, katere funkcije na tej strani obstajajo, s katerimi lahko uporabnik komunicira. Tu postanejo miselne karte zelo koristne. Na visoki ravni imamo pregled strani in njenih lastnosti.

Tu je pomen funkcije bodisi posamezna komponenta, kot je spustno polje z možnostjo razvrščanja, ali izpolnjevanje obrazca s podrobnostmi o uporabniku ali tako preprosto kot klikanje povezave.

Začetno stanje - Ko prvič pristanemo na vstopni točki v aplikaciji, bo s to stranjo povezano stanje. To zabeležimo kot začetno stanje aplikacije. Kadarkoli bomo sodelovali s katero koli od funkcij na tej strani, bomo najverjetneje spremenili njeno začetno stanje.

Sprožilec - Nekatere funkcije ob interakciji z njimi naložijo isto stran (npr. Možnosti razvrščanja bodo ohranile isto stran, podatki pa bodo razvrščeni) ali preidejo na drugo stran (npr. Pošiljanje veljavnih uporabniških poverilnic). Stvar, ki povzroči ta prehod bodisi na isto stran bodisi na drugo stran, se imenuje sprožilec, na primer gumb za oddajo.

Trditve Potem so tu še trditve. Kadar koli se stanje aplikacije spremeni, moramo z interakcijo s funkcijo podati trditve, da preverimo stanje novega stanja. Ko na primer predložimo prijavni obrazec z veljavnimi uporabniškimi podatki, moramo trditi, da je uporabnik zdaj prijavljen.

Na enak način lahko nadaljujemo na novem prehodu ali pa se vrnemo v začetno stanje in komuniciramo z drugo funkcijo, dokler ne pokrijemo vseh pomembnih lastnosti miselnih zemljevidov.

Sčasoma se stopnja zaupanja v uvajanje nove kode poveča, saj se več scenarijev avtomatizira in redno izvaja.