Ukubuyela esikolweni: indlela yokuqeqesha abavavanyi bezandla ukujongana novavanyo oluzenzekelayo

Abane kwabahlanu abafake izicelo ze-QA bafuna ukufunda indlela yokusebenza ngovavanyo oluzenzekelayo. Ayizizo zonke iinkampani ezinokuzalisekisa iminqweno enjalo yabavavanyi bezandla ngexesha leeyure zokusebenza. U-Wrike ubambe isikolo esizisebenzelayo sabasebenzi kwaye wawuqonda lo mnqweno wabaninzi. Ndithathe inxaxheba kwesi sikolo ngokuchanekileyo njengomfundi we-QA.

Ndifunde indlela yokusebenza kunye neSelenium kwaye ngoku ngokuzimeleyo ndixhasa inani elithile le-autotests ngaphandle koncedo lwangaphandle. Kwaye, ngokusekwe kwiziphumo zamava ethu adibeneyo kunye nezigqibo zam zobuqu, ndiya kuzama ukufumana eyona fomyula yesona sikolo sifanelekileyo sokuzenzela.

Amava kaWrike ekuququzeleleni isikolo

Xa imfuno yesikolo esizenzekelayo yacaca, intlangano yayo yawela kwi-Stas Davydov, isikhokelo sobugcisa be-automation. Ngubani omnye ngaphandle kwakhe onokuchaza isizathu sokuba beze neli phulo, enoba baye bazuza iziphumo nokuba bayazisola kusini na ngexesha abalichithileyo? Masimnike umgangatho:

- Ngo-2016, sabhala isakhelo esitsha se-autotests kwaye senza ukuba kube lula ukubhala iimvavanyo: amanyathelo aqhelekileyo avela, isakhiwo saye saqondakala ngakumbi. Siye safumana ingcamango: kufuneka sibandakanye wonke umntu ofuna ukubhala iimvavanyo ezintsha, kwaye ukwenza kube lula ukuqonda, senze uluhlu lweentetho. Ngokudibeneyo seza nesicwangciso sezihloko, umhlohli ngamnye wexesha elizayo wazithathela enye aze alungiselele ingxelo ngayo.

β€” Bubuphi ubunzima ababenabo abafundi?

- Ikakhulu, kunjalo, i-architecture. Kwakukho imibuzo emininzi malunga nesakhiwo sovavanyo lwethu. Kwiimpendulo, kuninzi okubhalwe kwesi sihloko kwaye kwafuneka sibambe iintetho ezongezelelweyo ukuchaza ngokubanzi.

β€” Ngaba isikolo sihlawule?

- Ewe, ngokuqinisekileyo. Ndiyabulela kuye, abaninzi abantu babandakanyeka kwiimvavanyo zokubhala, kwaye, ngokomyinge, esibhedlele, wonke umntu waqala ukuqonda ngcono ukuba zeziphi ii-autotests, zibhalwa njani kwaye ziqaliswe njani. Umthwalo kwiinjineli ze-automation nawo wehlile: ngoku sifumana izicelo ezimbalwa zoncedo ngokuhlalutya iimvavanyo, kuba abavavanyi kunye nabaphuhlisi sele beqalisile ukumelana nale nto phantse kuzo zonke iimeko. Ewe, kukho izinto ezininzi eziluncedo zangaphakathi kwisebe: sifumene amava kwiinkcazo-ntetho kunye neentetho, enkosi apho ezinye iinjineli ezizisebenzelayo sele zikwazile ukwenza intetho kwiinkomfa, kwaye zafumana iseti enamandla yeevidiyo kunye neenkcazo zabaqalayo abafikayo.

Egameni lam, ndiya kongeza ukuba unxibelelwano phakathi kwamasebe ethu lwenziwe lula lwaya kutsho kwinqanaba elilula ngendlela ehlekisayo. Umzekelo, ngoku akukho mfuneko yokuba ndicinge malunga nokuba zeziphi iimeko kwaye kweliphi inqanaba leathomu yokuzenzela. Ngenxa yoko, onke amaqela anomdla athatha unonophelo olupheleleyo kwi-coverage yovavanyo, ehlala ikhula. Akukho mntu ufuna into engenakwenzeka kwabanye.

Ngokubanzi, impembelelo kumsebenzi wamaqela ngokuqinisekileyo ilungile. Mhlawumbi oogxa abafunda eli nqaku nabo bacinga ngokwenza into efanayo? Emva koko iingcebiso ziya kuba lula: kuyafaneleka ukuba iimvavanyo ezizenzekelayo ziphambili kuwe. Emva koko, siza kuthetha ngombuzo onzima ngakumbi: indlela yokulungelelanisa konke oku ngokuchanekileyo ngokunokwenzeka, ukwenzela ukuba iindleko zawo onke amaqela zincinci kwaye umphumo uphezulu.

Iingcebiso zoLungiselelo

Isikolo sasiluncedo, kodwa, njengoko u-Stas wavuma, kwakukho ubunzima, ngenxa yoko kwakuyimfuneko ukulungiselela iintetho ezongezelelweyo. Kwaye kwakunjengomfundi wakutsha nje ezithelekisa-ngokungazi kunye nam-ngoku ukuba ndiyile la manyathelo alandelayo ukwenza, ngokoluvo lwam, eyona ndlela ifanelekileyo yokufundisa abavavanyi ukuqonda iimvavanyo ezizenzekelayo.

Inyathelo 0. Yenza isichazi-magama

Ewe, eli nyathelo alifuneki kwi-QA kuphela. Nangona kunjalo, ndifuna ukuyenza icace: i-codebase ye-automation kufuneka igcinwe kwifom efundekayo. Iilwimi zokucwangcisa - hayi kancinci iilwimi, kwaye ukusuka koku unokuqalisa ukuntywila kwakho.

Ukubuyela esikolweni: indlela yokuqeqesha abavavanyi bezandla ukujongana novavanyo oluzenzekelayo

Nanku umfanekiso wekhusi wemboniselo yomsebenzi onamagama ezinto. Masicinge ukuba uvavanya ukujonga umsebenzi njengebhokisi emnyama kwaye awukaze uyibone iSelenium ebomini bakho. Yenza ntoni le khowudi?

Ukubuyela esikolweni: indlela yokuqeqesha abavavanyi bezandla ukujongana novavanyo oluzenzekelayo

(I-Spoiler - umsebenzi uyacinywa ngokuphumla egameni lomlawuli, kwaye ke sibona ukuba kukho irekhodi yale nto kumlambo.)

Eli nyathelo lodwa lisondeza i-QAA kunye neelwimi ze-QA kunye. Kulula kumaqela e-automation ukuchaza iziphumo zokubaleka; abavavanyi bezandla kufuneka bachithe umgudu omncinci ekudaleni iimeko: zingenziwa neenkcukacha ezincinci. Sekunjalo, wonke umntu uyaqonda omnye komnye. Sifumene impumelelo nangaphambi kokuba kuqale uqeqesho lokwenene.

Inyathelo 1. Phinda amabinzana

Masiqhubeke ngokuhambelana nolwimi. Xa sifunda ukuthetha njengabantwana, asiqali kwi-etymology kunye ne-semantics. Siphinda "umama", "ukuthenga ithoyizi", kodwa musa ukungena ngokukhawuleza kwiingcambu zeProto-Indo-European zala magama. Ke ilapha: akukho sizathu sokuntywila kubunzulu beempawu zobugcisa be-autotests ngaphandle kokuzama ukubhala into esebenzayo.
Ivakala njengento ephikisayo encinci, kodwa iyasebenza.

Kwisifundo sokuqala, kuyafaneleka ukunika isiseko sendlela yokubhala ii-autotes ngokuthe ngqo. Sinceda ukuseka indawo yophuhliso (kwimeko yam, i-Intellij IDEA), chaza imigaqo yolwimi efunekayo ukuze ubhale enye indlela kwiklasi ekhoyo usebenzisa amanyathelo akhoyo. Sibhala uvavanyo olunye okanye ezimbini kunye nabo kwaye sibanike umsebenzi wesikolo owenzelwa ekhaya, endiya kufomatha ngolu hlobo: isebe le-branched off master, kodwa iimvavanyo ezininzi zisusiwe kuyo. Kuphela ziinkcazo zabo eziseleyo. Sicela abavavanyi ukuba babuyisele olu mvavanyo (hayi nge-show diff, kunjalo).

Ngenxa yoko, lowo uphulaphule waza wenza yonke into uya kuba nako uku:

  1. funda ukusebenza kunye nojongano lwemekobume yophuhliso: ukwenza amasebe, iihotkeys, ukuzibophelela kunye nokutyhala;
  2. lawula izinto ezisisiseko zesakhiwo solwimi kunye neeklasi: apho kufakwe khona iinaliti kunye nendawo yokungenisa, kutheni izichasiselo zifuneka, kwaye luhlobo luni lweempawu ezifumaneka apho, ngaphandle kwamanyathelo;
  3. ukuqonda umahluko phakathi kwesenzo, linda kwaye ukhangele, apho ukusebenzisa ntoni;
  4. Qaphela umahluko phakathi kovavanyo oluzenzekelayo kunye nokukhangela ngesandla: kuvavanyo oluzenzekelayo ungatsala esinye okanye esinye isibambi endaweni yokwenza iintshukumo ngojongano. Umzekelo, thumela amagqabantshintshi ngokuthe ngqo ngasemva endaweni yokuvula imboniselo yomsebenzi, ukhetha igalelo, uchwetheza umbhalo kwaye ucofe iqhosha elithi Thumela;
  5. Yila imibuzo eza kuphendulwa kwinyathelo elilandelayo.

Inqaku lokugqibela libaluleke kakhulu. Ezi mpendulo zinokunikelwa ngokulula kuselithuba, kodwa ngumgaqo obalulekileyo wokufundisa ukuba iimpendulo ngaphandle kwemibuzo ecwangcisiweyo azikhunjulelwa kwaye azisetyenziswa xa kufuneka ekugqibeleni.

Kuya kuba kuhle ukuba ngeli xesha injineli ye-automation evela kwiqela le-QA imnike umsebenzi wokubhala iimvavanyo ezimbalwa edabini kwaye yamvumela ukuba azithobe kwisebe lakhe.

Yintoni ongamele uyinike:

  1. ulwazi olunzulu malunga nokusebenza kwendawo yophuhliso kunye nolwimi lweprogram ngokwayo, oluya kufuneka kuphela xa usebenza namasebe ngokuzimeleyo. Ayizukukhunjulwa, kuya kufuneka uyichaze kabini okanye kathathu, kodwa siyalixabisa ixesha leenjineli ezizenzekelayo, akunjalo? Imizekelo: ukusombulula iingxabano, ukongeza iifayile kwi-git, ukudala iiklasi ukusuka ekuqaleni, ukusebenza kunye nokuxhomekeka;
  2. yonke into enxulumene ne-xpath. Ngokunyanisekileyo. Kufuneka uthethe ngayo ngokwahlukeneyo, kube kanye kwaye ngendlela egxininise kakhulu.

Inyathelo lesi-2. Ukujongisisa igrama

Masikhumbule umfanekiso weskrini wokujonga umsebenzi kwinyathelo #0. Sinenyathelo elibizwa ngokuba yi-checkCommentWithTextExists. Umvavanyi wethu sele eyiqonda into eyenziwa leli nyathelo kwaye sinokujonga ngaphakathi kwisinyathelo kwaye sibolise kancinci.

Kwaye ngaphakathi sinezinto ezilandelayo:

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

Iphi kwiCommentBlock

onCommonStreamPanel().commentBlock(userName);

Ngoku sifunda ukuthi "ungathengi into yokudlala," kodwa "uthenge into yokudlala kwivenkile yaseDetsky Mir, ebekwe kwikhabhinethi eluhlaza okwesibhakabhaka kwishelufa yesithathu ukusuka phezulu." Kuyimfuneko ukucacisa ukuba sikhomba into ngokulandelelanayo, ukusuka kwizinto ezinkulu (umsinga -> ibhloko enezimvo ezivela kumntu othile -> loo nxalenye yale bloko apho isicatshulwa esikhankanyiweyo sihlala khona).

Hayi, alikafiki ixesha lokuthetha nge-xpath. Khankanya nje ngokufutshane ukuba yonke le miyalelo ichazwa ngabo kwaye ilifa lihamba ngayo. Kodwa kufuneka sithethe ngabo bonke abamatshisi kunye neeweyitara; banxulumana ngokuthe ngqo neli nyathelo kwaye bayimfuneko ukuqonda ukuba kwenzeka ntoni. Kodwa musa ukulayisha ngaphezulu: umfundi wakho unokufunda iziqinisekiso ezinzima eyedwa kamva. Okunokwenzeka, kufuneka, lindaKude, kuboniswe();, ikhona();, hayi(); iya kwanela.

Umsebenzi wasekhaya ucacile: isebe apho imixholo yamanyathelo amaninzi ayimfuneko kwinani elithile leemvavanyo isusiwe. Vumela abavavanyi bazibuyisele kwaye benze ukubaleka kuluhlaza kwakhona.

Ukongeza, ukuba iqela lokuvavanya alinazo izinto ezintsha kuphela emsebenzini walo, kodwa kunye nokulungiswa kwe-bug, unokumcela ukuba abhale kwangoko iimvavanyo zezi mpazamo kwaye azikhulule. Ngokunokwenzeka, zonke izinto sele zichaziwe; ngamanyathelo ambalwa kuphela anokungabikho. Oku kuya kuba kukuzilolonga okugqibeleleyo.

Inyathelo 3. Ukuntywiliselwa ngokupheleleyo

Kugqibelele kangangoko kumvavanyi oza kuqhubeka nokwenza imisebenzi yakhe ethe ngqo. Ekugqibeleni, kufuneka sithethe malunga ne-xpath.

Okokuqala, masenze kucace ukuba zonke ezi kwiCommentBlock kunye nezimvo zichazwa ngabo.

Ukubuyela esikolweni: indlela yokuqeqesha abavavanyi bezandla ukujongana novavanyo oluzenzekelayo

Iyonke:

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

Ulandelelwano lwebali lubaluleke kakhulu. Okokuqala, sithatha nayiphi na i-xpath ekhoyo kwaye sibonise indlela izinto ithebhu equlethe ngayo enye kunye nenye into. Emva koko, siza kuthetha ngesakhiwo: xa ufuna ukusebenzisa iWebElement, kwaye xa ufuna ukudala ifayile eyahlukileyo yento entsha. Oku kuya kukuvumela ukuba uqonde ngcono ilifa.

Kufuneka kucaciswe ngokucacileyo ukuba into enye yimbonakalo yomsebenzi wonke, iqulethe into yomntwana - umlambo wonke, oqulethe into yomntwana - inkcazo eyahlukileyo, njl. Izinto zomntwana zingaphakathi kumzali izinto zombini kwiphepha nakwisakhiwo sesakhelo sovavanyo oluzenzekelayo.

Ngeli xesha, abaphulaphuli bekufanele ukuba baqonde ngokucacileyo ukuba bazuzwa njani kwaye yintoni enokufakwa emva kwechaphaza kwiCommentBlock. Kweli nqanaba, sichaza bonke abaqhubi: /, //, ., [] njalo njalo. Songeza ulwazi malunga nokusetyenziswa kumthwalo @class kunye nezinye izinto eziyimfuneko.

Ukubuyela esikolweni: indlela yokuqeqesha abavavanyi bezandla ukujongana novavanyo oluzenzekelayo

Abafundi kufuneka baqonde indlela yokuguqulela i-xpath ngale ndlela. Ukudibanisa - kunjalo, umsebenzi wasekhaya. Sicima iinkcazo zezinto, zivumele ukuba zibuyisele umsebenzi weemvavanyo.

Kutheni le ndlela ikhethekileyo?

Asifanele sithwalise nzima umntu ngolwazi oluntsonkothileyo, kodwa kufuneka sichaze yonke into ngaxeshanye, kwaye le yingxaki enzima. Le ndlela iya kusivumela ukuba siqale senze abaphulaphuli babuze imibuzo kwaye bangayiqondi into kwaye siyiphendule ngomzuzu olandelayo. Ukuba uthetha ngayo yonke i-architecture, ngoko ngexesha isihloko samanyathelo okanye i-xpath ihlalutywa, ezona nxalenye zibaluleke kakhulu ziya kuba sele zikhohliwe ngenxa yokungaqondi.

Nangona kunjalo, abanye benu baya kuba nakho ukwabelana ngamava akho malunga nendlela inkqubo enokwenziwa ngayo ngakumbi. Ndiya kuvuyela ukufunda iziphakamiso ezifanayo kumazwana!

umthombo: www.habr.com

Yongeza izimvo