Awọn idanwo kuro ni DBMS - bawo ni a ṣe ṣe ni Sportmaster, apakan kan

Hey Habr!

Orukọ mi ni Maxim Ponomarenko ati pe Mo jẹ idagbasoke ni Sportmaster. Mo ni awọn ọdun 10 ti iriri ni aaye IT. O bẹrẹ iṣẹ rẹ ni idanwo afọwọṣe, lẹhinna yipada si idagbasoke data data. Fun awọn ọdun 4 sẹhin, ikojọpọ imọ ti a gba ni idanwo ati idagbasoke, Mo ti n ṣe idanwo adaṣe adaṣe ni ipele DBMS.

Mo ti wa lori ẹgbẹ Sportmaster fun ọdun kan ati pe Mo n dagbasoke idanwo adaṣe lori ọkan ninu awọn iṣẹ akanṣe pataki. Ni Oṣu Kẹrin, awọn eniyan lati Sportmaster Lab ati Emi sọrọ ni apejọ kan ni Krasnodar, ijabọ mi ni a pe ni “Awọn idanwo Unit ni DBMS,” ati ni bayi Mo fẹ pin pẹlu rẹ. Ọrọ pupọ yoo wa, nitorinaa Mo pinnu lati pin ijabọ naa si awọn ifiweranṣẹ meji. Ni akọkọ, a yoo sọrọ nipa awọn adaṣe adaṣe ati idanwo ni gbogbogbo, ati ni keji, Emi yoo gbe ni alaye diẹ sii lori eto idanwo ẹyọkan wa ati awọn abajade ohun elo rẹ.

Awọn idanwo kuro ni DBMS - bawo ni a ṣe ṣe ni Sportmaster, apakan kan

Ni akọkọ, imọran alaidun kekere kan. Kini idanwo adaṣe? Eyi jẹ idanwo ti a ṣe ni lilo sọfitiwia, ati ni IT ode oni o nlo ni idagbasoke sọfitiwia. Eyi jẹ nitori otitọ pe awọn ile-iṣẹ n dagba, awọn ọna ṣiṣe alaye wọn n dagba ati, ni ibamu, iye iṣẹ ṣiṣe ti o nilo lati ni idanwo ti n dagba. Ṣiṣayẹwo idanwo afọwọṣe n di pupọ ati siwaju sii gbowolori.

Mo ṣiṣẹ fun ile-iṣẹ nla kan ti awọn idasilẹ rẹ jade ni gbogbo oṣu meji. Ni akoko kanna, odidi oṣu kan ni a lo lori nini awọn oluyẹwo mejila pẹlu ọwọ ṣayẹwo iṣẹ ṣiṣe naa. Ṣeun si imuse adaṣe adaṣe nipasẹ ẹgbẹ kekere ti awọn idagbasoke, a ni anfani lati dinku akoko idanwo si awọn ọsẹ 2 ni ọdun kan ati idaji. A ko ṣe alekun iyara ti idanwo nikan, ṣugbọn tun dara si didara rẹ. Awọn idanwo adaṣe ti ṣe ifilọlẹ nigbagbogbo ati pe wọn nigbagbogbo ṣe gbogbo ilana awọn sọwedowo ti o wa ninu wọn, iyẹn ni, a yọkuro ifosiwewe eniyan.

IT ode oni jẹ ijuwe nipasẹ otitọ pe olupilẹṣẹ le nilo kii ṣe lati kọ koodu ọja nikan, ṣugbọn tun lati kọ awọn idanwo ẹyọkan ti o ṣayẹwo koodu yii.

Ṣugbọn kini ti eto rẹ ba da lori ipilẹ kannaa olupin? Ko si ojutu gbogbo agbaye tabi awọn iṣe ti o dara julọ lori ọja naa. Gẹgẹbi ofin, awọn ile-iṣẹ yanju iṣoro yii nipa ṣiṣẹda eto idanwo ti ara wọn. Eyi ni eto idanwo adaṣe adaṣe ti ara ẹni ti a ṣẹda lori iṣẹ akanṣe wa ati pe Emi yoo sọrọ nipa rẹ ninu ijabọ mi.

Awọn idanwo kuro ni DBMS - bawo ni a ṣe ṣe ni Sportmaster, apakan kan

Igbeyewo iṣootọ

Ni akọkọ, jẹ ki a sọrọ nipa iṣẹ akanṣe nibiti a ti gbe eto idanwo adaṣe kan lọ. Ise agbese wa ni eto iṣootọ Sportmaster (nipasẹ ọna, a ti kọ tẹlẹ nipa rẹ ninu yi post).

Ti ile-iṣẹ rẹ ba tobi to, lẹhinna eto iṣootọ rẹ yoo ni awọn ohun-ini boṣewa mẹta:

  • Eto rẹ yoo jẹ fifuye pupọ
  • Eto rẹ yoo ni awọn ilana iširo eka ninu
  • Eto rẹ yoo ni ilọsiwaju ni itara.

Jẹ ki a lọ ni ibere ... Ni apapọ, ti a ba ṣe akiyesi gbogbo awọn burandi Sportmaster, lẹhinna a ni diẹ sii ju awọn ile itaja 1000 ni Russia, Ukraine, China, Kasakisitani ati Belarus. Nipa awọn rira 300 ni a ṣe ni awọn ile itaja wọnyi ni gbogbo ọjọ. Iyẹn ni, gbogbo awọn sọwedowo 000-3 keji tẹ eto wa. Nipa ti, eto iṣootọ wa ti kojọpọ gaan. Ati pe niwọn igba ti o ti lo ni itara, a gbọdọ pese awọn iṣedede ti o ga julọ ti didara rẹ, nitori eyikeyi aṣiṣe ninu sọfitiwia tumọ si owo nla, olokiki ati awọn adanu miiran.

Ni akoko kanna, Sportmaster nṣiṣẹ diẹ sii ju ọgọrun oriṣiriṣi awọn igbega. Awọn ipolowo oriṣiriṣi wa: awọn ipolowo ọja wa, awọn ti a fiṣootọ si ọjọ ọsẹ kan wa, awọn ti a so mọ ile itaja kan pato, awọn ipolowo wa fun iye owo ti iwe-ẹri, awọn ọja wa fun nọmba awọn ọja. Ni gbogbogbo, kii ṣe buburu. Awọn onibara ni awọn imoriri ati awọn koodu ipolowo ti a lo nigbati awọn rira. Gbogbo eyi yori si otitọ pe iṣiro eyikeyi aṣẹ jẹ iṣẹ-ṣiṣe ti kii ṣe pataki pupọ.

Algoridimu ti o ṣe imuse sisẹ aṣẹ jẹ ẹru gaan ati idiju. Ati awọn iyipada eyikeyi si algorithm yii jẹ eewu pupọ. O dabi ẹnipe awọn iyipada ti o dabi ẹnipe ko ṣe pataki le ja si awọn ipa airotẹlẹ pupọ. Ṣugbọn o jẹ deede iru awọn ilana ṣiṣe iṣiro eka, ni pataki awọn ti o ṣe iṣẹ ṣiṣe to ṣe pataki, iyẹn jẹ awọn oludije ti o dara julọ fun adaṣe. Ṣiṣayẹwo awọn dosinni ti awọn ọran ti o jọra nipasẹ ọwọ jẹ akoko n gba pupọ. Ati pe niwọn igba ti aaye titẹsi sinu ilana naa ko yipada, ti ṣe apejuwe rẹ ni ẹẹkan, o le yara ṣẹda awọn idanwo adaṣe ati ni igboya pe iṣẹ ṣiṣe yoo ṣiṣẹ.

Niwọn igba ti a ti lo eto wa ni itara, iṣowo naa yoo fẹ nkan tuntun lati ọdọ rẹ, gbe pẹlu awọn akoko ati jẹ iṣalaye alabara. Ninu eto iṣootọ wa, awọn idasilẹ wa jade ni gbogbo oṣu meji. Eyi tumọ si pe ni gbogbo oṣu meji a nilo lati gbe ipadasẹhin pipe ti gbogbo eto naa. Ni akoko kanna, nipa ti ara, bi ninu eyikeyi IT igbalode, idagbasoke ko lọ lẹsẹkẹsẹ lati ọdọ olupilẹṣẹ si iṣelọpọ. O wa lori Circuit ti olupilẹṣẹ, lẹhinna ni aṣeyọri kọja nipasẹ ibujoko idanwo, itusilẹ, gbigba, ati lẹhinna pari ni iṣelọpọ. Ni o kere ju, lori idanwo ati awọn iyika itusilẹ, a nilo lati gbe ipadasẹhin pipe ti gbogbo eto naa.

Awọn ohun-ini ti a ṣalaye jẹ boṣewa fun fere eyikeyi eto iṣootọ. Jẹ ká soro nipa awọn ẹya ara ẹrọ ti wa ise agbese.

Ni imọ-ẹrọ, 90% ti oye ti eto iṣootọ wa jẹ orisun olupin ati imuse lori Oracle. Onibara wa ti o han ni Delphi, eyiti o ṣe iṣẹ ti alabojuto ibi iṣẹ adaṣe. Awọn iṣẹ wẹẹbu ti o han wa fun awọn ohun elo ita (fun apẹẹrẹ oju opo wẹẹbu kan). Nitorinaa, o jẹ ọgbọn pupọ pe ti a ba gbe eto idanwo adaṣe kan ṣiṣẹ, a yoo ṣe lori Oracle.

Eto iṣootọ ni Sportmaster ti wa fun diẹ sii ju ọdun 7 ati pe o ṣẹda nipasẹ awọn olupilẹṣẹ ẹyọkan… Nọmba apapọ ti awọn olupilẹṣẹ lori iṣẹ akanṣe wa lakoko awọn ọdun 7 wọnyi jẹ eniyan 3-4. Ṣugbọn ni ọdun to kọja, ẹgbẹ wa ti dagba ni pataki, ati ni bayi awọn eniyan 10 wa ti n ṣiṣẹ lori iṣẹ naa. Iyẹn ni, awọn eniyan wa si iṣẹ akanṣe ti ko faramọ awọn iṣẹ-ṣiṣe aṣoju, awọn ilana, ati faaji. Ati pe ewu ti o pọ si wa ti a yoo padanu awọn aṣiṣe.

Ise agbese na jẹ ijuwe nipasẹ isansa ti awọn oludanwo iyasọtọ bi awọn ẹgbẹ oṣiṣẹ. O wa, nitorinaa, idanwo, ṣugbọn idanwo ni a ṣe nipasẹ awọn atunnkanka, ni afikun si awọn ojuse akọkọ wọn miiran: ibaraẹnisọrọ pẹlu awọn alabara iṣowo, awọn olumulo, awọn ibeere eto idagbasoke, ati bẹbẹ lọ. ati be be lo ... Bíótilẹ o daju wipe igbeyewo ti wa ni ti gbe jade gidigidi ga didara (eyi ni paapa yẹ lati darukọ, niwon diẹ ninu awọn atunnkanka le yẹ awọn oju ti yi Iroyin), ndin ti pataki ati fojusi lori ohun kan ti ko ti pawonre. .

Ṣiyesi gbogbo awọn ti o wa loke, lati mu didara ọja ti a firanṣẹ ati dinku akoko idagbasoke, imọran ti adaṣe adaṣe lori iṣẹ akanṣe kan dabi ọgbọn. Ati ni awọn ipele oriṣiriṣi ti aye eto iṣootọ, awọn olupilẹṣẹ kọọkan ṣe awọn ipa lati bo koodu wọn pẹlu awọn idanwo ẹyọkan. Ìwò o je kan iṣẹtọ disjointed ilana, pẹlu gbogbo eniyan lilo ara wọn faaji ati awọn ọna. Awọn abajade ipari jẹ wọpọ si awọn idanwo ẹyọkan: awọn idanwo ti ni idagbasoke, ti a lo fun igba diẹ, ti a fipamọ sinu ibi ipamọ faili ti ikede, ṣugbọn ni aaye kan wọn da ṣiṣiṣẹ duro ati gbagbe wọn. Ni akọkọ, eyi jẹ nitori otitọ pe awọn idanwo naa ti so diẹ sii si oluṣe kan pato, kii ṣe si iṣẹ naa.

utPLSQL wa si igbala

Awọn idanwo kuro ni DBMS - bawo ni a ṣe ṣe ni Sportmaster, apakan kan

Ṣe o mọ ohunkohun nipa Stephen Feuerstein?

Eyi jẹ ọlọgbọn ti o yasọtọ apakan pipẹ ti iṣẹ rẹ lati ṣiṣẹ pẹlu Oracle ati PL/SQL, ati pe o ti kọ nọmba nla ti awọn iṣẹ lori koko yii. Ọkan ninu awọn iwe olokiki rẹ ni a pe ni: “Oracle PL/SQL. Fun awọn akosemose." Stephen ni o ṣe agbekalẹ ojutu utPLSQL, tabi, bi o ṣe duro fun, Ilana Idanwo Unit fun Oracle PL/SQL. Ojutu utPLSQL ti ṣẹda ni ọdun 2016, ṣugbọn o tẹsiwaju lati ṣiṣẹ ni itara ati awọn ẹya tuntun ti tu silẹ. Ni akoko ijabọ, ẹya tuntun ti bẹrẹ pada si Oṣu Kẹta Ọjọ 24, Ọdun 2019.
Kini o jẹ. Eyi jẹ iṣẹ akanṣe orisun ṣiṣi ọtọtọ. O ṣe iwọn megabyte meji, pẹlu awọn apẹẹrẹ ati awọn iwe. Ni ti ara, o jẹ ero lọtọ ni ibi ipamọ data ORACLE pẹlu ṣeto ti awọn idii ati awọn tabili fun siseto idanwo ẹyọkan. Fifi sori gba to iṣẹju diẹ. Ẹya iyasọtọ ti utPLSQL jẹ irọrun ti lilo.
Ni kariaye, utPLSQL jẹ ẹrọ kan fun ṣiṣe awọn idanwo ẹyọkan, nibiti idanwo ẹyọkan ti loye bi awọn ilana ipele Oracle lasan, eto eyiti o tẹle awọn ofin kan. Ni afikun si ifilọlẹ, utPLSQL tọju akọọlẹ kan ti gbogbo awọn ṣiṣe idanwo rẹ, ati pe o tun ni eto ijabọ inu.

Jẹ ki a wo apẹẹrẹ ti ohun ti koodu idanwo ẹyọkan dabi, ti a ṣe ni lilo ilana yii.

Awọn idanwo kuro ni DBMS - bawo ni a ṣe ṣe ni Sportmaster, apakan kan

Nitorinaa, iboju fihan koodu fun sipesifikesonu package aṣoju pẹlu awọn idanwo ẹyọkan. Kini awọn ibeere dandan? Paketi naa gbọdọ jẹ iṣaju pẹlu “utp_”. Gbogbo awọn ilana pẹlu awọn idanwo gbọdọ ni iru-ipele kanna. Apapọ naa gbọdọ ni awọn ilana boṣewa meji: “utp_setup” ati “utp_teardown”. Ilana akọkọ ni a pe nipasẹ tun bẹrẹ idanwo ẹyọkan kọọkan, keji - lẹhin ifilọlẹ.

"utp_setup", gẹgẹbi ofin, ngbaradi eto wa lati ṣiṣe idanwo ẹyọkan, fun apẹẹrẹ, ṣiṣẹda data idanwo. "utp_teardown" - ni ilodi si, ohun gbogbo pada si awọn eto atilẹba ati tunto awọn abajade ifilọlẹ.

Eyi jẹ apẹẹrẹ ti idanwo ẹyọkan ti o rọrun julọ ti o ṣayẹwo deede ti nọmba foonu alabara ti a tẹ si fọọmu boṣewa fun eto iṣootọ wa. Ko si awọn iṣedede dandan lori bi o ṣe le kọ awọn ilana pẹlu awọn idanwo ẹyọkan. Gẹgẹbi ofin, a ṣe ipe si ọna ti eto labẹ idanwo, ati abajade ti o pada nipasẹ ọna yii ni a ṣe afiwe pẹlu itọkasi kan. O ṣe pataki pe lafiwe ti abajade itọkasi ati ọkan ti o gba waye nipasẹ awọn ọna utPLSQL boṣewa.

Idanwo ọkan le ni nọmba awọn sọwedowo eyikeyi. Gẹgẹbi a ti le rii lati apẹẹrẹ, a ṣe awọn ipe itẹlera mẹrin si ọna idanwo lati ṣe deede nọmba foonu ati ṣe iṣiro abajade lẹhin ipe kọọkan. Nigbati o ba ndagba idanwo ẹyọkan, o gbọdọ ṣe akiyesi pe awọn sọwedowo wa ti ko ni ipa lori eto ni eyikeyi ọna, ati lẹhin diẹ ninu awọn ti o nilo lati yipo pada si ipo atilẹba ti eto naa.
Fun apẹẹrẹ, ninu idanwo ẹyọkan ti a gbekalẹ a ni ọna kika nọmba foonu titẹ sii, eyiti ko ni ipa lori eto iṣootọ ni eyikeyi ọna.

Ati pe ti a ba kọ awọn idanwo ẹyọkan ni lilo ọna ti ṣiṣẹda alabara tuntun, lẹhinna lẹhin idanwo kọọkan alabara tuntun yoo ṣẹda ninu eto, eyiti o le ni ipa ifilọlẹ atẹle ti idanwo naa.

Awọn idanwo kuro ni DBMS - bawo ni a ṣe ṣe ni Sportmaster, apakan kan

Eyi ni bii awọn idanwo ẹyọkan ṣe nṣiṣẹ. Awọn aṣayan ifilọlẹ meji ṣee ṣe: ṣiṣe gbogbo awọn idanwo ẹyọkan lati package kan pato tabi ṣiṣe idanwo ẹyọ kan pato ni package kan pato.

Awọn idanwo kuro ni DBMS - bawo ni a ṣe ṣe ni Sportmaster, apakan kan

Eyi ni apẹẹrẹ ti eto ijabọ inu kan dabi. Da lori awọn abajade ti idanwo ẹyọkan, utPLSQL kọ ijabọ kekere kan. Ninu rẹ a rii abajade fun ayẹwo kọọkan pato ati abajade apapọ ti idanwo ẹyọkan.

6 ofin ti autotests

Ṣaaju ki o to bẹrẹ lati ṣẹda eto tuntun fun idanwo adaṣe adaṣe ti eto iṣootọ, papọ pẹlu iṣakoso, a pinnu awọn ipilẹ ti awọn idanwo adaṣe adaṣe ọjọ iwaju yẹ ki o ni ibamu.

Awọn idanwo kuro ni DBMS - bawo ni a ṣe ṣe ni Sportmaster, apakan kan

  1. Awọn idanwo adaṣe gbọdọ jẹ doko ati pe o gbọdọ wulo. A ni iyanu Difelopa, ti o pato nilo a darukọ, nitori diẹ ninu awọn ti wọn yoo jasi ri yi Iroyin, nwọn si kọ iyanu koodu. Ṣugbọn paapaa koodu iyalẹnu wọn ko pe ati pe o ni, ni, ati pe yoo tẹsiwaju lati ni awọn aṣiṣe ninu. Awọn idanwo adaṣe nilo lati wa awọn aṣiṣe wọnyi. Ti eyi ko ba jẹ ọran, lẹhinna boya a nkọ awọn afọwọṣe buburu, tabi a ti wa si agbegbe ti o ku ti, ni ipilẹ, ko ni idagbasoke. Nínú ọ̀ràn méjèèjì, ohun tí kò tọ́ là ń ṣe, ọ̀nà tá a gbà ń ṣe kò sì bọ́gbọ́n mu.
  2. Awọn idanwo adaṣe yẹ ki o lo. Ko ṣe oye lati lo akoko pupọ ati igbiyanju lori kikọ ọja sọfitiwia kan, fi sii sinu ibi ipamọ kan ki o gbagbe rẹ. Awọn idanwo yẹ ki o ṣiṣẹ, ati ṣiṣe ni deede bi o ti ṣee.
  3. Awọn idanwo adaṣe yẹ ki o ṣiṣẹ ni iduroṣinṣin. Laibikita akoko ti ọjọ, ifilọlẹ ifilọlẹ ati awọn eto eto miiran, awọn ṣiṣe idanwo yẹ ki o ja si abajade kanna. Gẹgẹbi ofin, eyi ni idaniloju nipasẹ otitọ pe awọn adaṣe adaṣe ṣiṣẹ pẹlu data idanwo pataki pẹlu awọn eto eto ti o wa titi.
  4. Awọn idanwo adaṣe yẹ ki o ṣiṣẹ ni iyara itẹwọgba fun iṣẹ akanṣe rẹ. Akoko yii jẹ ipinnu ni ẹyọkan fun eto kọọkan. Diẹ ninu awọn eniyan le ni anfani lati ṣiṣẹ ni gbogbo ọjọ, lakoko ti awọn miiran rii pe o ṣe pataki lati ṣe ni iṣẹju-aaya. Emi yoo sọ fun ọ diẹ lẹhinna kini awọn iṣedede iyara ti a ṣaṣeyọri ninu iṣẹ akanṣe wa.
  5. Idagbasoke adaṣe yẹ ki o rọ. Ko ṣe imọran lati kọ lati ṣe idanwo iṣẹ eyikeyi nirọrun nitori a ko ṣe ṣaaju tabi fun idi miiran. utPLSQL ko fa eyikeyi awọn ihamọ lori idagbasoke, ati Oracle, ni opo, gba ọ laaye lati ṣe ọpọlọpọ awọn nkan. Pupọ awọn iṣoro ni ojutu kan, o kan ọrọ kan ti akoko ati igbiyanju.
  6. Ifilọlẹ. A ni ọpọlọpọ awọn iduro nibiti a nilo lati ṣiṣe awọn idanwo. Ni iduro kọọkan, idalẹnu data le ṣe imudojuiwọn nigbakugba. O jẹ dandan lati ṣe iṣẹ akanṣe kan pẹlu awọn idanwo adaṣe ni iru ọna ti o le ṣe ni irora laisi irora ni kikun tabi fifi sori apakan.

Ati ninu ifiweranṣẹ keji ni awọn ọjọ meji Emi yoo sọ fun ọ ohun ti a ṣe ati kini awọn abajade ti a ṣaṣeyọri.

orisun: www.habr.com

Fi ọrọìwòye kun