Aonad 5 / 11

Uathoibriú Tástála API: Conradh, Scéimre agus Bailíochtú Deireadh le Deireadh le AI

Gnóthachain:

  • Cumas tástáil API a dhéanamh go domhain le tacaíocht hintleachta saorga ag cód stádais, scéimre/conradh, riail ghnó agus sraitheanna diúltacha/údaraithe
  • Cumas scéimre JSON a ghiniúint ó fhreagra samplach agus an bhréagmhuinín a sheachaint gan féachaint ar an gcód stádais amháin le bailíochtú cineáil agus fíor-riachtanach
  • Cumas cásanna slándála a thástáil amhail údarú agus IDOR le sonraí sintéiseacha agus chun críocha cosanta laistigh den údarú amháin

Labhraíonn formhór na mbogearraí nua-aimseartha lena chéile sa chúlra trí API (Comhéadan Ríomhchláraithe Feidhmchláir - an comhéadan ina labhraíonn dhá phíosa bogearraí de réir conartha ar leith). Nuair a chuireann app soghluaiste míreanna leis an tralaí, seolann sé iarratas chuig API ar an bhfreastalaí. Seiceálann tástáil API go bhfuil an comhrá seo ceart, slán, agus comhsheasmhach, beag beann ar an gcomhéadan; Tá sé níos tapúla, níos cobhsaí agus níos doimhne ná tástáil Chomhéadain. Tá intleacht shaorga (AI) an-éifeachtach i dtástáil API: gineann sé tástálacha ó shainmhíniú API, sleachta as an scéimre freagartha (an conradh a shainíonn struchtúr na sonraí), liostaíonn cásanna imeall. Ach arís tá feidhm ag an caveat lárnach: níl a fhios ag an AI na rialacha gnó fíor do API; de ghnáth tástálacha dromchlacha a tháirgeadh nach ndearbhaíonn ach "200 ar ais". Is é do phost a chinntiú go bhfíoraíonn an tástáil an conradh agus an loighic ghnó iarbhír.

San aonad seo, foghlaimeoidh tú conas tástálacha domhain API a bhfuil tacaíocht AI acu a bhunú le cur chuige mar Postman, REST Assured agus bailíochtú scéimre.

Sraitheanna de thástáil API

Smaoinigh ar thástáil API go doimhneachtaí éagsúla, le AI ag cabhrú ar bhealach difriúil ag gach sraith:

1. Cód stádais agus freagra bunúsach. An dtugann an t-iarratas an cód stádais HTTP a bhfuiltear ag súil leis (200/201 le haghaidh ratha, 400/401/404 mar earráid) ar ais? Is é seo an ciseal is superficial; Táirgeann AI go héasca ach tugann sé muinín bhréagach ina n-aonar.

2. Bailíochtú scéimre/conartha. An réitíonn struchtúr an fhreagra leis an gconradh — an bhfuil na réimsí ionchais i láthair, an bhfuil a gcineálacha ceart, an bhfuil na réimsí riachtanacha in easnamh? Is féidir leis an AI Scéimre JSON a ghiniúint - an caighdeán a shainíonn struchtúr doiciméad JSON - ó fhreagra samplach, agus is féidir le tástálacha bailíochtú i gcoinne na scéimre sin. Tá sé seo i bhfad níos láidre ná dearbhú allamuigh a scríobh de láimh.

3. Bailíochtú rialacha gnó. Tá an fíorluach anseo: "I gcás ordú 1000 TL, ba cheart go mbeadh an réimse lascaine 100", "ní féidir ordú cealaithe a chur ar ceal arís". Ní dhéanfaidh AI iad seo a fhíorú ach amháin má thugann tú na rialacha dó; Mura dtugann tú é, léimfidh sé.

4. Diúltach agus slándáil. 401 mar chomhartha neamhbhailí, 403 chun rochtain a fháil ar shonraí duine eile, soiléir 400 maidir le drochchorp. Tá tástálacha údaraithe (a fhíoraíonn nach féidir le húsáideoir rochtain a fháil ach ar a gcuid sonraí féin) mar chroílár shlándáil API agus déantar iad chun críocha cosantacha.

Leid: Ná iarr tástáil gan a rá leis an AI "ní hamháin an cód stádais a bhailíochtú, ach freisin an scéimre freagartha agus na rialacha gnó sin." Seachas sin, fágfar tú le tástálacha a deir "Fill 200, ritheadh" ach ná tabhair faoi deara an API ag tabhairt sonraí truaillithe ar ais.

Leid lag / Pras láidir

Lag: "Scríobh tástálacha don API seo."
Strong: "Scríobh tástálacha REST Assured (Java) don chríochphointe POST/ordú. Comhaontú: tá productId agus cainníocht éigeantach sa chorp; cuirtear 201 agus {orderId, iomlán, lascaine, stádas} ar ais ar rath. Rialacha gnó: lascaine 10% thar 1000 TL; 400 má tá cainníocht <=0; 401 má tá an t-ordú neamhbhailí á fheiceáil ag an úsáideoir. cód stádais, (2) freagra bailíochtú scéimre JSON, (3) riail gnó lascaine, (4) ceangal gach dearbhú le riail ghnó sainráite;

Tugann an leid cumhachtach an conradh, rialacha gnó, cásanna slándála, agus ionchas bailíochtaithe scéimre.

Tástáil conartha: sosanna idir foirne a chosc

I ailtireachtaí microservice (an struchtúr ina bhfuil an t-iarratas roinnte i seirbhísí beaga atá neamhspleách ar a chéile agus labhairt leis an API), cuireann athrú ar fhormáid freagartha seirbhíse isteach go ciúin ar sheirbhísí eile atá ceangailte leis. Tástáil conartha - an tástáil a fhíoraíonn nach bhfuil an conradh API idir an tseirbhís soláthraí agus an tseirbhís tomhaltóra briste ar an dá thaobh - glacann sé na sosanna sin go luath. Is é an smaoineamh seo: sainmhíníonn an tomhaltóir an fhoirm freagartha a bhfuil sé ag súil leis ón táirgeoir mar "chonradh"; Le gach athrú, déanann an monaróir tástáil go bhfuil sé fós ag cloí leis an gcomhaontú seo. Mar sin, nuair a athraíonn ainm nó cineál an réimse, cuireann an tomhaltóir an píblíne ar an eolas sula dtiteann sé.

Luathaíonn AI dhá thasc sa chomhthéacs seo: conradh a dhréachtú a léiríonn ionchas na dtomhaltóirí ó fhreagra API atá ann cheana féin, agus réamhmharcáil a dhéanamh ar an gclásal conartha a d’fhéadfadh athrú a bhriseadh. Ach is cinneadh gnó é an conradh féin: cinneann an saineolaí cé na réimsí atá fíorthábhachtach, cé na hathruithe a bhrisfidh comhoiriúnacht siar — leanann sean-thomhaltóirí ag obair. Scríobhann AI an conradh; Is tusa an té a cheadaíonn é.

Leid: Is athrú briseadh beagnach i gcónaí é réimse a scriosadh nó an cineál réimse a athrú in API. Is gnách go mbíonn sé sábháilte réimsí nua a chur leis. Tar éis don AI athrú a rangú mar “bhriseadh nó sábháilte” soláthraíonn sé seiceáil slándála tapa réamhscaoilte.

Fear an phoist nó cód-bhunaithe?

critéar

Fear an Phoist/Newman

REST Dearbhaithe / cód (Java, C#, JS)

Ag foghlaim

Éasca, amhairc

Eolas cód ag teastáil

Rialú leagan

Bailiúchán JSON

Go díreach sa chód foinse

loighic casta

Teoranta (scripteanna JS)

Cumhacht iomlán ríomhchlárúcháin

Comhtháthú CI/CD

le Newman

Ag brath go díreach ar thógáil

Bailíochtú scéimre

Le scripteanna tástála

Cumhachtach le leabharlann

Scála foirne

beag/meánmhéide

mór, aibí

Gineann AI cód don dá cheann; Bí soiléir cén ceann atá uait.

Ceithre theimpléad inchóipeála

1) Tástáil API bunaithe ar chonradh:

Do ról: innealtóir tástála sinsearach API.Scríobh tástálacha don chríochphointe seo a leanas le [uirlis/teanga]: [modh + cosán].Conradh: [réimsí riachtanacha, cód ratha, struchtúr freagartha].Rialacha gnó: [rialacha]. Sraitheanna tástála: (1) cód stádais (2) bailíochtú scéimre freagartha (3) gach riail ghnó (4) diúltach + údarú.Ceangail gach riail ábhartha leis an gclásal.

2) Giniúint scéimre ó fhreagra samplach:

Gin Scéimre JSON ón bhfreagra API samplach thíos. Sonraigh réimsí riachtanacha, cineálacha, srianta formáide (dáta, ríomhphost, raon uimhreacha). Ansin tabhair sampla tástála a bhailíochtaíonn i gcoinne an scéimre seo. Freagra samplach: [greamaigh JSON]

3) Cásanna diúltacha agus údaraithe:

Gin cásanna tástála diúltacha agus slándála don chríochphointe[deireadhphointe]. Áirítear leis: réimse in easnamh/riachtanas, cineál mícheart, luach ró-mhór, comhartha neamhbhailí/éagtha, rochtain ar acmhainn neamhúdaraithe (IDOR – rochtain ar thaifead duine eile trí aitheantas a athrú), teorainn rátaí. Sonraigh an cód stádais ionchais agus an comhlacht earráide do gach cás. Nóta: ní dhéanfar é a thástáil ach ar mo API féin, údaraithe.

4) Rialú pseudo-iontaobhais:

Seiceáil an tástáil API seo. An bhfaigheadh ​​an tástáil seo dá dtabharfadh an freastalaí an cód stádais ceart ach FALSEbody/data ar ais? Mura bhfuil, cuir scéimre agus bailíochtú rialacha gnó leis. Tástáil: [gream tástála]

trí chás mion

Cás 1 — Cumhacht bailíochtaithe scéimre. Ní raibh foireann ag seiceáil an gcód stádais ach sna tástálacha a rinne sí le AI. I leagan amháin, thosaigh an API ag filleadh ar an réimse iomlán mar théacs ("1200"); d'fhan na tástálacha glas mar go raibh sé fós ag filleadh 200. Feidhmchlár soghluaiste crashed. Tar éis bailíochtú cineáil a chur leis an teimpléad "Giniúint Scéimre ó fhreagra samplach", gabhadh an earráid chéanna láithreach.

Cás 2 — Bearna Údaráis (IDOR). Reáchtáil saineolaí an tástáil IDOR idir na “cásanna diúltacha agus údaraithe” a ghin an AI: D’iarr sé aitheantas ordaithe úsáideoir B le comhartha úsáideora A. Chuir an API sonraí 200 agus B ar ais — leochaileacht údaraithe tromchúiseach. Dhún an tástáil chosanta seo an sceitheadh ​​sonraí sula ndeachaigh sé beo.

Cás 3 — Seachbhóthar na rialacha gnó. Ghin AI 8 dtástáil don chríochphointe lascaine; bhí siad go léir ag seiceáil 200, ní raibh aon cheann ag fíorú méid na lascaine. Chuir an saineolaí na rialacha gnó leis an leid agus iarradh orthu iad a atáirgeadh. Léirigh tástálacha nua gur ríomhadh an lascaine go mícheart ag an teorainn 1000 TL (cuireadh an lascaine i bhfeidhm ar 999 freisin). Ní leor rialú conartha; Tá smacht gnó riachtanach.

Botúin choitianta

  • Níl ort ach breathnú ar an gcód stádais. A rá "Tá 200 tagtha ar ais agus imithe"; gan an corp truaillithe a fheiceáil (muinín bréagach).
  • Seachnadh bailíochtú scéimre. Gan seiceáil ar chineálacha agus oibleagáid na páirce; pas athruithe cineáil go ciúin.
  • Tástáil a iarraidh gan rialacha gnó a sholáthar. Níl a fhios ag AI na rialacha; ní tháirgeann sé ach rialú teicniúil.
  • Dearcadh cásanna diúltacha agus teidlíochta. Ní ghlactar ach le leochaileachtaí slándála (IDOR, rochtain neamhúdaraithe) leis na tástálacha seo amháin.
  • Ag baint úsáide as fíor-chomharthaí agus sonraí táirgeachta. Meáin thiomnaithe agus sonraí sintéiseacha a úsáid le haghaidh tástála; Ná greamaigh fíoreochracha isteach san fheithicil.
  • Tástáil slándála neamhúdaraithe. Ná rith ach tástálacha údaraithe ar do API féin agus le cead.

Go hachomair

Fíoraíonn tástáil API urlabhra na bpíosaí bogearraí go tapa agus go domhain, beag beann ar chomhéadan. AI; tá tástálacha conartha an-éifeachtach chun scéimre JSON agus cásanna diúltacha/slándála a ghiniúint ón bhfreagra samplach. Ach tugann tástálacha superficial nach seiceann ach an cód stádais bréige-mhuinín. A cheangal ar na ceithre shraith: cód stádais, bailíochtú scéimre, riail gnó, diúltach, agus údarú. Cuir na rialacha gnó agus an conradh ar an leid; Déan tástálacha slándála le sonraí sintéiseacha agus le húdarú amháin.

Tasc feidhmchláir

Roghnaigh críochphointe API ó do thionscadal féin. Iarr ar AI tástálacha ceithre chiseal a scríobh leis an teimpléad “tástáil API bunaithe ar chonradh”. Ansin cuir bailíochtú cineáil/forfheidhmithe le “giniúint scéimre ó fhreagra samplach” agus cuir “seiceáil muiníne bréagach” i bhfeidhm. Rith cás IDOR/údaraithe amháin ar a laghad i do thimpeallacht tástála féin. Tuairiscigh aon sárú conartha nó riail ghnó a aimsíonn tú; Mura bhfuil tú in ann teacht ar aon cheann, déan an tástáil i gcoinne freagra a bhí garbleed d'aon ghnó chun a chruthú gur ghabh sé é.

seicliosta

  • [ ] Chlúdaigh mé na ceithre shraith tástála (cás, scéimre, riail ghnó, diúltach/údarú).
  • [ ] Thug mé go soiléir an conradh agus na rialacha gnó do AI.
  • [ ] Chuir mé tástálacha ar bun a bhailíochtaíonn an scéimre freagartha (réimse, cineál, riachtanas).
  • [ ] Bhain mé triail as cás údaraithe/IDOR amháin ar a laghad go cosantach.
  • [ ] D’úsáid mé timpeallacht tástála agus sonraí sintéiseacha in ionad fíorchomhartha/sonraí.
  • [ ] Chruthaigh mé le "seiceáil muiníne bréagach" go dtagann gach tástáil ar an bhfreagra truaillithe.