Hagnaður:
- Geta til að framleiða öflugan notendaprófunarkóða með gervigreind, þar á meðal gagnapróf, opna bið og fullyrðingu sem sannreynir raunverulegan notendaniðurstöðu
- Hæfni til að forðast brothætt próf (slæmt val, blind bið) og gera prófunum auðvelt að viðhalda í síðuhlutlíkaninu
- Geta til að prófa hvert notendaviðmótspróf sem framleitt er með því að brjóta kóðann og greina og laga falspróf
Ekki er hægt að prófa hvern smell, hverja eyðublaðafyllingu, hverja síðuskipti sem notandi gerir í vafra aftur og aftur með höndunum - þess vegna er sjálfvirkni prófunar HÍ (notendaviðmót; þessar prófanir líkja eftir hegðun notenda með því að keyra raunverulegan vafra forritað) til. Selen, leikskáld og Cypress eru algengustu verkfærin fyrir þetta starf. Gervigreind (AI) er mjög fær í að skrifa kóðann fyrir þessi verkfæri: þú lýsir prófunartilviki, gervigreind gefur þér drög að framkvæmanlegu sjálfvirknihandriti. En hér kemur aðalviðvörunin fyrir þessa einingu aftur til sögunnar: HÍ prófunarkóði sem gervigreind framleiðir getur oft verið brothætt próf sem „lýsa grænt en sannreyna rangt“ eða blakta í vindinum. Starf þitt er ekki að keyra þennan kóða, heldur að ganga úr skugga um að hann sannreyni í raun og veru hið rétta.
Í þessari einingu stefnum við að því að framleiða öflug, viðhaldanleg og sannarlega staðfestandi notendaviðmótspróf með gervigreind; Þú munt læra að forðast brothætt próf.
Þrjár stoðir traustra notendaprófa
1. Rétt staðsetningartæki. Próf notar val til að finna þáttinn á síðunni. Gervigreind framleiðir oft brothætta veljara: langar XPath slóðir (heimilisfang er of háð síðuskipulagi), veljara sem byggjast á CSS flokksheitum (rofa þegar hönnun breytist). Öfluga leiðin er stöðugir eiginleikar eins og data-testid sem verktaki bætti við til að prófa. Leggðu þetta beinlínis á gervigreindina.
2. Skýr bið. Fyrsta uppspretta varnarleysis í prófunum við HÍ er tímasetning. Stöðugur svefn(3) (blind bið) er slæm æfing: stundum er það ekki nóg, stundum sóar það tíma. Rétta leiðin er að nota skýr bið, sem segir "bíddu þar til þessi þáttur birtist". Leikskáld gerir þetta að mestu sjálfkrafa; Í Selen verður þú sérstaklega að biðja um það.
3. Merkingarrík fullyrðing. Prófið ætti að staðfesta niðurstöðuna sem notandinn mun í raun sjá - eins og "pöntunarnúmer birtist á skjánum," ekki bara "síðu hlaðin." Ef prófið sem framleitt er af gervigreindinni hefur enga fullyrðingu eða er ekki mikilvægt, gefur það próf gervi-passa (1. eining).
Varúð: Þegar þú sérð AI-myndað notendapróf í fyrsta lagi skaltu athuga þrennt í mesta lagi: eru valarnir framdir (data-testid), bíða (enginn blindur svefn) og staðfestir fullyrðingin raunverulega notendaniðurstöðu? Ef þessir þrír eru í lagi er prófið líklega traust.
Page Object Model
Eftir því sem próf stækka verður það að skrifa valmyndir í hverju prófi að viðhaldsmartröð. Page Object Model (POM — hönnunarmynstur sem safnar valmyndum og aðgerðum fyrir hverja síðu/skjá í einn flokk) heldur valinu á einum stað; Þegar viðmótið breytist uppfærirðu það í einni skrá. Láttu gervigreindina framleiða prófin í POM uppbyggingu, frekar en beint; Þetta gerir viðhald verulega auðveldara.
Veik kvaðning / Sterk kvaðning
Veik: "Skrifaðu selenpróf fyrir innskráningarsíðuna."
Sterkt: "Skrifaðu innskráningarflæðispróf með Playwright (TypeScript). Valdir nota aðeins data-testid; ekki nota stjórn á því sem notandinn sér, ekki síðuheitið."
Öflug hvetja; Tólið gefur tungumálið, valstefnu, biðstefnu, arkitektúr (POM) og tjáningarfullar fullyrðingar.
Prófaðu gögn og sjálfstæði umhverfisins
Sterkt notendapróf er ekki aðeins skrifað rétt heldur byggir og hreinsar eigin prófgögn. Gervigreindarprófanir tengjast oft notanda eða skrá sem er gert ráð fyrir að sé þegar til í umhverfinu („skrá þig inn sem admin notandi“). Þessi forsenda rofnar þegar prófið keyrir í öðru umhverfi eða eftir annað próf (vandamál með pöntunarfíkn í einingu 9). Sannleikurinn er sá að hvert próf býr til gögnin sem það þarf í upphafi prófsins (eða undirbýr þau með API símtali) og hreinsar þau í lokin. Leiðbeindu gervigreindinni beinlínis að "setja upp öll gögn sem þetta próf er háð innan prófsins; ekki gera ráð fyrir tilbúnum gögnum utan frá."
Annar mikilvægur punktur er að gera ekki notendaprófanir með raunverulegum notendagögnum. Ef afrit af framleiðslugagnagrunni er notað í prófunarumhverfinu eru þessar skrár gögn um raunverulega einstaklinga; skjáskot og prófupptökur gætu leitt í ljós þessi gögn. Notaðu tilbúna (skáldaða) prófunarreikninga; það verndar bæði trúnað og gerir prófanir endurtakanlegar. Að framkvæma „afpöntunarpöntun“ próf með raunverulegum viðskiptavinareikningi eru bæði siðferðileg og rekstrarleg mistök.
Ábending: Haltu HÍ prófunum eins fáum og mögulegt er; Skildu raunverulegu sannprófuninni eftir API og einingaprófunum, sem eru hröð og stöðug. HÍ prófun er dýr og brothætt - notaðu þau aðeins til að sannreyna raunverulegt notendaflæði (próf pýramída rökfræði).
Samanburður ökutækja
eiginleiki
selen
leikskáld
cypress
tungumálum
Java, C#, Python, JS
JS/TS, Python, .NET, Java
JavaScript/TypeScript
sjálfvirk biðstaða
Nei (með höndunum)
Já (sterkt)
Já
Fjölvafri
breiður
Chromium/Firefox/WebKit
Krómráðandi
tilhneiging til stökkleika
Hár (handvirkur biðstaða)
lágt
lágt
Auðvelt að læra
miðlungs
auðvelt
auðvelt
samhliða aðgerð
Grid krafist
innbyggður
Íbúi/greiddur
Þegar þú biður um kóða frá AI, tilgreinið greinilega hvaða farartæki það tilheyrir; Annars getur það framleitt ruglingslegan kóða sem ekki virkar.
Fjögur afritanleg sniðmát
1) Solid UI próf kynslóð:
Hlutverk þitt: eldri próf sjálfvirkni verkfræðingur. Skrifaðu próf með [tól + tungumál] fyrir eftirfarandi flæði: [flæði]. Reglur: - Selectors data-testid only; Notar XPath/CSS-klassa. - Enginn blindur svefn; Notaðu skýra/sjálfvirka bið. - Notaðu síðuhlutalíkan. - Láttu hverja fullyrðingu sannreyna raunverulega notendaniðurstöðu. Athugaðu í upphafi hvers prófs hvaða viðurkenningarviðmið þú ert að staðfesta.
2) Viðkvæmni stjórn:
Skoðaðu eftirfarandi UI próf með tilliti til stökkleika: - Er óstöðugur valbúnaður (langur
3) Umbreyting í síðuhlut:
Umbreyttu eftirfarandi látlausu prófunarkóða í síðuhlutlíkan uppbyggingu. Færa veljara og aðgerðir í síðuflokka; Leyfðu prófunarskránni að lesa aðeins atburðarásina. [Tól/tungumál].Kóði: [líma kóða]
4) Gervibreytingarsönnun:
Sannaðu að þetta HÍ próf staðfestir í raun: Hvaða staka breytingu geri ég á forritskóðanum sem gerir þetta próf RAUTT? Ef þú finnur ekki breytingu sem mun brjóta prófið er prófið ófullnægjandi; bæta við fullyrðingum sem vantar. Próf: [líma próf]
þrjú smámál
Tilfelli 1 - Frelsun frá viðkvæmum vali. Af 40 prófunum sem eitt teymi framleiddi með gervigreind voru 70% biluð eftir viðmótsuppfærslu; enginn þeirra var raunverulegur galli, þeir voru allir brothættir XPath-seljarar. Teymið breytti prófunum í gagnagrunn með „viðkvæmni athugun“ sniðmátinu. Í næstu þremur viðmótsuppfærslum fór fjöldi falskra brota niður í núll; viðhaldstími minnkaði úr 6 klukkustundum í 30 mínútur á viku.
Mál 2 - Fölsuð UI próf. AI framleiddi "bæta í körfu" próf; prófið var grænt. Þegar sniðmátið „falsa-sönnun-af-leið“ var keyrt, virtist prófið aðeins athuga smellihnappinn og síðuheiti, aldrei sannreyna hvort körfuteljarinn hafi hækkað eða ekki. Jafnvel þótt rökfræði í körfu væri algjörlega biluð stóðst prófið. Bætt við sannri fullyrðingu (körfumerki er „1“).
Mál 3 - Blind biðgildra. Í selenprófinu sem framleitt var af gervigreind var svefn(2) eftir hvert skref; 60 próf tóku 14 mínútur og biluðu samt af og til. Eftir að skipt var yfir í opna bið (bíddu eftir að hægt væri að smella á þáttinn) fór tíminn niður í 5 mínútur og brothættan hvarf. Blind bið var bæði hæg og óáreiðanleg.
Algeng mistök
- Samþykkja brothætta valmenn. Notaðu langa XPaths sem myndast af gervigreindinni eins og er; Próf hrynja við fyrstu viðmótsbreytingu.
- Skilja blindan eftir „svef“. „Að leysa“ tímasetninguna með fastri bið; bæði hægt og óákveðið.
- Lítil fullyrðing. Staðfestu bara að síðan hafi hlaðið; ekki athuga raunverulega notendaniðurstöðu (falsa-pass).
- Vaxið án POM. Dreifðu valmöguleikum í hvert próf; Uppfæra handvirkt heilmikið af skrám þegar viðmótið breytist.
- Ekki tilgreint tólið. Ekki segja gervigreindinni hvaða tól/tungumál þú vilt; að verða sóðalegur, óvirkur kóða.
- Að treysta þegar þú keyrir útbúna kóðann og framhjá. Ekki prófa með því að brjóta kóðann.
Í stuttu máli
Sjálfvirkni prófunar við notendaviðmót staðfestir hegðun notenda með því að keyra raunverulegan vafra með forritinu. AI býr til þennan kóða fljótt, en það eru tvær stórar gildrur: brothætt próf (slæmt val, blindur bíður) og falspróf (ófullkomin/léttvæg fullyrðing). Þrjár stoðir traustra notendaprófa eru skuldbindingarvaldurinn (data-testid), skýr bið og fullyrðing sem staðfestir raunverulega notendaniðurstöðu. Að láta búa til prófanir í Page Object Model einfaldar verulega viðhald. Prófaðu hvert myndað próf með spurningunni "hvaða breyting mun brjóta þetta?"
Umsóknarverkefni
Veldu notendaflæði úr þínu eigin verkefni (t.d. innskráning eða leit). Láttu gervigreindina skrifa próf með „sterkri UI próf kynslóð“ sniðmátinu. Síðan: (1) athugaðu og festu veljarana og bíður með "viðkvæmniprófun", (2) sannaðu að hvert próf staðfesti í raun með "gervi-pass sönnun", (3) brjóttu kóðann og athugaðu að prófið verður rautt. Tilkynntu fjölda prófana sem voru framleidd og leiðrétt, og fjölda veikleika og gervi-passa sem þú fannst.
gátlisti
- [ ] Ég gaf gervigreindinni tólið, tungumálið, valstefnuna og arkitektúrinn (POM) greinilega.
- [ ] Ég sannreyndi að valarnir eru gagnaprófaðir.
- [ ] Ég passaði upp á að nota skýra/sjálfvirka bið í stað blindsvefs.
- [ ] Ég athugaði að hver staðhæfing staðfesti raunverulega notendaniðurstöðu.
- [ ] Ég prófaði hvert próf með því að brjóta kóðann; Ég sá það verða rautt.
- [ ] Ég safnaði prófunum í Page Object Model uppbyggingu.