Gwajin naúrar a cikin DBMS - yadda muke yi a Sportmaster, sashi na biyu

Kashi na farko - a nan.

Gwajin naúrar a cikin DBMS - yadda muke yi a Sportmaster, sashi na biyu

Ka yi tunanin yanayin. Kuna fuskantar aikin haɓaka sabbin ayyuka. Kuna da ci gaba daga magabata. Idan muka ɗauka cewa ba ku da wajibai na ɗabi'a, me za ku yi?

Mafi sau da yawa, duk tsoffin abubuwan da suka faru an manta da su kuma komai ya sake farawa. Babu wanda ke son tono lambar wani, amma idan kuna da lokaci, me zai hana ku fara ƙirƙirar tsarin ku? Wannan hanya ce ta al'ada, kuma daidai ce. Amma a cikin aikin mu mun yi kuskure. Mun kafa tsarin gwaji na atomatik na gaba akan abubuwan da ke faruwa a cikin gwaje-gwajen naúrar akan utPLSQL daga magabata, sannan muka tafi aiki ta hanyoyi masu kama da juna.

  1. Ana dawo da tsoffin gwaje-gwajen naúrar. Farfadowa yana nufin daidaita gwaje-gwaje zuwa halin da ake ciki na tsarin aminci da daidaita gwaje-gwaje zuwa ma'auni na utPLSQL.
  2. Magance matsala tare da fahimtar menene ainihin, waɗanne hanyoyi da matakai aka rufe tare da autotests. Dole ne ko dai ku ajiye wannan bayanin a cikin kanku, ko ku zana ƙarshe dangane da lambar ta atomatik. Saboda haka, mun yanke shawarar ƙirƙirar kasida. Mun sanya wata lambar mnemonic ta musamman ga kowane autotest, mun ƙirƙiri kwatancen da saitunan da aka yi rikodin (misali, ƙarƙashin waɗanne yanayi ya kamata a ƙaddamar da shi, ko abin da zai faru idan ƙaddamarwar gwajin ta gaza). Mahimmanci, mun cika metadata game da autotests kuma mun sanya wancan metadata cikin madaidaitan allunan tsararrun utPLSQL.
  3. Ƙayyade dabarun faɗaɗawa, i.e. zaɓin ayyuka waɗanda ke ƙarƙashin tabbatarwa ta gwaji ta atomatik. Mun yanke shawarar kula da abubuwa uku: sabon tsarin ingantawa, abubuwan samarwa, da mahimman hanyoyin tsarin. Don haka, muna haɓaka a layi daya tare da sakin, tabbatar da ingancinsa mafi girma, lokaci guda yana faɗaɗa iyakokin sake dawowa da kuma tabbatar da amincin tsarin a wurare masu mahimmanci. Na farko irin wannan cikas shine tsarin rarraba rangwame da kari akan cak.
  4. A zahiri, mun fara haɓaka sabbin injina. Ɗaya daga cikin ayyukan saki na farko shine kimanta aikin samfurori da aka ƙayyade na tsarin aminci. Aikinmu yana da toshe ƙayyadaddun ƙayyadaddun tambayoyin SQL waɗanda ke zaɓar abokan ciniki dangane da yanayi. Misali, sami jerin sunayen duk abokan cinikin da siyan su na ƙarshe ya kasance a cikin wani birni na musamman, ko jerin abokan cinikin waɗanda matsakaicin adadin siyan su ya fi ƙima. Da samun rubutattun gwaje-gwaje, mun bincika samfurori da aka riga aka ƙayyade, da aka rubuta sigogin aikin ma'auni, haka kuma muna da gwajin lodi.
  5. Yin aiki tare da autotest ya kamata ya dace. Mafi yawan ayyuka guda biyu suna gudana autotests da ƙirƙirar bayanan gwaji. Wannan shine yadda na'urori biyu na taimako suka bayyana a cikin tsarinmu: tsarin ƙaddamarwa da tsarin samar da bayanai.

    Ana wakilta mai ƙaddamarwa azaman hanya ɗaya ta duniya tare da ma'aunin shigar da rubutu ɗaya. A matsayin ma'auni, zaku iya wuce lambar mnemonic ta atomatik, sunan fakiti, sunan gwaji, saitin gwadawa, ko keɓaɓɓen kalma. Hanyar tana zaɓar kuma tana gudanar da duk gwaje-gwajen auto waɗanda suka gamsar da sharuɗɗan.

    Ana gabatar da tsarin samar da bayanai a cikin nau'i na kunshin wanda ga kowane abu na tsarin da ake gwadawa (tebur a cikin ma'ajin bayanai), an ƙirƙiri hanya ta musamman da ke shigar da bayanai a can. A cikin wannan hanya, ana cika ƙimar tsoho kamar yadda zai yiwu, wanda ke tabbatar da ƙirƙirar abubuwa a zahiri a danna yatsa. Kuma don sauƙin amfani, an ƙirƙiri samfuran bayanan da aka samar. Misali, ƙirƙiri abokin ciniki na takamaiman shekaru tare da wayar gwaji da kammala siyayya.

  6. Gwajin atomatik yakamata su fara aiki a cikin lokacin da aka yarda da tsarin ku. Sabili da haka, an shirya kaddamar da dare na yau da kullum, bisa ga sakamakon da aka samar da rahoto game da sakamakon da aka aika ga daukacin tawagar ci gaba ta hanyar wasikun kamfanoni. Bayan dawo da tsoffin gwaje-gwajen auto da ƙirƙirar sababbi, jimlar lokacin aiki shine mintuna 30. Wannan wasan kwaikwayon ya dace da kowa, tun lokacin ƙaddamarwa ya faru a waje da lokutan aiki.

    Amma dole ne mu yi aiki don inganta saurin aiki. Ana sabunta tsarin aminci a cikin samarwa da dare. A matsayin ɗaya daga cikin abubuwan da aka saki, dole ne mu yi canje-canje na gaggawa da dare. Jiran rabin sa'a don sakamakon autotest da karfe uku na safe bai sa mutumin da ke da alhakin saki ya yi farin ciki ba (gaisuwa ga Alexey Vasyukov!), Kuma da safe an ce kalmomi masu kyau ga tsarin mu. Amma a sakamakon haka, an kafa ma'auni na minti 5 don aiki.

    Don haɓaka aikin, mun yi amfani da hanyoyi guda biyu: autotests sun fara gudana cikin zaren layi guda uku, sa'a wannan ya dace sosai saboda gine-ginen tsarin amincin mu. Kuma mun watsar da tsarin inda autotest baya ƙirƙirar bayanan gwaji don kansa, amma yayi ƙoƙarin nemo wani abu mai dacewa a cikin tsarin. Bayan yin canje-canje, an rage jimlar lokacin aiki zuwa mintuna 3-4.

  7. Ya kamata a iya tura aiki tare da gwaje-gwaje ta atomatik a wurare daban-daban. A farkon tafiyarmu, an yi ƙoƙarin rubuta fayilolin batch ɗinmu, amma ya bayyana a fili cewa shigarwar da aka rubuta ta atomatik ya zama cikakken abin tsoro, kuma mun juya zuwa mafita na masana'antu. Saboda gaskiyar cewa aikin ya ƙunshi lambar kai tsaye da yawa (da farko, muna adana lambar autotest) da ƙananan bayanai (babban bayanan metadata game da autotests), aiwatarwa a cikin aikin Liquibase ya zama mai sauƙi.

    Buɗaɗɗen tushe ne, ɗakin karatu mai zaman kansa na bayanai don bin diddigin, sarrafawa, da aiwatar da canje-canjen tsarin bayanai. Sarrafa ta hanyar layin umarni ko tsarin kamar Apache Maven. Ka'idar aiki na Liquibase abu ne mai sauƙi. Muna da aikin da aka tsara ta wata hanya, wanda ya ƙunshi canje-canje ko rubutun da ake buƙatar yin birgima zuwa uwar garken manufa, da kuma sarrafa fayilolin da ke ƙayyade a cikin wane tsari da kuma wace sigogi ya kamata a shigar da waɗannan canje-canje.

    A matakin DBMS, an ƙirƙiri tebur na musamman wanda Liquibase ke adana logover. Kowane canji yana da zanta da aka ƙididdige shi, wanda aka kwatanta kowane lokaci tsakanin aikin da jihar a cikin bayanan. Godiya ga Liquibase, za mu iya sauƙaƙe canje-canje ga tsarin mu zuwa kowane da'ira. Yanzu an ƙaddamar da gwaje-gwajen atomatik akan hanyoyin gwaji da saki, da kuma kan kwantena (da'irori na sirri na masu haɓakawa).

Gwajin naúrar a cikin DBMS - yadda muke yi a Sportmaster, sashi na biyu

Don haka, bari muyi magana game da sakamakon amfani da tsarin gwajin mu naúrar.

  1. Tabbas, da farko, mun gamsu cewa mun fara haɓaka ingantattun software. Ana ƙaddamar da gwaje-gwaje na atomatik kullun kuma ana samun kurakurai da yawa a kowane fitowar. Bugu da ƙari, wasu daga cikin waɗannan kurakuran suna da alaƙa a kaikaice kawai ga ayyukan da muke son mu canza. Akwai shakku masu tsanani cewa an gano waɗannan kurakurai ta hanyar gwaji da hannu.
  2. Ƙungiyar yanzu tana da kwarin gwiwa cewa takamaiman ayyuka suna aiki daidai... Da farko, wannan ya shafi matakanmu masu mahimmanci. Misali, a cikin watanni shida da suka gabata ba mu sami matsala ba game da rabon rangwame da kari akan rasidu, duk da canje-canjen sakin, kodayake a lokutan baya an sami kurakurai tare da wasu mitoci.
  3. Mun yi nasarar rage adadin gwajin gwaji. Saboda gaskiyar cewa an rubuta autotest don sababbin ayyuka, manazarta da masu gwajin lokaci-lokaci suna karɓar lambar inganci mafi girma, saboda an riga an duba shi.
  4. Wasu ci gaba a gwaji ta atomatik masu haɓakawa ke amfani da su. Misali, an ƙirƙiri bayanan gwaji akan kwantena ta amfani da tsarin samar da abu.
  5. Yana da mahimmanci cewa mun haɓaka "karɓa" na tsarin gwaji mai sarrafa kansa daga ɓangaren masu haɓakawa. Akwai fahimtar cewa wannan yana da mahimmanci kuma mai amfani. Amma daga kwarewata zan iya cewa wannan yayi nisa da lamarin. Ana buƙatar rubutawa ta atomatik, suna buƙatar tallafi da haɓakawa, dole ne a bincika sakamakon, kuma galibi waɗannan farashin lokaci ba su da daraja. Ya fi sauƙi don zuwa samarwa da magance matsalolin a can. Anan, masu haɓakawa suna layi suna neman mu rufe ayyukansu tare da autotests.

Menene gaba

Gwajin naúrar a cikin DBMS - yadda muke yi a Sportmaster, sashi na biyu

Bari muyi magana game da tsare-tsaren ci gaba don aikin gwaji na atomatik.

Tabbas, muddin tsarin aminci na Sportmaster yana raye kuma yana ci gaba da haɓakawa, Hakanan yana yiwuwa a haɓaka autotests kusan ba iyaka. Saboda haka, babban alkiblar ci gaba shine fadada yankin ɗaukar hoto.

Yayin da adadin masu gwajin auto ke ƙaruwa, jimlar lokacin aikin su zai ƙaru a hankali, kuma za mu sake komawa kan batun aikin. Mafi mahimmanci, maganin zai zama ƙara yawan zaren layi ɗaya.

Amma waɗannan hanyoyi ne na ci gaba a bayyane. Idan muka yi magana game da wani abu maras muhimmanci, za mu haskaka kamar haka:

  1. A halin yanzu, ana gudanar da sarrafa gwaji ta atomatik a matakin DBMS, watau. ana buƙatar sanin PL/SQL don aikin nasara. Idan ya cancanta, gudanar da tsarin (misali, ƙaddamarwa ko ƙirƙirar metadata), zaku iya ƙirƙirar wani nau'in kwamitin gudanarwa ta amfani da Jenkins ko wani abu makamancin haka.
  2. Kowa yana son ƙididdigewa da ƙididdiga masu ƙima. Don gwaji ta atomatik, irin wannan alamar ta duniya ita ce Rufin Lamba ko ma'aunin ɗaukar hoto. Yin amfani da wannan alamar, za mu iya tantance ko wane kashi na lambar tsarin mu da ke ƙarƙashin gwaji ke rufe ta autotests. Fara daga sigar 12.2, Oracle yana ba da ikon ƙididdige wannan awo kuma yana ba da amfani da daidaitaccen fakitin DBMS_PLSQL_CODE_COVERAGE.

    Tsarin gwajin mu na atomatik ya wuce shekara guda kuma watakila yanzu shine lokacin da za mu kimanta ɗaukar hoto. A cikin aikina na ƙarshe (ba aikin Sportmaster ba) abin da ya faru ke nan. Shekara guda bayan aiki a kan autotests, gudanarwa ta saita aikin tantance adadin adadin lambar da muke rufewa. Tare da ɗaukar hoto fiye da 1%, gudanarwa zai yi farin ciki. Mu, masu haɓakawa, muna tsammanin sakamako kusan 10%. Mun shigar da ɗaukar hoto, mun auna shi, kuma mun sami 20%. Don bikin, mun je don samun kyautar, amma yadda muka je muka samu da kuma inda muka je daga baya, labari ne mabanbanta.

  3. Gwaji na atomatik na iya duba ayyukan gidan yanar gizo da aka fallasa. Oracle yana ba mu damar yin wannan da kyau, kuma ba za mu ƙara fuskantar matsaloli da yawa ba.
  4. Kuma, ba shakka, ana iya amfani da tsarin gwajin mu mai sarrafa kansa zuwa wani aikin. Maganin da muka samu shine na duniya kuma yana buƙatar amfani da Oracle kawai. Na ji cewa sauran ayyukan Sportmaster suna sha'awar gwaji ta atomatik kuma wataƙila za mu je wurinsu.

binciken

Mu takaita. A kan tsarin tsarin aminci a Sportmaster, mun gudanar da aiwatar da tsarin gwaji mai sarrafa kansa. Ya dogara ne akan maganin utPLSQL daga Stephen Feuerstein. A kusa da utPLSQL akwai lambar autotest da na'urorin da aka rubuta na taimako: ƙaddamar da module, tsarin samar da bayanai da sauransu. Ana ƙaddamar da gwaje-gwaje na atomatik kowace rana kuma, mafi mahimmanci, suna aiki kuma suna da amfani. Muna da tabbacin cewa mun fara sakin software mai inganci. A lokaci guda, sakamakon da aka samu shine na duniya kuma ana iya amfani da shi kyauta ga kowane aiki inda ya zama dole don tsara gwaji ta atomatik akan Oracle DBMS.

PS Wannan labarin ba takamaiman ba ne: akwai rubutu da yawa kuma a zahiri babu misalan fasaha. Idan batun yana da ban sha'awa gabaɗaya, to a shirye muke mu ci gaba da dawowa tare da ci gaba, inda za mu gaya muku abin da ya canza a cikin watanni shida da suka gabata kuma mu ba da misalai na code.

Rubuta sharhi idan akwai abubuwan da ya kamata a jaddada a nan gaba, ko tambayoyin da ke buƙatar bayyanawa.

Masu amfani da rajista kawai za su iya shiga cikin binciken. Shigadon Allah.

Za mu ƙara yin rubutu game da wannan?

  • Ee, tabbas

  • A'a na gode

12 masu amfani sun kada kuri'a. Masu amfani 4 sun kaurace.

source: www.habr.com

Add a comment