Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, ampahany voalohany

Hey Habr!

Maxim Ponomarenko no anarako ary mpamorona ao amin'ny Sportmaster aho. Manana traikefa 10 taona amin'ny sehatry ny IT aho. Nanomboka ny asany tamin'ny fitiliana an-tanana izy, avy eo nivadika tamin'ny fampandrosoana ny angona. Nandritra ny 4 taona farany, nanangona ny fahalalana azo tamin'ny fitsapana sy ny fampandrosoana, dia nanao automatique fitiliana tamin'ny ambaratonga DBMS aho.

Tao anatin'ny ekipa Sportmaster nandritra ny herintaona mahery aho ary namolavola fitsapana mandeha ho azy amin'ny iray amin'ireo tetikasa lehibe. Tamin'ny volana Aprily, niresaka tamin'ny fihaonambe tao Krasnodar izahay sy ry zalahy avy ao amin'ny Sportmaster Lab, ny tatitra nataoko dia nantsoina hoe "Fitsapana an'ny vondrona ao amin'ny DBMS", ary ankehitriny dia te hizara izany aminao aho. Hisy lahatsoratra be dia be, ka nanapa-kevitra ny hizara ny tatitra ho lahatsoratra roa aho. Amin'ny voalohany, hiresaka momba ny autotest sy ny fitsapana amin'ny ankapobeny isika, ary amin'ny faharoa, hipetraka amin'ny antsipiriany bebe kokoa momba ny rafitra fitiliana unit sy ny vokatry ny fampiharana azy aho.

Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, ampahany voalohany

Voalohany, teoria mankaleo kely. Inona no atao hoe fitiliana mandeha ho azy? Ity dia fitsapana izay ataon'ny rindrambaiko, ary amin'ny IT maoderina dia mihamitombo hatrany amin'ny famolavolana rindrambaiko. Izany dia noho ny fitomboan'ny orinasa, ny rafitry ny fampahalalam-baovaon'izy ireo dia mitombo ary, araka izany, dia mitombo ny habetsaky ny fiasa mila andrana. Ny fanaovana fitiliana amin’ny tanana dia miha lafo.

Niasa tamina orinasa lehibe iray izay mivoaka isaky ny roa volana ny famoahana azy. Nandritra izany fotoana izany, ny iray volana iray manontolo dia lany tamin'ny fananana tester am-polony hanamarina ny fampiasa. Noho ny fampiharana ny automatique nataon'ny ekipa kelin'ny mpamorona, dia afaka nampihena ny fotoana fitsapana ho 2 herinandro tao anatin'ny herintaona sy tapany izahay. Tsy vitan'ny hoe nampitombo ny hafainganam-pandehan'ny fitsapana izahay, fa nanatsara ny kalitaony ihany koa. Ny fitsapana mandeha ho azy dia atomboka tsy tapaka ary manao ny fanaraha-maso manontolo ao anatin'izy ireo foana izy ireo, izany hoe tsy tafiditra ao anatin'izany ny anton'ny maha-olombelona.

Ny IT maoderina dia miavaka amin'ny hoe ny mpamorona dia mety tsy maintsy manoratra fehezan-dalàna momba ny vokatra, fa koa manoratra fitsapana vondrona izay manamarina ity kaody ity.

Ahoana anefa raha mifototra amin'ny lojika mpizara indrindra ny rafitrao? Tsy misy vahaolana manerantany na fomba fanao tsara indrindra eny an-tsena. Amin'ny maha-fitsipika azy, ny orinasa dia mamaha ity olana ity amin'ny alàlan'ny famoronana rafitra fitiliana manokana nosoratan'izy ireo manokana. Ity no rafitra fitiliana automatique nosoratanay manokana izay noforonina tamin'ny tetikasanay ary hiresaka momba izany aho ao amin'ny tatitro.

Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, ampahany voalohany

Mitsapa ny tsy fivadihana

Voalohany, andao hiresaka momba ny tetikasa nametrahana rafitra fitiliana mandeha ho azy. Ny tetikasanay dia ny rafitra tsy fivadihana amin'ny Sportmaster (amin'ny fomba, efa nanoratra momba izany izahay ity lahatsoratra ity).

Raha lehibe ny orinasanao, dia hanana toetra telo mahazatra ny rafitra tsy fivadihanao:

  • Ho feno entana be ny rafitrao
  • Hisy fizotry ny informatika sarotra ny rafitrao
  • Hatsaraina tsara ny rafitrao.

Andeha hojerentsika ... Raha atambatra, raha mandinika ny marika Sportmaster rehetra isika, dia manana fivarotana maherin'ny 1000 any Rosia, Ukraine, Shina, Kazakhstan ary Belarosia. Manodidina ny 300 eo ho eo ny fividianana any amin’ireo magazay ireo isan’andro. Izany hoe, isaky ny segondra 000-3 ny fisavana miditra ao amin'ny rafitray. Mazava ho azy fa feno entana be ny rafitra tsy fivadihantsika. Ary satria ampiasaina am-pahavitrihana izy io, dia tsy maintsy manome ny fenitra avo indrindra amin'ny kalitaony isika, satria ny fahadisoana rehetra ao amin'ny rindrambaiko dia midika fatiantoka lehibe, laza ary fatiantoka hafa.

Mandritra izany fotoana izany, Sportmaster dia manao fampiroboroboana mihoatra ny zato isan-karazany. Misy isan-karazany ny fampiroboroboana : misy ny fampiroboroboana ny vokatra, ao ny natokana ho an’ny andro amin’ny herinandro, ao ny mifatotra amin’ny magazay iray manokana, misy ny fampiroboroboana ny habetsaky ny rosia, misy ny isan’ny entana. Amin'ny ankapobeny, tsy ratsy. Ny mpanjifa dia manana bonus sy kaody fampiroboroboana izay ampiasaina rehefa mividy. Izany rehetra izany dia mitarika ho amin'ny zava-misy fa ny fanaovana kajy na inona na inona baiko dia asa tena tsy misy dikany.

Ny algorithm izay mampihatra ny fanodinana baiko dia tena mahatsiravina sy sarotra. Ary ny fiovana rehetra amin'ity algorithm ity dia tena mampidi-doza. Toa mety hiteraka voka-dratsy tsy ampoizina ny fiovana toa tsy dia misy dikany loatra. Saingy ny fizotry ny informatika be pitsiny indrindra, indrindra ireo izay mampihatra fampiasa mitsikera, no kandidà tsara indrindra ho an'ny automatique. Tena mandany fotoana ny fanaraha-maso tranga mitovitovy am-polony amin'ny tanana. Ary satria tsy miova ny teboka fidirana amin'ilay dingana, rehefa namaritra azy indray mandeha ianao dia afaka mamorona fitsapana mandeha ho azy haingana ary matoky fa hiasa ny fiasa.

Satria ny rafitray dia ampiasaina mavitrika, ny orinasa dia haniry zava-baovao avy aminao, miaina amin'ny fotoana ary mitodika amin'ny mpanjifa. Ao amin'ny rafitra tsy fivadihana, mivoaka isaky ny roa volana ny famoahana. Midika izany fa isaky ny roa volana dia mila manao famerenana tanteraka ny rafitra iray manontolo. Mandritra izany fotoana izany, mazava ho azy, toy ny amin'ny IT maoderina rehetra, ny fampandrosoana dia tsy avy amin'ny mpamorona mankany amin'ny famokarana. Avy amin'ny faritry ny mpamorona izany, avy eo dia mandalo amin'ny dabilio fitsapana, famoahana, fanekena, ary avy eo dia miafara amin'ny famokarana. Farafaharatsiny, amin'ny fizahana fitsapana sy famotsorana, mila manao famerenana tanteraka ny rafitra manontolo isika.

Ny fananana voalaza dia manara-penitra ho an'ny rafitra mahatoky rehetra. Andeha isika hiresaka momba ny endri-javatra ny tetikasa.

Ara-teknolojia, ny 90%-n'ny lojikan'ny rafitra mahatoky dia mifototra amin'ny mpizara ary ampiharina amin'ny Oracle. Misy mpanjifa mibaribary ao amin'ny Delphi, izay manatanteraka ny asan'ny mpitantana ny toeram-piasana mandeha ho azy. Misy serivisy tranonkala miharihary ho an'ny fampiharana ivelany (ohatra ny tranokala). Noho izany, tena lojika fa raha mametraka rafitra fitiliana mandeha ho azy isika dia hanao izany amin'ny Oracle.

Ny rafitra tsy fivadihana ao amin'ny Sportmaster dia efa nisy nandritra ny 7 taona mahery ary noforonin'ny mpamorona tokana... Ny salan'isan'ny mpamorona amin'ny tetikasanay nandritra ireo taona 7 ireo dia olona 3-4. Saingy tamin'ny taon-dasa dia nitombo be ny ekipanay, ary misy olona 10 miasa amin'ny tetikasa. Izany hoe, tonga amin'ny tetikasa ny olona izay tsy mahafantatra ny asa mahazatra, ny dingana ary ny maritrano. Ary mitombo ny loza mety tsy ho diso isika.

Ny tetikasa dia miavaka amin'ny tsy fisian'ny mpanandrana natokana ho vondrona mpiasa. Misy, mazava ho azy, ny fitsapana, fa ny fitsapana dia ataon'ny mpandinika, ankoatra ny andraikiny lehibe hafa: mifandray amin'ny mpanjifa mpandraharaha, mpampiasa, fampivoarana ny fepetra takian'ny rafitra, sns. sns... Na dia eo aza ny fanaovana fitiliana kalitao avo dia avo (mety ho lazaina manokana izany, satria mety hisarika ny mason'ity tatitra ity ny sasany amin'ireo mpandinika), ny fahombiazan'ny fanasokajiana sy ny fifantohana amin'ny zavatra iray dia tsy nofoanana. .

Raha jerena ireo rehetra voalaza etsy ambony ireo, mba hanatsarana ny kalitaon'ny vokatra aterina sy hampihenana ny fotoana fampandrosoana, ny hevitra momba ny fanaovana fitiliana amin'ny tetikasa iray dia toa mitombina tokoa. Ary amin'ny dingana samihafa amin'ny fisian'ny rafitra tsy fivadihana, ny mpamorona tsirairay dia nanao ezaka mba handrakotra ny kaody amin'ny fitsapana unit. Amin'ny ankapobeny dia dingana tsy misy dikany izany, miaraka amin'ny tsirairay mampiasa ny maritrano sy ny fomba fiasany. Ny vokatra farany dia mahazatra amin'ny fitsapana vondrona: novolavolaina ny fitsapana, nampiasaina nandritra ny fotoana kelikely, voatahiry ao amin'ny fitehirizana rakitra misy dikan-teny, saingy tamin'ny fotoana iray dia nijanona izy ireo ary adino. Voalohany indrindra, izany dia noho ny zava-misy fa ny fitsapana dia mifamatotra kokoa amin'ny mpilalao manokana, fa tsy amin'ny tetikasa.

utPLSQL dia tonga hamonjy

Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, ampahany voalohany

Fantatrao ve ny momba an'i Stephen Feuerstein?

Lehilahy marani-tsaina ity izay nanokana ampahany betsaka tamin'ny asany tamin'ny fiaraha-miasa tamin'i Oracle sy PL/SQL, ary nanoratra asa maro be momba ity lohahevitra ity. Ny iray amin'ireo bokiny malaza dia antsoina hoe: "Oracle PL/SQL. Ho an'ny matihanina." I Stephen no namolavola ny vahaolana utPLSQL, na, araka ny fijoroany, rafitra Testing Unit ho an'ny Oracle PL/SQL. Ny vahaolana utPLSQL dia noforonina tamin'ny taona 2016, saingy mbola mitohy miasa izy io ary mivoaka ny dikan-teny vaovao. Tamin'ny fotoana nanaovana tatitra, ny 24 martsa 2019 no dikan-teny farany.
Inona ity. Ity dia tetikasa open source mitokana. Mitovy lanja roa megabytes izy io, ao anatin'izany ny ohatra sy ny antontan-taratasy. Amin'ny lafiny ara-batana, dia schema mitokana ao amin'ny angon-drakitra ORACLE miaraka amin'ny fonosana sy latabatra ho an'ny fikarakarana ny fitiliana unit. Ny fametrahana dia maka segondra vitsy. Ny mampiavaka ny utPLSQL dia ny mora ampiasaina.
Maneran-tany, ny utPLSQL dia rafitra iray amin'ny fampandehanana ny fitsapana vondrona, izay ahafantarana ny andrana iray ho toy ny fomba fiasa mahazatra Oracle batch, ny fandaminana izay manaraka fitsipika sasany. Ankoatra ny fandefasana, utPLSQL dia mitahiry diarin'ny fitsapana rehetra ataonao, ary manana rafitra fanaovana tatitra anatiny ihany koa.

Andeha hojerentsika ny ohatra iray amin'ny endriky ny kaody fitsapana unit, ampiharina amin'ny fampiasana ity teknika ity.

Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, ampahany voalohany

Noho izany, ny efijery dia mampiseho ny kaody ho an'ny fanondroana fonosana mahazatra miaraka amin'ny fitsapana unit. Inona avy ireo fepetra takiana? Ny fonosana dia tsy maintsy apetraka amin'ny "utp_". Ny fomba fiasa rehetra misy fitsapana dia tsy maintsy manana tovana mitovy. Ny fonosana dia tsy maintsy misy fomba fiasa roa: "utp_setup" sy "utp_teardown". Ny dingana voalohany dia antsoina amin'ny famerenana indray ny fitsapana unit tsirairay, ny faharoa - aorian'ny fandefasana.

Ny "utp_setup", amin'ny ankapobeny, dia manomana ny rafitra ataontsika amin'ny andrana iray, ohatra, mamorona angona fitsapana. "utp_teardown" - ny mifanohitra amin'izany, ny zava-drehetra dia miverina amin'ny toerana voalohany ary mamerina ny valin'ny fandefasana.

Ity misy ohatra iray amin'ny fitsapana vondrona tsotra indrindra izay manamarina ny fampandehanana ny nomeraon-telefaonin'ny mpanjifa miditra amin'ny endrika mahazatra ho an'ny rafitra mahatoky. Tsy misy fenitra tsy maintsy atao amin'ny fanoratana ny fomba fiasa miaraka amin'ny fitsapana unit. Amin'ny maha-fitsipika, ny antso dia atao amin'ny fomba ny rafitra eo ambany fitsapana, ary ny vokatra naverina tamin'ny alalan'ity fomba ity dia ampitahaina amin'ny reference. Zava-dehibe ny fampitahana ny valin'ny fanondroana sy ny azo amin'ny alàlan'ny fomba utPLSQL mahazatra.

Ny andrana iray dia mety misy fisavana maromaro. Araka ny hita amin'ny ohatra, dia manao antso efatra misesy izahay amin'ny fomba voasedra mba hanamafisana ny laharan-telefaona ary hanombantombana ny valiny aorian'ny antso tsirairay. Rehefa mamolavola fitsapana unit dia tsy maintsy raisinao fa misy fisavana izay tsy misy fiantraikany amin'ny rafitra amin'ny fomba rehetra, ary aorian'ny sasany dia mila miverina amin'ny toetry ny rafitra voalohany ianao.
Ohatra, ao amin'ny fitsapana vondrona naseho dia amboary tsotra izao ny laharan-telefaona fampidirana, izay tsy misy fiantraikany amin'ny rafitra tsy fivadihana amin'ny fomba rehetra.

Ary raha manoratra fitsapana vondrona amin'ny alàlan'ny famoronana mpanjifa vaovao isika, dia aorian'ny fitsapana tsirairay dia hisy mpanjifa vaovao hamorona ao amin'ny rafitra, izay mety hisy fiantraikany amin'ny fandefasana ny fitsapana manaraka.

Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, ampahany voalohany

Toy izany no fomba anaovana andrana unit. Misy safidy fandefasana roa azo atao: manatanteraka andrana rehetra avy amin'ny fonosana manokana na manao andrana manokana amin'ny fonosana manokana.

Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, ampahany voalohany

Toy izao ny endriky ny rafitra fanaovana tatitra anatiny. Miorina amin'ny valin'ny fitsapana unit, manangana tatitra kely ny utPLSQL. Ao anatin'izany no ahitantsika ny vokatra isaky ny fanamarinana manokana sy ny vokatra ankapobeny amin'ny fitsapana unit.

6 fitsipika momba ny autotest

Alohan'ny hanombohantsika hamorona rafitra vaovao ho an'ny fitiliana mandeha ho azy ny rafitra tsy fivadihana, miaraka amin'ny fitantanana, dia nanapa-kevitra ny fitsipika tokony hankatoavina ny fitsapana mandeha ho azy ho avy.

Fitsapana vondrona ao amin'ny DBMS - ny fomba hanaovana izany ao amin'ny Sportmaster, ampahany voalohany

  1. Ny autotest dia tsy maintsy mandaitra ary tsy maintsy ilaina. Manana mpamorona mahafinaritra izahay, izay tena mila lazaina, satria ny sasany amin'izy ireo dia mety hahita ity tatitra ity, ary manoratra code mahafinaritra. Saingy na dia ny kaody mahafinaritra azy aza dia tsy tonga lafatra ary manana, manana ary mbola hisy fahadisoana. Ilaina ny autotest hahitana ireo lesoka ireo. Raha tsy izany no izy, dia na manoratra autotest ratsy isika, na tonga any amin'ny faritra maty izay, raha ny marina, dia tsy mivoatra. Amin'ireo tranga roa ireo dia manao zavatra tsy mety isika, ary tsy mitombina fotsiny ny fomba fiasantsika.
  2. Tokony hampiasaina ny autotest. Tsy misy dikany ny mandany fotoana sy ezaka be amin'ny fanoratana vokatra rindrambaiko, mametraka izany ao anaty tahiry ary manadino izany. Tokony hatao ny fitsapana, ary mihazakazaka araka izay azo atao.
  3. Tokony hiasa tsara ny autotest. Na manao ahoana na manao ahoana ny andro, ny fijoroana fanombohana ary ny firafitry ny rafitra hafa, dia tokony hitondra vokatra mitovy amin'izany koa ny fihazakazahana andrana. Amin'ny maha-fitsipika, izany dia azo antoka fa ny autotests dia miasa miaraka amin'ny angon-drakitra fitsapana manokana miaraka amin'ny rafitra rafitra raikitra.
  4. Ny autotest dia tokony hiasa amin'ny hafainganam-pandeha azo ekena ho an'ny tetikasanao. Io fotoana io dia voafaritra tsirairay ho an'ny rafitra tsirairay. Ny olona sasany dia afaka miasa mandritra ny andro, fa ny hafa kosa mahita fa sarotra ny manao izany ao anatin'ny segondra. Holazaiko anao aoriana kely ny fenitry ny hafainganam-pandeha azonay tamin'ny tetikasanay.
  5. Ny fivoaran'ny autotest dia tokony ho malefaka. Tsy mety ny mandà tsy hanandrana fampiasa rehetra fotsiny satria tsy nanao izany taloha na noho ny antony hafa. utPLSQL dia tsy mametraka fameperana amin'ny fampandrosoana, ary ny Oracle, amin'ny ankapobeny, dia mamela anao hampihatra zavatra isan-karazany. Ny ankamaroan'ny olana dia manana vahaolana, fotoana sy ezaka fotsiny izany.
  6. Deployability. Manana toeram-pivarotana maromaro izay ilaintsika hanaovana fitsapana. Amin'ny toerana tsirairay, ny fanariam-baovao dia azo havaozina amin'ny fotoana rehetra. Ilaina ny manao tetik'asa miaraka amin'ny fitsapana mandeha ho azy amin'ny fomba izay ahafahanao manatanteraka ny fametrahana feno na ampahany.

Ary amin'ny lahatsoratra faharoa ao anatin'ny roa andro dia holazaiko aminao ny nataonay sy ny vokatra azonay.

Source: www.habr.com

Add a comment