Gwajin naúrar a cikin DBMS - yadda muke yinsa a Sportmaster, sashi na ɗaya

Hai Habr!

Sunana Maxim Ponomarenko kuma ni mai haɓakawa ne a Sportmaster. Ina da shekaru 10 na gwaninta a fagen IT. Ya fara aikinsa a gwajin hannu, sannan ya canza zuwa haɓaka bayanai. A cikin shekaru 4 na ƙarshe, tara ilimin da aka samu a gwaji da haɓakawa, Ina yin gwajin sarrafa kansa a matakin DBMS.

Na kasance a cikin ƙungiyar Sportmaster sama da shekara guda kuma ina haɓaka gwaji ta atomatik akan ɗayan manyan ayyuka. A cikin Afrilu, mutanen daga Sportmaster Lab da na yi magana a wani taro a Krasnodar, rahoton na ana kiransa "Gwajin naúrar a cikin DBMS," kuma yanzu ina so in raba tare da ku. Za a yi rubutu da yawa, don haka na yanke shawarar raba rahoton gida biyu. A farko, za mu yi magana game da autotest da gwaji gaba ɗaya, kuma a cikin na biyu, zan yi bayani dalla-dalla kan tsarin gwajin mu naúrar da sakamakon aikace-aikacensa.

Gwajin naúrar a cikin DBMS - yadda muke yinsa a Sportmaster, sashi na ɗaya

Na farko, kadan m ka'idar. Menene gwajin atomatik? Wannan gwaji ne da software ke aiwatarwa, kuma a zamanin IT ana ƙara amfani da shi wajen haɓaka software. Wannan shi ne saboda gaskiyar cewa kamfanoni suna girma, tsarin bayanan su yana girma kuma, bisa ga haka, yawan aikin da ake buƙatar gwadawa yana girma. Gudanar da gwajin hannu yana ƙara tsada.

Na yi aiki da babban kamfani wanda fitarsa ​​ke fitowa kowane wata biyu. A lokaci guda, an shafe tsawon wata guda don samun masu gwajin dozin da hannu su duba aikin. Godiya ga aiwatar da aiki da kai ta ƙaramin ƙungiyar masu haɓakawa, mun sami damar rage lokacin gwaji zuwa makonni 2 a cikin shekara ɗaya da rabi. Ba wai kawai mun ƙara saurin gwaji ba, amma kuma mun inganta ingancinsa. Ana ƙaddamar da gwaje-gwaje na atomatik akai-akai kuma koyaushe suna aiwatar da duk tsarin binciken da aka haɗa a cikin su, wato, muna cire abubuwan ɗan adam.

IT na zamani yana da alaƙa da gaskiyar cewa ana iya buƙatar mai haɓaka ba kawai don rubuta lambar samfur ba, har ma don rubuta gwaje-gwajen naúrar waɗanda ke bincika wannan lambar.

Amma idan tsarin ku ya dogara da farko akan dabaru na uwar garken? Babu mafita na duniya ko mafi kyawun ayyuka akan kasuwa. A matsayinka na mai mulki, kamfanoni suna magance wannan matsala ta hanyar ƙirƙirar tsarin gwaji na kansu. Wannan tsarin gwaji ne mai sarrafa kansa wanda aka kirkira akan aikinmu kuma zan yi magana game da shi a cikin rahoton na.

Gwajin naúrar a cikin DBMS - yadda muke yinsa a Sportmaster, sashi na ɗaya

Gwajin aminci

Da farko, bari muyi magana game da aikin inda muka tura tsarin gwaji mai sarrafa kansa. Ayyukanmu shine tsarin aminci na Sportmaster (a hanya, mun riga mun rubuta game da shi a ciki wannan post).

Idan kamfanin ku ya isa, to tsarin amincin ku zai sami daidaitattun kaddarorin guda uku:

  • Za a yi lodin tsarin ku sosai
  • Tsarin ku zai ƙunshi hadaddun hanyoyin sarrafa kwamfuta
  • Za a inganta tsarin ku sosai.

Bari mu tafi cikin tsari ... Gabaɗaya, idan muka yi la'akari da duk samfuran Sportmaster, to muna da shaguna sama da 1000 a Rasha, Ukraine, China, Kazakhstan da Belarus. Ana yin sayayya kusan 300 a cikin waɗannan shagunan kowace rana. Wato, kowane daƙiƙa 000-3 cak ya shiga tsarin mu. A zahiri, tsarin amincin mu yana da kaya sosai. Kuma tun da yake ana amfani da shi sosai, dole ne mu samar da mafi girman ma'auni na ingancinsa, saboda duk wani kuskure a cikin software yana nufin babban kuɗi, suna da sauran asara.

A lokaci guda, Sportmaster yana gudanar da tallace-tallace fiye da ɗari daban-daban. Akwai tallace-tallace iri-iri: akwai tallan tallace-tallace, akwai waɗanda aka keɓe don ranar mako, akwai waɗanda aka ɗaure da takamaiman kantin sayar da kayayyaki, akwai tallan tallace-tallace na adadin karɓar, akwai adadin kayayyaki. Gabaɗaya, ba mara kyau ba. Abokan ciniki suna da kari da lambobin talla waɗanda ake amfani da su lokacin sayayya. Duk wannan yana haifar da gaskiyar cewa ƙididdige kowane oda aiki ne mara nauyi.

Algorithm wanda ke aiwatar da sarrafa oda yana da muni da rikitarwa da gaske. Kuma duk wani canje-canje ga wannan algorithm yana da haɗari sosai. Da alama sauye-sauyen da ba su da mahimmanci na iya haifar da tasirin da ba a iya faɗi ba. Amma daidai irin wannan hadaddun hanyoyin sarrafa kwamfuta, musamman waɗanda ke aiwatar da ayyuka masu mahimmanci, sune mafi kyawun ƴan takara don sarrafa kansa. Duba yawancin lokuta makamantan haka da hannu yana ɗaukar lokaci sosai. Kuma tun da lokacin shigarwa cikin tsari bai canza ba, bayan da aka kwatanta shi sau ɗaya, zaka iya ƙirƙirar gwaje-gwaje ta atomatik da sauri kuma ka tabbata cewa aikin zai yi aiki.

Tun da tsarin mu yana amfani da shi sosai, kasuwancin zai buƙaci sabon abu daga gare ku, rayuwa tare da lokuta kuma ya zama abokin ciniki. A cikin tsarin amincin mu, sakewa suna fitowa kowane wata biyu. Wannan yana nufin cewa kowane watanni biyu muna buƙatar aiwatar da cikakkiyar koma baya na tsarin gaba ɗaya. A lokaci guda kuma, a zahiri, kamar yadda yake a cikin kowane IT na zamani, haɓaka ba ya tashi nan da nan daga mai haɓakawa zuwa samarwa. Ya samo asali ne daga da'irar mai haɓakawa, sa'an nan kuma ya wuce ta hanyar gwajin gwaji, saki, karɓa, kuma kawai ya ƙare a samarwa. A mafi ƙanƙanta, a kan gwajin gwaji da da'irori, muna buƙatar aiwatar da cikakken koma baya na tsarin gaba ɗaya.

Kaddarorin da aka siffanta sune ma'auni don kusan kowane tsarin aminci. Bari muyi magana game da fasalin aikin mu.

A fannin fasaha, kashi 90% na dabaru na tsarin amincin mu tushen sabar ne kuma ana aiwatar da su akan Oracle. Akwai abokin ciniki da aka fallasa a Delphi, wanda ke yin aikin mai sarrafa wurin aiki mai sarrafa kansa. Akwai ayyukan yanar gizo da aka fallasa don aikace-aikacen waje (misali gidan yanar gizo). Saboda haka, yana da ma'ana sosai cewa idan muka tura tsarin gwaji mai sarrafa kansa, za mu yi shi akan Oracle.

Tsarin aminci a cikin Sportmaster ya wanzu fiye da shekaru 7 kuma masu haɓakawa guda ɗaya ne suka ƙirƙira ... Matsakaicin adadin masu haɓakawa akan aikinmu a cikin waɗannan shekaru 7 shine mutane 3-4. Amma a cikin shekarar da ta gabata, ƙungiyarmu ta haɓaka sosai, kuma yanzu akwai mutane 10 da ke aiki akan aikin. Wato, mutane suna zuwa aikin waɗanda ba su da masaniya da ayyuka na yau da kullun, matakai, da gine-gine. Kuma akwai ƙarin haɗarin cewa za mu rasa kuskure.

Aikin yana da alaƙa da rashin ƙwararrun masu gwadawa a matsayin rukunin ma'aikata. Akwai, ba shakka, gwaji, amma ana gudanar da gwaje-gwaje ta hanyar bincike, ban da sauran manyan nauyin da ke kan su: sadarwa tare da abokan ciniki na kasuwanci, masu amfani, haɓaka bukatun tsarin, da dai sauransu. Da dai sauransu ... Duk da cewa ana yin gwajin inganci sosai (wannan ya dace musamman a ambata, tunda wasu manazarta na iya kama idon wannan rahoto), ba a soke tasirin ƙwarewa da mai da hankali kan abu ɗaya ba. .

Idan akai la'akari da duk abubuwan da ke sama, don haɓaka ingancin samfurin da aka bayar da kuma rage lokacin haɓakawa, ra'ayin yin gwaji ta atomatik akan aikin yana da ma'ana sosai. Kuma a matakai daban-daban na wanzuwar tsarin aminci, ɗaiɗaikun masu haɓakawa sun yi ƙoƙarin rufe lambar su tare da gwaje-gwajen naúrar. Gabaɗaya tsarin ya rabu daidai, tare da kowa yana amfani da nasa gine-gine da hanyoyinsa. Sakamakon ƙarshe ya kasance gama gari ga gwaje-gwajen naúrar: an haɓaka gwaje-gwaje, an yi amfani da su na ɗan lokaci, an adana su a cikin ma'ajin fayil ɗin da aka sigar, amma a wani lokaci sun daina gudu kuma an manta da su. Da farko, wannan ya faru ne saboda gaskiyar cewa an fi ɗaure gwaje-gwajen ga takamaiman mai yin, ba aikin ba.

utPLSQL ya zo don ceto

Gwajin naúrar a cikin DBMS - yadda muke yinsa a Sportmaster, sashi na ɗaya

Shin kun san wani abu game da Stephen Feuerstein?

Wannan mutum ne mai wayo wanda ya sadaukar da wani dogon lokaci na aikinsa don yin aiki tare da Oracle da PL/SQL, kuma ya rubuta ayyuka masu yawa akan wannan batu. Daya daga cikin shahararrun littattafansa ana kiransa: “Oracle PL/SQL. Domin kwararru." Stephen ne ya ɓullo da maganin utPLSQL, ko, kamar yadda yake tsaye ga, Tsarin Gwajin Unit don Oracle PL/SQL. An ƙirƙiri maganin utPLSQL a cikin 2016, amma ana ci gaba da aiki da shi kuma ana fitar da sabbin nau'ikan. A lokacin bayar da rahoto, sabuwar sigar ta koma ranar 24 ga Maris, 2019.
Menene. Wannan aikin buɗaɗɗen tushe daban ne. Yana auna megabytes biyu, gami da misalai da takardu. A zahiri, keɓantaccen tsari ne a cikin bayanan ORACLE tare da saitin fakiti da teburi don tsara gwajin naúrar. Shigarwa yana ɗaukar 'yan daƙiƙa kaɗan. Babban fasalin utPLSQL shine sauƙin amfani.
A duk duniya, utPLSQL wata hanya ce ta gudanar da gwaje-gwajen naúrar, inda ake fahimtar gwajin naúrar azaman hanyoyin batch na Oracle na yau da kullun, ƙungiyar ta bi wasu dokoki. Baya ga ƙaddamarwa, utPLSQL yana adana tarihin duk ayyukan gwajin ku, kuma yana da tsarin bayar da rahoto na ciki.

Bari mu kalli misalin yadda lambar gwajin naúrar ke kama, aiwatar da ita ta amfani da wannan fasaha.

Gwajin naúrar a cikin DBMS - yadda muke yinsa a Sportmaster, sashi na ɗaya

Don haka, allon yana nuna lambar don ƙayyadaddun fakiti na yau da kullun tare da gwaje-gwajen naúrar. Menene buƙatun wajibi? Dole ne a sanya fakitin da "utp_". Duk hanyoyin da ke tare da gwaje-gwaje dole ne su kasance da prefix iri ɗaya. Kunshin dole ne ya ƙunshi daidaitattun hanyoyi guda biyu: "utp_setup" da "utp_teardown". Ana kiran hanya ta farko ta sake kunna kowane gwajin naúrar, na biyu - bayan ƙaddamarwa.

"utp_setup", a matsayin doka, yana shirya tsarin mu don gudanar da gwajin naúrar, misali, ƙirƙirar bayanan gwaji. "utp_teardown" - akasin haka, komai yana komawa zuwa saitunan asali kuma yana sake saita sakamakon ƙaddamarwa.

Anan akwai misalin mafi sauƙin gwajin naúrar da ke bincika daidaitaccen lambar wayar abokin ciniki da aka shigar zuwa daidaitaccen tsari don tsarin amincin mu. Babu ma'auni na tilas kan yadda ake rubuta hanyoyin tare da gwaje-gwajen raka'a. A matsayinka na mai mulki, ana yin kira zuwa hanyar tsarin da ake gwadawa, kuma sakamakon da aka dawo da wannan hanyar an kwatanta shi da maƙasudin. Yana da mahimmanci cewa kwatancen sakamakon tunani da wanda aka samu ya faru ta daidaitattun hanyoyin utPLSQL.

Gwajin naúrar na iya samun kowane adadin cak. Kamar yadda ake iya gani daga misalin, muna yin kira huɗu a jere zuwa hanyar da aka gwada don daidaita lambar wayar da kimanta sakamakon bayan kowane kira. Lokacin haɓaka gwajin naúrar, dole ne ku yi la'akari da cewa akwai cak ɗin da ba su shafi tsarin ta kowace hanya ba, kuma bayan wasu kuna buƙatar komawa zuwa ainihin yanayin tsarin.
Misali, a gwajin rukunin da aka gabatar muna tsara lambar shigar da lambar waya kawai, wanda baya shafar tsarin aminci ta kowace hanya.

Kuma idan muka rubuta gwajin naúrar ta amfani da hanyar ƙirƙirar sabon abokin ciniki, to bayan kowane gwaji za a ƙirƙiri sabon abokin ciniki a cikin tsarin, wanda zai iya shafar ƙaddamar da gwajin na gaba.

Gwajin naúrar a cikin DBMS - yadda muke yinsa a Sportmaster, sashi na ɗaya

Wannan shine yadda ake gudanar da gwajin naúrar. Akwai yiwuwar ƙaddamar da zaɓuɓɓuka guda biyu: gudanar da duk gwaje-gwajen naúrar daga takamaiman fakiti ko gudanar da takamaiman gwajin naúrar a cikin takamaiman fakiti.

Gwajin naúrar a cikin DBMS - yadda muke yinsa a Sportmaster, sashi na ɗaya

Wannan shine misalin tsarin bayar da rahoto na ciki yayi kama. Dangane da sakamakon gwajin rukunin, utPLSQL yana gina ƙaramin rahoto. A ciki muna ganin sakamakon kowane takamaiman bincike da kuma cikakken sakamakon gwajin naúrar.

6 dokokin autotest

Kafin mu fara ƙirƙirar sabon tsarin don gwajin atomatik na tsarin aminci, tare da gudanarwa, mun ƙaddara ƙa'idodin da ya kamata gwaje-gwajenmu masu sarrafa kansu su bi.

Gwajin naúrar a cikin DBMS - yadda muke yinsa a Sportmaster, sashi na ɗaya

  1. Gwajin atomatik dole ne ya kasance mai tasiri kuma dole ne ya kasance da amfani. Muna da masu haɓakawa masu ban mamaki, waɗanda tabbas suna buƙatar ambaton su, saboda wataƙila wasu daga cikinsu za su ga wannan rahoton, kuma suna rubuta lambar ban mamaki. Amma ko da lambar su mai ban mamaki ba cikakke ba ce kuma tana da, kuma za ta ci gaba da ƙunsar kurakurai. Ana buƙatar gwajin atomatik don nemo waɗannan kurakurai. Idan ba haka lamarin yake ba, to ko dai muna rubuta ba daidai ba ne, ko kuma mun zo wurin da ya mutu, a ka'ida, ba a ci gaba ba. A cikin duka biyun, muna yin abin da ba daidai ba ne, kuma hanyarmu ba ta da ma'ana kawai.
  2. Ya kamata a yi amfani da gwajin atomatik. Ba ma'ana ba ne don ciyar da lokaci mai yawa da ƙoƙari don rubuta samfurin software, saka shi a cikin ma'ajin ku manta da shi. Ya kamata a gudanar da gwaje-gwaje, kuma a yi aiki akai-akai kamar yadda zai yiwu.
  3. Gwajin atomatik yakamata suyi aiki da ƙarfi. Ko da kuwa lokacin rana, ƙaddamar da ƙaddamarwa da sauran saitunan tsarin, gwajin gwajin ya kamata ya haifar da sakamako iri ɗaya. A matsayinka na mai mulki, ana tabbatar da wannan ta gaskiyar cewa masu amfani da atomatik suna aiki tare da bayanan gwaji na musamman tare da saitunan tsarin gyarawa.
  4. Gwajin atomatik yakamata suyi aiki akan saurin karɓuwa don aikin ku. An ƙayyade wannan lokaci ɗaya don kowane tsarin. Wasu mutane na iya samun damar yin aiki duk rana, yayin da wasu suna ganin yana da mahimmanci a yi shi cikin daƙiƙa. Zan gaya muku kadan daga baya irin matakan saurin da muka samu a cikin aikinmu.
  5. Ci gaban gwajin atomatik yakamata ya kasance mai sassauƙa. Ba shi da kyau a ƙi gwada kowane aiki kawai saboda ba mu yi shi a da ba ko don wani dalili. utPLSQL baya sanya wani hani akan ci gaba, kuma Oracle, bisa manufa, yana ba ku damar aiwatar da abubuwa iri-iri. Yawancin matsalolin suna da mafita, batu ne na lokaci da ƙoƙari.
  6. Aiwatar da aiki. Muna da tashoshi da yawa inda muke buƙatar yin gwaje-gwaje. A kowane tsayawa, ana iya sabunta jujjuyar bayanai a kowane lokaci. Wajibi ne a gudanar da aiki tare da gwaje-gwaje ta atomatik ta hanyar da ba za ku iya aiwatar da cikakken shigarwar sa ko ɓarna ba.

Kuma a rubutu na biyu a cikin kwanaki biyu zan gaya muku abin da muka yi da kuma sakamakon da muka samu.

source: www.habr.com

Add a comment