Соңғы өңдеу:
Станислав Анисимов
Келісімшарттық тестілеу
Click to expand / collapse

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

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


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

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

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


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

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

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


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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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


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

Танымал тақырыптар


Негізгі тақырыптар