Riba:
- Ikon gudanar da gwajin API cikin zurfi tare da tallafin bayanan sirri na wucin gadi a lambar matsayi, tsari / kwangila, tsarin kasuwanci da mara kyau / izini yadudduka
- Ability don samar da tsarin JSON daga amsa samfurin da kuma guje wa amincewar ƙiyayya na kallon kawai lambar matsayi tare da nau'i da ingantaccen mahimmanci.
- Ikon gwada yanayin tsaro kamar izini da IDOR tare da bayanan roba kuma don dalilai na tsaro kawai a cikin izini
Yawancin software na zamani suna tattaunawa da juna a bango ta hanyar API (Application Programming Interface - mahaɗin inda guda biyu na software ke magana bisa ga takamaiman kwangila). Lokacin da aikace-aikacen wayar hannu ya ƙara abubuwa zuwa cart, a zahiri yana aika buƙatu zuwa API akan sabar. Gwajin API yana bincikar cewa wannan tattaunawar daidai ce, amintacciya, kuma tana da daidaito, ba tare da la'akari da mahallin ba; Yana da sauri, kwanciyar hankali da zurfi fiye da gwajin UI. Ilimin wucin gadi (AI) yana da inganci sosai a gwajin API: yana haifar da gwaje-gwaje daga ma'anar API, yana fitar da tsarin amsawa (kwangilar da ke ayyana tsarin bayanan), ya lissafta lamurra. Amma kuma babban kogin ya shafi: AI bai san ainihin ka'idodin kasuwanci na API ɗin ku ba; yana ƙoƙarin samar da gwaje-gwaje na zahiri waɗanda kawai ke tabbatar da "200 sun dawo". Aikin ku shine tabbatar da gwajin ya tabbatar da ainihin kwangila da dabarun kasuwanci.
A cikin wannan rukunin, zaku koyi yadda ake saita tallafin AI, gwaje-gwajen API mai zurfi tare da hanyoyin kamar Postman, REST Assured da ingantaccen tsari.
Layer na gwajin API
Yi la'akari da gwajin API a cikin zurfi da yawa, tare da AI yana taimakawa daban a kowane Layer:
1. Lambar matsayi da amsa ta asali. Shin buƙatar tana dawo da lambar matsayin HTTP da ake tsammani (200/201 don nasara, 400/401/404 don kuskure)? Wannan shi ne mafi girma na sama; AI yana samar da sauƙi amma shi kaɗai yana ba da amana.
2. Tabbatar da tsari / kwangila. Shin tsarin amsawa ya dace da kwangilar - shin filayen da ake tsammanin suna nan, shin nau'ikan su daidai ne, filayen da ake buƙata sun ɓace? AI na iya haifar da JSON Schema - ma'aunin da ke bayyana tsarin daftarin aiki na JSON - daga amsa samfurin, kuma gwaje-gwaje na iya ingantawa akan wannan makirci. Wannan ya fi ƙarfi fiye da rubuta bayanin tushen fili da hannu.
3. Tabbatar da ka'idojin kasuwanci. Ƙimar gaske tana nan: "Don odar 1000 TL, filin rangwamen ya kamata ya zama 100", "Ba za a sake soke odar da aka soke ba". AI kawai zai tabbatar da waɗannan idan kun ba shi dokoki; Idan ba ku ba, zai yi tsalle.
4. Mara kyau da tsaro. 401 don alamar mara aiki, 403 don samun damar bayanan wani, share 400 don mummunan jiki. Gwaje-gwajen izini (tabbatar da cewa mai amfani zai iya samun dama ga bayanan nasu kawai) sune tushen tsaro na API kuma ana yin su don dalilai na tsaro.
Tukwici: Kada ku nemi gwaji ba tare da gaya wa AI don "tabbatar ba kawai lambar matsayi ba, har ma da tsarin amsawa da waɗannan ka'idodin kasuwanci." In ba haka ba, za a bar ku tare da gwaje-gwajen da suka ce "200 sun dawo, sun wuce" amma ba ku lura da API na dawo da bayanan da suka lalace ba.
Rauni mai ƙarfi / Ƙarfi mai ƙarfi
Rauni: "Rubuta gwaje-gwaje don wannan API."
Ƙarfafa: "Rubuta gwaje-gwajen REST Assured (Java) don ƙarshen POST / oda. Yarjejeniyar: samfurinId da yawa sun zama dole a cikin jiki; 201 da {orderId, duka, rangwame, matsayi} an mayar da su akan nasara. Dokokin kasuwanci: 10% rangwame a kan 1000 TL; 400 idan yawan adadin zuwa 3 idan 40 ya gani idan 3 = 0; Gwajin mai amfani: (1) lambar matsayi, (2) amsawar tsarin JSON, (3) tsarin kasuwanci mai rangwame, (4) ɗaure kowane furci ga ƙa'idodin kasuwanci a bayyane;
Ƙarfi mai ƙarfi yana ba da kwangilar, ƙa'idodin kasuwanci, yanayin tsaro, da tsammanin ingantaccen tsari.
Gwajin kwangila: hana rabuwa tsakanin ƙungiyoyi
A cikin gine-ginen microservice (tsarin da aka raba aikace-aikacen zuwa ƙananan ayyuka waɗanda ke zaman kansu da juna kuma suna magana da API), canza tsarin amsa sabis yana rusa sauran ayyukan da ke da alaƙa da shi. Gwajin kwangila - gwajin da ke tabbatar da cewa kwangilar API tsakanin sabis na mai ba da sabis da sabis na mabukaci ba a karye ba a ɓangarorin biyu - yana kama irin wannan hutu da wuri. Manufar ita ce: mabukaci ya bayyana nau'in amsa da yake tsammani daga mai samarwa a matsayin "kwangilar"; Tare da kowane canji, masana'anta na gwada cewa har yanzu yana bin wannan yarjejeniya. Don haka lokacin da sunan ko nau'in filin ya canza, mabukaci yana sanar da bututun kafin ya fado.
AI yana haɓaka ɗawainiya guda biyu a cikin wannan mahallin: tsara kwangilar da ke nuna tsammanin mabukaci daga amsawar API data kasance, da kuma riga-kafin abin da batun kwangilar canji zai iya karya. Amma kwangilar kanta ita ce yanke shawara ta kasuwanci: ƙwararren ya ƙayyade waɗanne yankuna ne da gaske suke da mahimmanci, wanda canje-canje za su karya daidaituwar baya - tsofaffin masu amfani suna ci gaba da aiki. AI ya rubuta kwangilar; Kai ne ka yarda da shi.
Tukwici: Share fage ko canza nau'in filin a cikin API kusan koyaushe canji ne mai karye. Ƙara sababbin filayen yawanci yana da aminci. Samun AI ta rarraba canji a matsayin "karya ko aminci" yana ba da saurin binciken tsaro kafin sakin.
Ma'aikacin gidan waya ko na tushen lamba?
ma'auni
Postman/Newman
REST Assured / code (Java, C#, JS)
Koyo
Sauƙi, gani
Ilimin lamba da ake buƙata
Ikon sigar
Tarin JSON
Kai tsaye a lambar tushe
hadaddun dabaru
Limited (rubutun JS)
Cikakken ikon shirye-shirye
CI/CD hadewa
da Newman
Kai tsaye dogara ga gini
Tabbatar da tsari
Tare da rubutun gwaji
Mai ƙarfi tare da ɗakin karatu
Ma'aunin ƙungiya
ƙananan / matsakaici
babba, balagagge
AI yana haifar da lambar don duka biyu; Ka bayyana wanda kake so.
Samfura huɗu masu kwafi
1) Gwajin API na tushen kwangila:
Matsayinku: babban injiniyan gwajin gwajin API.Rubuta gwaje-gwaje don ƙarshen ƙarshen mai zuwa tare da [kayan aiki / harshe]: [hanyar + hanya] . Kwangila: [filayen da ake buƙata, lambar nasara, tsarin amsawa] .Dokokin kasuwanci: [dokokin] . Gwajin gwaji: (1) lambar matsayi (2) ingantaccen tsarin tsarin amsawa (3) kowane ka'idar kasuwanci (4) korau + izini. Haɗa kowane ƙa'idar da ta dace don ƙaddamar da ƙa'idar da ta dace.
2) Tsarin tsari daga amsa samfurin:
Ƙirƙirar Tsarin JSON daga samfurin amsawar API da ke ƙasa. Ƙayyade filayen da ake buƙata, nau'ikan, iyakokin tsari (kwanan wata, imel, kewayon lamba). Sa'an nan kuma ba da misali na gwaji wanda ya tabbatar da wannan makirci. Misalin amsa: [manna JSON]
3) Abubuwan da ba su da kyau da izini:
Ƙirƙirar maganganun gwaji mara kyau da tsaro don ƙarshen ƙarshen[ƙarshen]. Ya haɗa da: ɓacewa/filin da ake buƙata, nau'in kuskure, ƙima mai girma, alama mara inganci/ ƙarewa, samun dama ga albarkatu mara izini (IDOR — samun damar rikodin wani ta canza ID), iyakar ƙima. Ƙayyade lambar matsayi da ake tsammanin da kuma kuskure ga kowane yanayi. Lura: kawai za a gwada akan API na, izini.
4) Ikon amana:
Duba wannan gwajin API. Shin wannan gwajin zai iya kama idan uwar garken ta dawo da lambar matsayi daidai amma FALSEbody/data? Idan ba haka ba, ƙara ƙira da ingantaccen ƙa'idar kasuwanci. Gwaji: [manna gwaji]
uku mini lokuta
Case 1 - Ikon tabbatar da tsari. Wata ƙungiya tana duba lambar matsayi ne kawai a cikin gwaje-gwajen da ta yi tare da AI. A cikin siga ɗaya, API ɗin ya fara kuskuren mayar da jimillar filin a matsayin rubutu ("1200"); gwaje-gwajen sun tsaya kore saboda har yanzu ana dawowa 200. Mobile Application ya fadi. Bayan ƙara ingantaccen nau'i tare da samfurin "tsararrun ƙira daga samfurin amsawa", kuskure iri ɗaya an kama shi nan da nan.
Case 2 - Gudun hukuma (IDOR). Wani masani ya gudanar da gwajin IDOR tsakanin "mara kyau da kuma yanayin izini" wanda AI ya haifar: Ya buƙaci ID na mai amfani da B tare da alamar mai amfani A. API ya dawo da bayanan 200 da B - mummunan rauni na izini. Wannan gwajin na tsaro ya rufe zubin bayanan kafin ya ci gaba da rayuwa.
Case 3 - Ƙa'idar kasuwanci ta kewaye. AI ta haifar da gwaje-gwaje 8 don ƙarshen ƙarshen ragi; duk suna duba 200, babu wanda ke tabbatar da adadin rangwamen. Masanin ya ƙara ƙa'idodin kasuwanci zuwa ga gaggawa kuma ya sa aka sake su. Sabbin gwaje-gwaje sun nuna cewa an ƙididdige rangwamen ba daidai ba a iyakar 1000 TL (an yi amfani da rangwamen akan 999). Gudanar da kwangila bai isa ba; Sarrafa tsarin kasuwanci ya zama dole.
Kuskuren gama gari
- Kallon matsayi kawai. A ce "200 sun dawo sun wuce"; rashin ganin gurbatacciyar jiki (amincin karya).
- Ketare ingantaccen tsari. Ba duba nau'ikan filin da wajibci ba; rubuta canje-canje ya wuce shiru.
- Neman gwaji ba tare da samar da dokokin kasuwanci ba. AI bai san dokoki ba; yana samar da kulawar fasaha kawai.
- Mantawa mara kyau da yanayin haƙƙi. Lalacewar tsaro (IDOR, shiga mara izini) waɗannan gwaje-gwajen kawai ana kama su.
- Yin amfani da alamun gaskiya / samarwa da bayanai. Yi amfani da keɓaɓɓen kafofin watsa labarai da bayanan roba don gwaji; Kar a lika maɓalli na gaske cikin abin hawa.
- Gwajin tsaro mara izini. Yi gwajin izini kawai akan API ɗin ku kuma tare da izini.
a takaice
Gwajin API yana tabbatar da maganganun guda na software cikin sauri da zurfi, ba tare da la'akari da mu'amala ba. AI; Gwaje-gwajen kwangila suna da inganci sosai wajen samar da tsarin JSON da mummunan yanayin / tsaro daga amsawar samfurin. Amma gwaje-gwaje na zahiri waɗanda ke bincika lambar matsayi kawai suna ba da kwarin gwiwa. Bukatar duk yadudduka huɗu: lambar matsayi, ingantaccen tsari, tsarin kasuwanci, mara kyau, da izini. Sanya dokokin kasuwanci da kwangila akan gaggawa; Yi gwajin tsaro tare da bayanan roba kuma tare da izini kawai.
Aikin aikace-aikace
Zaɓi wurin ƙarshen API daga aikin ku. Shin AI ta rubuta gwaje-gwaje na Layer huɗu tare da samfurin "gwajin API na tushen kwangila". Sannan ƙara ingantaccen nau'in / tilasta aiwatarwa tare da "ƙararrun ƙirƙira daga amsa samfurin" sannan a yi amfani da "tabbacin ƙididdiga-trust". Gudu aƙalla yanayin IDOR / izini ɗaya a cikin yanayin gwajin ku. Bayar da rahoton duk wani kwangila ko keta dokar kasuwanci da kuka samu; Idan ba za ku iya samun ko ɗaya ba, gwada gwajin a kan martanin da aka yi da gangan don tabbatar da cewa ya kama shi.
jerin abubuwan dubawa
- [ ] Na rufe nau'ikan gwaji guda huɗu (harka, ƙira, ƙa'idar kasuwanci, korau / izini).
- [ ] Na ba da kwangilar kwangila da ka'idojin kasuwanci ga AI.
- [ ] Na kafa gwaje-gwajen da ke tabbatar da tsarin amsawa (filin, nau'in, mahimmanci).
- [ ] Na gwada aƙalla izini ɗaya/ yanayin IDOR na kariya.
- [ ] Na yi amfani da yanayin gwaji da bayanan roba maimakon ainihin alamar/bayanai.
- [ ] Na tabbatar da "tabbataccen tabbaci" cewa kowane gwaji yana kama da gurɓataccen amsa.