Komawa makaranta: yadda ake horar da masu gwajin hannu don magance gwaje-gwaje na atomatik

Hudu cikin biyar masu neman QA suna so su koyi yadda ake aiki tare da gwaje-gwaje na atomatik. Ba duk kamfanoni ba ne ke iya cika irin wannan buri na masu gwajin hannu a lokutan aiki. Wrike ya gudanar da makarantar sarrafa kansa don ma'aikata kuma ya fahimci wannan sha'awar ga mutane da yawa. Na shiga wannan makaranta daidai a matsayin ɗalibin QA.

Na koyi yadda ake aiki tare da Selenium kuma yanzu na goyi bayan wasu adadin autotests ba tare da kusan taimakon waje ba. Kuma, dangane da sakamakon kwarewar haɗin gwiwarmu da kuma ƙarshe na kaina, zan yi ƙoƙarin samun ainihin dabara don mafi kyawun makarantar sarrafa kansa.

Kwarewar Wrike wajen shirya makaranta

Lokacin da bukatar makaranta ta atomatik ta bayyana, ƙungiyar ta fada hannun Stas Davydov, jagoran fasaha na sarrafa kansa. In banda shi wane ne zai iya bayyana dalilin da ya sa suka fito da wannan shiri, ko sun samu sakamako da kuma ko sun yi nadamar lokacin da aka kashe? Mu ba shi falon:

- A cikin 2016, mun rubuta sabon tsarin don autotests kuma mun sanya shi don ya zama sauƙin rubuta gwaje-gwaje: matakan al'ada sun bayyana, tsarin ya zama mafi fahimta. Mun fito da wata dabara: muna buƙatar shigar da duk wanda ke son rubuta sabbin gwaje-gwaje, kuma don sauƙaƙe fahimta, mun ƙirƙiri jerin laccoci. A tare muka fito da wani shiri na batutuwa, kowanne daga cikin malaman da za su zo nan gaba ya dauki daya da kansa ya shirya rahoto akai.

- Wadanne matsaloli ne daliban suka samu?

- Yafi, ba shakka, gine-gine. Akwai tambayoyi da yawa game da tsarin gwajin mu. A cikin martani, an rubuta da yawa akan wannan batu kuma dole ne mu riƙe ƙarin laccoci don yin bayani dalla-dalla.

- Shin makarantar ta biya?

- Ee, tabbas. Godiya ga ta, mutane da yawa sun shiga rubuce-rubucen gwaje-gwaje, kuma, a matsakaita, a asibiti, kowa ya fara fahimtar abin da autotests suke, yadda aka rubuta su da kuma yadda aka kaddamar da su. Har ila yau, nauyin injiniyoyin injiniyoyi sun ragu: yanzu muna karɓar buƙatun sau da yawa kaɗan don taimako tare da nazarin gwaje-gwaje, tunda masu gwadawa da masu haɓakawa sun fara jure wa kansu da kansu a kusan kowane yanayi. Da kyau, akwai fa'idodi na ciki da yawa ga sashen: mun sami gogewa a cikin gabatarwa da laccoci, godiya ga wanda wasu injiniyoyin injiniyoyi sun riga sun sami nasarar gabatar da gabatarwa a taro, kuma sun karɓi saƙon bidiyo da gabatarwa mai ƙarfi don masu shigowa shiga.

A madadina, zan ƙara da cewa an sauƙaƙe sadarwar tsakanin sassan mu zuwa matakin da ba'a so ba. Misali, yanzu a zahiri ba na buƙatar yin tunani game da waɗanne lokuta kuma a wane matakin atomity don sarrafa kansa. A sakamakon haka, duk masu sha'awar suna kula da cikakken gwajin gwajin, wanda ke ci gaba da girma. Ba wanda ke neman abin da ba zai yiwu ba daga wasu.

Gabaɗaya, tasiri akan aikin ƙungiyoyi tabbas yana da kyau. Wataƙila abokan aiki da ke karanta wannan labarin kuma suna tunanin yin wani abu makamancin haka? Sa'an nan shawarar za ta kasance mai sauƙi: yana da daraja idan gwaje-gwaje na atomatik sune fifiko a gare ku. Na gaba, za mu yi magana game da wata tambaya mai mahimmanci: yadda za a tsara duk wannan daidai yadda zai yiwu, don haka farashin dukkanin bangarorin ba su da yawa kuma mafi yawan fitarwa.

Nasihu don tsarawa

Makarantar tana da amfani, amma, kamar yadda Stas ya yarda, akwai wasu matsaloli, saboda haka ya zama dole don shirya ƙarin laccoci. Kuma ya kasance a matsayin ɗalibi na kwanan nan yana kwatanta kaina-cikin-jahilci da ni kaina-yanzu na tsara waɗannan matakai don ƙirƙirar, a ganina, hanya mai kyau don koya wa masu jarrabawa fahimtar gwaje-gwaje na atomatik.

Mataki 0. Ƙirƙiri ƙamus

Tabbas, ana buƙatar wannan matakin ba don QA kaɗai ba. Koyaya, Ina so in bayyana shi a sarari: dole ne a adana lambar tushe ta atomatik a cikin sigar da za a iya karantawa. Harsunan shirye-shirye - ba kalla ba harsuna, kuma daga wannan zaka iya fara nutsewa.

Komawa makaranta: yadda ake horar da masu gwajin hannu don magance gwaje-gwaje na atomatik

Anan akwai hoton hoton ɗawainiya tare da sunayen abubuwan. Bari mu yi tunanin cewa kuna gwada kallon ɗawainiya azaman akwatin baki kuma ba ku taɓa ganin Selenium ba a rayuwar ku. Menene wannan lambar ke yi?

Komawa makaranta: yadda ake horar da masu gwajin hannu don magance gwaje-gwaje na atomatik

(Spoiler - an share aikin ta hanyar hutawa a madadin admin, sannan muka ga cewa akwai rikodin wannan a cikin rafi.)

Wannan matakin shi kaɗai yana haɗa harsunan QAA da QA tare. Yana da sauƙi ga ƙungiyoyi masu sarrafa kansa su bayyana sakamakon gudu; masu gwajin hannu dole ne su kashe ƙarancin ƙoƙari don ƙirƙirar shari'o'i: ana iya sanya su ƙasa dalla-dalla. Duk da haka, kowa yana fahimtar juna. Mun sami nasarori tun kafin a fara horo na gaske.

Mataki 1. Maimaita jimloli

Bari mu ci gaba da daidaitawa da harshe. Lokacin da muka koyi magana tun muna yara, ba mu fara daga ilimin ilimin ilimin halitta da ilimin tauhidi ba. Muna maimaita "mama", "sayi abin wasa", amma kada ku shiga cikin tushen waɗannan kalmomin nan da nan Proto-Indo-Turai. Don haka yana nan: babu wata ma'ana a nutsewa cikin zurfin abubuwan fasaha na autotests ba tare da ƙoƙarin rubuta wani abu da ke aiki ba.
Yana jin ɗan rashin fahimta, amma yana aiki.

A cikin darasi na farko, yana da kyau a ba da tushe kan yadda ake rubuta autotest kai tsaye. Muna taimakawa saita yanayin ci gaba (a cikin akwati na, Intellij IDEA), bayyana mafi ƙarancin ƙa'idodin harshe waɗanda ke da mahimmanci don rubuta wata hanya a cikin aji mai gudana ta amfani da matakan da ake dasu. Muna rubuta jarrabawa ɗaya ko biyu tare da su kuma muna ba su aikin gida, wanda zan tsara shi kamar haka: reshe da aka reshe daga maigidan, amma an cire gwaje-gwaje da yawa daga ciki. Bayanansu kawai ya rage. Muna tambayar masu gwadawa don dawo da waɗannan gwaje-gwajen (ba ta hanyar nuna bambanci ba, ba shakka).

A sakamakon haka, wanda ya ji kuma ya yi komai zai iya:

  1. koyi yin aiki tare da mahallin mahalli na ci gaba: ƙirƙirar rassan, hotkeys, aikatawa da turawa;
  2. ƙware tushen tsarin harshe da azuzuwan: inda ake saka allura da kuma inda ake shigo da su, dalilin da yasa ake buƙatar bayanai, da kuma irin alamomin da ake samu a wurin, ban da matakai;
  3. fahimci bambanci tsakanin aiki, jira da dubawa, inda za a yi amfani da abin da;
  4. lura da bambanci tsakanin autotests da manual cak: a autotests za ka iya ja daya ko wani mai sarrafa maimakon yin ayyuka ta hanyar dubawa. Misali, aika sharhi kai tsaye zuwa bayan baya maimakon bude aikin duba, zabar shigarwar, buga rubutu da danna maballin Aika;
  5. tsara tambayoyin da za a amsa a mataki na gaba.

Batu na karshe yana da matukar muhimmanci. Ana iya ba da waɗannan amsoshi cikin sauƙi kafin lokaci, amma ƙa'idar koyarwa ce mai mahimmanci da ba a tuna da amsa ba tare da tsararrun tambayoyi ba kuma ba a amfani da su lokacin da ake buƙata.

Zai yi kyau idan a wannan lokacin injiniyan sarrafa kansa daga ƙungiyar QA ya ba shi aiki tare da rubuta gwaje-gwaje biyu a yaƙi kuma ya ba shi damar ƙaddamar da reshensa.

Abin da ba za a bayar ba:

  1. ƙarin zurfin ilimi game da ayyuka na yanayin ci gaba da harshen shirye-shirye da kansa, wanda za a buƙaci kawai lokacin aiki tare da rassan da kansa. Ba za a tuna da shi ba, dole ne ku bayyana shi sau biyu ko sau uku, amma muna daraja lokacin injiniyoyin injiniyoyi, daidai? Misalai: warware rikice-rikice, ƙara fayiloli zuwa git, ƙirƙirar azuzuwan daga karce, aiki tare da dogaro;
  2. duk abin da ya shafi xpath. Da gaske. Kuna buƙatar yin magana game da shi daban, sau ɗaya kuma mai da hankali sosai.

Mataki 2. Duban nahawu sosai

Bari mu tuna da hoton allo na ɗawainiya daga mataki #0. Muna da mataki mai suna checkCommentWithTextExists. Mai gwajin mu ya riga ya fahimci abin da wannan matakin yake yi kuma za mu iya duba cikin matakin mu lalata shi kaɗan.

Kuma a ciki muna da wadannan:

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

Inda onCommentBlock yake

onCommonStreamPanel().commentBlock(userName);

Yanzu mun koyi cewa kada “sayi abin wasa,” amma “sayi abin wasa daga kantin Detsky Mir, wanda ke cikin majalisar shudi a kan shiryayye na uku daga sama.” Ya zama dole mu bayyana cewa muna nuna wani kashi a jere, daga manyan abubuwa (rafi -> toshe tare da sharhi daga wani mutum -> wannan ɓangaren wannan shingen inda ƙayyadadden rubutu ke zaune).

A'a, har yanzu bai yi lokacin magana game da xpath ba. Kawai ka ambata a taƙaice cewa duk waɗannan umarnin an bayyana su kuma gado yana tafiya ta wurinsu. Amma muna buƙatar yin magana game da duk waɗannan ma'aurata da masu jira; suna da alaƙa da wannan matakin kuma suna da mahimmanci don fahimtar abin da ke faruwa. Amma kada ku yi yawa: ɗalibin ku na iya yin nazarin ƙwaƙƙwaran ƙwaƙƙwaran da kansa daga baya. Mafi mahimmanci, ya kamata, jira Har sai, nuni ();, wanzu();, ba (); ya isa.

Aikin gida a bayyane yake: reshe ne wanda aka cire abubuwan da ke cikin matakai da yawa waɗanda suka zama dole don takamaiman adadin gwaje-gwaje. Bari masu gwadawa su mayar da su kuma su sa gudu ya sake zama kore.

Bugu da ƙari, idan ƙungiyar gwaji ba ta da sabbin abubuwa kawai a cikin aikinta ba, har ma da wasu gyare-gyaren kwaro, za ku iya tambayarsa ya rubuta gwaje-gwaje don waɗannan kurakuran nan da nan kuma ya sake su. Mafi mahimmanci, an riga an kwatanta dukkan abubuwan; matakai biyu kawai na iya ɓacewa. Wannan zai zama cikakkiyar motsa jiki.

Mataki na 3. Cikakken nutsewa

Kamar cikakke ga mai gwadawa wanda zai ci gaba da yin aikinsa kai tsaye. A ƙarshe, muna buƙatar magana game da xpath.

Da farko, bari mu bayyana a sarari cewa duk waɗannan onCommentBlock da sharhi an bayyana su.

Komawa makaranta: yadda ake horar da masu gwajin hannu don magance gwaje-gwaje na atomatik

Jimlar:

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

Tsarin labarin yana da matukar muhimmanci. Da farko, muna ɗaukar kowane xpath ɗin da ke akwai kuma mu nuna yadda shafin abubuwan ya ƙunshi kashi ɗaya da ɗaya kaɗai. Na gaba, za mu yi magana game da tsarin: lokacin da kuke buƙatar amfani da WebElement, da lokacin da kuke buƙatar ƙirƙirar fayil daban don sabon abu. Wannan zai ba ka damar fahimtar gadon da kyau.

Dole ne a fayyace a sarari cewa kashi ɗaya ne gabaɗayan ɗawainiyar ɗawainiya, yana ƙunshe da kashi na yara - gabaɗayan rafi, wanda ya ƙunshi nau'in yara - sharhi daban, da sauransu. Abubuwan yara suna cikin abubuwan iyaye duka akan shafi da kuma cikin tsarin tsarin gwaji na atomatik.

A wannan lokaci, ya kamata masu sauraro su fahimci yadda ake gadonsu da kuma abin da za a iya shiga bayan digo a onCommentBlock. A wannan gaba, muna bayanin duk masu aiki: /, //, ., [] da sauransu. Muna ƙara ilimi game da amfani a cikin kaya @class da sauran abubuwan da suka wajaba.

Komawa makaranta: yadda ake horar da masu gwajin hannu don magance gwaje-gwaje na atomatik

Ya kamata ɗalibai su fahimci yadda ake fassara xpath ta wannan hanyar. Don ƙarfafawa - haka ne, aikin gida. Muna share bayanan abubuwan, bari su mayar da aikin gwaje-gwaje.

Me yasa wannan tafarki na musamman?

Kada mu yi lodin mutum da hadadden ilimin, amma dole ne mu bayyana komai a lokaci guda, kuma wannan lamari ne mai wahala. Wannan hanyar za ta ba mu damar fara sa masu sauraro su yi tambayoyi kuma ba za su fahimci wani abu ba kuma mu amsa su nan gaba. Idan ka yi magana game da dukan gine-gine, to, a lokacin da aka bincika batun matakai ko xpath, an riga an manta da mafi mahimmancin sassan sa saboda rashin fahimtar su.

Koyaya, wataƙila wasunku za su iya raba ƙwarewar ku akan yadda za'a iya inganta tsarin har ma da ƙari. Zan yi farin cikin karanta irin waɗannan shawarwari a cikin sharhi!

source: www.habr.com

Add a comment