JackCode навигациясыiGaming өнімдерін жасаңыз, іске қосыңыз және масштабтаңыз.
Тілді ауыстыру
Практикалық гайд

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

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

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

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

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

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

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

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

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

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

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

Деплойға дейінгі сәйкессіздіктерді анықтау

Клиенттерді бұзатын «тыныш» өзгерістерден қорғау

API нұсқаларын қауіпсіз жаңарту

Әзірлеу командалары арасындағы сенімді арттыру

Келісімшарттардың өзгеру тарихын логикалау

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

OpenAPI/Pact пішіміндегі келісімшарттарды анықтау

Әрбір коммита кезінде автоматты тестілеу прогондарымен CI-интеграциялау

Келісімшарттарды визуализациялау және өзгерту тарихы

Орталар бойынша бөлу (staging/production)

Сыртқы интеграторлар үшін келісімшарттарды жариялау

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

Бөлінген жауапкершілігі бар микросервистер

Сыртқы B2B интеграциялары бар платформалар

Бірнеше тәуелсіз командалардың API-мен жұмыс істеуі

Қателікке жол берілмейтін сындарлы жүйелер (қаржы, мемлекеттік қызметтер)


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