Aftur í skólann: hvernig á að þjálfa handvirka prófara til að takast á við sjálfvirk próf

Fjórir af hverjum fimm umsækjendum um QA vilja læra hvernig á að vinna með sjálfvirk próf. Ekki geta öll fyrirtæki uppfyllt slíkar óskir handvirkra prófana á vinnutíma. Wrike hélt sjálfvirkniskóla fyrir starfsmenn og gerði sér grein fyrir þessari löngun hjá mörgum. Ég tók þátt í þessum skóla einmitt sem QA nemandi.

Ég lærði hvernig á að vinna með Selenium og styð nú sjálfstætt ákveðinn fjölda sjálfvirkra prófana með nánast enga utanaðkomandi aðstoð. Og, byggt á niðurstöðum sameiginlegrar reynslu okkar og persónulegum niðurstöðum mínum, mun ég reyna að draga fram formúluna fyrir hinn ákjósanlegasta skóla sjálfvirkni.

Reynsla Wrike af skipulagningu skóla

Þegar þörfin fyrir sjálfvirkniskóla varð ljós, féll skipulag hans í hendur Stas Davydov, tæknilega leiðtoga sjálfvirknivæðingar. Hver annar en hann getur útskýrt hvers vegna þeir komu með þetta framtak, hvort þeir náðu árangri og hvort þeir sjái eftir tímanum sem þeir hafa eytt? Við skulum gefa honum orðið:

— Árið 2016 skrifuðum við nýjan ramma fyrir sjálfvirkar prófanir og gerðum það þannig að auðvelt var að skrifa próf: eðlileg skref komu fram, uppbyggingin varð miklu skiljanlegri. Við komum með hugmynd: Við þurfum að taka alla sem vilja skrifa ný próf með og til að gera það auðveldara að skilja það bjuggum við til röð fyrirlestra. Sameiginlega komum við með áætlun um viðfangsefni, hver og einn af verðandi fyrirlesurum tók eina fyrir sig og útbjó skýrslu um það.

— Hvaða erfiðleika áttu nemendur við?

— Aðallega, auðvitað, byggingarlist. Það voru margar spurningar um uppbyggingu prófana okkar. Í endurgjöf var mikið skrifað um þetta efni og þurftum við að halda fleiri fyrirlestra til að útskýra nánar.

— Hefur skólinn borgað sig?

- Já örugglega. Þökk sé henni tóku margir þátt í að skrifa próf og að meðaltali á spítalanum fóru allir að skilja betur hvað sjálfvirkar prófanir eru, hvernig þær eru skrifaðar og hvernig þær eru settar af stað. Álag á sjálfvirkniverkfræðinga hefur líka minnkað: Við fáum nú margfalt færri beiðnir um aðstoð við að greina prófanir þar sem prófunaraðilar og þróunaraðilar eru farnir að takast á við þetta sjálfir við nánast allar aðstæður. Jæja, það eru nokkrir innri kostir fyrir deildina: við öðluðumst reynslu af kynningum og fyrirlestrum, þökk sé nokkrum sjálfvirkniverkfræðingum hefur þegar tekist að halda kynningar á ráðstefnum, og einnig fengið öflugt sett af myndböndum og kynningum fyrir nýliða.

Fyrir mína hönd ætla ég að bæta því við að samskipti milli deilda okkar hafa verið einfölduð á hreint og beint fáránlega auðvelt stig. Til dæmis, núna þarf ég nánast ekki að hugsa um hvaða tilvik og á hvaða stigi atómvirkni á að gera sjálfvirkan. Þess vegna sjá allir áhugasamir um prufuumfjöllunina sem fer stöðugt vaxandi. Enginn krefst hins ómögulega af öðrum.

Almennt séð eru áhrifin á vinnu teyma örugglega jákvæð. Kannski eru samstarfsmenn sem lesa þessa grein líka að hugsa um að gera eitthvað svipað? Þá verða ráðin einföld: það er þess virði ef sjálfvirk próf eru í forgangi fyrir þig. Næst munum við tala um flóknari spurningu: hvernig á að skipuleggja allt þetta eins rétt og mögulegt er, þannig að kostnaður allra aðila sé í lágmarki og framleiðsla sé hámark.

Ábendingar um skipulagningu

Skólinn var gagnlegur, en eins og Stas viðurkenndi, voru nokkrir erfiðleikar, vegna þess að nauðsynlegt var að skipuleggja fleiri fyrirlestra. Og það var sem nýlegur nemandi að bera saman sjálfan mig í fáfræði og sjálfan mig núna sem ég mótaði eftirfarandi skref til að búa til, að mínu mati, tilvalið leið til að kenna prófurum að skilja sjálfvirk próf.

Skref 0. Búðu til orðabók

Auðvitað er þetta skref ekki aðeins nauðsynlegt fyrir QA. Hins vegar vil ég gera það skýrt: sjálfvirkni kóðagrunninn verður að vera á læsilegu formi. Forritunarmál - ekki síst tungumálum, og upp úr þessu geturðu byrjað köfun þína.

Aftur í skólann: hvernig á að þjálfa handvirka prófara til að takast á við sjálfvirk próf

Hér er skjáskot af verkefnasýn með nöfnum þáttanna. Ímyndum okkur að þú sért að prófa taskview sem svartan kassa og hefur aldrei séð Selen á ævinni. Hvað gerir þessi kóði?

Aftur í skólann: hvernig á að þjálfa handvirka prófara til að takast á við sjálfvirk próf

(Spoiler - verkefninu er eytt í gegnum hvíld fyrir hönd stjórnandans og þá sjáum við að það er skrá yfir þetta í straumnum.)

Þetta skref eitt og sér færir QAA og QA tungumálin nær saman. Það er auðveldara fyrir sjálfvirkniteymi að útskýra niðurstöður hlaups; handvirkir prófunaraðilar þurfa að eyða minni fyrirhöfn í að búa til mál: hægt er að gera þau minna ítarleg. Samt skilja allir hver annan. Við fengum vinningana jafnvel áður en þjálfunin hófst.

Skref 1. Endurtaktu setningar

Höldum áfram hliðstæðunni við tungumálið. Þegar við lærum að tala sem börn byrjum við ekki á orðsifjafræði og merkingarfræði. Við endurtökum „mamma“, „kaupum leikfang“, en förum ekki strax í frum-indóevrópskar rætur þessara orða. Svo er það hér: það þýðir ekkert að kafa ofan í dýpt tæknilegra eiginleika sjálfvirkra prófana án þess að reyna að skrifa eitthvað sem virkar.
Það hljómar svolítið öfugsnúið, en það virkar.

Í fyrstu kennslustund er rétt að leggja grunn að því hvernig eigi að skrifa sjálfvirkar prófanir beint. Við aðstoðum við að setja upp þróunarumhverfið (í mínu tilfelli, Intellij IDEA), útskýra lágmarksmálreglur sem eru nauðsynlegar til að skrifa aðra aðferð í núverandi bekk með því að nota fyrirliggjandi skref. Við skrifum eitt eða tvö próf með þeim og gefum þeim heimavinnu, sem ég myndi forma þannig: grein sem kvíslaðist frá meistaranum, en nokkur próf hafa verið fjarlægð úr henni. Aðeins lýsingar þeirra eru eftir. Við biðjum prófunaraðila að endurheimta þessi próf (ekki í gegnum sýningardiff, auðvitað).

Fyrir vikið mun sá sem hlustaði og gerði allt geta:

  1. læra að vinna með viðmót þróunarumhverfisins: búa til greinar, flýtilykla, skuldbinda sig og ýta;
  2. ná tökum á grunnatriðum í uppbyggingu tungumálsins og bekkja: hvar á að setja inn inndælingar og hvar á að flytja inn, hvers vegna athugasemdir eru nauðsynlegar og hvers konar tákn finnast þar, fyrir utan skref;
  3. skilja muninn á aðgerðir, bíða og athuga, hvar á að nota hvað;
  4. taktu eftir muninum á sjálfvirkum prófunum og handvirkum athugunum: í sjálfvirkum prófunum geturðu dregið einn eða annan meðhöndlun í stað þess að framkvæma aðgerðir í gegnum viðmótið. Sendu til dæmis athugasemd beint á bakhliðina í stað þess að opna verkefnayfirlit, velja inntakið, slá inn texta og smella á Senda hnappinn;
  5. mótaðu spurningar sem verður svarað í næsta skrefi.

Síðasta atriðið er mjög mikilvægt. Auðvelt er að gefa þessi svör fyrirfram, en það er mikilvæg kennsluregla að svör án mótaðra spurninga muna ekki og eru ekki notuð þegar þess er þörf.

Það væri tilvalið ef á þessum tíma sjálfvirkniverkfræðingur frá QA teyminu úthlutaði honum það verkefni að skrifa nokkur próf í bardaga og leyfa honum að binda sig undir grein sína.

Hvað má ekki gefa:

  1. dýpri þekkingu á virkni þróunarumhverfisins og forritunarmálsins sjálfs, sem aðeins verður þörf þegar unnið er sjálfstætt með útibúum. Það verður ekki minnst, þú verður að útskýra það tvisvar eða þrisvar sinnum, en við metum tíma sjálfvirkniverkfræðinga, ekki satt? Dæmi: að leysa átök, bæta skrám við git, búa til flokka frá grunni, vinna með ósjálfstæði;
  2. allt sem tengist xpath. Í alvöru. Þú þarft að tala um það sérstaklega, einu sinni og mjög einbeitt.

Skref 2. Skoðaðu málfræðina nánar

Við skulum muna eftir skjámynd verkefnasýnar frá skrefi #0. Við erum með skref sem heitir checkCommentWithTextExists. Prófandi okkar skilur nú þegar hvað þetta skref gerir og við getum litið inn í skrefið og sundrað það aðeins.

Og inni höfum við eftirfarandi:

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

Hvar áCommentBlock er

onCommonStreamPanel().commentBlock(userName);

Nú lærum við að segja ekki „kauptu leikfang,“ heldur „kauptu leikfang frá Detsky Mir versluninni, sem staðsett er í bláa skápnum á þriðju hillunni að ofan. Það er nauðsynlegt að útskýra að við bendum á frumefni í röð, úr stærri þáttum (streymi -> blokk með athugasemdum frá ákveðnum aðila -> þann hluta þessa blokk þar sem tilgreindur texti situr).

Nei, það er ekki kominn tími til að tala um xpath. Nefndu bara stuttlega að öllum þessum leiðbeiningum er lýst af þeim og erfðir fara í gegnum þær. En við þurfum að tala um alla þessa þjóna og þjóna, þeir tengjast þessu skrefi sérstaklega og eru nauðsynlegir til að skilja hvað er að gerast. En ekki ofhlaða: nemandi þinn getur rannsakað flóknari fullyrðingar á eigin spýtur síðar. Líklegast ætti, að bíða þar til, birtist();, til();, ekki(); ætti að duga.

Heimavinnan er augljós: grein þar sem innihald nokkurra þrepa sem eru nauðsynlegar fyrir ákveðinn fjölda prófa hefur verið fjarlægður. Leyfðu prófunaraðilum að endurheimta þau og láttu hlaupið verða grænt aftur.

Að auki, ef prófunarteymið hefur ekki aðeins nýja eiginleika í starfi sínu, heldur einnig einhverjar villuleiðréttingar, geturðu beðið hann um að skrifa strax próf fyrir þessar villur og gefa þær út. Líklegast hefur öllum þáttunum þegar verið lýst; aðeins nokkur skref gætu vantað. Þetta verður hin fullkomna æfing.

Skref 3. Full dýfing

Eins fullkomið og mögulegt er fyrir prófunaraðila sem ætlar að halda áfram að sinna beinum skyldum sínum. Að lokum þurfum við að tala um xpath.

Í fyrsta lagi skulum við gera það ljóst að öllum þessum athugasemdum og athugasemdum er lýst af þeim.

Aftur í skólann: hvernig á að þjálfa handvirka prófara til að takast á við sjálfvirk próf

Samtals:

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

Röð sögunnar er mjög mikilvæg. Í fyrsta lagi tökum við hvaða xpath sem er fyrir hendi og sýnum hvernig þættir flipinn inniheldur einn og aðeins einn þátt. Næst munum við tala um uppbygginguna: hvenær þú þarft að nota WebElement og þegar þú þarft að búa til sérstaka skrá fyrir nýjan þátt. Þetta gerir þér kleift að skilja betur arfleifð.

Það verður að taka það skýrt fram að einn þáttur er allt verkefnisútlitið, það inniheldur barnaþátt - allan strauminn, sem inniheldur undirþátt - sérstaka athugasemd o.s.frv. Undirþættir eru inni í foreldraþáttum bæði á síðunni og í uppbyggingu sjálfprófunarrammans.

Á þessum tímapunkti ættu áhorfendur að vera búnir að skilja hvernig þeir erfast og hvað er hægt að slá inn á eftir punktinum á onCommentBlock. Á þessum tímapunkti útskýrum við alla rekstraraðila: /, //, ., [] og svo framvegis. Við bætum þekkingu um notkun inn í álagið @class og önnur nauðsynleg atriði.

Aftur í skólann: hvernig á að þjálfa handvirka prófara til að takast á við sjálfvirk próf

Nemendur ættu að skilja hvernig á að þýða xpath með þessum hætti. Til að treysta - það er rétt, heimavinna. Við eyðum lýsingunum á þáttunum, leyfum þeim að endurheimta vinnu prófanna.

Hvers vegna þessi tiltekna leið?

Við eigum ekki að ofhlaða manneskju með flókinni þekkingu heldur verðum við að útskýra allt í einu og þetta er erfitt vandamál. Þessi leið gerir okkur kleift að fá hlustendur til að spyrja spurninga og skilja ekki eitthvað og svara þeim strax á næsta augnabliki. Ef þú talar um allan arkitektúrinn, þá munu mikilvægustu hlutar þess þegar vera gleymdir, þegar efnið skref eða xpath er greint, vegna óskiljanlegs þeirra.

Hins vegar munu sum ykkar líklega geta deilt reynslu ykkar um hvernig hægt er að fínstilla ferlið enn frekar. Ég mun vera fús til að lesa svipaðar tillögur í athugasemdunum!

Heimild: www.habr.com

Bæta við athugasemd