Tástálacha aonaid i DBMS - conas a dhéanaimid é i Sportmaster, cuid a haon

Hey Habr!

Maxim Ponomarenko is ainm dom agus is forbróir mé ag Sportmaster. Tá 10 mbliana de thaithí agam sa réimse TF. Thosaigh sé a ghairm bheatha i dtástáil láimhe, ansin d'athraigh sé go dtí forbairt bunachar sonraí. Le 4 bliana anuas, agus an t-eolas a fuarthas i dtástáil agus i bhforbairt á carnadh agam, tá mé ag uathoibriú tástála ag leibhéal DBMS.

Táim ar fhoireann Sportmaster le beagán os cionn bliana agus tá mé ag forbairt tástáil uathoibrithe ar cheann de na mórthionscadail. I mí Aibreáin, labhair na guys ó Sportmaster Lab agus mé féin ag comhdháil i Krasnodar, tugadh “Trialacha aonaid i DBMS,” ar mo thuarascáil agus anois ba mhaith liom é a roinnt leat. Beidh go leor téacs ann, mar sin chinn mé an tuarascáil a roinnt ina dhá phost. Ar an gcéad dul síos, beimid ag caint faoi autotests agus tástáil go ginearálta, agus sa dara ceann, beidh mé ag dúil níos mine ar ár gcóras tástála aonaid agus ar thorthaí a chur i bhfeidhm.

Tástálacha aonaid i DBMS - conas a dhéanaimid é i Sportmaster, cuid a haon

Gcéad dul síos, teoiric beag leadránach. Cad is tástáil uathoibrithe ann? Is tástáil í seo a dhéantar ag baint úsáide as bogearraí, agus i TF nua-aimseartha tá sé in úsáid níos mó i bhforbairt bogearraí. Tá sé seo mar gheall ar an bhfíric go bhfuil cuideachtaí ag fás, a gcórais faisnéise ag fás agus, dá réir sin, an méid feidhmiúlacht nach mór a thástáil ag fás. Tá tástáil láimhe ag éirí níos costasaí.

D'oibrigh mé do chuideachta mhór a dtagann eisiúintí amach gach dhá mhí. Ag an am céanna, caitheadh ​​​​mí ar fad ar dosaen tástálaithe a sheiceáil de láimh an fheidhmiúlacht. A bhuíochas le cur i bhfeidhm uathoibrithe ag foireann bheag forbróirí, bhíomar in ann am tástála a laghdú go 2 sheachtain i mbliain go leith. Ní hamháin go bhfuil luas na tástála méadaithe againn, ach freisin feabhas a chur ar a cháilíocht. Seoltar tástálacha uathoibrithe go rialta agus déanann siad i gcónaí cúrsa iomlán na seiceálacha a chuimsítear iontu, is é sin, ní dhéanaimid an fachtóir daonna a eisiamh.

Tá TF nua-aimseartha tréithrithe ag an bhfíric go bhféadfadh go n-éileofar ar fhorbróir ní hamháin cód táirge a scríobh, ach freisin tástálacha aonaid a scríobh a sheiceálann an cód seo.

Ach cad má tá do chóras bunaithe go príomha ar loighic an fhreastalaí? Níl aon réiteach uilíoch ná dea-chleachtais ar an margadh. De ghnáth, déanann cuideachtaí an fhadhb seo a réiteach trína gcóras tástála féinscríofa féin a chruthú. Is é seo ár gcóras tástála uathoibrithe féin-scríofa féin a cruthaíodh ar ár dtionscadal agus labhróidh mé faoi i mo thuarascáil.

Tástálacha aonaid i DBMS - conas a dhéanaimid é i Sportmaster, cuid a haon

Dílseacht á thástáil

Ar dtús, déanaimis labhairt faoin tionscadal inar úsáideamar córas tástála uathoibrithe. Is é ár dtionscadal an córas dílseachta Sportmaster (dála an scéil, scríobhamar faoi cheana féin i an post seo).

Má tá do chuideachta mór go leor, beidh trí airí caighdeánacha ag do chóras dílseachta:

  • Beidh do chóras luchtaithe go mór
  • Beidh próisis chasta ríomhaireachta i do chóras
  • Cuirfear feabhas gníomhach ar do chóras.

A ligean ar dul in ord... San iomlán, má dhéanaimid breithniú ar gach branda Sportmaster, ansin tá níos mó ná 1000 siopa againn sa Rúis, san Úcráin, sa tSín, sa Chasacstáin agus sa Bhealarúis. Déantar thart ar 300 ceannach sna siopaí seo gach lá. Is é sin, gach soicind 000-3 seiceálacha isteach ar ár gcóras. Ar ndóigh, tá ár gcóras dílseachta luchtaithe go mór. Agus ós rud é go n-úsáidtear é go gníomhach, ní mór dúinn na caighdeáin is airde dá cháilíocht a sholáthar, toisc go gciallaíonn aon earráid sna bogearraí caillteanais mhóra airgeadaíochta, cáil agus eile.

Ag an am céanna, ritheann Sportmaster níos mó ná céad ardú céime éagsúla. Tá éagsúlacht cur chun cinn ann: tá cur chun cinn táirgí ann, tá cinn atá tiomnaithe do lá na seachtaine, tá cinn atá ceangailte le siopa ar leith, tá cur chun cinn maidir le méid na hadmhála, tá líon na n-earraí ann. Go ginearálta, ní dona. Tá bónais agus cóid chur chun cinn ag cliaint a úsáidtear agus iad ag ceannach. Mar thoradh air seo go léir is tasc an-neamhfhánach é ordú ar bith a ríomh.

Tá an algartam a chuireann próiseáil ordú i bhfeidhm fíor-uafásach agus casta. Agus tá aon athruithe ar an algartam seo an-riosca. Dhealraigh sé go bhféadfadh éifeachtaí dothuartha teacht as na hathruithe is neamhshuntasach. Ach is iad na próisis ríomhaireachta casta sin, go háirithe iad siúd a chuireann feidhmiúlacht chriticiúil i bhfeidhm, na hiarrthóirí is fearr don uathoibriú. Tógann sé go leor ama an iliomad cásanna comhchosúla a sheiceáil de láimh. Agus ós rud é nach bhfuil an pointe iontrála sa phróiseas gan athrú, tar éis cur síos a dhéanamh air uair amháin, is féidir leat tástálacha uathoibríocha a chruthú go tapa agus a bheith muiníneach go n-oibreoidh an fheidhmiúlacht.

Ós rud é go n-úsáidtear ár gcóras go gníomhach, beidh an gnó ag iarraidh rud éigin nua uait, maireachtáil leis na hamanna agus a bheith dírithe ar an gcustaiméir. Inár gcóras dílseachta, tagann eisiúintí amach gach dhá mhí. Ciallaíonn sé seo go gcaithfimid aischéimniú iomlán a dhéanamh ar an gcóras iomlán gach dhá mhí. Ag an am céanna, go nádúrtha, mar atá in aon TF nua-aimseartha, ní théann an fhorbairt láithreach ón bhforbróir go dtí an táirgeadh. Eascraíonn sé ar chiorcad an fhorbróra, ansin téann sé tríd an mbinse tástála i ndiaidh a chéile, a scaoileadh, a ghlacadh, agus ní dhéantar ach ansin é a tháirgeadh. Ar a laghad, ar na ciorcaid tástála agus scaoilte, ní mór dúinn aischéimniú iomlán a dhéanamh ar an gcóras iomlán.

Tá na hairíonna a thuairiscítear caighdeánach le haghaidh beagnach aon chóras dílseachta. A ligean ar labhairt faoi na gnéithe ar ár dtionscadal.

Ó thaobh na teicneolaíochta de, tá 90% de loighic ár gcóras dílseachta bunaithe ar fhreastalaí agus curtha i bhfeidhm ar Oracle. Tá cliant nochta i Delphi, a chomhlíonann feidhm riarthóir uathoibrithe san ionad oibre. Tá seirbhísí gréasáin nochta ann d’fheidhmchláir sheachtracha (láithreán gréasáin mar shampla). Dá bhrí sin, tá sé an-loighciúil má dhéanaimid córas tástála uathoibrithe a imscaradh, go ndéanfaimid é ar Oracle.

Tá an córas dílseachta i Sportmaster ann le níos mó ná 7 mbliana agus chruthaigh forbróirí aonair é... Ba é meánlíon na bhforbróirí ar ár dtionscadal le linn na 7 mbliana seo ná 3-4 duine. Ach le bliain anuas, tá méadú suntasach tagtha ar ár bhfoireann, agus anois tá 10 duine ag obair ar an tionscadal. Is é sin, tagann daoine nach bhfuil eolach ar thascanna, próisis agus ailtireacht tipiciúil chuig an tionscadal. Agus tá baol méadaithe ann go gcaillfimid botúin.

Saintréith an tionscadail is ea easpa tástálaithe tiomnaithe mar aonaid foirne. Tá tástáil ann, ar ndóigh, ach déanann anailísithe tástáil, i dteannta a bpríomhchúraimí eile: cumarsáid a dhéanamh le custaiméirí gnó, úsáideoirí, ceanglais an chórais a fhorbairt, etc. etc.. In ainneoin go ndéantar tástáil ar chaighdeán an-ard (tá sé seo oiriúnach go háirithe a lua, ós rud é go bhféadfadh cuid de na hanailísithe súil a choinneáil ar an tuarascáil seo), níor cuireadh éifeachtúlacht speisialtóireachta agus díriú ar rud amháin ar ceal. .

Ag cur san áireamh gach ceann díobh thuas, chun cáilíocht an táirge seachadta a fheabhsú agus am forbartha a laghdú, is cosúil go bhfuil an smaoineamh ar thástáil uathoibrithe ar thionscadal an-loighciúil. Agus ag céimeanna éagsúla den chóras dílseachta a bheith ann, rinne forbróirí aonair iarrachtaí a gcód a chlúdach le tástálacha aonaid. Ar an iomlán ba phróiseas measartha dícheangailte a bhí ann, agus bhain gach duine úsáid as a n-ailtireacht agus a modhanna féin. Bhí na torthaí deiridh coitianta le tástálacha aonaid: forbraíodh tástálacha, a úsáideadh ar feadh tamaill, a stóráil i stóráil comhad versioned, ach ag pointe éigin stop siad ag rith agus rinneadh dearmad orthu. Ar an gcéad dul síos, bhí sé seo mar gheall ar an bhfíric go raibh na tástálacha ceangailte níos mó le taibheoir ar leith, agus ní leis an tionscadal.

Tagann utPLSQL chun tarrthála

Tástálacha aonaid i DBMS - conas a dhéanaimid é i Sportmaster, cuid a haon

An bhfuil aon rud ar eolas agat faoi Stephen Feuerstein?

Fear cliste é seo a chaith cuid mhaith dá ghairm bheatha ag obair le Oracle agus PL/SQL, agus a scríobh go leor saothar ar an ábhar seo. Tugtar: “Oracle PL/SQL. Do dhaoine gairmiúla." Ba é Stephen a d’fhorbair an réiteach utPLSQL, nó, mar a sheasann sé, creat Tástála Aonaid do Oracle PL/SQL. Cruthaíodh an réiteach utPLSQL in 2016, ach leantar ag obair go gníomhach air agus scaoiltear leaganacha nua. Tráth an tuairiscithe, téann an leagan is déanaí siar go dtí an 24 Márta 2019.
Cad é sin. Is tionscadal foinse oscailte ar leith é seo. Meáchan cúpla meigibheart, lena n-áirítear samplaí agus doiciméadú. Go fisiciúil, is scéimre ar leith é i mbunachar sonraí ORACLE le sraith pacáistí agus táblaí chun tástáil aonaid a eagrú. Suiteáil Bíonn cúpla soicind. Gné shainiúil de utPLSQL is ea a éasca le húsáid.
Ar fud an domhain, is meicníocht í utPLSQL chun tástálacha aonaid a reáchtáil, áit a dtuigtear gur gnáthnósanna imeachta baisc Oracle é tástáil aonaid, a gcloíonn a eagrú rialacha áirithe. Chomh maith le seoladh, stórálann utPLSQL loga de do ritheanna tástála go léir, agus tá córas tuairiscithe inmheánach aige freisin.

Breathnaímid ar shampla de chuma an chóid tástála aonaid, arna chur i bhfeidhm ag baint úsáide as an teicníc seo.

Tástálacha aonaid i DBMS - conas a dhéanaimid é i Sportmaster, cuid a haon

Mar sin, taispeánann an scáileán an cód le haghaidh sonraíocht phacáiste tipiciúil le tástálacha aonaid. Cad iad na ceanglais éigeantacha? Ní mór "utp_" a chur ar an bpaicéad. Ní mór go mbeadh an réimír chéanna go díreach ag gach nós imeachta le tástálacha. Caithfidh dhá nós imeachta caighdeánacha a bheith sa phacáiste: “utp_setup” agus “utp_teardown”. Glaoitear an chéad nós imeachta trí thástáil gach aonaid a atosú, an dara ceann - tar éis seoladh.

Ullmhaíonn “utp_setup”, mar riail, ár gcóras chun tástáil aonaid a rith, mar shampla, sonraí tástála a chruthú. “utp_teardown” - ar a mhalairt, filleann gach rud go dtí na socruithe bunaidh agus athshocraíonn sé na torthaí seolta.

Seo sampla den tástáil aonaid is simplí a sheiceálann normalú uimhir theileafóin an chustaiméara iontráilte go dtí an fhoirm chaighdeánach dár gcóras dílseachta. Níl aon chaighdeáin éigeantacha ann maidir le conas nósanna imeachta a scríobh le trialacha aonaid. De ghnáth, déantar glao ar mhodh an chórais atá faoi thástáil, agus déantar an toradh a thugtar ar ais leis an modh seo a chur i gcomparáid leis an gceann tagartha. Tá sé tábhachtach go ndéanfaí comparáid idir an toradh tagartha agus an toradh a fhaightear trí mhodhanna caighdeánacha utPLSQL.

Is féidir aon líon seiceálacha a bheith ag tástáil aonaid. Mar is léir ón sampla, déanaimid ceithre ghlao as a chéile ar an modh tástálaithe chun an uimhir theileafóin a normalú agus an toradh a mheas tar éis gach glao. Agus tástáil aonaid á fhorbairt, ní mór duit a chur san áireamh go bhfuil seiceálacha ann nach gcuireann isteach ar an gcóras ar bhealach ar bith, agus tar éis roinnt ní mór duit rolladh ar ais go dtí staid bhunaidh an chórais.
Mar shampla, sa tástáil aonaid a chuirtear i láthair ní dhéanaimid ach an uimhir theileafóin ionchuir a fhormáidiú, rud nach ndéanann difear ar bhealach ar bith don chóras dílseachta.

Agus má scríobhann muid tástálacha aonaid ag baint úsáide as an modh chun cliant nua a chruthú, ansin tar éis gach tástála cruthófar cliant nua sa chóras, rud a d'fhéadfadh tionchar a bheith aige ar sheoladh na tástála ina dhiaidh sin.

Tástálacha aonaid i DBMS - conas a dhéanaimid é i Sportmaster, cuid a haon

Seo mar a reáchtáiltear tástálacha aonaid. Tá dhá rogha seolta féideartha ann: na tástálacha aonaid go léir a rith ó phacáiste sonrach nó tástáil aonaid shonrach a reáchtáil i bpacáiste ar leith.

Tástálacha aonaid i DBMS - conas a dhéanaimid é i Sportmaster, cuid a haon

Seo an chuma atá ar shampla de chóras tuairiscithe inmheánaigh. Bunaithe ar thorthaí na tástála aonaid, tógann utPLSQL tuarascáil bheag. Feicimid ann an toradh do gach seiceáil ar leith agus toradh iomlán na tástála aonaid.

6 rialacha na n-uaththástálacha

Sula dtosaíomar ar chóras nua a chruthú le haghaidh tástála uathoibrithe ar an gcóras dílseachta, in éineacht leis an mbainistíocht, chinneamar na prionsabail ar cheart dár dtástálacha uathoibrithe amach anseo a chomhlíonadh.

Tástálacha aonaid i DBMS - conas a dhéanaimid é i Sportmaster, cuid a haon

  1. Caithfidh uathtástálacha a bheith éifeachtach agus ní mór dóibh a bheith úsáideach. Tá forbróirí iontach againn, ar gá iad a lua go cinnte, mar is dócha go bhfeicfidh cuid acu an tuarascáil seo, agus scríobhann siad cód iontach. Ach níl fiú a gcód iontach foirfe agus tá, tá, agus leanfaidh sé de bheith ann earráidí. Teastaíonn uathtástálacha chun na hearráidí seo a aimsiú. Mura bhfuil sé seo amhlaidh, ansin táimid ag scríobh droch-uaththástálacha, nó táimid tar éis dul isteach i limistéar marbh nach bhfuil, i bprionsabal, á fhorbairt. Sa dá chás, táimid ag déanamh rud éigin mícheart, agus níl aon chiall lenár gcur chuige.
  2. Ba cheart uathtástálacha a úsáid. Ní dhéanann sé aon chiall go leor ama agus iarracht a chaitheamh ar tháirge bogearraí a scríobh, é a chur i stór agus dearmad a dhéanamh air. Ba chóir tástálacha a reáchtáil, agus a reáchtáil chomh rialta agus is féidir.
  3. Ba cheart go n-oibreodh Autotests go cobhsaí. Beag beann ar an am den lá, an seastán seolta agus socruithe córais eile, ba cheart go mbeadh an toradh céanna mar thoradh ar ritheanna tástála. De ghnáth, déantar é seo a áirithiú ag an bhfíric go n-oibríonn autotests le sonraí tástála speisialta le socruithe córais sheasta.
  4. Ba cheart go n-oibreodh uathtástálacha ar luas atá inghlactha do do thionscadal. Socraítear an t-am seo ina n-aonar do gach córas. Is féidir le roinnt daoine acmhainn a bheith ag obair an lá ar fad, agus bíonn sé ríthábhachtach do dhaoine eile é a dhéanamh i soicindí. Inseoidh mé beagán níos déanaí duit cad iad na caighdeáin luais a bhaineamar amach inár dtionscadal.
  5. Ba cheart go mbeadh forbairt autotest solúbtha. Níl sé inmholta diúltú aon fheidhmiúlacht a thástáil go simplí toisc nach bhfuil sé déanta againn roimhe seo nó ar chúis éigin eile. Ní chuireann utPLSQL aon srianta ar fhorbairt, agus ceadaíonn Oracle, i bprionsabal, duit éagsúlacht rudaí a chur i bhfeidhm. Tá réiteach ar fhormhór na bhfadhbanna, níl ann ach ceist ama agus iarrachta.
  6. Imscaradh. Tá roinnt seastán againn inar gá dúinn tástálacha a rith. Ag gach seastán, is féidir dumpáil sonraí a nuashonrú ag am ar bith. Is gá tionscadal a dhéanamh le tástálacha uathoibríocha sa chaoi is gur féidir leat a shuiteáil iomlán nó páirteach a dhéanamh gan phian.

Agus sa dara post i gceann cúpla lá inseoidh mé duit cad a rinne muid agus cad iad na torthaí a bhaineamar amach.

Foinse: will.com

Add a comment