Son yenilənmə:
Stanislav Anisimov
Müqavilə testi
Click to expand / collapse

Komandalar və ya xarici tərəfdaşlar arasında API ilə işləyərkən sorğu və cavab formatının proqnozlaşdırıla bilən qalması xüsusilə vacibdir. Müqavilə testi hər iki tərəfin - müştəri və serverin mübadilə strukturuna razı olduğunu və yeniləmələr zamanı pozulmadığını yoxlamağa imkan verir.

Biz avtomatik olaraq API sənədlərinə və ya istehlakçının gözləntilərinə uyğunluğunu yoxlayan müqavilə testlərini tətbiq edirik - istehsaldan əvvəl.


API-də müqavilə nədir

Müqavilə aşağıdakıları müəyyən edən müqavilədir:
  • hansı sahələrdə sorğu və cavab var
  • Hansı məlumat formatları məqbuldur
  • hansı status kodları geri qaytarılır
  • hansı məcburi parametrlər tələb olunur

Müqavilənin pozulması = müştəri və ya xidmət tərəfində potensial uğursuzluq.


Bu necə işləyir

TərəfNə test olunur
Provayder (API)API müştərinin cavab strukturu ilə bağlı gözləntilərinə cavab verməlidir
Müştəri (consumer)Müştəri müəyyən bir sxem gözləyir - test onun yerinə yetirildiyini yoxlayır
Bidirectionalİki tərəfli test: həm müştəri, həm də server müqaviləyə razıdır

İstifadə olunan alətlər: Pact, Spring Cloud Contract, Dredd, Postman Contract Tests.


Müqavilə testinin üstünlükləri

Deploya qədər uyğunsuzluqların aşkarlanması

Müştəriləri pozan «sakit» dəyişikliklərə qarşı qorunma

API versiyalarının təhlükəsiz yenilənməsi

İnkişaf komandaları arasında etimadın artırılması

Müqavilə dəyişikliyi tarixçəsinin loqosu


Necə həyata keçiririk

OpenAPI/Pact formatında müqavilələrin müəyyən edilməsi

Hər bir kommitdə avtomatik sınaq keçidləri ilə CI inteqrasiyası

Vizuallaşdırma və müqavilə dəyişikliyinin tarixi

Çərşənbə bölgüsü (staging/production)

Xarici inteqratorlar üçün müqavilələrin dərc edilməsi


Harada xüsusilə vacibdir

Ayrılmış məsuliyyətli mikroservislər

Xarici B2B inteqrasiyaları olan platformalar

Bir neçə müstəqil komandanın API üzərində işləmək

Səhv yolverilməz olan kritik sistemlər (maliyyə, dövlət xidmətləri)


Müqavilə testi server və müştəri arasında etibarlı körpüdür. Biz heç bir yeniləmənin inteqrasiyanı pozmayacağı və gözlənilməz uğursuzluqlar gətirməyəcəyi bir proses qurmağa kömək edəcəyik.

Populyar mövzular


Əsas mövzular