Su'ega iunite i se DBMS - fa'afefea ona matou faia i le Sportmaster, vaega lua

Vaega muamua- iinei.

Su'ega iunite i se DBMS - fa'afefea ona matou faia i le Sportmaster, vaega lua

Vaai faalemafaufau i le tulaga. O loʻo e feagai ma le galuega o le atinaʻeina o galuega fou. E i ai au atina'e mai i ou tuaa. Afai matou te manatu e leai ni au matafaioi tau amio, o le a sau mea e fai?

O le tele o taimi, e galo uma mea tuai ma toe amata mea uma. E leai se tasi e fiafia e eli i totonu o se isi tagata, ae afai e iai sou taimi, aisea e te le amata ai ona e faia lau lava polokalama? O se faiga masani lea, ma e tele lava ina sa'o. Ae o le matou poloketi na matou faia sese. Na matou fa'avaeina le faiga o su'ega fa'atama'ita'i i le lumana'i i atina'e i su'ega iunite i luga o le utPLSQL mai o matou tuaa, ona matou galulue lea i le tele o fa'atonuga tutusa.

  1. Toe fa'afo'isia su'ega iunite tuai. Toe fa'aleleia o lona uiga o le fetuuna'i o su'ega i le tulaga o lo'o i ai nei o le faiga fa'amaoni ma fa'afetaui su'ega i tulaga utPLSQL.
  2. Foia se fa'afitauli i le malamalama i le mea tonu, o a metotia ma fa'agasologa o lo'o ufiufiina i su'ega ta'avale. E tatau ona e teuina lenei faʻamatalaga i lou ulu, pe fai ni faʻamatalaga e faʻavae saʻo i luga o le autotest code. O le mea lea, na matou filifili ai e fai se lisi. Matou te tuʻuina atu se code mnemonic tulaga ese i autotest taʻitasi, faia se faʻamatalaga ma faʻamaumau faʻamaumauga (mo se faʻataʻitaʻiga, i lalo o le a le tulaga e tatau ona faʻalauiloa, pe o le a le mea e tatau ona tupu pe a le manuia le faʻataʻitaʻiga). O le mea moni, na matou fa'atumuina metadata e uiga i autotests ma tu'u le metadata i totonu o laulau fa'ata'ita'i utPLSQL.
  3. Fa'amatalaina le fuafuaga fa'alautele, i.e. filifiliga o galuega e fa'atatau i le fa'amaonia e su'ega fa'autometi. Na matou filifili e faʻalogo i mea e tolu: faʻaleleia faiga fou, faʻalavelave gaosiga, ma faiga faʻavae autu. O le mea lea, o loʻo matou atinaʻe faʻatasi ma le faʻamalolo, faʻamautinoaina lona maualuga maualuga, faʻalauteleina i le taimi lava e tasi le lautele o le toe faʻaleleia ma faʻamautinoa le faʻatuatuaina o le faiga i nofoaga taua. O le fa'alavelave muamua fa'apea o le fa'agasologa o le tufatufaina o fa'aitiitiga ma ponesi i luga o se siaki.
  4. E masani lava, na amata ona matou atiaʻe ni suʻega taʻavale fou. O se tasi o galuega tatala muamua o le iloiloina lea o le faatinoga o faʻataʻitaʻiga faʻataʻitaʻiga o le faiga faʻamaoni. O la matou poloketi o loʻo i ai se poloka o fesili SQL mautu e filifili tagata faʻatatau i tulaga. Mo se faʻataʻitaʻiga, maua se lisi o tagata faʻatau uma na faʻatau mulimuli i se taulaga patino, poʻo se lisi o tagata faʻatau e sili atu i luga aʻe o se tau faʻatau. I le i ai o su'ega fa'aautometi tusitusia, sa matou siakia fa'ata'ita'iga fa'ata'ita'i, fa'amaumau fa'ata'ita'iga fa'ata'ita'iga, ma fa'aopoopo i ai sa matou su'ega uta.
  5. O le galue i su'ega ta'avale e tatau ona faigofie. O gaioiga masani e lua o loʻo faʻatautaia autotests ma fatuina faʻamatalaga suʻega. O le auala lea na fa'aalia ai ni fa'aoga fesoasoani se lua i totonu o la matou polokalama: o se fa'alauiloa fa'alauiloa ma se fa'amatalaga fa'atupuina o fa'amaumauga.

    O lo'o fa'atusalia le fa'alatalata o se faiga fa'apitoa e tasi ma se fa'ailoga e tu'u ai tusitusiga. I le avea o se parakalafa, e mafai ona e pasia le autotest mnemonic code, igoa afifi, igoa o le suʻega, seti autotest, poʻo se upu faʻaagaga. O le fa'agasologa e filifili ma fa'agasolo uma su'ega fa'atotonu e fa'amalieina tulaga.

    O le faʻasologa o faʻamaumauga o loʻo tuʻuina atu i le tulaga o se afifi lea mo mea taʻitasi o le faiga o loʻo faʻataʻitaʻiina (se laulau i totonu o faʻamaumauga), ua faia se faiga faʻapitoa e faʻapipiʻi ai faʻamatalaga iina. I lenei faiga, o tau le aoga e faʻatumu i le tele e mafai ai, lea e faʻamautinoa ai le fatuina o mea faitino i le kiliki o se tamatamailima. Ma mo le faigofie o le faʻaaogaina, na faia faʻataʻitaʻiga mo faʻamaumauga na gaosia. Mo se faʻataʻitaʻiga, fatuina se tagata o tausia o se matua patino ma se telefoni faʻataʻitaʻi ma se faʻatauga maeʻa.

  6. E tatau ona amata ma tamo'e su'ega ta'avale i se taimi e talia mo lau masini. O le mea lea, na faʻatulagaina ai se faʻasalalauga i aso taʻitasi, e faʻavae i luga o faʻaiʻuga o loʻo faia ai se lipoti o taunuʻuga ma auina atu i le au atinaʻe atoa e ala i meli kamupani. A maeʻa ona toe faʻafoʻisia suʻega tuai ma faia ni mea fou, o le aofaʻi o le taimi faʻaoga e 30 minute. O lenei fa'atinoga e fetaui ma tagata uma, talu ai na fa'alauiloa i fafo atu o itula faigaluega.

    Ae sa tatau ona matou galulue i le faʻamalieina o le saoasaoa o galuega. O le faiga faʻamaoni i le gaosiga e faʻafouina i le po. I le avea ai o se vaega o se tasi o faʻasalalauga, sa tatau ona matou faia ni suiga faanatinati i le po. O le faʻatali mo le afa itula mo faʻaiʻuga o autotests i le tolu i le taeao e leʻi faʻafiafiaina ai le tagata e nafa ma le faʻasaʻolotoina (faʻafeiloaʻi faʻamalosi ia Alexey Vasyukov!), Ma o le taeao na sosoo ai e tele upu agalelei na fai atu i la tatou polokalama. Ae o le iʻuga, na faʻatuina ai se faʻataʻitaʻiga 5-minute mo galuega.

    Ina ia faʻavavevave le faʻatinoga, matou te faʻaogaina auala e lua: autotests na amata ona taʻavale i ni filo tutusa e tolu, o le mea e lelei ai e faigofie tele ona o le fausaga o la matou faiga faʻamaoni. Ma na matou lafoaia le auala e le faia ai e le autotest faʻamaumauga mo ia lava, ae taumafai e suʻe se mea talafeagai i le faiga. A maeʻa ona faia suiga, o le aofaʻi o taimi faʻaoga na faʻaititia i le 3-4 minute.

  7. O se poloketi fa'atasi ai ma su'ega otometi e tatau ona mafai ona fa'atino i tulaga eseese. I le amataga o la matou faigamalaga, sa i ai ni taumafaiga e tusi a matou lava faila faila, ae na manino mai o se faʻapipiʻiina otometi na tusia e le tagata lava ia na matua mataʻutia, ma na matou liliu atu i fofo tau pisinisi. Ona o le mea moni o le poloketi o loʻo i ai le tele o faʻamatalaga tuusaʻo (muamua, matou te teuina le autotest code) ma le tele o faʻamaumauga (o le faʻamatalaga autu o metadata e uiga i autotests), o le faʻatinoga i le poloketi Liquibase na foliga mai e matua faigofie lava.

    O se fa'amatalaga matala, fa'amaumauga tuto'atasi faletusi mo le tulituliloaina, fa'afoeina, ma le fa'amalosia o suiga o fuafuaga fa'amaumauga. Puleaina e ala i le laina faʻatonu poʻo faʻavae e pei o Apache Maven. O le mataupu faavae o le faagaoioiga o Liquibase e fai si faigofie. O loʻo i ai se matou poloketi faʻatulagaina i se auala patino, lea e aofia ai suiga poʻo tusitusiga e manaʻomia ona taʻavale i luga o le server faʻatatau, ma pulea faila e fuafua i le faʻasologa ma pe o le a le mea e tatau ona faʻapipiʻi ai nei suiga.

    I le tulaga o le DBMS, ua faia ai se laulau fa'apitoa lea e teu ai e Liquibase le ogalaau fa'asolo. O suiga ta'itasi o lo'o i ai se fua fa'atatau, lea e fa'atusatusa i taimi ta'itasi i le va o le poloketi ma le setete i totonu o fa'amaumauga. Fa'afetai i le Liquibase, e faigofie ona fa'asolo atu suiga i la tatou faiga i so'o se matagaluega. Ua fa'alauiloa nei su'ega ta'avale i ta'amilosaga su'ega ma fa'asa'oloto, fa'apea fo'i i luga o koneteina (ta'amilosaga a le au atina'e).

Su'ega iunite i se DBMS - fa'afefea ona matou faia i le Sportmaster, vaega lua

O lea la, sei o tatou talanoa e uiga i taunuuga o le faʻaaogaina o la tatou iunite suʻega.

  1. Ioe, muamua lava, matou te talitonu ua amata ona matou atiaʻe polokalama sili atu. O su'ega ta'avale e fa'alauiloa i aso uma ma le tele o mea sese e maua i fa'asalalauga uma. E le gata i lea, o nisi o nei mea sese e naʻo le fesoʻotaʻi tuusaʻo ma le faʻatinoga na matou manaʻo moni e sui. E iai masalosaloga ogaoga o nei mea sese na maua i suʻega tusilima.
  2. O lo'o iai nei le talitonuga o le 'au o lo'o galue sa'o le fa'atinoga fa'apitoa... Muamua, e fa'atatau i a tatou faiga taua. Mo se faʻataʻitaʻiga, i le ono masina talu ai e leʻi i ai ni faʻafitauli i le tufatufa atu o faʻaitiitiga ma ponesi i luga o lisiti, e ui lava i suiga faʻasaʻo, e ui lava i vaitaimi ua mavae na tupu ai mea sese ma nisi taimi.
  3. Na mafai ona matou faʻaititia le numera o suʻega suʻega. Ona o le mea moni e faapea o autotests ua tusia mo galuega fou, o tagata suʻesuʻe ma suʻega taimi-taimi latou te mauaina le code sili atu ona lelei, aua ua uma ona siaki.
  4. O nisi o atinaʻe i suʻega otometi o loʻo faʻaogaina e le au atinaʻe. Mo se fa'ata'ita'iga, o fa'amaumauga o su'ega i luga o koneteina e fa'aaogaina e fa'aoga ai le fa'aogaina o mea.
  5. E taua tele lo matou atinaʻeina o se "taliaina" o le faiga faʻataʻitaʻiga faʻapitoa i le vaega a le au atinaʻe. E i ai le malamalama e taua ma aoga lenei mea. Ae mai loʻu lava aafiaga e mafai ona ou fai atu e mamao lenei mea mai le tulaga. E manaʻomia ona tusia suʻega taʻavale, e manaʻomia ona lagolagoina ma atiina ae, e tatau ona suʻesuʻeina taunuuga, ma e masani lava o nei tau e le aoga. E sili atu ona faigofie le alu i le gaosiga ma faʻatautaia faʻafitauli iina. O iinei, o loʻo faʻatulagaina e le au atiaʻe ma fai mai ia i matou e ufiufi a latou galuega i suʻega taʻavale.

O le a le isi

Su'ega iunite i se DBMS - fa'afefea ona matou faia i le Sportmaster, vaega lua

Se'i o tatou talanoa e uiga i fuafuaga tau atina'e mo le poloketi su'ega otometi.

Ioe, afai lava e ola le polokalama faamaoni a Sportmaster ma o loʻo faʻaauau pea ona atiaʻe, e mafai foi ona atiaʻe autotests toetoe lava a le gata. O le mea lea, o le itu autu o le atinaʻe o le faʻalauteleina o le faʻasalalauga.

A'o fa'atupula'ia le numera o su'ega ta'avale, o le a fa'atupula'ia le aofa'i o taimi fa'atino, ma o le a tatou toe fo'i atu i le mataupu o le fa'atinoga. E foliga mai, o le fofo o le a faateleina le numera o filo tutusa.

Ae o auala manino ia o le atinaʻe. Afai tatou te talanoa e uiga i se mea e sili atu ona le taua, matou te faʻamaonia mea nei:

  1. I le taimi nei, o le autotest pulega o loʻo faʻatinoina i le DBMS level, i.e. e mana'omia le malamalama ile PL/SQL mo galuega manuia. Afai e manaʻomia, pulega faʻapitoa (mo se faʻataʻitaʻiga, faʻalauiloa poʻo le fatuina o metadata), e mafai ona e fatuina se ituaiga o pule faʻapitoa e faʻaaoga ai Jenkins poʻo se mea faapena.
  2. E fiafia tagata uma i faʻailoga faʻatusatusa ma faʻamaonia. Mo su'ega otometi, o se fa'ailoga lautele o le Code Coverage po'o le numera o le inisiua. I le faʻaaogaina o lenei faʻailoga, e mafai ona tatou fuafuaina pe o le a le pasene o le numera o la tatou faiga i lalo ole suʻega o loʻo ufiufi e autotests. Amata mai le version 12.2, Oracle e maua ai le tomai e fuafua ai lenei metric ma ofoina atu le faʻaogaina o le DBMS_PLSQL_CODE_COVERAGE afifi.

    O le matou autotest system ua silia ma le tausaga ma atonu o le taimi lenei e iloilo ai le matou inisiua. I laʻu galuega mulimuli (e le o se Poloketi Sportmaster) o le mea lea na tupu. O le tausaga talu ona galue i su'ega ta'avale, na fa'atulaga e le pulega le galuega o le su'esu'eina po'o le a le pasene o le fa'ailoga tatou te ufiufi. Faatasi ai ma se inisiua e sili atu i le 1%, o le a fiafia le pulega. O matou, le au atinaʻe, na faʻamoemoeina se taunuuga o le 10%. Na matou faʻapipiʻiina le code coverage, fuaina, ma maua le 20%. Ina ia faamanatu, na matou o atu e maua le faailoga, ae o le auala na matou o atu ai ma le mea na matou o i ai mulimuli ane o se tala e matua ese lava.

  3. E mafai e su'ega ta'avale ona siaki 'au'aunaga i luga ole laiga. O le Oracle e mafai ai ona matou faia lelei lenei mea, ma o le a matou le toe feagai ma ni faʻafitauli.
  4. Ma, o le mea moni, e mafai ona faʻaogaina a matou faiga faʻataʻitaʻiga faʻapitoa i se isi poloketi. O le fofo na matou mauaina e lautele ma e naʻo le faʻaaogaina o Oracle. Na ou faʻalogo o isi Poloketi Sportmaster e fiafia i suʻega otometi ma atonu o le a matou o atu ia i latou.

sailiiliga

Sei o tatou otootoina. I luga o le polokalama faʻamaoni i Sportmaster, na mafai ona matou faʻatinoina se faiga faʻataʻitaʻiga faʻapitoa. E fa'avae i luga ole fofo utPLSQL mai Stephen Feuerstein. I tafatafa o le utPLSQL o loʻo i ai le autotest code ma ausilali faʻapipiʻi tusi: faʻalauiloa module, faʻasologa o faʻamaumauga ma isi. O su'ega ta'avale e fa'alauiloa i aso uma ma, o le mea e sili ona taua, latou te galulue ma aoga. Matou te mautinoa ua amata ona matou faʻasalalau polokalama sili atu ona lelei. I le taimi lava e tasi, o le taunuuga o le fofo e lautele ma e mafai ona faʻaaogaina saoloto i soʻo se poloketi pe a manaʻomia le faʻatulagaina o suʻega otometi ile Oracle DBMS.

PS O lenei tusiga e leʻo faʻapitoa: e tele tusitusiga ma toetoe lava leai ni faʻataʻitaʻiga faʻapitoa. Afai o le autu e masani ona manaia, ona matou sauni lea e faʻaauau ma toe foʻi mai ma se faʻaauau, lea o le a matou taʻuina atu ia te oe le mea na suia i le ono masina talu ai ma tuʻuina atu faʻataʻitaʻiga code.

Tusi ni faʻamatalaga pe a iai ni manatu e tatau ona faʻamamafa i le lumanaʻi, poʻo ni fesili e manaʻomia le faʻaalia.

Na'o tagata fa'aigoaina e mafai ona auai i le su'esu'ega. Saini ese j, faʻamolemole.

E tatau ona tatou tusi atili e uiga i lenei mea?

  • Ioe, mautinoa

  • Leai faafetai

12 tagata fa'aoga na palota. 4 tagata fa'aoga na fa'amama.

puna: www.habr.com

Faaopoopo i ai se faamatalaga