top 10 test automation strategies
To je zadnji članek v preizkusna serija avtomatizacije . Ta članek povzema najboljše prakse in strategije za avtomatizacijo preskusov.
Čeprav naši prejšnji članki omenjajo najboljše prakse (in nekatere od njih se lahko ponovijo tudi tukaj), sem močno želel našteti nekaj, vendar najpomembnejše najboljše prakse avtomatizacije tukaj v enem članku za referenco .
Te strategije so povzete iz mojih lastnih izkušenj in iz literature o testiranju gurujev, kot so Michael Bolton, James Bach in Cem Kaner. Te prakse je treba upoštevati pri vsakem projektu avtomatizacije.
širina prvo iskanje c ++
Kaj se boste naučili:
- 10 najboljših strategij in praks za avtomatizacijo preskusov
- # 1. Najemite namenskega inženirja ali ekipo za avtomatizacijo
- # 2. Orodje za avtomatizacijo je pomembno, vendar ni rešitev za vse
- # 3. Izberite orodje za avtomatizacijo, ki je znano vašim virom
- # 4. Poznajte aplikacijo, ki jo preizkušate
- # 5. Dobra avtomatizacija pomeni dober ročni testni primer
- # 6. Ugotovite priložnosti z avtomatizacijo
- # 7. Ne morete vsega avtomatizirati
- # 8. Izogibajte se avtomatizaciji grafičnega uporabniškega vmesnika, kadar je prisoten nadomestni
- # 9. Uporabite avtomatizacijo tudi za druge uporabne namene
- # 10. Avtomatizacija je razvoj programske opreme
- Zaključek
- Priporočeno branje
10 najboljših strategij in praks za avtomatizacijo preskusov
Gremo ..
# 1. Najemite namenskega inženirja ali ekipo za avtomatizacijo
To je osnovna stvar. Ne prosite ročnih preizkuševalcev, naj se prepustijo avtomatizaciji preskusov. Če želite, da izvajajo avtomatizacijo preskusov, jih osvobodite ročnega preizkušanja. Testna avtomatizacija je redno delo. Za to potrebujete namenske vire.
Priporočam, da sestavite testno ekipo za avtomatizacijo, ki jo sestavlja vsaj en arhitekt za avtomatizacijo. Za delo lahko pod vodstvom arhitekta preizkusne avtomatizacije najamete več inženirjev avtomatizacije. Število inženirjev avtomatizacije je odvisno od števila in velikosti vaših izdelkov.
# 2. Orodje za avtomatizacijo je pomembno, vendar ni rešitev za vse
Pogovarjali smo se o izbiri orodja . Toda izbira pravega orodja je šele začetek. Nekateri upravitelji imajo napačno predstavo, da lahko, če izberejo pravo orodje, zlahka avtomatizirajo karkoli. Pazite, orodja za avtomatizacijo vam ne dajo vsega. Olajšajo postopek. Za dokončanje postopka pa potrebujete kvalificirane vire.
Orodja za avtomatizacijo so pogosto napačna in se zataknejo pri prepoznavanju zapletenih predmetov v aplikaciji. Viri, ki jih najamete, če so usposobljeni, najdejo rešitev, ki vodi postopek naprej. V nasprotnem primeru, če ne najamete dobrih virov, samo orodje ne more zagotoviti uspešne avtomatizacije.
# 3. Izberite orodje za avtomatizacijo, ki je znano vašim virom
Če vaši viri poznajo C # in je vaša aplikacija, ki jo je treba preizkusiti, razvita tudi v C #, potem nima smisla izbrati orodja, ki ne ponuja C # za pisanje skriptov.
Učenje jezikov je dolgotrajen proces. Izogibajte se tej krivulji učenja z nakupom orodja, ki ponuja minimalno krivuljo učenja.
# 4. Poznajte aplikacijo, ki jo preizkušate
Izbira orodja je močno odvisna od tehnologij, ki se uporabljajo v vašem izdelku. Pred začetkom avtomatizacije poznajte svoj izdelek navzven.
Če gre za spletno aplikacijo, poznajte brskalnike, ki jih bo podpirala. Poznati tehnologije, ki se uporabljajo v njem. Če gre za namizno aplikacijo, vedite, na katerem jeziku temelji. Kateri nadzor tretjih oseb se uporablja v aplikaciji. To vam bo pomagalo olajšati izbiro orodja in prihodnjo avtomatizacijo.
# 5. Dobra avtomatizacija pomeni dober ročni testni primer
Lepo napisani močni ročni testni primeri rešite nas avtomatizacije tistih testnih primerov, ki jih je enostavno avtomatizirati, a šibke pri iskanju napak.
Tu je citat iz knjige Lekcije, pridobljene pri testiranju programske opreme:
'Avtomatizacija brez dobre preskusne zasnove lahko povzroči veliko aktivnosti, a malo vrednosti.'
Vedno je priporočljivo, da testni primer najprej napišete v ročni obliki. Ugotovite vse predpogoje in preskusne podatke . Jasno napišite korake in pred vsakim korakom zapišite pričakovane rezultate. Cilj enega testnega primera mora biti jasen in manj odvisen od drugih testnih primerov. Inženirji avtomatizacije bi morali vsaj enkrat ročno zagnati ta testni primer, da se jasno odločijo, katere predmete je treba prepoznati in kakšen bo tok navigacije. Vprašajte z ročnimi preizkuševalci.
Ta dejavnost včasih pomaga prepoznati napake, še preden je napisan skript za avtomatizacijo. Strokovnjaki pravijo, da je večina napak ugotovljena v fazi razvoja testne avtomatizacije in ne v dejanski izvedbeni fazi.
kako preizkusiti medsebojno skriptiranje
# 6. Ugotovite priložnosti z avtomatizacijo
Če ste predani z ročni testni primer za avtomatizacijo , ne samo avtomatizirajte ta testni primer. Namesto tega poiščite dodatne priložnosti v svoji avtomatizaciji, da razširite obseg tega testnega primera.
Na primer, če je zahteva ročnega preizkusa primerna, se morate prijaviti na spletno stran. Ta testni primer lahko razširite tako, da ga prilagodite podatkom. Navedite vse možne scenarije prijave, kot so neveljavno geslo, prazno geslo, neveljavno uporabniško ime, neveljaven e-poštni naslov, prazno uporabniško ime, zapomni si me preverjenega, nepreverjenega itd. V datoteko excel naštej možne scenarije in njihov pričakovani rezultat in daj to datoteko excel kot vir podatkov za vaš testni primer. Zdaj lahko ta en ročni testni primer po avtomatizaciji naenkrat preizkusi vse možne scenarije.
Vedno poiščite priložnosti, ki jih je mogoče storiti z avtomatizacijo, vendar jih je težko narediti ročno. Na primer scenariji testiranja obremenitve, merila uspešnosti, enaki testi v različnih okoljih z različnimi konfiguracijami, puščanje pomnilnika, preskusi visoke natančnosti itd. To so težki scenariji za ročne preizkuševalce.
# 7. Ne morete vsega avtomatizirati
Avtomatizacija pomeni pogostejše izvajanje manj testov. Najprej morate začeti z napadi na dimne teste. Potem pokrij svoje graditi sprejemne teste . Nato se premaknite na pogosto opravljene teste, nato pa na čas, ko opravljate teste. Prepričajte se, da vsak test, ki ga avtomatizirate, prihrani čas, da se ročni preizkuševalnik osredotoči na pomembnejše stvari.
Avtomatizacija ni namenjena zamenjavi ročnih preizkuševalcev. Niti ne more. Tu je treba večkratno delo odvzeti ročnim preizkuševalcem, da bodo lahko uporabili svoj polni fokus in moč pri iskanju novih scenarijev preizkušanja in napak. (Preberite moj članek Napačne predstave o avtomatizaciji preskusov)
Avtomatizirajte nekaj preskusov, ki so dragoceno in prihranek časa ali težko izvedljivo za ročne preizkuševalce. Če ste to storili, je naloga avtomatizacije končana.
# 8. Izogibajte se avtomatizaciji grafičnega uporabniškega vmesnika, kadar je prisoten nadomestni
GUI avtomatizacija je vedno strožja kot druge vrste avtomatiziranih testov. Če torej pride do situacije, ko lahko svoj cilj dosežete z ne avtomatizacijo grafičnega uporabniškega vmesnika, temveč z nekaterimi drugimi metodami, kot so vnosi ukazne vrstice, potem je najboljša strategija izogibanje avtomatizaciji grafičnega uporabniškega vmesnika.
Na primer, želite preizkusiti namestitev aplikacije. Cilj je preveriti, ali je aplikacija nameščena ali ne v določenem okolju. Eden od pristopov je zagon namestitve in klik na Naslednji Z gumbom večkrat prek orodja za avtomatizacijo. Lahko je težavno, dolgotrajno in ga je treba vzdrževati, če se uporabniški vmesnik spremeni. Drugi pristop je začeti namestitev aplikacije s paketno datoteko, ki daje tihe argumente. Aplikacija se bo tiho namestila in ne bo prikazovala GUI. Cilj bo dosežen v krajšem času in na bolj zanesljiv način.
# 9. Uporabite avtomatizacijo tudi za druge uporabne namene
Avtomatizacija je tako fantastična stvar. Iz njega lahko dosežete takšne stvari, o katerih običajno ne razmišljate. Pri avtomatizaciji ne gre le za programiranje ročnega testnega primera. Namesto tega z avtomatizacijo lahko olajšate različne operacije v svoji organizaciji.
Na primer, lahko z avtomatizacijo samodejno ustvarite glavne podatke in nastavite konfiguracije za ročne preizkuševalce. Tako da lahko začnejo s testiranjem čim prej.
Lahko navedem en primer iz lastnega podjetja. Želeli smo preiti z našega orodja za upravljanje testnih primerov. Uporabljali smo »Test Director« (zdaj HP ALM) in smo želeli preklopiti na TFS (Team Foundation Server). Imeli smo približno 4000 ročnih testnih primerov in napak v direktorju testov. Ročni prenos na TFS bi lahko trajal približno mesec dni. Torej me je vodja prosil, naj preizkusim avtomatizacijo.
Kopal sem ta orodja in ugotovil, da Test Director kot strežnik uporablja strežnik SQL. Za TFS sem našel orodje, ki lahko bere testne primere in napake iz datoteke excel, če so napisani v določeni obliki, in jih lahko vstavi v TFS. Preostali del zgodbe je preprost. Napisal sem poizvedbo SQL za pridobivanje vseh testnih primerov in napak ter jih izvozil v datoteko Excel v določeni obliki. Nato sem uporabil tisto orodje, ki bere vse testne primere in napake iz datoteke excel in jih vstavil v TFS. Celoten postopek je trajal le 3 ure. Moj vodja je bil zelo vesel. Upam, da boste tudi vi razumeli mojo točko.
# 10. Avtomatizacija je razvoj programske opreme
Če razvijate kakovostno programsko opremo, potrebuje najboljše prakse. Za pisanje kakovostne kode potrebuje preglede kode. Potreben je okvir ali vzorčni načrt. Potrebuje stalno vzdrževanje.
V osnovi je avtomatizacija razvoj programske opreme. Torej je treba pri avtomatizaciji upoštevati vse najboljše prakse, ki jih upoštevate pri razvoju programske opreme. Tam bi moral biti okvir za avtomatizacijo. Opraviti je treba preglede kode. O napakah avtomatizacije je treba poročati v skladišču napak. Izvorno kodo avtomatizacije je treba pod nadzorom virov itd. Bolj ko se do nje obnašate kot do razvoja programske opreme, bolj uspešna bo avtomatizacija.
Zaključek
To povzema članek in vrsto avtomatizacije preskusov. Med pisanjem teh vadnic sem se naučil marsikaj in upam, da se boste tudi vi naučili z branjem. Testna avtomatizacija je zanimiva in koristna kariera. Pravilno ravnanje ni koristno samo za vas, ampak tudi za organizacijo.
Vsak dan med delom na testni avtomatizaciji in njenimi tehnikami najdem nove in zanimive izzive, ki jih moram rešiti. Ta serija je poskušala poudariti, kaj bi lahko naletelo na poti testne avtomatizacije. Upam, da sem ga dostavil pravilno in na preprost način.
Kot vedno čakam na vaše komentarje in predloge. V oddelku za komentarje lahko pišete svoje povratne informacije. Z veseljem vas bom slišal in vam po potrebi pomagal. Hvala za branje.
PREV Vadnica # 6
Priporočeno branje
- Ste strokovnjak za ročno ali avtomatizirano testiranje? Delo s krajšim delovnim časom za nas!
- Izzivi ročnega in avtomatiziranega preskušanja
- 10 najboljših najboljših knjig za testiranje programske opreme (knjige za ročno in avtomatizacijsko testiranje)
- Sikuli GUI Automation Test Tool - Priročnik za začetnike 2. del
- Vodnik po korakih za izvajanje dokazov o konceptu (POC) pri preizkušanju avtomatizacije
- 10-stopenjski postopek samodejnega testiranja: Kako začeti samodejno testiranje v svoji organizaciji
- Kako se odločiti, katera vrsta testiranja je potrebna za projekt? - Ročno ali avtomatizacija
- Kako izvesti ročno testiranje učinkovitosti?