Tue Mar 25 / Mariami Goginava

რატომ უნდა ოცოდე API ტესტირება

მანუალ ტესტერი ხარ და ფიქრობ, რომ API ტესტირება მხოლოდ Automation QA-სთვისაა? დროა ეს მითიც დავანგრიოთ!

1

შესავალი

დღესდღეობით, QA სფეროში მართლაც შეინიშნება ტენდენცია, სადაც დამწყები ტესტერების რაოდენობა იზრდება, მაგრამ პრაქტიკული უნარ-ჩვევების ნაკლებობა ხშირად პრობლემად რჩება. ეს განსაკუთრებით ეხება API ტესტირებას, რომელიც თანამედროვე პროგრამული უზრუნველყოფის ტესტირების პროცესში კრიტიკულად მნიშვნელოვანია.

API-ის დანიშნულება და მნიშვნელობა

API (Application Programming Interface) არის ინტერფეისი, რომელიც საშუალებას აძლევს სხვადასხვა პროგრამებსა და სერვისებს ერთმანეთთან შეძლონ კომუნიკაცია და მონაცემების გაცვლა. API ტესტირება გულისხმობს ამ კომუნიკაციის სწორად მუშაობის შემოწმებას, რაც უზრუნველყოფს სისტემის მთლიანობისა და სანდოობის მაღალ დონეს.​ მარტივად რომ ვთქვათ, შენ ამოწმებ ბექენდს იზოლირებულად, სანამ მასთან ინტეგრაციას დაიწყებს ფრონტენდი.

მაგალითად: როდესაც აპლიკაციაში აწვები “შესვლის” ღილაკს, შენი მოთხოვნა მიდის სერვერზე API-ის მეშვეობით და ბრუნდება პასუხი — “წარმატებით გაიარე ავტორიზაცია”. დარწმუნებული ვარ, შენთვის ცნობილია API-ის ერთ-ერთი ყველაზე მარტივი ახსნა — “რესტორნის მიმტანის” მაგალითი.

api-img

როდესაც რესტორანში ირჩევ მენიუდან კერძს, შენ არ მიდიხარ პირდაპირ სამზარეულოში. ამის ნაცვლად, შეკვეთას გადასცემ მიმტანს, რომელიც სერვერზე — ანუ სამზარეულოში — მიიტანს შენს მოთხოვნას. სამზარეულო ამზადებს კერძს (ამუშავებს მონაცემებს) და საბოლოოდ, მიმტანი (API) აბრუნებს შედეგს — მზა კერძს.

ამ ანალოგიაში:

  • მომხმარებელი (შენ) — არის ფრონტენდი (UI),
  • სამზარეულო — არის ბექენდი (სერვერი),
  • მიმტანი — არის API, რომელიც ამყარებს კომუნიკაციას. მომხმარებელი ვერ ხედავს როგორ მზადდება კერძი, მაგრამ იღებს საჭირო შედეგს. სწორედ ასე მუშაობს API — შუამავალი, რომელიც გადასცემს შენს მოთხოვნას სერვერს და აბრუნებს პასუხს.
api-img

ბევრი ტესტერი ფიქრობს, რომ API ტესტირება მხოლოდ ავტომატიზაციის სპეციალისტების საქმეა, მაგრამ ეს ასე არ არის. მანუალ ტესტერებისთვის API ტესტირების ცოდნა აუცილებელია, რადგან:​

  • სიღრმისეული ტესტირება: UI ტესტირება ხშირად არ აჩვენებს ბექენდის პრობლემებს. API ტესტირება საშუალებას იძლევა აღმოვაჩინოთ ხარვეზები, რომლებიც UI-ში არ ჩანს.​

  • პრაქტიკული უნარების განვითარება: API ტესტირების ცოდნა ზრდის ტესტერის კომპეტენციას და საშუალებას აძლევს მას უფრო ღრმად გაიგოს სისტემის მუშაობა.​

  • კარიერული ზრდა: ტესტერები, რომლებიც ფლობენ API ტესტირების უნარებს, უფრო მოთხოვნადები არიან ბაზარზე და აქვთ უკეთესი ანაზღაურების შესაძლებლობა.​

api-img
ბოლო პერიოდში შეინიშნება, რომ ტესტერები ხშირად ვერ პასუხობენ შემდეგ კითხვებს:​

რა არის API ტესტირება? ბევრი არ იცნობს ბექენდის ტესტირების სპეციფიკას და მნიშვნელობას.​

როგორ შევქმნათ ტესტ ქეისები API-სთვის? ტესტერები ხშირად არ იცნობენ API მოთხოვნების შექმნის პროცესს და ინსტრუმენტებს, როგორიცაა Postman.​ ან იცნობენ, მაგრამ ხშირად ისმის ფრაზა “დეველოპერების მიერ მოწოდებულ კოლექციებს ვიყენებთ” და არ ქმნიან ტესტ ქეისებს ბექენდის შესამოწმებლად.

რატომ არ არის საკმარისი მხოლოდ დეველოპერების მოწოდებული კოლექციის გაშვება? ტესტერებმა უნდა შეძლონ დამოუკიდებლად ტესტ ქეისების შექმნა და არ დაეყრდნონ მხოლოდ დეველოპერების მიერ მოწოდებულ კოლექციებს.​ ჩვენი ამოცანა მდგომარეობს შემდეგში - დავრწმუნდეთ , რომ ბექენდი ფუნქციონირებს სწორად, სანამ ფრონტენდი დაიწყებს ინტეგრაციას.

მნიშვნელოვანია გავიაზროთ: დეველოპერის მიერ მოწოდებული კოლექცია წარმოადგენს ძირითად სცენარებს, მაგრამ QA-ს მიზანია შემოწმოს არა მარტო წარმატებული შემთხვევები, არამედ ყველა პოტენციური შეცდომა, edge-case და უსაფრთხოების რისკი.

api-img

Postman და Swagger ორივე გამოიყენება API ტესტირებისთვის, მაგრამ მათ აქვთ განსხვავებული მახასიათებლები:​

Swagger პირველ რიგში არის დოკუმენტაცია, რომელიც API ენდფოინთებს აღწერს და გვთავაზობს ინტერფეისს მათ გასაშვებად. თუმცა, სრულფასოვანი ტესტირების განხორციელებისთვის Postman ბევრად უფრო მოქნილია, რადგან ის საშუალებას გაძლევს დაწერო ტესტ ქეისები, გაუწერო ლოგიკა, გაუშვა ტესტები და გააზიარო გუნდთან.

api-img

Postman-ში ე.წ რესპონსების (API response) შემოწმებისთვის JavaScript გამოიყენება, მაგრამ ეს არ ნიშნავს, რომ ჩვენ ვაკეთებთ ავტომატიზაციას. ტესტერები წერენ სკრიპტებს, რომლებიც ამოწმებენ API-ის პასუხებს, სტატუს კოდებს, მონაცემების სისწორეს და სხვა პარამეტრებს.​ ამისათვის საჭიროა JavaScript-ის მარტივი სინტაქსის ცოდნა.

მაგალითად:

  • რა არის ცვლადი ?
  • როგორ იწერება პოსტმენში ტესტები ?
  • როგორ იქმნება ტესტ ქეისები პოსტმენში ?
  • რა არის Access Token ?
  • რა განსხვავებაა HTTP მეთოდებსა და სტატუს კოდებს შორის ?
  • რა განსხვავებაა Pre-request და Post-response შორის?

რას ვურჩევდი მათ, ვინც ახლა იწყებს:

  • დაიწყე Postman-ის ინსტალაციით და გააგზავნეთ პირველი მოთხოვნები (GET, POST, PUT , DELETE, PATCH …).
  • ისწავლე როგორ წერო ტესტ ქეისები API-სთვის — არა მხოლოდ დადებითი, არამედ უარყოფითი სცენარებიც.
  • გაიგე, როგორ მუშაობს Session, Token, Cookies.
  • დაიწყე პატარა პროექტით — გამოიყენე Public APIs (მაგ.: https://reqres.in/).
  • თუ უკვე ხარ მანუალ ტესტერი — სცადე შენი კომპანიის პროდუქტში API-ის ტესტირებაც.
  • წაიკითხე პოსტმენის დოკუმენტაცია და დაწერე შენი პირველი ტესტი.

დასკვნა

თუ გინდა, რომ შენი კარიერა ახალ დონეზე აიყვანო, დაიწყე API ტესტირება დღესვე! API ტესტირების ცოდნა მანუალ ტესტერებისთვის აუცილებელია თანამედროვე QA ბაზარზე, ეს უნარი არა მხოლოდ ზრდის ტესტერის კომპეტენციას, არამედ აუმჯობესებს მისი კარიერული განვითარების შესაძლებლობებს და ანაზღაურებას. ამიტომ, ტესტერებო არ შეაჩეროთ თვითგანვითარება და შეისწავეთნ API ტესტირების ინსტრუმენტები, როგორიცაა Postman, რათა იყოთ კონკურენტუნარიანები ბაზარზე.