- Lista e mësimeve të testimit të API
- Përmbledhje e udhëzuesve në këtë seri testimi API
- Përfundim
- Udhëzues Testimi API
- Prezantimi i testimit të API-së në organizatën tuaj
Ky tutorial i thelluar i testimit të API shpjegon gjithçka rreth testimit të API-së, shërbimeve në internet dhe si të prezantoni testimin e API në organizatën tuaj:
Fitoni një pasqyrë të thellë në testimin e API-së së bashku me koncepti i testimit me zhvendosje në të majtë dhe shërbimeve të uebit nga ky tutorial hyrës.
Konceptet si Web API, si funksionon API (me shembullin e botës reale) dhe si është i ndryshëm nga Shërbimet e Uebit shpjegohen mirë me shembuj në këtë tutorial.
Lista e mësimeve të testimit të API
Tutorial #1: Udhëzues për testimin e API: Një udhëzues i plotë për fillestarët
Tutorial #2: Udhëzues i Shërbimeve të Uebit: Komponentët, Arkitektura, Llojet & Shembuj
Tutorial #3: 35 pyetjet më të mira të intervistës ASP.Net dhe API me përgjigje me përgjigje
Tutorial #4: Udhëzues POSTMAN: Testimi i API Përdorimi i POSTMAN
Tutorial #5: Testimi i shërbimeve në ueb duke përdorur klientin Apache HTTP
Përmbledhje e udhëzuesve në këtë seri testimi API
Tutoriali # | Çfarë do të mësoni | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tutorial_#1: | Udhëzues për testimin e API : Një udhëzues i plotë për fillestarët Ky tutorial i Thelluar i Testimit të API-së do të shpjegojë gjithçka në lidhje me Testimin e API-së dhe Shërbimet e Uebit në detaje dhe gjithashtu do t'ju edukojë se si të prezantoni Testimin API në organizatën tuaj. | |||||||||||||||||||||||||||||||||||||||||||||
Tutorial_#2: | Udhëzues për shërbimet në internet: Komponentët, Arkitektura, Llojet & Shembuj Ky Uebkorrektësia e përgjigjeve nga API për përgjigje të vlefshme dhe të pavlefshme është me të vërtetë thelbësore. Nëse një kod statusi prej 200 (që do të thotë gjithçka në rregull) merret si përgjigje nga API-ja e testit, por nëse teksti i përgjigjes thotë se është hasur një gabim, atëherë ky është një defekt. Për më tepër, nëse mesazhi i gabimit në vetvete është e pasaktë, atëherë kjo mund të jetë shumë mashtruese për klientin fundor që po përpiqet të integrohet me këtë API. Në pamjen e ekranit më poshtë, përdoruesi ka futur peshën e pavlefshme, e cila është më shumë se 2267 kg e pranueshme. API përgjigjet me kodin e statusit të gabimit dhe mesazhin e gabimit. Megjithatë, mesazhi i gabimit i përmend gabimisht njësitë e peshës si lbs në vend të KG. Ky është një defekt që mund të ngatërrojë klientin përfundimtar. (ii) Testimi i ngarkesës dhe performancësAPI-të janë menduar të jenë të shkallëzueshme nga dizajni. Kjo, nga ana tjetër, e bën testimin e ngarkesës dhe performancës thelbësore, veçanërisht nëse sistemi që po projektohet pritet të shërbejë mijëra kërkesa në minutë ose orë, në varësi të kërkesës. Kryerja e rregullt e testeve të ngarkesës dhe performancës në API mund të ndihmojë në krahasimin e performancës, ngarkesave maksimale dhe pikës së thyerjes. Këto të dhëna janë të dobishme gjatë planifikimit të rritjes së një aplikacioni. Pasja e këtij informacioni në dispozicion do të ndihmojë për të mbështetur vendimet dhe planifikimin, veçanërisht nëse organizata planifikon të shtojë më shumë klientë, që do të nënkuptonte më shumë hyrjekërkesave. Si të prezantoni testimin API në organizatën tuajProcesi për prezantimin e testimit API në çdo organizatë është i ngjashëm me procesin e përdorur për zbatimin ose nxjerrjen e çdo mjeti dhe kornizë tjetër testimi. Tabela e mëposhtme përmbledh hapat kryesorë së bashku me rezultatin e pritur të secilit hap.
Sfidat e zakonshme dhe mënyrat për t'i zbutur atoLe të diskutojmë disa nga sfidat e zakonshme që ekipet e SC përballen gjatë përpjekjes për të zbatuar një kornizë testimi API në një organizatë. #1) Zgjedhja e mjetit të duhurZgjedhja e mjetit të duhur për punën është sfida më e zakonshme. Ka disa mjete testimi API që janë të disponueshme në treg. Mund të duket shumë tërheqëse të zbatosh mjetin më të fundit, më të shtrenjtë të disponueshëm në treg - por nëse nuk sjell rezultatet e dëshiruara, atëherë ai mjet është e padobishme. Prandaj, zgjidhni gjithmonë mjetin që adreson kërkesat 'të domosdoshme' bazuar në nevojat tuaja organizative. Këtu është një mostër matricë e vlerësimit të mjetit për Mjetet e disponueshme API
#2) Mungojnë specifikimet e testitSi testues, ne duhet të dimë rezultatet e pritura për të testuar në mënyrë efektive një aplikacion. Kjo është shpesh një sfidë, pasi për të ditur rezultatet e pritura, ne duhet të kemi kërkesa të qarta të sakta – gjë që nuk është kështu. Për shembull , merrni parasysh kërkesat e dhëna më poshtë: "Aplikimi duhet të pranojë vetëm një datë të vlefshme transporti dhe të gjitha kërkesat e pavlefshme duhet të refuzohen" Këtyre kërkesave u mungojnë detajet kryesore dhe janë shumë të paqarta - si e përcaktojmë një datë të vlefshme? Po formati? A po kthejmë ndonjë mesazh refuzimi te përdoruesi fundor, etj.? Shembull i Kërkesave të Qarta: 1) Aplikacioni duhet vetëm pranoni një datë të vlefshme transporti. Data e dërgesës konsiderohet e vlefshme nëse është e vlefshmeështë
2) Kodi i statusit të përgjigjes = 200 Mesazhi: OK 3) Data e dërgimit që nuk plotëson kriteret e mësipërme duhet të konsiderohet i pavlefshëm. Nëse një klient dërgon një datë të pavlefshme transporti, atëherë ai duhet të përgjigjet me mesazhet e mëposhtme të gabimit: 3.1 Kodi i statusit të përgjigjes NOT 200 Gabim: Data e dërgimit e dhënë është e pavlefshme; ju lutemi sigurohuni që data të jetë në formatin DD/MM/VVVV 3.2 Kodi i statusit të përgjigjes NUK 200 Gabim: Data e dërgimit është dhënë në e kaluara #3) Kurba e të mësuaritSiç u përmend më parë, qasja për testimin e API është e ndryshme kur krahasohet me qasjen e ndjekur gjatë testimit të aplikacioneve të bazuara në GUI. Nëse ju po punësojnë specialistë brenda ose konsulentë për testimin API, atëherë kurba e të mësuarit e qasjes së testit API ose mjetit të testimit API mund të jetë minimale. Çdo kurbë mësimi, në këtë rast, do të shoqërohet me marrjen e njohurive të produktit ose aplikimit. Nëse një anëtar i ekipit ekzistues caktohet për të mësuar testimin e API-së, atëherë në varësi të mjetit të zgjedhur, kurba e të mësuarit mund të jetë mesatare në të lartë, së bashku me ndryshimin e qasjes së testimit. Kurba e të mësuarit për vetë produktin ose aplikacionin mund të jetë e ulët e mesme në varësi të faktit nëse ky testues ka testuarai aplikim më parë ose jo. #4) Kompleti ekzistues i aftësiveKjo lidhet drejtpërdrejt me pikën e mëparshme rreth kurbës së të mësuarit. Nëse një testues po kalonte nga Testimi i bazuar në GUI, atëherë testuesi do të duhet të ndryshojë qasjen e testimit dhe të mësojë mjetin ose kornizën e re sipas nevojës. P.sh. Nëse API pranon kërkesat në formatin JSON, atëherë testuesi duhet të mësojë se çfarë është JSON, në mënyrë që të fillojë krijimin e testeve. Studim rastiDetyra Për të rritur shkallën e një aplikacioni ekzistues, një kompani donte të ofronte një produkt në API si dhe një aplikacion standard GUI. Ekipit të QA iu kërkua të siguronte një Plan të Mbulimit të Testit për t'u siguruar që ata janë gati të akomodojnë testimin e API përtej testeve të rregullta të bazuara në GUI. Sfidat
Qasja e ndjekur nga ekipi për të zbutur rreziqet dhe për të punuar rreth sfidave
PërfundimAplikacionet e bazuara në API kanë fitoi popullaritet në kohët e fundit. Këto aplikacione janë më shumëi shkallëzuar në krahasim me aplikacionet/softuerët tradicionalë dhe lejon integrim më të lehtë me API-të ose aplikacionet e tjera. Ky tutorial i Testimit të API shpjegoi në detaje gjithçka rreth Testimit të API-së, Testimit Shift Majtas, Shërbimeve të Uebit dhe API-së së Uebit. Ne gjithashtu eksploruam ndryshimet midis Shërbimeve Ueb dhe API-së së Uebit me shembuj. Në pjesën e dytë të tutorialit, diskutuam spektrin e plotë të Testimit të API, si të prezantoni Testimin API në organizatën tuaj dhe disa sfida të zakonshme në ky proces së bashku me zgjidhjet për to. Shikoni tutorialin tonë të ardhshëm për të ditur më shumë rreth Shërbimeve të Uebit së bashku me shembuj!! Tutoriali TJETËR Tutoriali i shërbimeve shpjegon Arkitekturën, Llojet & Komponentët e Shërbimeve të Uebit së bashku me Terminologjitë e Rëndësishme dhe Dallimet midis SOAP kundër REST. | |||||||||||||||||||||||||||||||||||||||||||||
Tutorial_#3: | 35 pyetjet kryesore të intervistës ASP.Net dhe Web API me përgjigje Mund të eksploroni listën e pyetjeve më të njohura të intervistave të ASP.Net dhe Web API të intervistës me përgjigje & shembuj për fillestarët dhe profesionistët me përvojë në këtë tutorial. | |||||||||||||||||||||||||||||||||||||||||||||
Tutorial_#4: | Tutorial POSTMAN: API Testing Using POSTMAN Ky tutorial hap pas hapi do të shpjegojë Testimin e API duke përdorur POSTMAN së bashku me bazat e POSTMAN, komponentët e tij dhe kërkesën e mostrës & Përgjigju me fjalë të thjeshta për kuptueshmërinë tuaj të lehtë. | |||||||||||||||||||||||||||||||||||||||||||||
Tutorial_#5: | Testimi i shërbimeve të uebit duke përdorur Apache HTTP Client Ky udhëzues API ka të bëjë me kryerjen e operacioneve të ndryshme CRUD në shërbimet e uebit dhe testimin e shërbimeve të uebit duke përdorur Apache HTTP Client |
Udhëzues Testimi API
Ky seksion do t'ju ndihmojë të kuptoni bazën e Shërbimeve të Uebit dhe API-së së Uebit, të cilat, nga ana tjetër, do të jenë të dobishme për të kuptuar konceptet kryesore në mësimet e ardhshme në këtë seri Testimi API.
API ( Ndërfaqja e programimit të aplikacionit) është një grup i të gjitha procedurave dhe funksioneve që na lejojnë të krijojmë një aplikacion duke aksesuar të dhënat ose veçoritë esistemit operativ ose platformave. Testimi i procedurave të tilla njihet si Testimi API.
Testimi Shift Majtas
Një nga llojet e rëndësishme të testimit që kërkohet në ditët e sotme në Intervistat e Testimit të API është Testimi Shift Majtas. Ky lloj testimi praktikohet pothuajse në të gjitha projektet që ndjekin një Metodologji Agile.
Para se të prezantohej Shift Left Testimi, testimi i softuerit u shfaq vetëm pasi ishte përfunduar kodimi dhe kodi iu dorëzua testuesve. Kjo praktikë çoi në nxitimin e minutës së fundit për të përmbushur afatin dhe gjithashtu pengoi në një masë të madhe cilësinë e produktit.
Përveç kësaj, përpjekjet e bëra (kur u raportuan defekte në fazën e fundit para prodhimit) ishin i madh pasi zhvilluesit duhej të kalonin përsëri në fazën e projektimit dhe të kodimit.
Cikli jetësor i zhvillimit të softuerit (SDLC) Para Shift Left Testimi
Rrjedha tradicionale SDLC ishte: Kërkesa - > Dizajni –> Kodimi –> Testimi.
Disavantazhet e testimit tradicional
- Testimi është në ekstremin e djathtë. Shumë kosto shkaktohen kur një defekt është identifikuar në minutën e fundit.
- Koha e harxhuar në zgjidhjen e defektit dhe ritestimin e tij përpara se ta promovojë atë në prodhim është e madhe.
Prandaj, u shfaq një ide e re për të zhvendosur fazën e testimit në të majtë, gjë që çoi në testimin e zhvendosjes majtas.
Leximi i sugjeruar => Testimi i zhvendosjes majtas: AMantra sekrete për suksesin e softuerit
Fazat e testimit të zhvendosjes majtas
Testimi i zhvendosjes majtas çoi në një migrim të suksesshëm nga Zbulimi i defekteve në Parandalimin e defekteve. Ai gjithashtu ndihmoi softuerin të dështonte shpejt dhe të rregullonte të gjitha dështimet sa më shpejt.
Web API
Në terma të përgjithshëm, një API Web mund të përkufizohet si diçka që merr kërkesën nga një klient sistemi në një server në internet dhe dërgon përgjigjen nga një server në internet në një makinë klienti.
Si funksionon një API?
Le të marrim një skenar shumë të zakonshëm të rezervimit të një fluturimi në www.makemytrip.com, i cili është një shërbim udhëtimi në internet që grumbullon informacione nga shumë linja ajrore. Kur shkoni për një rezervim fluturimi, futni informacione si data e udhëtimit/data e kthimit, klasa, etj. dhe klikoni në kërkim.
Kjo do t'ju tregojë çmimin e linjave ajrore të shumta dhe disponueshmërinë e tyre. Në këtë rast, aplikacioni ndërvepron me API-të e linjave ajrore të shumta dhe në këtë mënyrë jep akses në të dhënat e linjës ajrore.
Një shembull tjetër është www.trivago.com i cili krahason dhe rendit çmimin, disponueshmërinë, etj. të hoteleve të ndryshëm nga një qytet i caktuar. Kjo faqe interneti komunikon me API-të e shumë hoteleve për të hyrë në bazën e të dhënave dhe rendit çmimet dhe disponueshmërinë nga faqja e tyre e internetit.
Kështu, një API Web mund të përkufizohet si “një ndërfaqe që lehtëson komunikimin ndërmjet një makinerie klienti dhe tëwebserver”.
Shërbimet e uebit
Shërbimet e uebit janë (si Web API) shërbimet që shërbejnë nga një makinë në tjetrën. Por ndryshimi kryesor që lind midis API-së dhe Shërbimeve të Uebit është se Shërbimet e Uebit përdorin një rrjet.
Është e sigurt të thuhet se të gjitha Shërbimet e Uebit janë API Ueb, por të gjitha API-të e Uebit nuk janë Shërbime Ueb (shpjegohet në pjesa e fundit e artikullit). Kështu, Shërbimet e Uebit janë një nëngrup i Ueb API-së. Referojuni diagramit të mëposhtëm për të ditur më shumë rreth API-së së Uebit dhe Shërbimeve të Uebit.
API në internet kundrejt shërbimeve të uebit
Shërbimeve të uebit vs Web API
Si Web API dhe Web Services përdoren për të lehtësuar komunikimin midis klientit dhe serverit. Dallimi kryesor vjen vetëm në mënyrën se si ata komunikojnë.
Secili prej tyre kërkon një organ kërkese që është i pranueshëm në një gjuhë specifike, dallimet e tyre në sigurimin e një lidhjeje të sigurt, shpejtësinë e tyre të komunikimit me serverin dhe përgjigjen te klienti, etj.
Dallimet ndërmjet shërbimeve të uebit dhe API-së së uebit janë renditur më poshtë për referencën tuaj.
Shërbimi i uebit
- Shërbimet e uebit në përgjithësi përdorin XML (Extensible Markup Language), që do të thotë se ato janë më të sigurta.
- Shërbimet e uebit janë më të sigurta pasi si shërbimet e uebit ashtu edhe API-të ofrojnë SSL (Secure Socket Layer) gjatë transmetimit të të dhënave , por gjithashtu ofron WSS (Siguria e Shërbimeve të Uebit).
- Shërbimi i Uebit është një nëngrup i Ueb API-së. Për shembull, Shërbimet e Uebit bazohen vetëm në tre stile përdorimi, p.sh. SOAP, REST dhe XML-RPC.
- Shërbimet e uebit gjithmonë kanë nevojë për një rrjet për të funksionuar.
- Shërbimet në internet mbështesin “Aplikacione të ndryshme me një kod”. Kjo do të thotë se një kod më gjenerik është shkruar nëpër aplikacione të ndryshme.
Web API
- Një Web API në përgjithësi përdor JSON (JavaScript Object Notation), që do të thotë Web API është më i shpejtë.
- Web API është më i shpejtë pasi JSON është me peshë të lehtë, ndryshe nga XML.
- API-të e uebit janë superbashkësia e Shërbimeve Ueb. Për shembull, Të tre stilet e Shërbimeve të Uebit janë të pranishme edhe në API-në e Uebit, por përveç kësaj, ai përdor stile të tjera si JSON - RPC.
- API-ja e uebit nuk kërkon domosdoshmërisht një rrjet për të operuar.
- API-ja e uebit mund ose nuk mund të mbështesë ndërveprimin në varësi të natyrës së sistemit ose aplikacionit.
Prezantimi i testimit të API-së në organizatën tuaj
Në jetën tonë të përditshme, të gjithë ne jemi mësuar të ndërveprojmë me aplikacionet me API dhe megjithatë as që mendojmë për proceset e fundit që drejtojnë funksionalitetin themelor.
Për shembull , Le të marrim parasysh se po shfletoni produktet në Amazon.com dhe shihni një produkt/marrëveshje që ju pëlqen vërtet dhe dëshironi ta ndani me rrjetin tuaj Facebook.
Momenti kur klikoni në ikonën e Facebook në seksionin e ndarjes së faqes dhe futni tuajinKredencialet e llogarisë në Facebook për t'i ndarë, ju po ndërveproni me një API që po lidh pa probleme faqen e internetit të Amazon me Facebook.
Fokusohu te testimi API
Para se të diskutojmë më shumë për testimin e API, le të diskutojmë arsyet për të cilat aplikacionet e bazuara në API kanë fituar popullaritet kohët e fundit.
Ka disa arsye për të cilat organizatat po kalojnë në produktet dhe aplikacionet e bazuara në API. Dhe pak prej tyre janë renditur më poshtë për referencën tuaj.
#1) Aplikacionet e bazuara në API janë më të shkallëzueshme kur krahasohen me aplikacionet/softuerët tradicionalë. Shpejtësia e zhvillimit të kodit është më e shpejtë dhe e njëjta API mund të shërbejë më shumë kërkesa pa ndonjë kod të madh ose ndryshim infrastrukturor.
#2) Ekipet e zhvillimit nuk kanë nevojë të fillojnë kodimin nga e para çdo kur fillojnë të punojnë për zhvillimin e një veçorie ose aplikacioni. API-të më shpesh ripërdorin funksionet ekzistuese, të përsëritshme, bibliotekat, procedurat e ruajtura, etj. dhe për rrjedhojë ky proces mund t'i bëjë ato më produktive në përgjithësi.
Për shembull, Nëse jeni një zhvillues që punon në një uebsajti i tregtisë elektronike dhe ju dëshironi të shtoni Amazon si një procesor pagese – atëherë nuk keni pse ta shkruani kodin nga e para.
Gjithçka që duhet të bëni është të konfiguroni integrimin midis faqes suaj të internetit dhe Amazon API duke përdorur Çelësat e integrimit dhe telefononi Amazon API për përpunimin e pagesave gjatë përfundimit të blerjes.
#3) API-të lejojnëintegrim i lehtë me sistemet e tjera si për aplikacione të pavarura të mbështetura ashtu edhe me produkte softuerësh të bazuar në API.
Për shembull , Le të konsiderojmë se dëshironi të dërgoni një dërgesë nga Toronto në Nju Jork . Hyni në internet, navigoni në një faqe interneti të njohur të Transportit ose Logjistikës dhe futni informacionin e kërkuar.
Pas dhënies së informacionit të detyrueshëm, kur klikoni në butonin Merr Çmimet - në fund, kjo faqe interneti logjistike mund të jetë e lidhur me disa API dhe aplikacione të operatorëve dhe ofruesve të shërbimit për të marrë tarifat dinamike për kombinimin e vendndodhjeve nga fillimi në destinacion.
Spektri i plotë i testimit të API-së
Testimi i API-ve nuk kufizohet në dërgimin e një kërkese në API dhe duke analizuar përgjigjen vetëm për korrektësinë. API-të duhet të testohen për performancën e tyre nën ngarkesa të ndryshme për dobësi.
Le ta diskutojmë këtë në detaje.
(i) Testimi funksional
Testimi funksional mund të jetë një detyrë sfiduese për shkak të mungesës së një ndërfaqeje GUI.
Le të shohim se si qasja e testimit funksional për API-të është e ndryshme nga aplikacioni i bazuar në GUI dhe do të diskutojmë gjithashtu disa shembuj rreth tij.
a) Dallimi më i dukshëm është se nuk ka GUI për të bashkëvepruar. Testuesit që zakonisht bëjnë testimin funksional të bazuar në GUI e kanë pak më të vështirë të kalojnë në testimin e aplikacioneve jo-GUI kur krahasohen medikush që tashmë është i njohur me të.
Fillimisht, edhe para se të filloni testimin e API-së, do t'ju duhet të testoni dhe verifikoni vetë procesin e vërtetimit. Metoda e vërtetimit do të ndryshojë nga një API në një API tjetër dhe do të përfshijë një lloj çelësi ose token për vërtetim.
Nëse nuk jeni në gjendje të lidheni me API-në me sukses, atëherë testimi i mëtejshëm nuk mund të vazhdojë. Ky proces mund të konsiderohet i krahasueshëm me vërtetimin e përdoruesit në aplikacionet standarde ku ju nevojiten kredenciale të vlefshme për t'u identifikuar dhe përdorur aplikacionin.
b) Testimi i verifikimeve të fushës ose vërtetimi i të dhënave hyrëse është shumë i rëndësishëm gjatë testimit të API-ve. Nëse ekzistonte një ndërfaqe aktuale e bazuar në forma (GUI), atëherë verifikimet e fushës mund të zbatoheshin në pjesën e përparme ose të pasme, duke siguruar kështu që një përdorues të mos lejohet të fusë vlera të pavlefshme fushash.
Për shembull, Nëse një aplikacion ka nevojë që formati i datës të jetë DD/MM/VVVV, atëherë ne mund ta zbatojmë këtë vërtetim në formularin që mbledh informacion për të siguruar që aplikacioni po merr dhe po përpunon një datë të vlefshme.
Megjithatë, kjo nuk është e njëjtë për aplikacionet API. Ne duhet të sigurohemi që API të jetë shkruar mirë dhe të jetë në gjendje të zbatojë të gjitha këto vërtetime, të bëjë dallimin midis të dhënave të vlefshme dhe të pavlefshme dhe t'i kthejë përdoruesit fundor kodin e statusit dhe mesazhin e gabimit të vlefshmërisë përmes një përgjigjeje.
c) Testimi i