Келісімшарттық тестілеу

Командалар немесе сыртқы серіктестер арасында API-мен жұмыс істегенде, сұраулар мен жауаптар пішімінің болжамды болуы ерекше маңызды. Келісімшарттық тестілеу екі тарап - клиент пен сервер - алмасу құрылымына келісетінін және жаңартулар кезінде оны бұзбайтынын тексеруге мүмкіндік береді.

Біз келісімшарттық тестілерді енгіземіз, олар автоматты түрде API құжаттамасына немесе тұтынушының күтулеріне сәйкестігін тексереді - өнімге шыққанға дейін.


API-дегі келісім-шарт дегеніміз не?

Келісімшарт - бұл мыналарды айқындайтын келісім:
  • сұрау және жауап қандай өрістерді қамтиды
  • қандай деректер пішімдері жарамды
  • Қандай мәртебе кодтары қайтарылады
  • қандай міндетті параметрлер талап етіледі

Келісімшарттың бұзылуы = клиент немесе сервис жағындағы ықтимал істен шығу.


Бұл қалай жұмыс істейді

ТарапНе сыналып жатыр
Провайдер (API)API жауап құрылымы бойынша клиенттің болжамдарына сәйкес келуі тиіс
Клиент (consumer)Клиент белгілі бір схеманы күтеді - тест оның сақталғанын тексереді
BidirectionalЕкіжақты тестілеу: клиент те, сервер те келісімшартпен келіседі

Қолданылатын құралдар: Pact, Spring Cloud Contract, Dredd, Postman Contract Tests.


Келісімшарттық тестілеудің артықшылықтары

Деплойға дейінгі сәйкессіздіктерді анықтау
  • Клиенттерді бұзатын «тыныш» өзгерістерден қорғау
  • API нұсқаларын қауіпсіз жаңарту
  • Әзірлеу командалары арасындағы сенімді арттыру
  • Келісімшарттардың өзгеру тарихын логикалау

Біз қалай енгіземіз

OpenAPI/Pact пішіміндегі келісімшарттарды анықтау
  • Әрбір коммита кезінде автоматты тестілеу прогондарымен CI-интеграциялау
  • Келісімшарттарды визуализациялау және өзгерту тарихы
  • Орталар бойынша бөлу (staging/production)
  • Сыртқы интеграторлар үшін келісімшарттарды жариялау

Ерекше маңызды жерде

Ортақ жауапкершілігі бар микросервистер
  • Сыртқы B2B интеграциялары бар платформалар
  • Бірнеше тәуелсіз командалардың API-мен жұмыс істеуі
  • Қателікке жол берілмейтін сындарлы жүйелер (қаржы, мемлекеттік қызметтер)

Келісімшарттық тестілеу - бұл сервер мен клиент арасындағы сенімді көпір. Біз ешқандай жаңарту интеграцияны бұзбайтын және күтпеген қателіктерге әкелмейтін процесті құруға көмектесеміз.

Байланысу

Төмендегі форманы толтырыңыз, біз сізге жақын арада жауап береміз.

Электрондық пошта:

info@jackcode.io

support@jackcode.io