Lura l-iskola: kif tħarreġ testers manwali biex jittrattaw testijiet awtomatizzati

Erbgħa minn kull ħames applikanti tal-QA jridu jitgħallmu kif jaħdmu b'testijiet awtomatizzati. Mhux il-kumpaniji kollha jistgħu jissodisfaw dawn ix-xewqat ta 'testers manwali matul il-ħinijiet tax-xogħol. Wrike kellu skola ta 'awtomazzjoni għall-impjegati u rrealizza din ix-xewqa għal ħafna. Ipparteċipajt f’din l-iskola preċiżament bħala student tal-QA.

Tgħallimt kif naħdem mas-Selenium u issa nappoġġja b'mod indipendenti ċertu numru ta 'awtotests mingħajr prattikament l-ebda għajnuna minn barra. U, abbażi tar-riżultati tal-esperjenza konġunta tagħna u l-konklużjonijiet personali tiegħi, se nipprova nikseb il-formula stess għall-aktar skola ideali ta 'awtomazzjoni.

L-esperjenza ta’ Wrike fl-organizzazzjoni ta’ skola

Meta l-ħtieġa għal skola tal-awtomazzjoni saret ċara, l-organizzazzjoni tagħha waqgħet f'idejn Stas Davydov, il-mexxej tekniku tal-awtomazzjoni. Min aktar ħlief hu jista’ jispjega għaliex ħarġu b’din l-inizjattiva, jekk kisbux riżultati u jekk jiddispjaċihomx għaż-żmien li qattgħu? Ejja nagħtuh l-kelma:

— Fl-2016, ktibna qafas ġdid għall-awtotests u għamilna sabiex isir faċli li tikteb it-testijiet: dehru passi normali, l-istruttura saret ħafna aktar li tinftiehem. Ħriġna idea: irridu ninvolvu lil kull min irid jikteb testijiet ġodda, u biex ikun aktar faċli li wieħed jifhem, ħloqna sensiela ta’ lectures. B’mod kollettiv ħriġna pjan ta’ suġġetti, kull wieħed mill-letturi futuri ħa wieħed għalih u ħejja rapport dwaru.

— Liema diffikultajiet kellhom l-istudenti?

— Prinċipalment, ovvjament, l-arkitettura. Kien hemm ħafna mistoqsijiet dwar l-istruttura tat-testijiet tagħna. Fil-feedback, inkiteb ħafna dwar dan is-suġġett u kellna nagħmlu lekċers addizzjonali biex nispjegaw f'aktar dettall.

— L-iskola ħallset?

- Iva, żgur. Bis-saħħa tagħha, ħafna nies kienu involuti fit-testijiet tal-kitba, u, bħala medja, fl-isptar, kulħadd beda jifhem aħjar x’inhuma l-awtotests, kif jinkitbu u kif jiġu mnedija. It-tagħbija fuq l-inġiniera tal-awtomazzjoni naqset ukoll: issa nirċievu ħafna drabi inqas talbiet għall-għajnuna fl-analiżi tat-testijiet, peress li t-testers u l-iżviluppaturi bdew ilaħħqu ma 'dan huma stess fi kważi s-sitwazzjonijiet kollha. Ukoll, hemm diversi vantaġġi interni għad-dipartiment: ksibna esperjenza fil-preżentazzjonijiet u lekċers, li grazzi għalihom xi inġiniera tal-awtomazzjoni diġà rnexxielhom jagħmlu preżentazzjonijiet f'konferenzi, u rċevew ukoll sett qawwi ta 'vidjows u preżentazzjonijiet għall-imbark ta' nies ġodda.

F'ismi, se nżid li l-komunikazzjoni bejn id-dipartimenti tagħna ġiet issimplifikata għal livell dettament redikoli faċli. Pereżempju, issa prattikament m'għandix bżonn naħseb dwar liema każijiet u f'liema livell ta 'atomiċità nawtomatizza. Bħala riżultat, il-partijiet interessati kollha qed jieħdu ħsieb bis-sħiħ il-kopertura tat-test, li qed tikber kontinwament. Ħadd ma jitlob l-impossibbli mingħand ħaddieħor.

B'mod ġenerali, l-impatt fuq ix-xogħol tat-timijiet huwa definittivament pożittiv. Forsi l-kollegi li qed jaqraw dan l-artiklu qed jaħsbu wkoll biex jagħmlu xi ħaġa simili? Imbagħad il-parir se jkun sempliċi: huwa worth it jekk it-testijiet awtomatizzati huma prijorità għalik. Sussegwentement, ser nitkellmu dwar mistoqsija aktar kumplessa: kif torganizza dan kollu b'mod korrett kemm jista 'jkun, sabiex l-ispejjeż tal-partijiet kollha jkunu minimi u l-output ikun massimu.

Għajnuniet għall-organizzazzjoni

L-iskola kienet utli, iżda, kif ammetta Stas, kien hemm xi diffikultajiet, li minħabba fihom kien meħtieġ li jiġu organizzati lekċers addizzjonali. U kien bħala student reċenti li qabbel lili nnifsi fl-injoranza u lili nnifsi-issa li fformulajt il-passi li ġejjin biex noħloq, fl-opinjoni tiegħi, il-mod ideali biex ngħallem lit-testers jifhmu testijiet awtomatizzati.

Pass 0. Oħloq dizzjunarju

Naturalment, dan il-pass huwa meħtieġ mhux biss għall-QA. Madankollu, irrid nagħmilha espliċita: il-kodiċi tal-awtomazzjoni għandu jinżamm f'forma li tinqara. Lingwi ta 'programmar - mhux l-inqas lingwi, u minn dan inti tista 'tibda adsa tiegħek.

Lura l-iskola: kif tħarreġ testers manwali biex jittrattaw testijiet awtomatizzati

Hawnhekk hawn screenshot ta 'taskview bl-ismijiet tal-elementi. Ejja nimmaġinaw li qed tittestja taskview bħala kaxxa sewda u qatt ma rajt Selenium f'ħajtek. X'jagħmel dan il-kodiċi?

Lura l-iskola: kif tħarreġ testers manwali biex jittrattaw testijiet awtomatizzati

(Spoiler - il-kompitu jitħassar permezz ta 'mistrieħ f'isem l-amministratur, u mbagħad naraw li hemm rekord ta' dan fil-fluss.)

Dan il-pass waħdu jġib il-lingwi QAA u QA eqreb flimkien. Huwa aktar faċli għat-timijiet ta 'awtomazzjoni li jispjegaw ir-riżultati ta' ġirja, it-testers manwali għandhom jonfqu inqas sforz fuq il-ħolqien ta 'każijiet: jistgħu jsiru inqas dettaljati; Xorta waħda, kulħadd jifhem lil xulxin. Irċevejna r-rebħ anki qabel ma beda t-taħriġ proprju.

Pass 1. Irrepeti frażijiet

Ejja nkomplu l-parallel mal-lingwa. Meta nitgħallmu nitkellmu bħala tfal, ma nibdewx mill-etimoloġija u s-semantika. Nirrepetu "omm", "ixtri ġugarell", iżda ma tidħolx immedjatament fl-għeruq Proto-Indo-Ewropej ta 'dan il-kliem. Għalhekk huwa hawnhekk: m'hemm l-ebda skop li togħdos fil-profondità tal-karatteristiċi tekniċi ta 'kif jaħdmu l-awtotests mingħajr ma tipprova tikteb xi ħaġa li taħdem.
Jidher ftit kontrointuwittiv, iżda jaħdem.

Fl-ewwel lezzjoni, ta 'min jagħti bażi dwar kif tikteb awtotests direttament. Aħna ngħinu nwaqqfu l-ambjent ta 'żvilupp (fil-każ tiegħi, Intellij IDEA), nispjegaw ir-regoli minimi tal-lingwa li huma meħtieġa biex tikteb metodu ieħor fi klassi eżistenti billi tuża l-passi eżistenti. Aħna niktbu test wieħed jew tnejn magħhom u nagħtuhom il-homework, li nixtieq ifformattja hekk: fergħa ħarġet mill-kaptan, iżda diversi testijiet tneħħew minnha. Jibqgħu biss id-deskrizzjonijiet tagħhom. Nitolbu lit-testers biex jirrestawraw dawn it-testijiet (mhux permezz ta' show diff, ovvjament).

Bħala riżultat, dak li sema’ u għamel kollox ikun jista’:

  1. titgħallem taħdem mal-interface tal-ambjent tal-iżvilupp: toħloq fergħat, hotkeys, kommits u pushes;
  2. Ikkontrolla l-baŜi tal-istruttura tal-lingwa u l-klassijiet: fejn tiddaħħal injezzjonijiet u fejn timporta, għaliex huma meħtieġa annotazzjonijiet, u x'tip ta 'simboli jinstabu hemmhekk, minbarra passi;
  3. tifhem id-differenza bejn l-azzjoni, stenna u ċċekkja, fejn tuża xiex;
  4. innota d-differenza bejn l-awtotests u l-kontrolli manwali: fl-awtotests tista 'tiġbed handler wieħed jew ieħor minflok ma twettaq azzjonijiet permezz tal-interface. Per eżempju, ibgħat kumment direttament lill-backend minflok tiftaħ taskview, tagħżel l-input, ittajpja test u tikklikkja l-buttuna Ibgħat;
  5. ifformula mistoqsijiet li se jiġu mwieġba fil-pass li jmiss.

L-aħħar punt huwa importanti ħafna. Dawn it-tweġibiet jistgħu faċilment jingħataw qabel iż-żmien, iżda huwa prinċipju importanti ta’ tagħlim li t-tweġibiet mingħajr mistoqsijiet ifformulati ma jiġux imfakkra u ma jintużawx meta finalment ikunu meħtieġa.

Ikun ideali jekk f'dan iż-żmien inġinier tal-awtomazzjoni mit-tim tal-QA jassenjah kompitu li jikteb ftit testijiet fil-battalja u jħallih jissottometti ruħu mal-fergħa tiegħu.

X'm'għandekx tagħti:

  1. għarfien aktar fil-fond tal-funzjonalità tal-ambjent tal-iżvilupp u l-lingwa tal-ipprogrammar innifsu, li se jkun meħtieġ biss meta taħdem ma 'fergħat b'mod indipendenti. Mhux se jiġi mfakkar, ser ikollok tispjegaha darbtejn jew tliet darbiet, iżda aħna napprezzaw il-ħin tal-inġiniera tal-awtomazzjoni, hux? Eżempji: soluzzjoni ta 'kunflitti, żieda ta' fajls ma 'git, ħolqien ta' klassijiet mill-bidu, ħidma mad-dipendenzi;
  2. dak kollu relatat ma 'xpath. Serjament. Trid titkellem dwarha separatament, darba u b'mod ikkonċentrat ħafna.

Pass 2. Nagħtu ħarsa aktar mill-qrib lejn il-grammatika

Ejja niftakru l-screenshot ta 'taskview mill-pass #0. Għandna pass imsejjaħ checkCommentWithTextExists. It-tester tagħna diġà jifhem x'jagħmel dan il-pass u nistgħu nħarsu ġewwa l-pass u niddekomponuh ftit.

U ġewwa għandna dan li ġej:

onCommentBlock(userName).comment(expectedText).should(displayed());

Fejn hi onCommentBlock

onCommonStreamPanel().commentBlock(userName);

Issa nitgħallmu ngħidu mhux "ixtri ġugarell," iżda "ixtri ġugarell mill-maħżen Detsky Mir, li jinsab fil-kabinett blu fit-tielet xkaffa minn fuq." Huwa meħtieġ li nispjegaw li nippuntaw lejn element sekwenzjali, minn elementi akbar (fluss -> blokk b'kummenti minn ċerta persuna -> dik il-parti ta 'dan il-blokk fejn joqgħod it-test speċifikat).

Le, għadu mhux iż-żmien li nitkellmu dwar xpath. Semmi biss fil-qosor li dawn l-istruzzjonijiet kollha huma deskritti minnhom u l-wirt jgħaddi minnhom. Imma rridu nitkellmu dwar dawn il-matchers u wejters kollha huma relatati speċifikament ma’ dan il-pass u huma meħtieġa biex nifhmu x’qed jiġri. Imma tgħabbix iżżejjed: l-istudent tiegħek jista 'jistudja affermazzjonijiet aktar kumplessi waħdu aktar tard. X'aktarx, għandu, waitUntil, murija();, exist();, not();

Ix-xogħol tad-dar huwa ovvju: fergħa li fiha tneħħa l-kontenut ta 'diversi passi li huma meħtieġa għal ċertu numru ta' testijiet. Ħalli t-testers jirrestawrawhom u agħmel il-ġirja tkun ħadra mill-ġdid.

Barra minn hekk, jekk it-tim tal-ittestjar għandu mhux biss karatteristiċi ġodda fix-xogħol tiegħu, iżda wkoll xi bug fixes, tista 'titlob lilu immedjatament jikteb testijiet għal dawn il-bugs u jirrilaxxahom. Ħafna probabbli, l-elementi kollha diġà ġew deskritti biss ftit passi jistgħu jkunu neqsin. Dan se jkun il-workout perfett.

Pass 3. Immersjoni sħiħa

Komplet kemm jista' jkun għal tester li se jkompli jaqdi d-dmirijiet diretti tiegħu. Fl-aħħarnett, għandna bżonn nitkellmu dwar xpath.

L-ewwel, ejjew nagħmluha ċara li dawn kollha fuqCommentBlock u kumment huma deskritti minnhom.

Lura l-iskola: kif tħarreġ testers manwali biex jittrattaw testijiet awtomatizzati

Total:

"//div[contains(@class, ‘stream-panel’)]//a[contains(@class,'author') and text()='{{ userName }}’]//div[contains(@class,'change-wrapper') and contains(.,'{{ text }}’)]"

L-ordni tal-istorja hija importanti ħafna. L-ewwel, nieħdu kwalunkwe xpath eżistenti u nuru kif it-tab tal-elementi fiha element wieħed u wieħed biss. Sussegwentement, ser nitkellmu dwar l-istruttura: meta jkollok bżonn tuża WebElement, u meta trid toħloq fajl separat għal element ġdid. Dan jippermettilek tifhem aħjar il-wirt.

Għandu jiġi ddikjarat b'mod espliċitu li element wieħed huwa t-taskview kollu, fih element tifel - il-fluss kollu, li fih element tifel - kumment separat, eċċ. L-elementi tfal huma ġewwa l-elementi parent kemm fil-paġna kif ukoll fl-istruttura tal-qafas tal-awtotest.

F'dan il-punt, l-udjenza kellha fehmet sew kif jintirtu u x'jista' jiddaħħal wara t-tikka f'onCommentBlock. F'dan il-punt, nispjegaw l-operaturi kollha: /, //, ., [] eċċ. Inżidu l-għarfien dwar l-użu fit-tagħbija @class u affarijiet oħra meħtieġa.

Lura l-iskola: kif tħarreġ testers manwali biex jittrattaw testijiet awtomatizzati

L-istudenti għandhom jifhmu kif jittraduċu xpath b'dan il-mod. Biex tikkonsolida - hekk hu, ix-xogħol tad-dar. Aħna nħassru d-deskrizzjonijiet tal-elementi, ħallihom jirrestawraw ix-xogħol tat-testijiet.

Għaliex din it-triq partikolari?

M'għandniex tagħbija żejda lil persuna b'għarfien kumpless, iżda għandna nispjegaw kollox f'daqqa, u din hija dilemma diffiċli. Din it-triq se tippermettilna li l-ewwel inġegħlu lis-semmiegħa jistaqsu mistoqsijiet u ma jifhmux xi ħaġa u nwieġbuhom fil-mument ta’ wara. Jekk titkellem dwar l-arkitettura kollha, allura saż-żmien li s-suġġett tal-passi jew xpath jiġi analizzat, l-aktar partijiet importanti minnha jkunu diġà minsija minħabba l-inkomprensibbiltà tagħhom.

Madankollu, xi wħud minnkom probabbilment se jkunu jistgħu jaqsmu l-esperjenza tiegħek dwar kif il-proċess jista 'jiġi ottimizzat saħansitra aktar. Inkun kuntent naqra suġġerimenti simili fil-kummenti!

Sors: www.habr.com

Żid kumment