Yn ôl i'r ysgol: sut i hyfforddi profwyr llaw i ddelio â phrofion awtomataidd

Mae pedwar o bob pump o ymgeiswyr QA eisiau dysgu sut i weithio gyda phrofion awtomataidd. Ni all pob cwmni gyflawni dymuniadau profwyr llaw o'r fath yn ystod oriau gwaith. Cynhaliodd Wrike ysgol awtomeiddio ar gyfer gweithwyr a sylweddolodd yr awydd hwn i lawer. Cymerais ran yn yr ysgol hon yn union fel myfyriwr SA.

Dysgais sut i weithio gyda Seleniwm ac yn awr yn cefnogi nifer penodol o awtobrofion yn annibynnol heb fawr ddim cymorth allanol. Ac, yn seiliedig ar ganlyniadau ein profiad ar y cyd a fy nghasgliadau personol, byddaf yn ceisio deillio'r union fformiwla ar gyfer yr ysgol awtomeiddio fwyaf delfrydol.

Profiad Wrike o drefnu ysgol

Pan ddaeth yr angen am ysgol awtomeiddio yn amlwg, disgynnodd ei sefydliad i Stas Davydov, arweinydd technegol awtomeiddio. Pwy arall ond fe all esbonio pam y gwnaethant lunio'r fenter hon, a wnaethant gyflawni canlyniadau ac a ydynt yn difaru'r amser a dreuliwyd? Gadewch i ni roi'r llawr iddo:

— Yn 2016, fe wnaethom ysgrifennu fframwaith newydd ar gyfer awtobrofion a'i wneud fel ei bod yn dod yn hawdd ysgrifennu profion: ymddangosodd camau arferol, daeth y strwythur yn llawer mwy dealladwy. Fe wnaethon ni feddwl am syniad: mae angen i ni gynnwys pawb sydd eisiau ysgrifennu profion newydd, ac i'w gwneud yn haws i'w deall, fe wnaethon ni greu cyfres o ddarlithoedd. Gyda'n gilydd, lluniwyd cynllun o bynciau, cymerodd pob un o'r darlithwyr yn y dyfodol un drostynt eu hunain a pharatoi adroddiad arno.

— Pa anawsterau gafodd y myfyrwyr?

— Pensaernïaeth yn bennaf, wrth gwrs. Roedd llawer o gwestiynau am strwythur ein profion. Mewn adborth, ysgrifennwyd llawer ar y pwnc hwn a bu'n rhaid i ni gynnal darlithoedd ychwanegol i egluro'n fanylach.

— A wnaeth yr ysgol dalu ar ei ganfed?

- Ydy, yn bendant. Diolch iddi, bu llawer o bobl yn ymwneud ag ysgrifennu profion, ac, ar gyfartaledd, yn yr ysbyty, dechreuodd pawb ddeall yn well beth yw awtobrofion, sut y cânt eu hysgrifennu a sut y cânt eu lansio. Mae'r llwyth ar beirianwyr awtomeiddio hefyd wedi lleihau: rydym bellach yn derbyn llawer llai o geisiadau am help gyda dadansoddi profion, gan fod profwyr a datblygwyr wedi dechrau ymdopi â hyn eu hunain ym mron pob sefyllfa. Wel, mae yna nifer o fanteision mewnol i'r adran: cawsom brofiad mewn cyflwyniadau a darlithoedd, diolch i'r ffaith bod rhai peirianwyr awtomeiddio eisoes wedi llwyddo i wneud cyflwyniadau mewn cynadleddau, a hefyd wedi derbyn set bwerus o fideos a chyflwyniadau ar gyfer newydd-ddyfodiaid.

Ar fy rhan fy hun, byddaf yn ychwanegu bod cyfathrebu rhwng ein hadrannau wedi'i symleiddio i lefel hollol chwerthinllyd o hawdd. Er enghraifft, nawr yn ymarferol nid oes angen i mi feddwl am ba achosion ac ar ba lefel o atomigedd i'w awtomeiddio. O ganlyniad, mae pob parti â diddordeb yn gofalu'n llawn am sylw'r prawf, sy'n tyfu'n gyson. Nid oes neb yn mynnu'r amhosibl gan eraill.

Yn gyffredinol, mae'r effaith ar waith timau yn bendant yn gadarnhaol. Efallai bod cydweithwyr sy'n darllen yr erthygl hon hefyd yn meddwl am wneud rhywbeth tebyg? Yna bydd y cyngor yn syml: mae'n werth chweil os yw profion awtomataidd yn flaenoriaeth i chi. Nesaf, byddwn yn siarad am gwestiwn mwy cymhleth: sut i drefnu hyn i gyd mor gywir â phosibl, fel bod costau'r holl bartïon yn fach iawn a bod yr allbwn yn uchaf.

Cynghorion ar gyfer trefnu

Roedd yr ysgol yn ddefnyddiol, ond, fel y cyfaddefodd Stas, roedd rhai anawsterau, ac oherwydd hynny roedd angen trefnu darlithoedd ychwanegol. Ac fel myfyriwr diweddar yn cymharu fy hun-anwybodaeth a mi fy hun-yn awr y lluniais y camau canlynol i greu, yn fy marn i, y ffordd ddelfrydol i ddysgu profwyr i ddeall profion awtomataidd.

Cam 0. Creu geiriadur

Wrth gwrs, mae angen y cam hwn nid yn unig ar gyfer SA. Fodd bynnag, rwyf am ei wneud yn glir: rhaid cadw'r sylfaen cod awtomeiddio ar ffurf ddarllenadwy. Ieithoedd rhaglennu - nid lleiaf ieithoedd, ac o hyn gallwch chi ddechrau eich plymio.

Yn ôl i'r ysgol: sut i hyfforddi profwyr llaw i ddelio â phrofion awtomataidd

Dyma sgrinlun o olwg tasgau gydag enwau'r elfennau. Gadewch i ni ddychmygu eich bod yn profi taskview fel blwch du ac erioed wedi gweld Seleniwm yn eich bywyd. Beth mae'r cod hwn yn ei wneud?

Yn ôl i'r ysgol: sut i hyfforddi profwyr llaw i ddelio â phrofion awtomataidd

(Spoiler - mae'r dasg yn cael ei dileu trwy orffwys ar ran y gweinyddwr, ac yna fe welwn fod cofnod o hyn yn y ffrwd.)

Mae'r cam hwn yn unig yn dod â'r ASA a'r ieithoedd SA yn agosach at ei gilydd. Mae'n haws i dimau awtomeiddio esbonio canlyniadau rhediad; mae'n rhaid i brofwyr llaw dreulio llai o ymdrech ar greu achosion: gellir eu gwneud yn llai manwl. Eto i gyd, mae pawb yn deall ei gilydd. Cawsom yr enillion hyd yn oed cyn i'r hyfforddiant ei hun ddechrau.

Cam 1. Ailadrodd ymadroddion

Gadewch i ni barhau â'r gyfochrog ag iaith. Pan fyddwn yn dysgu siarad fel plant, nid ydym yn dechrau o etymology a semanteg. Rydyn ni'n ailadrodd “mam”, “prynu tegan”, ond nid ydyn ni'n mynd ar unwaith i wreiddiau Proto-Indo-Ewropeaidd y geiriau hyn. Felly y mae yma: nid oes diben plymio i ddyfnderoedd nodweddion technegol awtotestiau heb geisio ysgrifennu rhywbeth sy'n gweithio.
Mae'n swnio ychydig yn wrthreddfol, ond mae'n gweithio.

Yn y wers gyntaf, mae'n werth rhoi sail ar sut i ysgrifennu profion awtomatig yn uniongyrchol. Rydym yn helpu i sefydlu'r amgylchedd datblygu (yn fy achos i, Intellij IDEA), esbonio'r rheolau iaith gofynnol sy'n angenrheidiol i ysgrifennu dull arall mewn dosbarth sy'n bodoli eisoes gan ddefnyddio'r camau presennol. Rydyn ni'n ysgrifennu un neu ddau o brofion gyda nhw ac yn rhoi gwaith cartref iddyn nhw, y byddwn i'n ei fformatio fel hyn: cangen wedi'i ganghennu oddi wrth y meistr, ond mae sawl prawf wedi'u tynnu ohoni. Dim ond eu disgrifiadau sydd ar ôl. Gofynnwn i brofwyr adfer y profion hyn (nid trwy show diff, wrth gwrs).

O ganlyniad, bydd yr un a wrandawodd ac a wnaeth bopeth yn gallu:

  1. dysgu i weithio gyda'r rhyngwyneb amgylchedd datblygu: creu canghennau, hotkeys, ymrwymo a gwthio;
  2. meistroli hanfodion strwythur yr iaith a'r dosbarthiadau: ble i fewnosod pigiadau a ble i fewnforio, pam mae angen anodiadau, a pha fath o symbolau a geir yno, ar wahân i gamau;
  3. deall y gwahaniaeth rhwng gweithredu, aros a gwirio, ble i ddefnyddio beth;
  4. Sylwch ar y gwahaniaeth rhwng awtobrofion a gwiriadau â llaw: mewn awto-brofion gallwch dynnu un neu un arall yn hytrach na chyflawni gweithredoedd drwy'r rhyngwyneb. Er enghraifft, anfonwch sylw'n uniongyrchol i'r ôl-wyneb yn lle agor golwg tasg, dewis y mewnbwn, teipio testun a chlicio ar y botwm Anfon;
  5. llunio cwestiynau a fydd yn cael eu hateb yn y cam nesaf.

Mae'r pwynt olaf yn bwysig iawn. Mae'n hawdd rhoi'r atebion hyn o flaen amser, ond mae'n egwyddor addysgu bwysig nad yw atebion heb gwestiynau wedi'u llunio yn cael eu cofio ac na chânt eu defnyddio pan fydd eu hangen yn y pen draw.

Byddai'n ddelfrydol pe bai peiriannydd awtomeiddio o'r tîm SA yn rhoi tasg iddo ar yr adeg hon o ysgrifennu cwpl o brofion mewn brwydr a chaniatáu iddo is-ymrwymo i'w gangen.

Beth i beidio â rhoi:

  1. gwybodaeth fanylach am ymarferoldeb yr amgylchedd datblygu a'r iaith raglennu ei hun, na fydd ei hangen ond wrth weithio gyda changhennau'n annibynnol. Ni fydd yn cael ei gofio, bydd yn rhaid i chi ei esbonio ddwywaith neu deirgwaith, ond rydym yn gwerthfawrogi amser peirianwyr awtomeiddio, iawn? Enghreifftiau: datrys gwrthdaro, ychwanegu ffeiliau at git, creu dosbarthiadau o'r dechrau, gweithio gyda dibyniaethau;
  2. popeth sy'n ymwneud â xpath. O ddifrif. Mae angen ichi siarad amdano ar wahân, unwaith ac mewn modd dwys iawn.

Cam 2. Edrych yn agosach ar y gramadeg

Gadewch i ni gofio'r sgrin lun tasg o gam #0. Mae gennym gam o'r enw checkCommentWithTextExists. Mae ein profwr eisoes yn deall beth mae'r cam hwn yn ei wneud a gallwn edrych y tu mewn i'r cam a'i ddadelfennu ychydig.

Ac y tu mewn mae gennym y canlynol:

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

Ble mae onCommentBlock

onCommonStreamPanel().commentBlock(userName);

Nawr rydyn ni'n dysgu dweud nid “prynu tegan,” ond “prynu tegan o siop Detsky Mir, sydd wedi'i leoli yn y cabinet glas ar y drydedd silff o'r brig.” Mae angen egluro ein bod yn pwyntio at elfen yn olynol, o elfennau mwy (ffrwd -> bloc gyda sylwadau gan berson penodol -> y rhan honno o'r bloc hwn lle mae'r testun penodedig yn eistedd).

Na, nid yw'n amser siarad am xpath o hyd. Soniwch yn fyr fod yr holl gyfarwyddiadau hyn yn cael eu disgrifio ganddyn nhw ac mae etifeddiaeth yn mynd trwyddynt. Ond mae angen inni siarad am yr holl fatwyr a gweinyddion hyn; maent yn ymwneud yn benodol â'r cam hwn ac yn angenrheidiol i ddeall beth sy'n digwydd. Ond peidiwch â gorlwytho: gall eich myfyriwr astudio honiadau mwy cymhleth ar ei ben ei hun yn ddiweddarach. Mae'r rhan fwyaf tebygol, dylai, aros Tan, arddangos ();, bodoli ();, nid (); dylai fod yn ddigon.

Mae'r gwaith cartref yn amlwg: cangen lle mae cynnwys nifer o gamau sy'n angenrheidiol ar gyfer nifer penodol o brofion wedi'u dileu. Gadewch i'r profwyr eu hadfer a gwneud i'r rhediad fod yn wyrdd eto.

Yn ogystal, os oes gan y tîm profi nid yn unig nodweddion newydd yn ei waith, ond hefyd rhai atgyweiriadau i fygiau, gallwch ofyn iddo ysgrifennu profion ar gyfer y bygiau hyn ar unwaith a'u rhyddhau. Yn fwyaf tebygol, mae'r holl elfennau eisoes wedi'u disgrifio; dim ond ychydig o gamau a allai fod ar goll. Bydd hwn yn ymarfer perffaith.

Cam 3. Trochi llawn

Mor gyflawn â phosibl ar gyfer profwr sy'n mynd i barhau i gyflawni ei ddyletswyddau uniongyrchol. Yn olaf, mae angen inni siarad am xpath.

Yn gyntaf, gadewch inni ei gwneud yn glir bod y rhain i gyd arCommentBlock a sylwadau yn cael eu disgrifio ganddynt.

Yn ôl i'r ysgol: sut i hyfforddi profwyr llaw i ddelio â phrofion awtomataidd

Cyfanswm:

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

Mae trefn y stori yn bwysig iawn. Yn gyntaf, rydym yn cymryd unrhyw xpath presennol ac yn dangos sut mae'r tab elfennau yn cynnwys un elfen ac un elfen yn unig. Nesaf, byddwn yn siarad am y strwythur: pan fydd angen i chi ddefnyddio WebElement, a phryd mae angen i chi greu ffeil ar wahân ar gyfer elfen newydd. Bydd hyn yn eich galluogi i ddeall etifeddiaeth yn well.

Rhaid nodi'n benodol mai un elfen yw'r golwg tasg gyfan, mae'n cynnwys elfen plentyn - y ffrwd gyfan, sy'n cynnwys elfen plentyn - sylw ar wahân, ac ati. Mae elfennau plentyn y tu mewn i elfennau rhiant ar y dudalen ac yn strwythur y fframwaith awtotest.

Ar y pwynt hwn, dylai'r gynulleidfa fod wedi deall yn iawn sut y cânt eu hetifeddu a'r hyn y gellir ei nodi ar ôl y dot ynCommentBlock. Ar y pwynt hwn, rydym yn esbonio'r holl weithredwyr: /, //, ., [] ac yn y blaen. Rydym yn ychwanegu gwybodaeth am ddefnydd i'r llwyth @class a phethau angenrheidiol eraill.

Yn ôl i'r ysgol: sut i hyfforddi profwyr llaw i ddelio â phrofion awtomataidd

Dylai myfyrwyr ddeall sut i gyfieithu xpath fel hyn. I atgyfnerthu - mae hynny'n iawn, gwaith cartref. Rydym yn dileu'r disgrifiadau o'r elfennau, gadewch iddynt adfer gwaith y profion.

Pam y llwybr arbennig hwn?

Ni ddylem orlwytho person â gwybodaeth gymhleth, ond rhaid inni egluro popeth ar unwaith, ac mae hwn yn gyfyng-gyngor anodd. Bydd y llwybr hwn yn caniatáu i ni yn gyntaf wneud i wrandawyr ofyn cwestiynau a pheidio â deall rhywbeth a'u hateb yr eiliad nesaf. Os siaradwch am y bensaernïaeth gyfan, yna erbyn i'r pwnc o gamau neu xpath gael ei ddadansoddi, bydd y rhannau pwysicaf ohono eisoes yn cael eu hanghofio oherwydd eu hannealladwyaeth.

Fodd bynnag, mae'n debyg y bydd rhai ohonoch yn gallu rhannu eich profiad ar sut y gellir optimeiddio'r broses hyd yn oed yn fwy. Byddaf yn hapus i ddarllen awgrymiadau tebyg yn y sylwadau!

Ffynhonnell: hab.com

Ychwanegu sylw