Tutorial sa Pagsubok ng API: Ano ang API Test Automation? Paano Sumubok

Bago pumunta sa tutorial sa Pagsubok ng API, unawain muna natin

Ano ang API?

API (Application Programming Interface) ay isang interface ng computing na nagbibigay-daan sa komunikasyon at palitan ng data sa pagitan ng dalawang magkakahiwalay na mga system ng software. Ang system ng software na nagpapatupad ng isang API ay may kasamang maraming mga function / subroutine na maaaring maisagawa ng isa pang system ng software. Tinutukoy ng API ang mga kahilingan na maaaring magawa, kung paano gumawa ng mga kahilingan, mga format ng data na maaaring magamit, atbp sa pagitan ng dalawang mga system ng software.

Ano ang Pagsubok sa API?

PAGSUSULIT sa API ay isang uri ng pagsubok ng software na nagpapatunay sa Application Programming Interfaces (API). Ang layunin ng Pagsubok sa API ay upang suriin ang pagpapaandar, pagiging maaasahan, pagganap, at seguridad ng mga interface ng programa. Sa Pagsubok ng API, sa halip na gumamit ng karaniwang mga pag-input ng gumagamit (keyboard) at mga output, gumagamit ka ng software upang magpadala ng mga tawag sa API, makakuha ng output, at tandaan ang tugon ng system. Ang mga pagsubok sa API ay ibang-iba sa mga Pagsusulit sa GUI at hindi makatuon sa hitsura at pakiramdam ng isang application. Pangunahin itong nakatuon sa layer ng lohika ng negosyo ng arkitektura ng software.

Ang pagsubok sa automation ng API ay nangangailangan ng isang application na maaaring makipag-ugnay sa pamamagitan ng isang API. Upang masubukan ang isang API, kakailanganin mong

  • Gumamit ng Testing Tool upang himukin ang API
  • Sumulat ng iyong sariling code upang subukan ang API

Sa tutorial ng pagsubok sa API na ito, malalaman mo ang tungkol sa-

Pag-set up ng kapaligiran sa Pagsubok ng API

  • Ang Pagsubok ng API ay naiiba kaysa sa iba pang mga uri ng pagsubok ng software dahil ang GUI ay hindi magagamit, ngunit kinakailangan mong i-set up ang paunang kapaligiran na humihiling sa API ng isang kinakailangang hanay ng mga parameter at pagkatapos ay suriin ang resulta ng pagsubok.
  • Samakatuwid, ang pagse-set up ng isang kapaligiran sa pagsubok para sa pagsubok sa pag-automate ng API ay tila medyo kumplikado.
  • Ang database at server ay dapat na naka-configure ayon sa mga kinakailangan sa aplikasyon.
  • Kapag tapos na ang pag-install, dapat tawagan ang API Function upang suriin kung gumagana ang API na iyon.

Mga uri ng Output ng isang API

Ang isang output ng API ay maaaring

  1. Anumang uri ng data
  2. Katayuan (sabihin na Pass o Nabigo)
  3. Tumawag sa isa pang pagpapaandar ng API.

Tingnan natin ang isang halimbawa ng bawat isa sa itaas na Mga Uri sa tutorial sa pagsubok ng api na ito

Anumang Uri ng Data

Halimbawa: Mayroong isang pagpapaandar sa API na dapat magdagdag ng dalawang mga numero ng integer.

Long add(int a, int b) 

Ang mga numero ay kailangang ibigay bilang mga input parameter. Ang output ay dapat na isang pagbubuod ng dalawang bilang ng integer. Ang output na ito ay kailangang ma-verify na may inaasahang kinalabasan.

Ang pagtawag ay kailangang gawin tulad ng

add (1234, 5656) 

Ang mga pagbubukod ay kailangang hawakan kung ang numero ay lumalagpas sa limitasyon ng integer.

Katayuan (sabihin na Pass o Nabigo)

Isaalang-alang ang pagpapaandar sa ibaba ng API -

  1. Lock ()
  2. I-unlock ()
  3. Tanggalin ()

Ibinabalik nila ang anumang halaga tulad ng True (sa kaso ng tagumpay) o maling (Sa kaso ng error) bilang isang output.

Isang mas tumpak Kaso sa Pagsubok ay maaaring, maaaring tawagan ang mga pagpapaandar sa alinman sa mga script at sa paglaon suriin para sa mga pagbabago alinman sa database o sa Application GUI.

Pagtawag ng isa pang API / Kaganapan

Sa kasong ito, tinawag namin ang isa sa pagpapaandar ng API na kung saan ay tatawag ng isa pang pagpapaandar.

Halimbawa - Maaaring magamit ang pagpapaandar ng First API para sa pagtanggal ng isang tinukoy na talaan sa talahanayan at ang pagpapaandar na ito, sa turn, ay tumatawag ng isa pang pagpapaandar upang I-REFRESH ang database.

Mga Kaso sa Pagsubok para sa Pagsubok sa API:

Ang mga kaso ng pagsubok ng pagsubok sa API ay batay sa

  • Bumalik na halaga batay sa kundisyon ng pag-input: ito ay medyo madali upang subukan, dahil ang input ay maaaring tukuyin at ang mga resulta ay maaaring napatunayan
  • Hindi nagbalik ng anuman: Kapag walang halaga ng pagbabalik, isang pag-uugali ng API sa system upang masuri
  • Pag-trigger ng iba pang API / kaganapan / makagambala: Kung ang isang output ng isang API ay nagpapalitaw ng ilang kaganapan o nakakagambala, dapat na subaybayan ang mga kaganapang iyon at nakakagambalang tagapakinig
  • I-update ang istraktura ng data: Ang pag-update ng istraktura ng data ay magkakaroon ng ilang kinalabasan o epekto sa system, at dapat itong patunayan
  • Baguhin ang ilang mga mapagkukunan: Kung binago ng API call ang ilang mga mapagkukunan kung gayon dapat itong patunayan sa pamamagitan ng pag-access sa kani-kanilang mga mapagkukunan

Diskarte sa Pagsubok sa API

Diskarte sa Pagsubok sa API ay isang paunang natukoy na diskarte o isang pamamaraan na isasagawa ng koponan ng QA upang maisagawa ang pagsubok sa API pagkatapos handa na ang pagbuo. Hindi kasama sa pagsubok na ito ang source code. Ang diskarte sa pagsubok ng API ay tumutulong upang mas maunawaan ang mga pag-andar, mga diskarte sa pagsubok, mga parameter ng pag-input at pagpapatupad ng mga kaso ng pagsubok.

Ang mga sumusunod na puntos ay makakatulong sa gumagamit na gawin ang diskarte sa Pagsubok ng API:

  1. Pag-unawa sa pagpapaandar ng programa ng API at malinaw na tinukoy ang saklaw ng programa
  2. Ilapat ang mga diskarte sa pagsubok tulad ng mga klase sa pagkakapantay-pantay, pagtatasa ng halaga ng hangganan, at error sa paghula at isulat ang mga kaso ng pagsubok para sa API
  3. Mga Parameter ng Pag-input para sa API na kailangang planuhin at tukuyin nang naaangkop
  4. Ipatupad ang mga kaso sa pagsubok at ihambing ang inaasahan at aktwal na mga resulta.

Pagkakaiba sa pagitan ng pagsubok sa API at Pagsubok ng unit

Pagsubok ng unit Pagsubok sa API
  • Ginagawa ito ng mga developer
  • Ginagawa ito ng mga tester
  • Ang hiwalay na pag-andar ay nasubok
  • Ang end to end na pag-andar ay nasubok
  • Maaaring i-access ng isang developer ang source code
  • Hindi ma-access ng mga tester ang source code
  • Ang pagsubok sa UI ay kasangkot din
  • Ang mga pagpapaandar lamang ng API ang nasubok
  • Ang mga pangunahing pag-andar lamang ang nasubok
  • Ang lahat ng mga isyu sa pag-andar ay nasubok
  • Limitado sa saklaw
  • Mas malawak sa saklaw
  • Karaniwan ay tumakbo bago mag-check in
  • Tumakbo pagkatapos magtayo ay nilikha

Paano Subukan ang API

Ang pagsubok sa automation ng API ay dapat masakop ang hindi bababa sa mga sumusunod na pamamaraan ng pagsubok na hiwalay sa karaniwang proseso ng SDLC

  • Pagsubok sa tuklas: Dapat na manu-manong ipatupad ng pangkat ng pagsubok ang hanay ng mga tawag na naitala sa API tulad ng pag-verify na ang isang tukoy na mapagkukunan na nakalantad sa API ay maaaring nakalista, nilikha at tatanggalin kung naaangkop
  • Pagsubok ng kakayahang magamit: Ang pagsubok na ito ay nagpapatunay kung ang API ay gumagana at madaling gamitin. At ang API ay nagsasama nang maayos sa isa pang platform pati na rin
  • Pagsubok sa seguridad: Kasama sa pagsubok na ito kung anong uri ng pagpapatotoo ang kinakailangan at kung ang sensitibong data ay naka-encrypt sa HTTP o pareho
  • Awtomatikong pagsubok: Ang pagsubok sa API ay dapat na magtapos sa paglikha ng isang hanay ng mga script o isang tool na maaaring magamit upang maipatupad nang regular ang API
  • Dokumentasyon: Kailangang tiyakin ng koponan ng pagsubok na ang dokumentasyon ay sapat at nagbibigay ng sapat na impormasyon upang makipag-ugnay sa API. Ang dokumentasyon ay dapat na isang bahagi ng huling maihahatid

Pinakamahusay na Mga Kasanayan sa Pagsubok ng API:

  • Ang mga kaso sa pagsubok sa API ay dapat na nakapangkat ayon sa kategorya ng pagsubok
  • Sa tuktok ng bawat pagsubok, dapat mong isama ang mga deklarasyon ng mga API na tinatawag.
  • Ang pagpili ng mga parameter ay dapat na malinaw na binanggit sa mismong kaso ng pagsubok
  • Unahin ang mga tawag sa pagpapaandar ng API upang madali para sa mga sumusubok na subukan
  • Ang bawat pagsubok na kaso ay dapat na may sarili at independiyenteng mula sa mga dependency hangga't maaari
  • Iwasang 'subukan ang kadena' sa iyong pag-unlad
  • Ang espesyal na pangangalaga ay dapat gawin habang pinangangasiwaan ang isang beses na pag-andar ng tawag tulad ng - Tanggalin, CloseWindow, atbp.
  • Ang pagkakasunud-sunod ng tawag ay dapat gumanap at mahusay na binalak
  • Upang matiyak ang kumpletong saklaw ng pagsubok, lumikha ng mga kaso sa pagsubok sa API para sa lahat ng posibleng mga kombinasyon ng pag-input ng API.

Mga uri ng bug na natukoy ng pagsubok sa API

  • Nabigo upang hawakan ang mga kondisyon ng error nang kaaya-aya
  • Hindi nagamit na mga watawat
  • Nawawala o duplicate na pag-andar
  • Mga Isyu sa Kahusayan. Pinagkakahirapan sa pagkonekta at pagkuha ng isang tugon mula sa API.
  • Mga Isyu sa Seguridad
  • Mga isyu sa multi-threading
  • Mga Isyu sa Pagganap. Napakataas ng oras ng pagtugon ng API.
  • Hindi wastong mga error / babala sa isang tumatawag
  • Maling paghawak ng wastong mga halaga ng argument
  • Ang Data ng Tugon ay hindi nakabalangkas nang tama (JSON o XML)

Paano gawin ang API Test Automation

Ang mga sumusunod na tutorial ay nagbibigay ng isang detalyadong gabay upang i-automate ang pagsubok sa API.

Paano subukan ang API gamit ang REST Assured

Paano subukan ang API kasama ang Postman

Paano subukan ang API gamit ang UFT

Bukod sa may iba pang mga tool para sa pagsubok sa API. Suriin ang mga ito dito

Mga hamon ng Pagsubok sa API

Kasama sa mga hamon ng pagsubok sa API ang:

  • Pangunahing hamon sa pagsubok sa Web API ay Parameter Combination, Parameter Selection, at Call Sequencing
  • Walang magagamit na GUI upang subukan ang application na gumagawa mahirap magbigay ng mga halaga ng pag-input
  • Ang pagpapatunay at Pagpapatunay ng output sa isang iba't ibang mga system ay mahirap para sa mga tester
  • Ang pagpili ng parameter at pagkategorya ay kinakailangan upang malaman ng mga sumusubok
  • Katangi-tanging pagpapaandar sa paghawak kailangang subukin
  • Ang kaalaman sa pag-coding ay kinakailangan para sa mga tester

Konklusyon:

Ang API ay binubuo ng isang hanay ng mga klase / pagpapaandar / pamamaraan na kumakatawan sa layer ng lohika ng negosyo. Kung ang API ay hindi nasubok nang maayos, maaari itong maging sanhi ng mga problema hindi lamang ang application ng API kundi pati na rin sa aplikasyon ng pagtawag. Ito ay isang kailangang-kailangan na pagsubok sa software engineering.