Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke abụọ

Akụkụ mbụ - ebe a.

Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke abụọ

Chegodị echiche banyere ọnọdụ ahụ. Ị na-eche ihu ọrụ nke ịmepụta ọrụ ọhụrụ. Ị nwere mmepe site na ndị bu gị ụzọ. Ọ bụrụ na anyị echee na i nweghị ọrụ ime omume ọma, gịnị ka ị ga-eme?

Ọtụtụ mgbe, a na-echefu ihe ochie niile na ihe niile na-amalite ọzọ. Ọ dịghị onye nwere mmasị igwu n'ime koodu onye ọzọ, mana ọ bụrụ na ị nwere oge, gịnị ma ị malite ịmepụta usoro nke gị? Nke a bụ usoro a na-ahụkarị, ọ dịkwa mma nke ukwuu. Mana n'ọrụ anyị, anyị mere ya ezighi ezi. Anyị dabere na usoro nnwale akpaka n'ọdịnihu na mmepe na nnwale unit na utPLSQL site na ndị bu anyị ụzọ, wee gaa rụọ ọrụ n'ọtụtụ ụzọ yiri ya.

  1. Na-eweghachi ule nkeji ochie. Iweghachite pụtara ịmegharị ule na ọnọdụ nke sistemu iguzosi ike n'ihe dị na imegharị ule na ụkpụrụ utPLSQL.
  2. Na-edozi nsogbu na nghọta nke ihe kpọmkwem, usoro na usoro na-ekpuchi na autotests. Ị ga-edobe ozi a n'isi gị, ma ọ bụ chepụta nkwubi okwu dabere na koodu autotest ozugbo. Ya mere, anyị kpebiri ịmepụta katalọgụ. Anyị kenyere koodu mnemonic pụrụ iche na nyocha nke ọ bụla, mepụta nkọwa na ntọala ndekọ (dịka ọmụmaatụ, n'okpuru ọnọdụ ndị ekwesịrị ịmalite, ma ọ bụ ihe kwesịrị ime ma ọ bụrụ na mbido ule ada ada). N'ikpeazụ, anyị bulitere metadata gbasara autotests wee tinye metadata ahụ n'ime tebụl atụmatụ utPLSQL ọkọlọtọ.
  3. Ịkọwapụta atụmatụ mgbasawanye, ya bụ. nhọrọ nke ọrụ nke a na-akwado nkwenye site na ule akpaghị aka. Anyị kpebiri ịṅa ntị n'ihe atọ: mmezi usoro ọhụrụ, mmepụta mmepụta, na isi usoro usoro. Ya mere, anyị na-etolite n'otu n'otu na ntọhapụ, na-eme ka ịdị elu ya dị elu, n'otu oge na-agbasawanye njedebe nke nlọghachi azụ ma hụ na a pụrụ ịdabere na usoro n'ebe dị oke egwu. Nke mbụ mkpọmkpọ ebe dị otú ahụ bụ usoro nkesa ego na ego ego na ego nlele.
  4. Dị ka o kwesịrị ịdị, anyị malitere imepe ihe nnwale ọhụrụ. Otu n'ime ọrụ ntọhapụ mbụ bụ inyocha arụmọrụ nke ihe atụ akọwapụtara nke sistemu iguzosi ike n'ihe. Ọrụ anyị nwere ngọngọ nke ajụjụ SQL kwụsiri ike nke na-ahọrọ ndị ahịa dabere na ọnọdụ. Dịka ọmụmaatụ, nweta ndepụta nke ndị ahịa niile ndị azụrụ ikpeazụ ha dị n'otu obodo, ma ọ bụ ndepụta nke ndị ahịa nke nkezi ego azụrụ ha karịrị otu uru. N'ịbụ onye e dere autotests, anyị lere anya n'omume ndị eburu ụzọ kọwaa, parampat arụmọrụ benchmark edekọ, yana gbakwunyere anyị nwere nnwale ibu.
  5. Ịrụ ọrụ na autotests kwesịrị ịdị mma. Omume abụọ a na-emekarị na-agba ọsọ autotest na ịmepụta data ule. Nke a bụ ka modul inyeaka abụọ siri pụta na sistemụ anyị: modul mmalite na modul ọgbọ data.

    A na-anọchi anya ihe nrụpụta dị ka otu usoro zuru ụwa ọnụ nwere otu ntinye ederede. Dị ka paramita, ị nwere ike gafere koodu mnemonic autotest, aha ngwugwu, aha nnwale, ntọala akpaaka, ma ọ bụ mkpụrụokwu edobere. Usoro a na-ahọrọ ma na-agba ọsọ niile autotests na-egbo ọnọdụ.

    A na-ewepụta modul ọgbọ data n'ụdị ngwugwu nke maka ihe ọ bụla nke usoro a na-anwale (tebụl dị na nchekwa data), e mepụtara usoro pụrụ iche nke na-etinye data n'ebe ahụ. N'ime usoro a, a na-ejupụta ụkpụrụ ndabara dị ka o kwere mee, nke na-eme ka ịmepụta ihe n'ụzọ nkịtị na ịpị mkpịsị aka. Na maka ịdị mfe iji, emepụtara ndebiri maka data emepụtara. Dịka ọmụmaatụ, mepụta onye ahịa nke afọ ụfọdụ nwere ekwentị ule yana ịzụrụ emecha.

  6. Nyocha akpaaka kwesịrị ịmalite ma na-agba ọsọ n'oge a na-anabata maka sistemụ gị. Ya mere, a haziri mmalite nke abalị kwa ụbọchị, dabere na nsonaazụ nke a na-ewepụta akụkọ banyere nsonaazụ ya wee zigara ndị otu mmepe niile site na ozi ụlọ ọrụ. Mgbe iweghachite autotest ochie na imepụta ndị ọhụrụ, ngụkọta oge ọrụ bụ nkeji iri atọ. Ọrụ a dabara onye ọ bụla, ebe ọ bụ na mwepụta ahụ mere n'èzí oge ọrụ.

    Ma anyị aghaghị ịrụ ọrụ n'ịkwalite ọsọ nke ọrụ. A na-emelite usoro iguzosi ike n'ihe na mmepụta n'abalị. Dị ka akụkụ nke otu n'ime ihe ndị e wepụtara, anyị aghaghị ime mgbanwe ngwa ngwa n'abalị. Ichere maka ọkara otu awa maka nsonaazụ autotests na atọ nke ụtụtụ emeghị ka onye ahụ na-ahụ maka ntọhapụ nwee obi ụtọ (ekele ekele Alexey Vasyukov!), N'ụtụtụ echi, a na-ekwu ọtụtụ okwu obiọma n'ebe usoro anyị dị. Ma n'ihi ya, e guzobere ụkpụrụ ọrụ nkeji 5.

    Iji mee ka arụmọrụ dị ngwa, anyị na-eji ụzọ abụọ: autotests malitere ịgba ọsọ na eriri atọ yiri ya, ọ dabara nke ọma na nke a dị nnọọ mma n'ihi nhazi nke usoro ntụkwasị obi anyị. Na anyị hapụrụ obibia ebe autotest adịghị emepụta data ule maka onwe ya, ma na-agbalị ịchọta ihe kwesịrị ekwesị na usoro. Mgbe emechara mgbanwe ndị ahụ, ngụkọta oge ọrụ belatara na nkeji 3-4.

  7. Arụmọrụ nwere ule akpaaka kwesịrị ibuga n'ebe dị iche iche. Ná mmalite nke njem anyị, e nwere mgbalị iji dee faịlụ batch nke anyị, ma ọ bịara doo anya na nrụnye akpaghị aka na-ede onwe ya bụ ihe egwu zuru oke, anyị tụgharịrị gaa na ngwọta ụlọ ọrụ. N'ihi n'eziokwu na oru ngo nwere ọtụtụ nke kpọmkwem koodu (nke mbụ, anyị na-echekwa autotest code) na obere data (isi data bụ metadata banyere autotests), mmejuputa iwu na Liquibase oru ngo ghọrọ nnọọ mfe.

    Ọ bụ ebe mepere emepe, ọbá akwụkwọ nọọrọ onwe ya na nchekwa data maka nsochi, jikwaa, na ịmanye mgbanwe atụmatụ nchekwa data. Ejikwara site na ahịrị iwu ma ọ bụ usoro dị ka Apache Maven. Ụkpụrụ nke ọrụ Liquibase dị nnọọ mfe. Anyị nwere oru ngo ahaziri n'ụzọ ụfọdụ, nke mejupụtara mgbanwe ma ọ bụ scripts na mkpa ka akpọrepu na lekwasịrị ihe nkesa, na njikwa faịlụ na-ekpebi na ihe usoro na ihe paramita mgbanwe ndị a kwesịrị arụnyere.

    Na ọkwa DBMS, a na-emepụta tebụl pụrụ iche nke Liquibase na-echekwa logover log. Mgbanwe ọ bụla nwere hash gbakọọ, nke a na-atụnyere oge ọ bụla n'etiti ọrụ ahụ na steeti na nchekwa data. Ekele dịrị Liquibase, anyị nwere ike ịtụgharị mgbanwe na sistemụ anyị na sekit ọ bụla. A na-ewepụta ihe nleba anya ugbu a na sekit ule na ntọhapụ, yana na arịa (sekit nke ndị nrụpụta).

Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke abụọ

Yabụ, ka anyị kwuo maka nsonaazụ nke iji sistemu nnwale unit anyị.

  1. N'ezie, nke mbụ, anyị kwenyesiri ike na anyị amalitela ịmepụta ngwanrọ ka mma. A na-ewepụta nnwale akpaaka kwa ụbọchị ma na-ahụ ọtụtụ mperi ntọhapụ ọ bụla. Ọzọkwa, ụfọdụ n'ime njehie ndị a na-emetụta naanị ọrụ anyị chọrọ n'ezie ịgbanwe. Enwere nnukwu obi abụọ na achọpụtara njehie ndị a site na nyocha akwụkwọ ntuziaka.
  2. Ndị otu ahụ nwere obi ike ugbu a na ọrụ a kapịrị ọnụ na-arụ ọrụ nke ọma ... Nke mbụ, nke a metụtara usoro anyị dị oke egwu. Dịka ọmụmaatụ, n'ime ọnwa isii gara aga, anyị enwebeghị nsogbu ọ bụla na nkesa nke ego na ego ego na nnata, n'agbanyeghị mgbanwe ntọhapụ, ọ bụ ezie na n'oge gara aga, njehie mere na ụfọdụ ugboro.
  3. Anyị jisiri ike belata ọnụọgụ ule ugboro ugboro. N'ihi na eziokwu na e dere autotests maka ọrụ ọhụrụ, ndị nyocha na ndị na-anwale oge na-enweta koodu nke àgwà dị elu, n'ihi na enyochala ya.
  4. Ụfọdụ n'ime mmepe na nnwale akpaghị aka bụ ndị nrụpụta na-eji. Dịka ọmụmaatụ, a na-emepụta data nyocha na arịa site na iji modul ọgbọ ihe.
  5. Ọ dị mkpa na anyị emepụtala "nnabata" nke usoro nnwale akpaaka n'akụkụ nke ndị mmepe. Enwere nghọta na nke a dị mkpa ma baa uru. Mana site n'ahụmahụ nke m enwere m ike ịsị na nke a dị anya site na ikpe ahụ. Ọ dị mkpa ka e dee ihe nyocha akpaaka, ọ dị mkpa ka akwado ya ma mepụta ya, a ga-enyocharịrị nsonaazụ ya, na mgbe mgbe, ọnụ ahịa oge ndị a abaghị uru. Ọ dị mfe karị ịga mmepụta ma dozie nsogbu n'ebe ahụ. N'ebe a, ndị mmepe kwụ n'ahịrị wee rịọ anyị ka anyị jiri autotests kpuchie ọrụ ha.

Kedu ihe na-esote

Nnwale otu na DBMS - ka anyị si eme ya na Sportmaster, akụkụ nke abụọ

Ka anyị kwuo maka atụmatụ mmepe maka ọrụ nnwale akpaaka.

N'ezie, ọ bụrụhaala na usoro iguzosi ike n'ihe nke Sportmaster dị ndụ ma na-aga n'ihu na-etolite, ọ ga-ekwe omume ịmepụta autotests fọrọ nke nta ka ọ bụrụ njedebe. Ya mere, isi ntụziaka nke mmepe bụ ịgbasa mpaghara mkpuchi.

Ka ọnụ ọgụgụ nke autotests na-abawanye, ngụkọta oge ha na-arụ ọrụ ga-anọgide na-abawanye, anyị ga-alaghachikwa na okwu nke arụmọrụ. O yikarịrị, ihe ngwọta ga-abụ ịbawanye ọnụ ọgụgụ nke eri yiri ya.

Mana ndị a bụ ụzọ mmepe doro anya. Ọ bụrụ na anyị na-ekwu maka ihe ọzọ na-adịghị mkpa, anyị na-akọwapụta ihe ndị a:

  1. Ugbu a, a na-eme njikwa autotest na ọkwa DBMS, ya bụ. achọrọ ihe ọmụma nke PL/SQL maka ọrụ ịga nke ọma. Ọ bụrụ na ọ dị mkpa, njikwa sistemu (dịka ọmụmaatụ, ịmalite ma ọ bụ mepụta metadata), ị nwere ike ịmepụta ụfọdụ ụdị nchịkwa nchịkwa site na iji Jenkins ma ọ bụ ihe yiri ya.
  2. Onye ọ bụla hụrụ n'anya quantitative na qualitative egosi. Maka ule akpaghị aka, ihe ngosi ụwa niile bụ mkpuchi koodu ma ọ bụ metrik mkpuchi koodu. N'iji ihe ngosi a, anyị nwere ike ikpebi pasent ole nke koodu sistemụ anyị na-anwale bụ autotests. Malite na ụdị 12.2, Oracle na-enye ike ịgbakọ metrik a wee nye iji ngwugwu ọkọlọtọ DBMS_PLSQL_CODE_COVERAGE.

    Usoro nyocha akpaaka anyị dị ihe karịrị otu afọ ma eleghị anya ugbu a bụ oge iji nyochaa mkpuchi anyị. N'ọrụ ikpeazụ m (ọ bụghị ọrụ Sportmaster) nke a bụ ihe merenụ. Otu afọ mgbe ịrụ ọrụ na autotests, njikwa setịpụrụ ọrụ nke nyochaa pasent ole nke koodu anyị na-ekpuchi. Na mkpuchi nke ihe karịrị 1%, njikwa ga-enwe obi ụtọ. Anyị, ndị mmepe, tụrụ anya nsonaazụ ihe dịka 10%. Anyị tinye mkpuchi koodu, tụọ ya, wee nweta 20%. Iji mee ememe, anyị gara inweta ihe nrite, ma otú anyị si gaa nweta ya na ebe anyị gara mechaa bụ akụkọ dị nnọọ iche.

  3. Ndị nyocha akpaaka nwere ike ịlele ọrụ webụ ekpughere. Oracle na-enye anyị ohere ime nke a nke ọma, anyị agaghịkwa enwe ọtụtụ nsogbu.
  4. Ma, n'ezie, usoro nyocha anyị akpaaka nwere ike itinye n'ọrụ ọzọ. Ihe ngwọta anyị nwetara bụ nke zuru ụwa ọnụ ma na-achọ naanị iji Oracle. Anụrụ m na ọrụ Sportmaster ndị ọzọ nwere mmasị na nnwale akpaka na ikekwe anyị ga-agakwuru ha.

Nchoputa

Ka anyị chịkọta. Na oru ngo usoro iguzosi ike n'ihe na Sportmaster, anyị jisiri ike mejuputa usoro nnwale akpaaka. Ọ dabere na ngwọta utPLSQL sitere na Stephen Feuerstein. Gburugburu utPLSQL enwere koodu autotest na modul nke enyere onwe ya aka: modul mmalite, modul ọgbọ data na ndị ọzọ. A na-ewepụta ihe nyocha akpaaka kwa ụbọchị na, nke kachasị mkpa, ha na-arụ ọrụ ma bara uru. Obi siri anyị ike na anyị amalitela ịhapụ sọftụwia dị elu. N'otu oge ahụ, azịza ya bụ nke zuru ụwa ọnụ ma enwere ike itinye ya n'ọrụ n'efu na ọrụ ọ bụla ebe ọ dị mkpa iji hazie ule akpaaka na Oracle DBMS.

P.S. Edemede a abụghị kpọmkwem: enwere ọtụtụ ederede na ọ fọrọ nke nta ka ọ bụrụ ihe atụ teknụzụ. Ọ bụrụ na isiokwu ahụ na-adọrọ mmasị n'ozuzu, mgbe ahụ, anyị dị njikere ịga n'ihu na ya wee laghachi na n'ihu, ebe anyị ga-agwa gị ihe gbanwere n'ime ọnwa isii gara aga ma nye ihe atụ koodu.

Dee azịza ma ọ bụrụ na e nwere isi ihe e kwesịrị imesi ya ike n'ọdịnihu, ma ọ bụ ajụjụ ndị chọrọ ikpughe.

Naanị ndị ọrụ edebanyere aha nwere ike isonye na nyocha a. banye, Biko.

Anyị ga-edekwu banyere nke a?

  • Ee eziokwu

  • Mba, daalụ

Ndị ọrụ 12 tụrụ vootu. Ndị ọrụ 4 anabataghị.

isi: www.habr.com

Tinye a comment