Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea bobeli

Karolo ea pele - mona.

Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea bobeli

Nahana ka boemo. U tobane le mosebetsi oa ho ntlafatsa ts'ebetso e ncha. U na le lintlafatso tse tsoang ho ba pele ho uena. Haeba re nka hore ha u na boikarabelo ba ho itšoara, u ne u tla etsa joang?

Hangata, lintlafatso tsohle tsa khale lia lebaloa 'me tsohle li qala bocha. Ha ho motho ea ratang ho cheka khoutu ea motho e mong, empa haeba u na le nako, ke hobane'ng ha u sa qale ho iketsetsa tsamaiso ea hau? Ena ke mokhoa o tloaelehileng, 'me o nepahetse haholo. Empa morerong oa rona re entse phoso. Re thehile sistimi ea nakong e tlang ea tlhahlobo ea othomathike ho nts'etsopele ea liteko tsa yuniti ho utPLSQL ho tsoa ho ba pele ho rona, ebe re ea sebetsa ka litsela tse 'maloa tse tšoanang.

  1. Ho khutlisa liteko tsa khale tsa yuniti. Ho hlaphoheloa ho bolela ho ikamahanya le liteko tsa boemo bo teng ba tsamaiso ea botšepehi le ho ikamahanya le litekanyetso tsa utPLSQL.
  2. Ho rarolla bothata ka kutloisiso ea hore na hantle-ntle ke mekhoa efe le lits'ebetso tse koahetsoeng ka li-autotests. U tlameha ho boloka tlhahisoleseling ena hloohong ea hau, kapa u fihlele liqeto u ipapisitse le khoutu ea autotest. Ka hona, re ile ra etsa qeto ea ho theha lethathamo la libuka. Re fane ka khoutu e ikhethang ea mnemonic ho tlhahlobo e 'ngoe le e' ngoe ea boiketsetso, ra theha tlhaloso le litlhophiso tse rekotiloeng (mohlala, e lokela ho qalisoa tlas'a maemo afe, kapa ho lokela ho etsahala'ng haeba tlhahiso ea tlhahlobo e hlōleha). Ha e le hantle, re ile ra kenya metadata e mabapi le li-autotest mme ra beha metadata ho litafole tse tloaelehileng tsa schema tsa utPLSQL.
  3. Ho hlalosa leano la ho atolosa, i.e. khetho ea ts'ebetso e ka netefatsoang ke liteko tse ikemetseng. Re nkile qeto ea ho ela hloko lintho tse tharo: ntlafatso ea sistimi e ncha, liketsahalo tsa tlhahiso, le lits'ebetso tsa bohlokoa tsa sistimi. Ka hona, re ntse re ntlafatsa ka tsela e ts'oanang le ho lokolloa, ho netefatsa boleng ba eona bo phahameng, ka nako e le 'ngoe ho atolosa sebaka sa ho khutlela morao le ho netefatsa ho tšepahala ha tsamaiso libakeng tse mahlonoko. Tšitiso ea pele e joalo e bile mokhoa oa ho aba litheolelo le libonase cheke.
  4. Ka tlhaho, re ile ra qala ho etsa li-autotes tse ncha. E 'ngoe ea mesebetsi ea pele ea tokollo e ne e le ho lekola ts'ebetso ea lisampole tse boletsoeng esale pele tsa sistimi ea botšepehi. Morero oa rona o na le li-block tsa lipotso tse tsitsitseng tsa SQL tse khethang bareki ho latela maemo. Mohlala, fumana lenane la bareki kaofela bao theko ea bona ea ho qetela e neng e le toropong e itseng, kapa lenane la bareki bao kakaretso ea bona ea theko e fetang boleng bo itseng. Kamora ho ngola li-autotes, re ile ra lekola lisampole tse boletsoeng esale pele, litekanyetso tsa ts'ebetso tse rekotiloeng, hape re bile le liteko tsa mojaro.
  5. Ho sebetsa le li-autotes ho lokela ho ba bonolo. Liketso tse peli tse atileng haholo ke ho etsa li-autotest le ho theha data ea liteko. Ka hona, li-module tse peli tse thusang li ile tsa hlaha tsamaisong ea rona: mochine oa ho qala le mochine oa tlhahiso ea data.

    Sesebelisoa se hlahisoa e le mokhoa o le mong oa bokahohle o nang le paramethara e le 'ngoe ea ho kenya mongolo. Joalo ka paramente, o ka fetisa khoutu ea autotest mnemonic, lebitso la sephutheloana, lebitso la tlhahlobo, boemo ba autotest, kapa lebitso la sehlooho le bolokiloeng. Ts'ebetso e khetha le ho tsamaisa li-autotest tsohle tse khotsofatsang maemo.

    Mojule oa tlhahiso ea data o hlahisoa ka mokhoa oa sephutheloana seo ho sona bakeng sa ntho e 'ngoe le e' ngoe ea tsamaiso e tlas'a teko (tafole e ka har'a database), ho entsoe mokhoa o khethehileng o kenyang data moo. Ts'ebetsong ena, litekanyetso tsa kamehla li tlatsitsoe ka hohle kamoo ho ka khonehang, e leng se tiisang hore ho thehoa lintho ka ho penya monoana. 'Me bakeng sa ts'ebeliso e bonolo, li-template tsa data tse hlahisitsoeng li entsoe. Mohlala, theha moreki oa lilemo tse itseng ka mohala oa teko le theko e phethiloeng.

  6. Autotest e lokela ho qala le ho sebetsa ka nako e amohelehang bakeng sa sistimi ea hau. Ka hona, ho ile ha hlophisoa ts'ebetso ea bosiu ea letsatsi le letsatsi, ho itšetlehile ka liphello tseo tlaleho ea liphetho e hlahisoang le ho romeloa ho sehlopha sohle sa nts'etsopele ka poso ea khoebo. Kamora ho khutlisetsa li-autotes tsa khale le ho theha tse ncha, nako eohle ea ts'ebetso e ne e le metsotso e 30. Tshebetso ena e ne e loketse motho e mong le e mong, kaha e ile ea qala ka ntle ho lihora tsa mosebetsi.

    Empa re ile ra tlameha ho sebeletsa ho ntlafatsa lebelo la mosebetsi. Tsamaiso ea botšepehi tlhahisong e nchafatsoa bosiu. E le karolo ea e ’ngoe ea litokollo, re ile ra tlameha ho etsa liphetoho tse potlakileng bosiu. Ho emela halofo ea hora bakeng sa liphello tsa li-autotest ka hora ea boraro hoseng ha hoa ka ha thabisa motho ea ikarabellang bakeng sa tokollo (litumeliso tse matla ho Alexey Vasyukov!), 'Me hoseng ho latelang mantsoe a mangata a mosa a ile a boleloa mabapi le tsamaiso ea rona. Empa ka lebaka leo, ho ile ha thehoa tekanyetso ea metsotso e 5 ea mosebetsi.

    Ho potlakisa ts'ebetso, re sebelisitse mekhoa e 'meli: li-autotest li ile tsa qala ho sebetsa ka likhoele tse tharo tse tšoanang, ka lehlohonolo sena se bonolo haholo ka lebaka la meralo ea sistimi ea rona ea botšepehi. 'Me re lahlile mokhoa oo autotest e sa ikemisetseng data ea liteko, empa e leka ho fumana ntho e loketseng tsamaisong. Ka mor'a ho etsa liphetoho, nako eohle ea ho sebetsa e fokotsehile ho metsotso e 3-4.

  7. Morero o nang le liteko tsa othomathike o lokela ho sebelisoa libakeng tse fapaneng. Qalong ea leeto la rona, ho ne ho e-na le boiteko ba ho ngola lifaele tsa rona tsa batch, empa ho ile ha hlaka hore mochine o ikemetseng o ikemetseng o ne o tšohile ka ho feletseng, 'me re ile ra retelehela ho tharollo ea indasteri. Ka lebaka la hore morero ona o na le khoutu e ngata e tobileng (pele ho tsohle, re boloka khoutu ea autotest) le data e nyenyane haholo (lintlha tse ka sehloohong ke metadata mabapi le li-autotests), ts'ebetsong morerong oa Liquibase e ile ea e-ba bonolo haholo.

    Ke laebrari e bulehileng, e ikemetseng ea database bakeng sa ho latela, ho laola le ho tiisa liphetoho tsa schema sa database. E laoloa ka mohala oa taelo kapa meralo e kang Apache Maven. Molao-motheo oa ts'ebetso ea Liquibase o bonolo haholo. Re na le morero o hlophisitsoeng ka mokhoa o itseng, o nang le liphetoho kapa mangolo a lokelang ho fetisetsoa ho seva se lebisitsoeng, le ho laola lifaele tse khethollang hore na ke tatellano efe le hore na liphetoho tsena li lokela ho kenngoa ka mekhahlelo efe.

    Boemong ba DBMS, ho bōptjoa tafole e khethehileng eo Liquibase e bolokang logover log. Phetoho e 'ngoe le e' ngoe e na le hash e baloang, e bapisoang nako le nako pakeng tsa morero le mmuso sebakeng sa polokelo ea litaba. Ka lebaka la Liquibase, re ka etsa liphetoho habonolo tsamaisong ea rona ho potoloho efe kapa efe. Li-Autotest li se li qalisoa ka li-circuits tsa liteko le tsa ho lokolla, hammoho le lijaneng (li-circuits tsa batho ba ntlafatsang).

Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea bobeli

Kahoo, ha re bue ka liphetho tsa ho sebelisa sistimi ea rona ea tlhahlobo ea liyuniti.

  1. Ha e le hantle, pele ho tsohle, re kholisehile hore re se re qalile ho hlahisa software e molemo. Li-Autotest li hlahisoa letsatsi le letsatsi mme liphoso tse ngata li fumanoa tokollo e 'ngoe le e 'ngoe. Ho feta moo, tse ling tsa liphoso tsena li amana feela ka tsela e sa tobang le ts'ebetso eo re neng re hlile re batla ho e fetola. Ho na le lipelaelo tse tebileng tsa hore liphoso tsena li fumanoe ka tlhahlobo ea matsoho.
  2. Hona joale sehlopha se na le kholiseho ea hore ts'ebetso e khethehileng e sebetsa ka nepo ... Pele ho tsohle, sena se ama mekhoa ea rona ea bohlokoa. Mohlala, likhoeling tse ts'eletseng tse fetileng ha re so ka ra ba le mathata mabapi le ho ajoa ha litheolelo le libonase ho lirisiti, leha ho bile le liphetoho tsa tokollo, le hoja linakong tse fetileng liphoso li etsahetse ka makhetlo a mangata.
  3. Re khonne ho fokotsa palo ea liteko tse pheta-phetoang. Ka lebaka la hore li-autotest li ngotsoe bakeng sa ts'ebetso e ncha, bahlahlobisisi le bahlahlobi ba nakoana ba fumana khoutu ea boleng bo holimo, hobane e se e hlahlobiloe.
  4. Tse ling tsa lintlafatso tsa tlhahlobo ea mochini li sebelisoa ke bahlahisi. Mohlala, data ea liteko ho lijana e entsoe ho sebelisoa mojule oa tlhahiso ea ntho.
  5. Ho bohlokoa hore re thehe "kamohelo" ea sistimi ea tlhahlobo e ikemetseng ho tsoa ho bahlahisi. Ho na le kutloisiso ea hore sena se bohlokoa ebile se na le thuso. Empa ho latela phihlelo ea ka nka bolela hore sena se hole le nyeoe. Li-Autotes li hloka ho ngoloa, li hloka ho tšehetsoa le ho ntlafatsoa, ​​​​liphetho li tlameha ho hlahlojoa, 'me hangata litšenyehelo tsena tsa nako ha li na thuso. Ho bonolo haholo ho ea tlhahiso le ho sebetsana le mathata moo. Mona, bahlahisi ba etsa mela 'me ba re kopa ho koahela ts'ebetso ea bona ka li-autotest.

Ke eng e tlang

Liteko tsa yuniti ho DBMS - hore na re e etsa joang ho Sportmaster, karolo ea bobeli

Ha re bue ka meralo ea nts'etsopele ea projeke ea tlhahlobo e ikemetseng.

Ha e le hantle, hafeela tsamaiso ea botšepehi ea Sportmaster e ntse e phela 'me e ntse e tsoela pele ho ntlafala, hoa khoneha ho hlahisa li-autotest hoo e ka bang ka ho sa feleng. Ka hona, tataiso e ka sehloohong ea nts'etsopele ke ho atolosa sebaka sa tšireletso.

Ha palo ea li-autotest e ntse e eketseha, nako eohle ea ts'ebetso ea bona e tla eketseha butle-butle, 'me re tla tlameha ho khutlela tabeng ea ts'ebetso. Ho ka etsahala hore ebe tharollo e tla ba ho eketsa palo ea likhoele tse bapileng.

Empa tsena ke litsela tse hlakileng tsa nts'etsopele. Haeba re bua ka ntho e sa reng letho, re totobatsa tse latelang:

  1. Hona joale, tsamaiso ea autotest e etsoa boemong ba DBMS, ke hore. tsebo ea PL/SQL ea hlokahala bakeng sa mosebetsi o atlehileng. Haeba ho hlokahala, tsamaiso ea tsamaiso (mohlala, ho qala kapa ho theha metadata), o ka etsa mofuta o itseng oa phanele ea tsamaiso u sebelisa Jenkins kapa ntho e tšoanang.
  2. E mong le e mong o rata matšoao a mangata le a boleng. Bakeng sa tlhahlobo ea othomathike, lets'oao le joalo la bokahohleng ke Code Coverage kapa metric ea tšireletso ea khoutu. Re sebelisa sesupo sena, re ka tseba hore na ke liperesente life tsa khoutu ea sistimi ea rona tlasa tlhahlobo e koahetsoeng ke li-autotest. Ho qala ka mofuta oa 12.2, Oracle e fana ka bokhoni ba ho bala tekanyo ena, 'me e fana ka tšebeliso ea sephutheloana se tloaelehileng sa DBMS_PLSQL_CODE_COVERAGE.

    Sistimi ea rona ea autotest e sa tsoa feta selemo mme mohlomong joale ke nako ea ho lekola ts'ebetso ea rona. Morerong oa ka oa ho qetela (eseng morero oa Sportmaster) ke sona se etsahetseng. Selemo ka mor'a ho sebetsa ka li-autotest, batsamaisi ba ile ba beha mosebetsi oa ho lekola hore na re akaretsa liperesente life tsa khoutu. Ka kakaretso ea ho feta 1%, batsamaisi ba ka thaba. Rōna, bahlahisi, re ne re lebeletse sephetho sa hoo e ka bang 10%. Re kentse tšireletso ea khoutu, ra e lekanya, 'me ra fumana 20%. Ho keteka, re ile ra ea ho fumana moputso, empa hore na re ile ra o fumana joang le hore na re ile ra ea hokae hamorao ke pale e fapaneng ka ho feletseng.

  3. Li-Autotes li ka hlahloba lits'ebeletso tsa webo tse pepesitsoeng. Oracle e re lumella ho etsa sena hantle, 'me ha re sa tla hlola re kopana le mathata a mangata.
  4. Mme, ehlile, sistimi ea rona ea tlhahlobo e ikemetseng e ka sebelisoa morerong o mong. Tharollo eo re e fumaneng ke ea bokahohle mme e hloka feela tšebeliso ea Oracle. Ke utloile hore merero e meng ea Sportmaster e na le thahasello ea ho itlhahloba ka boiketsetso mohlomong re tla ea ho eona.

fumanoeng ke

Ha re akaretseng. Ho projeke ea sistimi ea botšepehi ho Sportmaster, re khonne ho kenya tšebetsong sistimi ea tlhahlobo e ikemetseng. E ipapisitse le tharollo ea utPLSQL e tsoang ho Stephen Feuerstein. Ho potoloha utPLSQL ho na le khoutu ea autotest le li-module tse thusang tse ngotseng: mochini oa ho qala, mojule oa tlhahiso ea data le tse ling. Li-Autotest li qalisoa letsatsi le leng le le leng, 'me haholo-holo li sebetsa ebile li na le thuso. Re na le bonnete ba hore re se re qalile ho lokolla software ea boleng bo holimo. Ka nako e ts'oanang, tharollo e hlahisoang ke ea bokahohle 'me e ka sebelisoa ka bolokolohi morerong ofe kapa ofe moo ho hlokahalang ho hlophisa tlhahlobo e ikemetseng ho Oracle DBMS.

P.S. Sengoliloeng sena ha se na taba haholo: ho na le lingoliloeng tse ngata ebile ha ho na mehlala ea tekheniki. Haeba sehlooho se thahasellisa ka kakaretso, joale re se re itokiselitse ho tsoela pele le ho khutla ka ho tsoela pele, moo re tla u bolella se fetohileng likhoeling tse tšeletseng tse fetileng le ho fana ka mehlala ea khoutu.

Ngola litlhaloso haeba ho e-na le lintlha tse lokelang ho hatisoa nakong e tlang, kapa lipotso tse hlokang ho senoloa.

Ke basebelisi ba ngolisitsoeng feela ba ka kenyang letsoho phuputsong. kenaka kopo.

Na re tla ngola ho feta ka see?

  • E, ehlile

  • Che kea leboha

Basebelisi ba 12 ba ile ba khetha. Basebelisi ba 4 ba hanne.

Source: www.habr.com

Eketsa ka tlhaloso