Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, fizarana faharoa

Fizarana voalohany- eto.

Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, fizarana faharoa

Alao sary an-tsaina ny toe-javatra. Miatrika ny asa fampandrosoana ianao. Manana fivoarana avy amin'ireo teo alohanao ianao. Raha heverinay fa tsy manana adidy ara-moraly ianao, inona no hataonao?

Matetika dia hadino ny fivoarana taloha rehetra ary manomboka indray ny zava-drehetra. Tsy misy olona tia mandavaka ny kaodin'olon-kafa, fa raha manam-potoana ianao, maninona raha manomboka mamorona ny rafitrao manokana? Fomba fanao mahazatra izany, ary marina ny ankamaroany. Saingy tamin'ny tetikasanay dia tsy nety ny nataonay. Naorinay tamin'ny fivoaran'ny andrana ho an'ny vondrona amin'ny utPLSQL avy amin'ireo teo alohanay ny rafitra fitiliana mandeha ho azy ho avy, ary avy eo dia nandeha niasa tamin'ny lalana mifanitsy.

  1. Famerenana amin'ny laoniny ny andrana unit taloha. Ny fanarenana dia midika hoe mampifanaraka ny fitsapana amin'ny toetry ny rafitra mahatoky ary mampifanaraka ny fitsapana amin'ny fenitra utPLSQL.
  2. Famahana olana miaraka amin'ny fahatakarana hoe inona marina, inona no fomba sy dingana voarakotry ny autotest. Tsy maintsy mitazona izany fampahalalana izany ao an-dohanao ianao, na manatsoaka hevitra mifototra mivantana amin'ny code autotest. Noho izany, nanapa-kevitra ny hamorona katalaogy izahay. Nametraka kaody mnemonic tsy manam-paharoa ho an'ny autotest tsirairay izahay, namorona famaritana ary firaketana an-tsoratra (ohatra, amin'ny fepetra tokony hatomboka, na inona no tokony hitranga raha tsy mahomby ny fandefasana fitsapana). Amin'ny ankapobeny, nameno ny metadata momba ny autotest izahay ary nametraka izany metadata izany tao anaty tabilao skema utPLSQL mahazatra.
  3. Famaritana ny paikady fanitarana, i.e. fifantenana ny fiasa izay iharan'ny fanamarinana amin'ny alalan'ny fitsapana mandeha ho azy. Nanapa-kevitra izahay fa handinika zavatra telo: fanatsarana rafitra vaovao, trangan-javatra famokarana ary fizotry ny rafitra fototra. Noho izany, mivoatra mitovitovy amin'ny famoahana izahay, miantoka ny kalitaony ambony kokoa, miaraka amin'ny fanitarana ny sahan'ny regression ary miantoka ny fahatokisan'ny rafitra amin'ny toerana sarotra. Ny tsy fahampiana voalohany toy izany dia ny fizarana fihenam-bidy sy bonus amin'ny seky.
  4. Mazava ho azy fa nanomboka namolavola autotest vaovao izahay. Ny iray amin'ireo asa famoahana voalohany dia ny fanombanana ny fahombiazan'ny santionany efa voafaritra mialoha ny rafitra mahatoky. Ny tetikasanay dia manana andiana fanontaniana SQL raikitra mafy izay mifantina mpanjifa mifototra amin'ny fepetra. Ohatra, makà lisitr'ireo mpanjifa rehetra izay nividy farany tao amin'ny tanàna iray manokana, na lisitr'ireo mpanjifa izay mihoatra ny sanda iray ny salan'isa novidina. Nanao andrana automatique an-tsoratra izahay, nanamarina ireo santionany efa nofaritana, voarakitra an-tsoratra ny mari-pamantarana fampandehanana mari-pamantarana, ary fanampin'izay dia nanao fitiliana entana izahay.
  5. Tokony ho mora ny miasa amin'ny autotest. Ny hetsika roa mahazatra indrindra dia ny fanaovana autotest sy ny famoronana angona fitsapana. Toy izao no nisehoan'ny môdôla fanampiny roa tao amin'ny rafitray: môdôla fanombohana sy môdôla famokarana data.

    Ny mpandefa dia aseho ho toy ny fomba iray manerantany miaraka amin'ny mari-pamantarana fampidirana lahatsoratra. Amin'ny maha-parameter anao dia azonao atao ny mandefa ny kaody mnemonic autotest, ny anaran'ny fonosana, ny anaran'ny fitsapana, ny fametrahana autotest, na ny teny fanalahidy voatokana. Ny fomba dia mifidy sy mampandeha ny autotest rehetra izay mahafa-po ny fepetra.

    Ny maodelin'ny famokarana angona dia aseho amin'ny endrika fonosana izay ho an'ny zavatra tsirairay ao amin'ny rafitra eo ambanin'ny fitsapana (tabilao ao amin'ny tahiry), dia nisy fomba manokana noforonina izay mampiditra data ao. Amin'ity fomba fiasa ity, fenoina araka izay azo atao ny soatoavina default, izay miantoka ny famoronana zavatra ara-bakiteny amin'ny fipihana rantsantanana iray. Ary ho fanamorana ny fampiasana, dia noforonina ny môdely ho an'ny angona novokarina. Ohatra, mamorona mpanjifa amin'ny taona iray miaraka amin'ny finday fitsapana sy ny fividianana vita.

  6. Tokony hanomboka sy handeha amin'ny fotoana mety amin'ny rafitrao ny autotest. Noho izany dia nisy ny fandefasana isan'andro amin'ny alina, mifototra amin'ny valin'ny famoahana ny tatitra momba ny vokatra ary alefa any amin'ny ekipa fampandrosoana manontolo amin'ny alàlan'ny mailaka orinasa. Taorian'ny namerenana ny autotest taloha sy ny famoronana vaovao dia 30 minitra ny fitambaran'ny fotoana fiasana. Mety ho an'ny rehetra io fampisehoana io, satria tany ivelan'ny ora fiasana no nanaovana ny fandefasana.

    Saingy tsy maintsy niasa tamin'ny fanatsarana ny hafainganam-pandehan'ny asa izahay. Havaozina amin'ny alina ny rafitra tsy fivadihana amin'ny famokarana. Tao anatin’ny iray tamin’ireo famoahana, dia tsy maintsy nanao fiovana maika izahay tamin’ny alina. Ny fiandrasana antsasak'adiny ho an'ny valin'ny autotest tamin'ny telo ora maraina dia tsy nahafaly ilay tompon'andraikitra tamin'ny famotsorana azy (faly miarahaba an'i Alexey Vasyukov!), ary ny ampitso maraina dia teny feno hatsaram-panahy no nolazaina tamin'ny rafitra misy antsika. Saingy vokatr'izany dia napetraka ny fenitra 5 minitra ho an'ny asa.

    Mba hanafainganana ny fampandehanana dia nampiasa fomba roa izahay: nanomboka nandeha tamin'ny kofehy telo mifanandrify ny autotests, soa ihany fa tena mety izany noho ny rafitry ny rafitra mahatoky. Ary nandao ny fomba fiasa izay tsy mamorona angona fitsapana ho an'ny tenany ny autotest, fa miezaka mitady zavatra mety amin'ny rafitra. Rehefa vita ny fanovana dia nihena ho 3-4 minitra ny fitambaran'ny fotoana fiasana.

  7. Ny tetikasa misy andrana mandeha ho azy dia tokony ho azo apetraka amin'ny toerana samihafa. Tany am-piandohan'ny dianay dia nisy ny fikasana hanoratra ny antontan-taratasinay manokana, saingy nazava fa ny fametrahana automatique nosoratan'ny tena dia nahatsiravina tanteraka, ary nitodika tany amin'ny vahaolana indostrialy izahay. Noho ny zava-misy fa ny tetikasa dia ahitana be dia be ny kaody mivantana (voalohany indrindra, dia mitahiry ny autotest fehezan-dalàna) ary tena kely angona (ny tena angona dia metadata momba ny autotests), ny fampiharana ao amin'ny tetikasa Liquibase dia nivadika ho tena tsotra.

    Izy io dia tranomboky misokatra malalaka, tsy miankina amin'ny angon-drakitra ho an'ny fanaraha-maso, fitantanana ary fampiharana ny fiovan'ny schema database. Mitantana amin'ny alàlan'ny baiko na rafitra toy ny Apache Maven. Ny fitsipiky ny fiasan'ny Liquibase dia tena tsotra. Manana tetikasa voalamina amin'ny fomba iray izahay, izay ahitana fanovana na script izay mila avoaka amin'ny lohamilina kendrena, ary mifehy ny rakitra izay mamaritra ny filaharana sy ny mari-pamantarana tokony hapetraka ireo fanovana ireo.

    Ao amin'ny ambaratonga DBMS, misy latabatra manokana izay itehirizan'i Liquibase ny logover. Ny fanovana tsirairay dia manana hash kajy, izay ampitahaina isaky ny misy eo amin'ny tetikasa sy ny fanjakana ao amin'ny tahiry. Misaotra an'i Liquibase, afaka manodina mora foana ny fanovana amin'ny rafitray amin'ny faritra rehetra izahay. Ny autotest dia natomboka amin'ny faritra fitsapana sy famoahana, ary koa amin'ny kaontenera (faritra manokana an'ny mpamorona).

Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, fizarana faharoa

Noho izany, andao hiresaka momba ny vokatry ny fampiasana ny rafitra fitiliana unit.

  1. Mazava ho azy, voalohany indrindra, resy lahatra izahay fa nanomboka namolavola rindrambaiko tsara kokoa. Atomboka isan'andro ny autotest ary lesoka am-polony no hita isaky ny famoahana. Ankoatr'izay, ny sasany amin'ireo hadisoana ireo dia mifandray ankolaka amin'ny fampiasa izay tena tiantsika hovana. Misy ny fisalasalana lehibe fa ireo fahadisoana ireo dia hita tamin'ny alàlan'ny fitiliana manual.
  2. Matoky ny ekipa izao fa miasa araka ny tokony ho izy ny fampiasa manokana... Voalohany indrindra, mahakasika ireo dingana manakiana anay izany. Ohatra, tao anatin'ny enim-bolana lasa izay dia tsy nanana olana tamin'ny fizarana fihenam-bidy sy tambin-karama izahay, na dia teo aza ny fiovan'ny famoahana, na dia tamin'ny vanim-potoana teo aloha aza dia nisy hadisoana nitranga matetika.
  3. Vitanay ny nampihena ny isan'ny fitiliana fitiliana. Noho ny zava-misy fa ny autotest dia nosoratana ho an'ny fiasa vaovao, ny mpandinika sy ny mpandinika tapa-potoana dia mahazo kaody ambony kokoa, satria efa nozahana io.
  4. Ny sasany amin'ireo fivoarana amin'ny fitiliana mandeha ho azy dia ampiasain'ny mpamorona. Ohatra, ny angona andrana amin'ny kaontenera dia noforonina amin'ny alàlan'ny maody famoronana zavatra.
  5. Zava-dehibe ny namolavolantsika ny "fanekena" ny rafitra fitiliana mandeha ho azy avy amin'ny mpamorona. Misy ny fahatakarana fa zava-dehibe sy mahasoa izany. Saingy araka ny traikefako manokana dia afaka milaza aho fa lavitra ny raharaha izany. Mila soratana ny autotest, mila tohanana sy velabelarina, tsy maintsy anadihadiana ny valiny, ary matetika dia tsy mendrika izany ny fandaniana fotoana. Mora kokoa ny mandeha any amin'ny famokarana sy miatrika olana any. Eto, milahatra ny mpamorona ary mangataka anay hanarona ny fiasany amin'ny autotest.

Inona no manaraka?

Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, fizarana faharoa

Andao hiresaka momba ny drafitra fampandrosoana ho an'ny tetikasa fitiliana mandeha ho azy.

Mazava ho azy, raha mbola velona ny rafitra tsy fivadihan'ny Sportmaster ary mitohy mivoatra, azo atao ihany koa ny manamboatra autotest saika tsy misy farany. Noho izany, ny tari-dalana lehibe amin'ny fampandrosoana dia ny fanitarana ny faritra fandrakofana.

Rehefa mitombo ny isan'ny autotest dia hitombo hatrany ny fotoana fiasan'izy ireo, ary tsy maintsy miverina amin'ny resaka fampisehoana indray isika. Azo inoana fa ny vahaolana dia ny hampitombo ny isan'ny kofehy mifanitsy.

Fa ireo dia fomba mazava amin'ny fampandrosoana. Raha miresaka zavatra tsy misy dikany kokoa isika, dia manasongadina ireto manaraka ireto:

  1. Amin'izao fotoana izao, ny fitantanana autotest dia atao amin'ny ambaratonga DBMS, i.e. Ny fahalalana PL/SQL dia ilaina amin'ny asa mahomby. Raha ilaina, fitantanana rafitra (ohatra, fandefasana na famoronana metadata), azonao atao ny mamorona karazana tontonana admin mampiasa Jenkins na zavatra mitovy.
  2. Ny olon-drehetra dia tia ny quantitative sy qualitative indicators. Ho an'ny fitiliana mandeha ho azy, ny tondro manerantany toy izany dia ny fandrakofana kaody na metrika fandrakofana kaody. Amin'ny fampiasana an'io famantarana io, dia azontsika atao ny mamaritra hoe firy ny isan-jaton'ny kaody ao amin'ny rafitra misy antsika eo ambanin'ny fitsapana dia voarakotry ny autotest. Manomboka amin'ny kinova 12.2, Oracle dia manome ny fahafahana manao kajy io metrika io ary manolotra ny fampiasana ny fonosana DBMS_PLSQL_CODE_COVERAGE mahazatra.

    Vao herintaona mahery izao ny rafitra autotest anay ary angamba izao no fotoana hanombanana ny fandrakofanay. Tamin'ny tetikasako farany (fa tsy tetikasa Sportmaster) dia izao no nitranga. Herintaona taorian'ny niasany tamin'ny autotest, ny fitantanana dia nametraka ny asa fanombanana ny isan-jaton'ny kaody voarakotra. Miaraka amin'ny fandrakofana mihoatra ny 1% dia ho faly ny mpitantana. Nanantena vokatra eo amin'ny 10% eo ho eo izahay mpamorona. Nametraka fandrakofana kaody izahay, nandrefy izany ary nahazo 20%. Ho fankalazana dia nandeha naka ny loka izahay, fa ny fomba nandehananay sy ny nandehananay taty aoriana dia tantara hafa tanteraka.

  3. Ny Autotest dia afaka manamarina ny serivisy tranonkala miharihary. Oracle dia mamela antsika hanao izany tsara, ary tsy hiatrika olana maro intsony.
  4. Ary mazava ho azy, azo ampiharina amin'ny tetikasa hafa ny rafitra fitiliana mandeha ho azy. Ny vahaolana azonay dia manerantany ary mitaky ny fampiasana Oracle ihany. Henoko fa ny tetikasa Sportmaster hafa dia liana amin'ny fitsapana mandeha ho azy ary angamba handeha any amin'izy ireo isika.

hitany

Andao hamintina. Tamin'ny tetikasa rafitra tsy fivadihana ao amin'ny Sportmaster, nahavita nametraka rafitra fitiliana mandeha ho azy izahay. Izy io dia mifototra amin'ny vahaolana utPLSQL avy amin'i Stephen Feuerstein. Manodidina ny utPLSQL dia misy ny kaody autotest sy ny maodely nosoratan-tena fanampiny: ny maody fanombohana, ny mody famokarana data ary ny hafa. Ny autotest dia atomboka isan'andro ary ny tena zava-dehibe dia miasa sy mahasoa izy ireo. Matoky izahay fa nanomboka namoaka rindrambaiko avo lenta kokoa. Mandritra izany fotoana izany, ny vahaolana aterak'izany dia manerana izao rehetra izao ary azo ampiharina malalaka amin'ny tetikasa rehetra izay ilaina amin'ny fikarakarana fitiliana mandeha ho azy amin'ny Oracle DBMS.

PS Tsy dia voafaritra loatra ity lahatsoratra ity: be dia be ny lahatsoratra ary tsy misy ohatra ara-teknika. Raha mahaliana amin'ny ankapobeny ny lohahevitra, dia vonona ny hanohy izany izahay ary hiverina miaraka amin'ny fitohizana, izay hilazanay aminao izay niova nandritra ny enim-bolana lasa ary hanome ohatra momba ny code.

Manorata fanehoan-kevitra raha misy hevitra tokony hohamafisina amin'ny ho avy, na fanontaniana mitaky fampahafantarana.

Ireo mpampiasa voasoratra anarana ihany no afaka mandray anjara amin'ny fanadihadiana. HiditraPlease.

Hanoratra bebe kokoa momba izany ve isika?

  • eny Mazava ho azy

  • Tsia fa misaotra

Mpampiasa 12 no nifidy. Mpampiasa 4 no nifady.

Source: www.habr.com

Add a comment