- API ტესტირების გაკვეთილების სია
- გაკვეთილების მიმოხილვა ამ API ტესტირების სერიის
- დასკვნა
- API ტესტირების სახელმძღვანელო
- API ტესტირების დანერგვა თქვენს ორგანიზაციაში
ეს სიღრმისეული API ტესტირების გაკვეთილი განმარტავს ყველაფერს API ტესტირების, ვებ სერვისების და იმის შესახებ, თუ როგორ უნდა დანერგოთ API ტესტირება თქვენს ორგანიზაციაში:
მიიღეთ ღრმა ხედვა API ტესტირებასთან ერთად Shift-left ტესტირებისა და ვებ სერვისების კონცეფცია ამ შესავალი გაკვეთილიდან.
კონცეფციები, როგორიცაა Web API, როგორ მუშაობს API (რეალური მაგალითით) და როგორ განსხვავდება ის ვებ სერვისებისგან, კარგად არის ახსნილი ამ მაგალითებით. სახელმძღვანელო.
API ტესტირების გაკვეთილების სია
სამეურვეო პროგრამა #1: API ტესტირების სახელმძღვანელო: სრული გზამკვლევი დამწყებთათვის
ტუტორიალი #2: ვებ სერვისების სახელმძღვანელო: კომპონენტები, არქიტექტურა, ტიპები და amp; მაგალითები
გაკვეთილი #3: ტოპ 35 ASP.Net და ვებ API ინტერვიუს კითხვები პასუხებით
გაკვეთილი #4: POSTMAN გაკვეთილი: API ტესტირება POSTMAN-ის გამოყენება
გაკვეთილი #5: ვებ სერვისების ტესტირება Apache HTTP კლიენტის გამოყენებით
გაკვეთილების მიმოხილვა ამ API ტესტირების სერიის
სასწავლო # | რას ისწავლით | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
სამეურვეო_#1: | API ტესტირების სახელმძღვანელო : სრული გზამკვლევი დამწყებთათვის ეს სიღრმისეული API ტესტირების სახელმძღვანელო დეტალურად აგიხსნით ყველაფერს API ტესტირებისა და ვებ სერვისების შესახებ და ასევე გასწავლით, თუ როგორ უნდა დანერგოთ API ტესტირება თქვენს ორგანიზაციაში. | |||||||||||||||||||||||||||||||||||||||||||||
ტუტორიალი_#2: | ვებ სერვისების გაკვეთილი: კომპონენტები, არქიტექტურა, ტიპები & amp; მაგალითები ეს ვებAPI-დან პასუხების სისწორე სწორი და არასწორი პასუხისთვის მართლაც გადამწყვეტია. თუ სტატუსის კოდი 200 (ნიშნავს ყველა Okay) მიიღება სატესტო API-დან პასუხად, მაგრამ თუ პასუხის ტექსტში ნათქვამია, რომ მოხდა შეცდომა, მაშინ ეს არის დეფექტი. დამატებით, თუ შეცდომის შეტყობინებაა. თავისთავად არასწორია, მაშინ ეს შეიძლება იყოს ძალიან შეცდომაში შემყვანი საბოლოო მომხმარებლისთვის, რომელიც ცდილობს ამ API-სთან ინტეგრირებას. ქვემოთ მოცემულ ეკრანის სურათზე მომხმარებელმა შეიყვანა არასწორი წონა, რაც აღემატება დასაშვებ 2267 კგ-ს. API პასუხობს შეცდომის სტატუსის კოდით და შეცდომის შეტყობინებით. თუმცა, შეცდომის შეტყობინებაში არასწორად არის ნახსენები წონის ერთეულები, როგორც lbs ნაცვლად KG. ეს არის დეფექტი, რომელმაც შეიძლება დააბნიოს საბოლოო მომხმარებელი. (ii) დატვირთვისა და შესრულების ტესტირებაAPI-ები გამიზნულია დიზაინის მიხედვით მასშტაბირებად. ეს, თავის მხრივ, აუცილებელს ხდის დატვირთვისა და შესრულების ტესტირებას, განსაკუთრებით იმ შემთხვევაში, თუ შემუშავებული სისტემა, სავარაუდოდ, მოემსახურება ათასობით მოთხოვნას წუთში ან საათში, მოთხოვნიდან გამომდინარე. API-ზე დატვირთვისა და ეფექტურობის ტესტების რეგულარული შესრულება დაგეხმარებათ ეფექტურობის, პიკური დატვირთვისა და ავარიის წერტილის შეფასებაში. ეს მონაცემები სასარგებლოა აპლიკაციის გაფართოების დაგეგმვისას. ამ ინფორმაციის ხელმისაწვდომობა ხელს შეუწყობს გადაწყვეტილებებისა და დაგეგმვის მხარდაჭერას, განსაკუთრებით იმ შემთხვევაში, თუ ორგანიზაცია გეგმავს მეტი მომხმარებლის დამატებას, რაც ნიშნავს მეტ შემომავალს.ითხოვს. როგორ შემოვიტანოთ API ტესტირება თქვენს ორგანიზაციაშიAPI ტესტირების დანერგვის პროცესი ნებისმიერ ორგანიზაციაში მსგავსია იმ პროცესის, რომელიც გამოიყენება ნებისმიერი სხვა ტესტირების ხელსაწყოსა და ჩარჩოს დანერგვისა და გასაშლელად. ქვემოთ მოცემული ცხრილი აჯამებს ძირითად ნაბიჯებს თითოეული ნაბიჯის მოსალოდნელ შედეგთან ერთად.
საერთო გამოწვევები და მათი შერბილების გზებიმოდით, განვიხილოთ ზოგიერთი საერთო გამოწვევა, რომელსაც QA გუნდები სახე ორგანიზაციაში API ტესტირების ჩარჩოს დანერგვისას. #1) სწორი ხელსაწყოს არჩევასამუშაოსთვის სწორი ხელსაწყოს არჩევა ყველაზე გავრცელებული გამოწვევაა. არსებობს რამდენიმე API ტესტის ინსტრუმენტი, რომელიც ხელმისაწვდომია ბაზარზე. შეიძლება ძალიან მიმზიდველი ჩანდეს ბაზარზე არსებული უახლესი, ყველაზე ძვირადღირებული ინსტრუმენტის დანერგვა - მაგრამ თუ ის არ მოიტანს სასურველ შედეგს, მაშინ ეს ინსტრუმენტი უსარგებლოა. აქედან გამომდინარე, ყოველთვის აირჩიეთ ინსტრუმენტი, რომელიც პასუხობს „აუცილებელ“ მოთხოვნებს თქვენი ორგანიზაციული საჭიროებიდან გამომდინარე. აქ არის ინსტრუმენტის შეფასების მატრიცის ნიმუში. ხელმისაწვდომი API ინსტრუმენტები
#2) გამოტოვებული ტესტის სპეციფიკაციებიროგორც ტესტერებმა, ჩვენ უნდა ვიცოდეთ მოსალოდნელი შედეგები აპლიკაციის ეფექტურად შესამოწმებლად. ეს ხშირად გამოწვევაა, რადგან მოსალოდნელი შედეგების გასაგებად, ჩვენ უნდა გვქონდეს მკაფიო ზუსტი მოთხოვნები – რაც ასე არ არის. მაგალითად , განიხილეთ ქვემოთ მოწოდებული მოთხოვნები: „აპლიკაციამ უნდა მიიღოს მხოლოდ მოქმედი მიწოდების თარიღი და ყველა არასწორი მოთხოვნა უნდა იყოს უარყოფილი“ ამ მოთხოვნებს აკლია ძირითადი დეტალები და ძალიან ორაზროვანია – როგორ განვსაზღვროთ მოქმედი თარიღი? რაც შეეხება ფორმატს? ვუბრუნებთ თუ არა უარყოფის შეტყობინებას საბოლოო მომხმარებელს და ა.შ.? წმინდა მოთხოვნების მაგალითი: 1) აპლიკაცია მხოლოდ მიიღეთ მოქმედი მიწოდების თარიღი. მიწოდების თარიღი ითვლება ძალაში, თუ იგიარის
2) პასუხის სტატუსის კოდი = 200 შეტყობინება: OK 3) მიწოდების თარიღი არ აკმაყოფილებს ზემოაღნიშნულ კრიტერიუმებს უნდა ჩაითვალოს ბათილად. თუ მომხმარებელი აგზავნის არასწორი მიწოდების თარიღს, მაშინ მან უნდა უპასუხოს შემდეგი შეცდომის შეტყობინებებით: 3.1 პასუხის სტატუსის კოდი NOT 200 შეცდომა: მიწოდების თარიღი არასწორია; გთხოვთ, დარწმუნდეთ, რომ თარიღი არის DD/MM/YYYY ფორმატში 3.2 პასუხის სტატუსის კოდი NOT 200 შეცდომა: მიწოდების თარიღი მითითებულია წარსული #3) სწავლის მრუდიროგორც უკვე აღვნიშნეთ, API ტესტირების მიდგომა განსხვავებულია GUI დაფუძნებული აპლიკაციების ტესტირებისას მიდგომთან შედარებით. თუ თქვენ ქირაობენ სპეციალისტებს ან შიდა ან კონსულტანტებს API ტესტირებისთვის, მაშინ API ტესტის მიდგომის ან API ტესტის ხელსაწყოს სწავლის მრუდი შეიძლება იყოს მინიმალური. სწავლის ნებისმიერი მრუდი, ამ შემთხვევაში, დაკავშირებული იქნება პროდუქტის ან აპლიკაციის ცოდნის შეძენასთან. თუ არსებული გუნდის წევრს დაევალება ისწავლოს API ტესტირება, მაშინ არჩეული ინსტრუმენტიდან გამომდინარე, სწავლის მრუდი შეიძლება იყოს საშუალოდან მაღალამდე, ტესტის მიდგომის შეცვლასთან ერთად. თავად პროდუქტის ან აპლიკაციის სწავლის მრუდი შეიძლება იყოს დაბალი საშუალო იმისდა მიხედვით, აქვს თუ არა ტესტირება ამ ტესტერმაეს აპლიკაცია ადრე იყო თუ არა. #4) არსებული უნარების ნაკრებიეს პირდაპირ კავშირშია სწავლის მრუდის წინა პუნქტთან. თუ ტესტერი გადადიოდა GUI-ზე დაფუძნებული ტესტირება, შემდეგ ტესტერს დასჭირდება ტესტირების მიდგომის შეცვლა და საჭიროებისამებრ ისწავლოს ახალი ინსტრუმენტი ან ჩარჩო. მაგ. თუ API მიიღებს მოთხოვნებს JSON ფორმატში, ტესტერმა უნდა გაიგოს რა არის JSON, რათა დაიწყოს ტესტების შექმნა. შემთხვევის შესწავლაამოცანა არსებული აპლიკაციის მასშტაბის გაზრდის მიზნით, კომპანიას სურდა პროდუქტის შეთავაზება API-ში, ისევე როგორც სტანდარტული GUI აპლიკაცია. QA გუნდს სთხოვეს, მიეწოდებინა ტესტის დაფარვის გეგმა, რათა დარწმუნდნენ, რომ ისინი მზად იყვნენ API ტესტირების ჩასატარებლად GUI-ზე დაფუძნებული რეგულარული ტესტების მიღმა. გამოწვევები
მიდგომა, რომელსაც გუნდმა მოჰყვა რისკების შესამცირებლად და გამოწვევების ირგვლივ მუშაობა
დასკვნაAPI-ზე დაფუძნებულ აპლიკაციებს აქვთ ბოლო დროს მოიპოვა პოპულარობა. ეს აპლიკაციები უფრო მეტიამასშტაბირებადია ტრადიციულ აპლიკაციებთან/პროგრამულ უზრუნველყოფასთან შედარებით და იძლევა უფრო მარტივ ინტეგრაციას სხვა API-ებთან ან აპლიკაციებთან. ამ API ტესტირების სახელმძღვანელო დეტალურად განმარტავს ყველაფერს API ტესტირების, Shift Left ტესტირების, ვებ სერვისებისა და ვებ API-ის შესახებ. ჩვენ ასევე გამოვიკვლიეთ განსხვავებები ვებ სერვისებსა და ვებ API-ს შორის მაგალითებით. გაკვეთილის მეორე ნაწილში განვიხილეთ API ტესტირების სრული სპექტრი, როგორ დანერგოთ API ტესტირება თქვენს ორგანიზაციაში და რამდენიმე საერთო გამოწვევა. ეს პროცესი მათთვის გადაწყვეტილებებთან ერთად. იხილეთ ჩვენი მომავალი გაკვეთილი, რომ მეტი იცოდეთ ვებ სერვისების შესახებ მაგალითებთან ერთად!! შემდეგი სახელმძღვანელო სერვისების გაკვეთილი განმარტავს არქიტექტურას, ტიპებს & amp; ვებ სერვისების კომპონენტები მნიშვნელოვან ტერმინოლოგიებთან ერთად და განსხვავებები SOAP-ს და REST-ს შორის. ტოპ 35 ASP.Net და Web API ინტერვიუს კითხვები პასუხებითშეგიძლიათ გაეცნოთ ყველაზე პოპულარული ASP.Net და Web API ინტერვიუს კითხვების სიას პასუხებით & მაგალითები დამწყებთათვის და გამოცდილი პროფესიონალებისთვის ამ სახელმძღვანელოში. | |||||||||||||||||||||||||||||||||||||||||||||
ტუტორიალი_#4: | POSTMAN სახელმძღვანელო: API ტესტირების გამოყენება POSTMAN ეს ეტაპობრივი გაკვეთილი აგიხსნით API ტესტირებას POSTMAN-ის გამოყენებით, POSTMAN-ის საფუძვლებთან, მის კომპონენტებთან და ნიმუშის მოთხოვნასთან ერთად; უპასუხეთ მარტივი სიტყვებით თქვენი მარტივი გაგებისთვის. | |||||||||||||||||||||||||||||||||||||||||||||
ტუტორიალი_#5: | ვებ სერვისების ტესტირება Apache HTTP კლიენტის გამოყენებით ეს API სახელმძღვანელო ეხება სხვადასხვა CRUD ოპერაციების შესრულებას ვებ სერვისებზე და ვებ სერვისების ტესტირებას Apache HTTP კლიენტის გამოყენებით |
API ტესტირების სახელმძღვანელო
ეს განყოფილება დაგეხმარებათ გაიგოთ ვებ სერვისების და ვებ API-ის ძირითადი გაგება, რაც, თავის მხრივ, სასარგებლო იქნება ამ API ტესტირების სერიის მომავალ სახელმძღვანელოებში ძირითადი კონცეფციების გასაგებად.
API ( აპლიკაციის პროგრამირების ინტერფეისი) არის ყველა პროცედურისა და ფუნქციის ერთობლიობა, რომელიც საშუალებას გვაძლევს შევქმნათ აპლიკაცია მონაცემებისა და მახასიათებლების წვდომით.ოპერაციული სისტემა ან პლატფორმები. ასეთი პროცედურების ტესტირება ცნობილია, როგორც API ტესტირება.
Shift Left ტესტირება
ტესტირების ერთ-ერთი მნიშვნელოვანი ტიპი, რომელსაც დღეს სვამენ API ტესტირების ინტერვიუებში, არის Shift Left ტესტირება. ამ ტიპის ტესტირება გამოიყენება თითქმის ყველა პროექტში, რომელიც მიჰყვება Agile მეთოდოლოგიას.
სანამ Shift Left Testing დაინერგებოდა, პროგრამული უზრუნველყოფის ტესტირება გამოჩნდა მხოლოდ კოდირების დასრულების და კოდის მიწოდების შემდეგ ტესტერებს. ამ პრაქტიკამ განაპირობა ბოლო წუთების აჟიოტაჟი, რათა დაკმაყოფილდეს ვადა და ასევე მნიშვნელოვნად შეაფერხა პროდუქტის ხარისხი.
გარდა ამისა, გაწეული ძალისხმევა (როდესაც დეფექტები დაფიქსირდა წარმოების ბოლო ფაზაში) იყო. უზარმაზარი, რადგან დეველოპერებს თავიდან მოუწიათ დიზაინის და კოდირების ფაზის გავლა.
პროგრამული უზრუნველყოფის განვითარების სასიცოცხლო ციკლი (SDLC) Shift Left ტესტირებამდე
ტრადიციული SDLC ნაკადი იყო: მოთხოვნა - > დიზაინი –> კოდირება –> ტესტირება.
ტრადიციული ტესტირების ნაკლოვანებები
- ტესტირება უკიდურესად მარჯვნივ არის. ბევრი ხარჯი დგება, როდესაც ხარვეზი გამოვლენილია ბოლო წუთს.
- შეცდომის აღმოფხვრასა და ხელახლა ტესტირებაში დახარჯული დრო დიდია.
აქედან გამომდინარე, გაჩნდა ახალი იდეა ტესტირების ფაზის მარცხნივ გადასატანად, რამაც გამოიწვია Shift Left ტესტირება.
შემოთავაზებული წაკითხვა => Shift Left ტესტირება: Aპროგრამული უზრუნველყოფის წარმატების საიდუმლო მანტრა
მარცხნივ ცვლის ტესტირების ფაზები
მარცხნივ ცვლის ტესტირებამ განაპირობა წარმატებულ მიგრაცია დეფექტების გამოვლენიდან დეფექტების პრევენციაზე. ის ასევე დაეხმარა პროგრამულ უზრუნველყოფას სწრაფად წარუმატებლობაში და ყველა წარუმატებლობის დროულად გამოსწორებაში.
Web API
ზოგადად, Web API შეიძლება განისაზღვროს, როგორც ის, რაც იღებს მოთხოვნას კლიენტისგან. სისტემა ვებ სერვერზე და უგზავნის პასუხს ვებ სერვერიდან კლიენტის მანქანაზე.
როგორ მუშაობს API?
მოდით ავიღოთ ფრენის დაჯავშნის ძალიან გავრცელებული სცენარი www.makemytrip.com-ზე, რომელიც არის ონლაინ ტურისტული სერვისი, რომელიც აგროვებს ინფორმაციას მრავალი ავიაკომპანიიდან. როდესაც მიდიხართ ფრენის დაჯავშნაზე, შეიყვანთ ინფორმაციას, როგორიცაა მგზავრობის თარიღი/დაბრუნების თარიღი, კლასი და ა.შ. და დააწკაპუნეთ ძიებაზე.
ეს გაჩვენებთ მრავალი ავიაკომპანიის ფასს და მათ ხელმისაწვდომობას. ამ შემთხვევაში, აპლიკაცია ურთიერთქმედებს მრავალი ავიაკომპანიის API-ებთან და ამით აძლევს წვდომას ავიაკომპანიის მონაცემებზე.
კიდევ ერთი მაგალითია www.trivago.com, რომელიც ადარებს და ჩამოთვლის სხვადასხვა სასტუმროს ფასს, ხელმისაწვდომობას და ა.შ. კონკრეტული ქალაქიდან. ეს ვებსაიტი ურთიერთობს მრავალი სასტუმროს API-ებთან მონაცემთა ბაზაში შესასვლელად და ჩამოთვლის ფასებს და ხელმისაწვდომობას მათი ვებსაიტიდან.
ამგვარად, ვებ API შეიძლება განისაზღვროს, როგორც „ინტერფეისი, რომელიც ხელს უწყობს კომუნიკაციას კლიენტის მანქანასა და შორის. Theვებ სერვერი".
ვებ სერვისები
ვებ სერვისები არის (როგორც ვებ API) სერვისები, რომლებიც ემსახურებიან ერთი აპარატიდან მეორეს. მაგრამ მთავარი განსხვავება, რომელიც წარმოიქმნება API-სა და ვებ სერვისებს შორის არის ის, რომ ვებ სერვისები იყენებს ქსელს.
შეიძლება ითქვას, რომ ყველა ვებ სერვისი არის ვებ API, მაგრამ ყველა ვებ API არ არის ვებ სერვისი (ახსნილია სტატიის ბოლო ნაწილი). ამრიგად, ვებ სერვისები არის ვებ API-ს ქვეჯგუფი. იხილეთ ქვემოთ მოცემული დიაგრამა, რომ შეიტყოთ მეტი ვებ API-სა და ვებ სერვისების შესახებ.
Web API vs Web Services
Web Services vs ვებ API
როგორც ვებ API, ასევე ვებ სერვისები გამოიყენება კლიენტსა და სერვერს შორის კომუნიკაციის გასაადვილებლად. მთავარი განსხვავება მხოლოდ მათ კომუნიკაციაშია.
თითოეულ მათგანს სჭირდება მოთხოვნის ორგანო, რომელიც მისაღებია კონკრეტულ ენაზე, მათი განსხვავებები უსაფრთხო კავშირის უზრუნველყოფაში, სერვერთან კომუნიკაციის სიჩქარე და პასუხის გაცემა. კლიენტს და ა.შ.
განსხვავებები ვებ სერვისებსა და ვებ API-ს შორის ქვემოთ მოცემულია თქვენი მითითებისთვის.
ვებ სერვისი
- ვებ სერვისები, როგორც წესი, იყენებენ XML-ს (გაფართოებული მარკირების ენა), რაც ნიშნავს, რომ ისინი უფრო უსაფრთხოა.
- ვებ სერვისები უფრო უსაფრთხოა, რადგან ორივე ვებ სერვისები და API უზრუნველყოფენ SSL-ს (Secure Socket Layer) მონაცემთა გადაცემის დროს. , მაგრამ ის ასევე უზრუნველყოფს WSS (ვებ სერვისების უსაფრთხოებას).
- ვებ სერვისი არის Web API-ს ქვეჯგუფი. მაგალითად, ვებ სერვისები დაფუძნებულია მხოლოდ სამ სტილზე, ანუ SOAP, REST და XML-RPC.
- ვებ სერვისებს ყოველთვის სჭირდებათ ქსელი ფუნქციონირებისთვის.
- ვებ სერვისები მხარს უჭერს „ერთი კოდის სხვადასხვა აპლიკაციებს“. ეს ნიშნავს, რომ უფრო ზოგადი კოდი იწერება სხვადასხვა აპლიკაციებში.
Web API
- Web API ჩვეულებრივ იყენებს JSON (JavaScript Object Notation), რაც ნიშნავს, რომ Web API უფრო სწრაფია.
- Web API უფრო სწრაფია, რადგან JSON მსუბუქია, განსხვავებით XML.
- Web API არის ვებ სერვისების სუპერკომპლექტი. მაგალითად, ვებ სერვისების სამივე სტილი წარმოდგენილია Web API-შიც, მაგრამ გარდა ამისა, ის იყენებს სხვა სტილებს, როგორიცაა JSON – RPC.
- Web API სულაც არ საჭიროებს ქსელი ფუნქციონირებს.
- Web API-ს შეუძლია ან არ დაუჭიროს თავსებადობა სისტემის ან აპლიკაციის ბუნებიდან გამომდინარე.
API ტესტირების დანერგვა თქვენს ორგანიზაციაში
ჩვენს ყოველდღიურ ცხოვრებაში, ყველა ჩვენგანი მიჩვეულია API-ებთან აპებთან ურთიერთობას და, მიუხედავად ამისა, არც კი ვფიქრობთ უკანა პროცესებზე, რომლებიც განაპირობებს ძირითად ფუნქციონირებას.
მაგალითად. , განვიხილოთ, რომ თქვენ ათვალიერებთ პროდუქტებს Amazon.com-ზე და ხედავთ პროდუქტს/გარიგებას, რომელიც ნამდვილად მოგწონთ და გსურთ მისი გაზიარება თქვენს Facebook ქსელთან.
იმ მომენტში, როდესაც დააწკაპუნებთ Facebook-ის ხატულაზე გვერდის გაზიარების განყოფილებაში და შეიყვანეთ თქვენიFacebook-ის ანგარიშის რწმუნებათა სიგელები გასაზიარებლად, თქვენ ურთიერთობთ API-სთან, რომელიც შეუფერხებლად აკავშირებს Amazon-ის ვებსაიტს Facebook-თან.
ფოკუსირება API ტესტირებაზე
სანამ API ტესტირებაზე მეტს განვიხილავთ, მოდით განვიხილოთ მიზეზები რისთვისაც API-ზე დაფუძნებულმა აპლიკაციებმა ბოლო დროს მოიპოვა პოპულარობა.
არსებობს რამდენიმე მიზეზი, რის გამოც ორგანიზაციები გადადიან API-ზე დაფუძნებულ პროდუქტებსა და აპლიკაციებზე. და რამდენიმე მათგანი ჩამოთვლილია ქვემოთ თქვენი მითითებისთვის.
#1) API-ზე დაფუძნებული აპლიკაციები უფრო მასშტაბირებადია ტრადიციულ აპლიკაციებთან/პროგრამებთან შედარებით. კოდის შემუშავების ტემპი უფრო სწრაფია და იგივე API-ს შეუძლია უფრო მეტი მოთხოვნის სერვისი ნებისმიერი ძირითადი კოდის ან ინფრასტრუქტურული ცვლილებების გარეშე.
#2) დეველოპერულ გუნდებს არ სჭირდებათ კოდირების დაწყება ყოველ ჯერზე. როდესაც ისინი იწყებენ მუშაობას ფუნქციის ან აპლიკაციის შემუშავებაზე. API-ები ყველაზე ხშირად ხელახლა იყენებენ არსებულ, განმეორებად ფუნქციებს, ბიბლიოთეკებს, შენახულ პროცედურებს და ა.შ. და, შესაბამისად, ამ პროცესს შეუძლია მათი მთლიანობაში უფრო პროდუქტიული გახადოს.
მაგალითად, თუ თქვენ ხართ დეველოპერი, რომელიც მუშაობს ელექტრონული კომერციის ვებსაიტი და გსურთ დაამატოთ ამაზონი, როგორც გადახდის პროცესორი – მაშინ არ დაგჭირდებათ კოდის ნულიდან დაწერა.
თქვენს ვებსაიტსა და Amazon API-ს შორის ინტეგრაციის დაყენებაა. ინტეგრაციის გასაღებები და დაურეკეთ Amazon API-ს გადახდების დასამუშავებლად გადახდისას.
#3) API-ები იძლევა საშუალებასმარტივი ინტეგრაცია სხვა სისტემებთან, როგორც მხარდაჭერილი დამოუკიდებელი აპლიკაციებისთვის, ასევე API-ზე დაფუძნებულ პროგრამულ პროდუქტებთან.
მაგალითად , განვიხილოთ, რომ გსურთ გაგზავნოთ ტვირთი ტორონტოდან ნიუ-იორკში. . თქვენ შედიხართ ონლაინ, გადადიხართ კარგად ნაცნობ სატვირთო ან ლოგისტიკის ვებსაიტზე და შეიყვანთ საჭირო ინფორმაციას.
სავალდებულო ინფორმაციის მიწოდების შემდეგ, როდესაც დააწკაპუნებთ ღილაკზე ტარიფების მიღებაზე – უკანა ბოლოს, ეს ლოჯისტიკური ვებსაიტი შესაძლოა დაკავშირებული იყოს რამდენიმე ოპერატორისა და სერვისის პროვაიდერის API-ით და აპლიკაციით, რათა მიიღოთ დინამიური ტარიფები საწყისიდან დანიშნულების ადგილზე მდებარეობების კომბინაციისთვის.
API ტესტირების სრული სპექტრი
API-ების ტესტირება არ შემოიფარგლება მოთხოვნის გაგზავნით API-ზე და პასუხის გაანალიზება მხოლოდ სისწორისთვის. API-ები უნდა შემოწმდეს მათი მუშაობისთვის სხვადასხვა დატვირთვის ქვეშ მოწყვლადობისთვის.
მოდი განვიხილოთ ეს დეტალურად.
(i) ფუნქციური ტესტირება
ფუნქციური ტესტირება შეიძლება იყოს რთული ამოცანა GUI ინტერფეისის არარსებობის გამო.
მოდით ვნახოთ, როგორ განსხვავდება API-ების ფუნქციური ტესტირების მიდგომა GUI-ზე დაფუძნებული აპლიკაციისგან და ჩვენ ასევე განვიხილავთ მის გარშემო არსებულ მაგალითებს.
ა) ყველაზე აშკარა განსხვავება ისაა, რომ არ არსებობს ინტერფეისის ინტერფეისი. ტესტერებს, რომლებიც ჩვეულებრივ აკეთებენ GUI-ზე დაფუძნებულ ფუნქციურ ტესტირებას, ცოტა უფრო რთულია არა-GUI აპლიკაციის ტესტირებაზე გადასვლავინც უკვე იცნობს მას.
თავდაპირველად, სანამ დაიწყებთ API-ს ტესტირებას, თქვენ უნდა შეამოწმოთ და გადაამოწმოთ თავად ავტორიზაციის პროცესი. ავთენტიფიკაციის მეთოდი განსხვავდება ერთი API-დან მეორე API-მდე და მოიცავს ერთგვარ გასაღებს ან ჟეტონს ავთენტიფიკაციისთვის.
თუ ვერ შეძლებთ API-სთან წარმატებით დაკავშირებას, შემდგომი ტესტირება ვერ გაგრძელდება. ეს პროცესი შეიძლება ჩაითვალოს მომხმარებლის ავტორიზაციასთან შედარებად სტანდარტულ აპლიკაციებში, სადაც გჭირდებათ მოქმედი რწმუნებათა სიგელები, რომ შეხვიდეთ და გამოიყენოთ აპლიკაცია.
b) ტესტირების ველის ვალიდაცია ან შეყვანის მონაცემთა ვალიდაცია ძალიან მნიშვნელოვანია. API-ების ტესტირების დროს. თუ რეალური ფორმაზე დაფუძნებული (GUI) ინტერფეისი ხელმისაწვდომი იყო, მაშინ ველის ვალიდაცია შეიძლება განხორციელდეს წინა ან უკანა ბოლოში, რაც უზრუნველყოფს, რომ მომხმარებელს არ მიეცეს ველის არასწორი მნიშვნელობების შეყვანის უფლება.
მაგალითად, თუ განაცხადს სჭირდება თარიღის ფორმატი იყოს DD/MM/YYYY, მაშინ ჩვენ შეგვიძლია გამოვიყენოთ ეს ვალიდაცია ინფორმაციის შეგროვების ფორმაზე, რათა დავრწმუნდეთ, რომ განაცხადი იღებს და ამუშავებს მოქმედ თარიღს.
თუმცა, ეს არ არის იგივე API აპლიკაციებისთვის. ჩვენ უნდა დავრწმუნდეთ, რომ API კარგად არის დაწერილი და შეუძლია განახორციელოს ყველა ეს ვალიდაცია, განასხვავოს მოქმედი და არასწორი მონაცემები და დაუბრუნოს საბოლოო მომხმარებელს სტატუსის კოდი და ვალიდაციის შეცდომის შეტყობინება პასუხის საშუალებით.
გ) ტესტირება