Командалар немесе сыртқы серіктестер арасында API-мен жұмыс істегенде, сұраулар мен жауаптар пішімінің болжамды болуы ерекше маңызды. Келісімшарттық тестілеу екі тарап - клиент пен сервер - алмасу құрылымына келісетінін және жаңартулар кезінде оны бұзбайтынын тексеруге мүмкіндік береді.
Біз келісімшарттық тестілерді енгіземіз, олар автоматты түрде API құжаттамасына немесе тұтынушының күтулеріне сәйкестігін тексереді - өнімге шыққанға дейін.
API-дегі келісім-шарт дегеніміз не?
Келісімшарт - бұл мыналарды айқындайтын келісім:- сұрау және жауап қандай өрістерді қамтиды
- қандай деректер пішімдері жарамды
- Қандай мәртебе кодтары қайтарылады
- қандай міндетті параметрлер талап етіледі
Келісімшарттың бұзылуы = клиент немесе сервис жағындағы ықтимал істен шығу.
Бұл қалай жұмыс істейді
| Тарап | Не сыналып жатыр |
|---|---|
| Провайдер (API) | API жауап құрылымы бойынша клиенттің болжамдарына сәйкес келуі тиіс |
| Клиент (consumer) | Клиент белгілі бір схеманы күтеді - тест оның сақталғанын тексереді |
| Bidirectional | Екіжақты тестілеу: клиент те, сервер те келісімшартпен келіседі |
Қолданылатын құралдар: Pact, Spring Cloud Contract, Dredd, Postman Contract Tests.
Келісімшарттық тестілеудің артықшылықтары
Деплойға дейінгі сәйкессіздіктерді анықтау- Клиенттерді бұзатын «тыныш» өзгерістерден қорғау
- API нұсқаларын қауіпсіз жаңарту
- Әзірлеу командалары арасындағы сенімді арттыру
- Келісімшарттардың өзгеру тарихын логикалау
Біз қалай енгіземіз
OpenAPI/Pact пішіміндегі келісімшарттарды анықтау- Әрбір коммита кезінде автоматты тестілеу прогондарымен CI-интеграциялау
- Келісімшарттарды визуализациялау және өзгерту тарихы
- Орталар бойынша бөлу (staging/production)
- Сыртқы интеграторлар үшін келісімшарттарды жариялау
Ерекше маңызды жерде
Ортақ жауапкершілігі бар микросервистер- Сыртқы B2B интеграциялары бар платформалар
- Бірнеше тәуелсіз командалардың API-мен жұмыс істеуі
- Қателікке жол берілмейтін сындарлы жүйелер (қаржы, мемлекеттік қызметтер)
Келісімшарттық тестілеу - бұл сервер мен клиент арасындағы сенімді көпір. Біз ешқандай жаңарту интеграцияны бұзбайтын және күтпеген қателіктерге әкелмейтін процесті құруға көмектесеміз.
Байланысу
Төмендегі форманы толтырыңыз, біз сізге жақын арада жауап береміз.