Müqavilə testi

Komandalar və ya xarici tərəfdaşlar arasında API ilə işləyərkən sorğu və cavabların formatının proqnozlaşdırıla bilən olması xüsusilə vacibdir. Müqavilə testi hər iki tərəfin - müştəri və serverin mübadilə strukturuna razılıq verdiyini və yeniləmələr zamanı onu pozmadığı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

Bölünmüş 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.

Bizimlə əlaqə saxlayın

Aşağıdakı formanı doldurun, ən qısa zamanda cavab verəcəyik.