Unug imtixaannada DBMS - sida aan ugu samayno Sportmaster, qaybta labaad

Qaybta koowaad - halkan.

Unug imtixaannada DBMS - sida aan ugu samayno Sportmaster, qaybta labaad

Bal qiyaas xaaladda. Waxa ku soo food saartay hawsha horumarinta hawlqabad cusub. Waxaad horumar ka leedahay kuwii kaa horreeyay. Haddii aan u qaadanno in aadan lahayn waajibaadyo damiir, maxaad samayn lahayd?

Inta badan, dhammaan horumarkii hore waa la ilaaway wax walbana mar kale ayay bilaabmaan. Qofna ma jecla inuu qodo koodka qof kale, laakiin haddii aad wakhti haysato, maxaad u bilaabi weyday abuurista nidaamkaaga? Tani waa hab caadi ah, oo inta badan waa sax. Laakiin mashruucayagii waanu khaladnay. Waxaan ku salaynay nidaamka tijaabada tooska ah ee mustaqbalka ee ku saabsan horumarka imtixaanada cutubyada ee utPLSQL ee kuwii naga horeeyay, ka dibna waxaan u shaqeynay dhowr jiho oo barbar socda.

  1. Soo celinta imtixaanadii cutubka hore. Soo kabashada macneheedu waa la qabsiga imtixaanada xaalada jirta ee nidaamka daacadnimada iyo la qabsiga imtixaanada heerarka utPLSQL.
  2. Xallinta dhibaatada fahamka waxa saxda ah, hababka iyo hababka lagu daboolay imtixaannada autotest. Waa in aad xogtan ku haysaa madaxaaga, ama aad soo gunaanado si toos ah koodka autotest. Sidaa darteed, waxaan go'aansanay inaan abuurno buug-yaraha. Waxaan u xilsaarnay koodka mnemonic gaar ah ee tijaabin kasta, waxaanu abuurnay sharraxaad iyo dejin la duubay (tusaale ahaan, xaaladaha ay tahay in la bilaabo, ama waxa dhici doona haddii bilawga imtixaanku guul-darraysto). Asal ahaan, waxaanu buuxinay xogta badan ee ku saabsan autotests-yada waxaanan dhignay xogta badan ee jaantusyada utPLSQL ee caadiga ah.
  3. Qeexida istaraatiijiyada ballaarinta, i.e. xulashada shaqeynta ee ku xiran xaqiijinta imtixaannada iswada. Waxaan go'aansanay inaan fiiro gaar ah u yeelano saddex shay: hagaajinta nidaamka cusub, dhacdooyinka wax soo saarka, iyo hababka nidaamka muhiimka ah. Sidaa darteed, waxaan ku horumarineynaa si la mid ah sii-deynta, hubinta tayada sare, isla mar ahaantaana ballaarinta baaxadda dib-u-celinta iyo hubinta isku-kalsoonaanta nidaamka meelaha muhiimka ah. Caqabaddii ugu horreysay ee noocan oo kale ah waxay ahayd habka qaybinta qiimo dhimista iyo gunnada jeegga.
  4. Dabiici ahaan, waxaanu bilownay inaanu samayno tijaabin autotes oo cusub. Mid ka mid ah hawlihii ugu horreeyay ee la sii daayay waxay ahayd in la qiimeeyo waxqabadka muunado horay loo sii qeexay ee nidaamka daacadnimada. Mashruucayagu waxa uu leeyahay qaybo adag oo su'aalo SQL ah oo go'an oo dooranaya macaamiisha ku salaysan shuruudaha. Tusaale ahaan, hel liiska dhammaan macaamiisha iibsigoodii ugu dambeeyay ahaa magaalo gaar ah, ama liiska macaamiisha celceliska qaddarkooda wax iibsiga uu ka sarreeyo qiimo gaar ah. Annaga oo haysanay imtixaanno otomaatig ah oo qoran, waxaan hubinnay muunado horay loo qeexay, cabbirrada waxqabadka bartilmaameedka la duubay, waxaana intaa dheer waxaan helnay tijaabinta culeyska.
  5. La shaqaynta autotests waa inay noqotaa mid ku habboon. Labada ficil ee ugu caansan waa socodsiinta autotests iyo abuurista xogta tijaabada. Tani waa sida laba qaybood oo caawiye ah ay ugu soo dhex muuqdeen nidaamkayaga: moduleka bilawga ah iyo moduleka xogta.

    Soosaaruhu waxa uu u taagan yahay hal nidaam oo caalami ah oo leh hal cabbir qoraal ah. Halbeeg ahaan, waxaad gudbi kartaa autotest code mnemonic, magaca xirmada, magaca tijaabada, habaynta autotest, ama kelmad la xafiday. Nidaamku waxa uu doortaa oo uu wadaa dhammaan imtixaannada autotest ee qanciya shuruudaha.

    Qaybta soo saarista xogta waxaa lagu soo bandhigay qaab xirmo ah oo shay kasta oo ka mid ah nidaamka tijaabada ah (miiska kaydka xogta), nidaam gaar ah ayaa la sameeyay kaas oo gelinaya xogta halkaas. Nidaamkan, qiyamka caadiga ah ayaa la buuxiyaa inta ugu badan ee suurtogalka ah, taas oo hubinaysa abuurista walxaha macno ahaan gujinta farta. Iyo fududaynta isticmaalka, habab xogta la sameeyay ayaa la sameeyay. Tusaale ahaan, ku samee macmiil da' gaar ah leh taleefan tijaabo ah iyo iibsi dhammaystiran.

  6. Tijaabooyinku waa inay bilaabaan oo ay ku shaqeeyaan wakhti la aqbali karo nidaamkaaga. Sidaa darteed, waxaa la soo agaasimay bandhig habeen maalinle ah, iyadoo lagu salaynayo natiijadii ka soo baxday warbixinta natiijada laga soo saaray oo dhammaan kooxda horumarinta loogu diray boostada shirkadaha. Ka dib markii dib loo soo celiyay autotestiyadii hore iyo abuurista kuwa cusub, wadarta wakhtiga shaqadu waxay ahayd 30 daqiiqo. Waxqabadkani wuxuu ku habboonaa qof walba, tan iyo markii la bilaabay bilawga wakhti ka baxsan saacadaha shaqada.

    Laakiin waxay ahayd inaan ka shaqayno hagaajinta xawaaraha shaqada. Nidaamka daacadnimada ee wax soo saarka waa la cusboonaysiiyaa habeenkii. Iyada oo qayb ka ah mid ka mid ah sii deynta, waa inaan samayno isbeddel degdeg ah habeenkii. Sugitaanka nus-saac natiijada autotests saddexdii subaxnimo ma aysan ka dhigin qofka mas'uulka ka ah sii-deynta inuu ku faraxsan yahay (salaamaha naxariista leh ee Alexey Vasyukov!), Subaxdii xigtayna ereyo badan oo naxariis leh ayaa lagu yiri nidaamkayaga. Laakiin natiijada, heerka shaqada ee 5-daqiiqo ayaa la sameeyay.

    Si loo dedejiyo waxqabadka, waxaan isticmaalnay laba hab: autotests waxay bilaabeen inay ku shaqeeyaan saddex qaybood oo isku mid ah, nasiib wanaag tani waa mid aad u habboon sababtoo ah qaab-dhismeedka nidaamkayaga daacadnimada. Oo waxaan ka tagnay habka meesha autotest uusan u abuurin xogta tijaabada laftiisa, laakiin wuxuu isku dayaa inuu helo wax ku habboon nidaamka. Kadib samaynta isbeddelada, wadarta wakhtiga hawlgalka ayaa laga dhigay 3-4 daqiiqo.

  7. Mashruuc leh tijaabooyin toos ah waa in la geyn karaa meelo kala duwan. Bilowgii safarkayaga, waxaa jiray isku dayo aan ku qorno faylasha dufcadaha noo gaar ah, laakiin waxaa caddaatay in rakibaadda iskeed u qoran ay tahay cabsi dhammaystiran, waxaanan u jeesannay xalalka warshadaha. Sababtoo ah xaqiiqda ah in mashruucu ka kooban yahay kood badan oo toos ah (marka hore, waxaan ku kaydineynaa code autotest) iyo xog aad u yar (xogta ugu muhiimsan waa metadata ku saabsan autotests), hirgelinta mashruuca Liquibase wuxuu noqday mid aad u fudud.

    Waa il-furan, maktabad-madax-bannaan oo xog-ururin si loogu daba-galo, loo maareeyo, loona dhaqan-geliyo isbeddellada qaabaynta xogta. Waxaa lagu maamulaa khadka taliska ama qaab-dhismeedka sida Apache Maven. Mabda'a hawlgalka Liquibase waa mid fudud. Waxaan haynaa mashruuc si gaar ah loo habeeyey, kaas oo ka kooban isbeddelo ama qoraallo u baahan in loo rogo server-ka bartilmaameedka ah, iyo xakameynta faylasha go'aaminaya sida isku xigxiga iyo cabbirrada isbeddelladan lagu rakibo.

    Heerka DBMS, miis gaar ah ayaa la sameeyay kaas oo Liquibase ay ku kaydiso diiwaanka duubista. Isbeddel kastaa wuxuu leeyahay xashiish la xisaabiyay, kaas oo la barbar dhigo wakhti kasta oo u dhexeeya mashruuca iyo gobolka ee kaydka. Thanks to Liquibase, waxaan si fudud u rogi karnaa isbeddelada nidaamkayaga wareeg kasta. Tijaabooyinka otomaatiga ah ayaa hadda lagu bilaabay tijaabada iyo wareegyada sii daynta, iyo sidoo kale weelasha (wareegyada shaqsiyeed ee horumariyeyaasha).

Unug imtixaannada DBMS - sida aan ugu samayno Sportmaster, qaybta labaad

Markaa, aan ka hadalno natiijooyinka adeegsiga nidaamkayaga tijaabada unugyada.

  1. Dabcan, marka hore, waxaan ku qanacsanahay inaan bilownay inaan horumarino software ka wanaagsan. Tijaabooyin otomaatig ah ayaa la bilaabaa maalin kasta waxaana la helaa daraasiin khaladaad kasta oo la sii daayo. Waxaa intaa dheer, qaar ka mid ah khaladaadkan ayaa kaliya si aan toos ahayn ula xiriira shaqeynta oo aan runtii rabnay inaan bedelno. Waxaa jira shaki weyn oo laga qabo in khaladaadkaas lagu helay baaritaanka gacanta.
  2. Kooxdu hadda waxay kalsooni ku qabtaa in shaqada gaarka ahi ay si sax ah u shaqaynayso...Ugu horreyntii, tani waxay khusaysaa geeddi-socodyadayada muhiimka ah. Tusaale ahaan, lixdii bilood ee la soo dhaafay wax dhibaato ah nagama qabin qaybinta qiimo-dhimista iyo gunnooyinka rasiidhada, inkasta oo la sii daayay isbeddello, inkasta oo xilliyadii hore ay dhaceen khaladaadyo soo noqnoqda.
  3. Waxaan ku guuleysanay inaan dhimno tirada ku celcelinta baaritaanka. Sababtoo ah xaqiiqda ah in autotests loo qoro shaqeyn cusub, falanqeeyayaasha iyo tijaabiyaasha waqti-dhiman waxay helayaan koodh tayo sare leh, sababtoo ah mar hore ayaa la hubiyay.
  4. Qaar ka mid ah horumarka tijaabada otomaatiga ah waxaa isticmaala horumariyayaashu. Tusaale ahaan, xogta tijaabada ee weelasha waxaa la abuuray iyadoo la adeegsanayo moduleka wax-soo-saarka shayga.
  5. Waa muhiim in aan samaynay "ogolaanshaha" nidaamka tijaabada otomaatiga ah ee qayb ka mid ah horumarinta. Waxaa jira faham ah in tani ay tahay mid muhiim ah oo faa'iido leh. Laakiin waayo-aragnimadayda waxaan dhihi karaa in tani ay aad uga fog tahay kiiska. Tijaabooyinku waxay u baahan yihiin in la qoro, waxay u baahan yihiin in la taageero oo la horumariyo, natiijooyinka waa in la falanqeeyaa, inta badanna kharashyada waqtigu maaha kuwo u qalma. Aad bay u fududahay inaad tagto wax soo saarka oo aad wax ka qabato dhibaatooyinka halkaas. Halkan, horumariyayaashu waxay saf ugu jiraan oo na weydiiyaan inaan ku daboono shaqeyntooda istaamada.

Maxaa ku xiga

Unug imtixaannada DBMS - sida aan ugu samayno Sportmaster, qaybta labaad

Aynu ka hadalno qorshayaasha horumarineed ee mashruuca tijaabada tooska ah.

Dabcan, ilaa iyo inta nidaamka daacadnimada Sportmaster uu nool yahay oo uu sii wado horumarinta, waxa kale oo suurtogal ah in la horumariyo autotests ku dhawaad ​​aan dhammaad lahayn. Sidaa darteed, jihada ugu muhiimsan ee horumarinta waa ballaarinta aagga daboolka.

Markay tirada imtixaanada otomaatiga ahi korodho, wadarta wakhtigooda hawlgalku si joogto ah ayuu u kordhi doonaa, waxaana mar labaad ku laaban doonaa arinta waxqabadka. Inta badan, xalku wuxuu noqon doonaa in la kordhiyo tirada dunta isku midka ah.

Laakiin kuwani waa siyaabo muuqda oo horumarineed. Haddii aan ka hadalno wax kale oo aan fududayn, waxaynu iftiiminaynaa kuwan soo socda:

  1. Hadda, maaraynta autotest waxaa lagu sameeyaa heerka DBMS, i.e. aqoonta PL/SQL ayaa looga baahan yahay shaqada guusha leh. Haddii loo baahdo, maamulka nidaamka (tusaale, bilaabista ama abuurista metadata), waxaad samayn kartaa nooc ka mid ah guddi maamulka isticmaalaya Jenkins ama wax la mid ah.
  2. Qof kastaa wuxuu jecel yahay tilmaamayaasha tirada iyo tayada. Imtixaanka tooska ah, tusaha caalamiga ah ee noocan oo kale ah waa Coverage Coverage ama mitirka daboolida koodhka. Isticmaalka tusahaan, waxaan go'aamin karnaa inta boqolkiiba koodka nidaamkayaga tijaabada ku jira uu daboolo imtixaannada autotest. Laga bilaabo nooca 12.2, Oracle wuxuu bixiyaa awooda lagu xisaabiyo mitirkan wuxuuna bixiyaa isticmaalka xirmada DBMS_PLSQL_CODE_COVERAGE caadiga ah.

    Nidaamkeena tijaabinta ayaa ka badan hal sano waxaana laga yaabaa in hadda la joogo waqtigii la qiimeyn lahaa caymiskayaga. Mashruucii u dambeeyay (maaha mashruuc-Sport-master) tani waa waxa dhacay. Sannad ka dib markii ay ka shaqeeyaan autotests, maamulka ayaa dejiyay hawsha qiimaynta inta boqolkiiba code ee aan daboolo. Marka la daboolo in ka badan 1%, maamulka ayaa ku farxi lahaa. Anaga, horumariyayaashu, waxaanu filaynay natiijadii ku dhawaad ​​10%. Waxaan rakibnay daboolka koodka, cabbirnay, waxaana helnay 20%. Si aan u dabaaldegno, waxaan u tagnay si aan u helno abaalmarinta, laakiin sida aan ku helnay iyo halka aan aaday markii dambe waa sheeko gebi ahaanba ka duwan.

  3. Tijaabooyinku waxay hubin karaan adeegyada shabakadda ee qarsoon. Oracle wuxuu noo ogolaadaa inaan tan si fiican u samayno, mar dambena la kulmi mayno tiro dhibaatooyin ah.
  4. Iyo, dabcan, nidaamkayaga tijaabada tooska ah ayaa lagu dabaqi karaa mashruuc kale. Xalka aan helnay waa mid caalami ah oo u baahan kaliya isticmaalka Oracle. Waxaan maqlay in mashaariicda kale ee Sportmaster ay xiiseynayaan tijaabinta tooska ah waxaana laga yaabaa inaan u tagi doono.

natiijooyinka

Aan soo koobno. Mashruuca nidaamka daacadnimada ee Sportmaster, waxaan ku guuleysanay inaan hirgelino nidaam tijaabo ah oo toos ah. Waxay ku saleysan tahay xalka utPLSQL ee Stephen Feuerstein. UtPLSQL agagaarka utPLSQL waxaa jira koodh autotest ah iyo cutubyo iskood u qoran oo caawiya: moduleka bilawga ah, moduleka xogta xogta iyo kuwa kale. Tijaabooyin otomaatig ah ayaa la bilaabaa maalin kasta, waxaana ugu muhiimsan, way shaqeeyaan oo faa'iido ayay leeyihiin. Waxaan ku kalsoonahay inaan bilownay inaan sii deyno software tayo sare leh. Isla mar ahaantaana, xalka natiijadu waa mid caalami ah waxaana si xor ah loogu dabaqi karaa mashruuc kasta halkaas oo ay lagama maarmaan tahay in lagu abaabulo imtixaan otomaatig ah Oracle DBMS.

P.S. Maqaalkani maaha mid gaar ah: waxaa jira qoraal badan oo ficil ahaan ma jiraan tusaalooyin farsamo. Haddii mawduuca guud ahaan xiiso leh, markaa waxaan diyaar u nahay inaan sii wadno oo aan ku soo laabanno sii wadid, halkaas oo aan kuu sheegi doono waxa isbeddelay lixdii bilood ee la soo dhaafay oo aan bixinno tusaalooyin code ah.

Qor faallooyinka haddii ay jiraan qodobbo ay tahay in mustaqbalka xoogga la saaro, ama su'aalo u baahan in la shaaciyo.

Isticmaalayaasha diiwaangashan oo keliya ayaa ka qaybqaadan kara sahanka. Soo gal, soo dhawoow.

Miyaan wax badan ka qori karnaa arrintan?

  • Haa, hubaal

  • Maya mahadsanid

12 isticmaale ayaa codeeyay. 4 isticmaale ayaa ka aamusay.

Source: www.habr.com

Add a comment