برنامه نویسی

اعتبار سنجی طرحواره در مقابل آزمایش قرارداد: درک تفاوت ها

بسیاری از افراد اعتبار سنجی طرحواره را با آزمایش قرارداد اشتباه می گیرند ، اما در واقعیت ، اعتبار سنجی طرحواره تنها بخشی از آزمایش قرارداد است. بیایید تفاوت های این مفاهیم را بررسی کنیم و درک کنیم که چرا هر دو برای اطمینان از کیفیت API ضروری هستند.


آزمایش قرارداد چیست؟

آزمایش قرارداد یک رویکرد گسترده است که تأیید می کند که آیا ارتباط بین دو سیستم (مانند مشتری و سرور) به “قرارداد” از پیش تعریف شده پایبند است. این قرارداد تعریف می کند:

  • قالب های درخواست و پاسخ: ساختار داده ، انواع فیلد ، کدهای وضعیت و غیره
  • رفتار مورد انتظار: چگونه API باید در سناریوهای مختلف رفتار کند.
  • قوانین تجاری: اعتبار سنجی خاص که API باید انجام دهد.

آزمایش قرارداد تضمین می کند که سرور (ارائه دهنده API) و مشتری (مصرف کننده API) تراز شده و از مشکلات سازگاری و مشکلات ادغام جلوگیری می کنند.


اعتبار سنجی طرحواره چیست؟

اعتبار سنجی طرحواره یک گام خاص در آزمایش قرارداد است. این تمرکز بر تأیید اینکه آیا ساختار داده ها (مانند JSON یا XML) ارسال شده و دریافت شده توسط API با یک طرح تعریف شده ، مانند یک طرح JSON یا مشخصات OpenAPI (swagger) مطابقت دارد.

اعتبار سنجی طرحواره چیست؟

  • انواع داده ها: آیا فیلدها انواع صحیحی دارند (به عنوان مثال ، شماره ، رشته ، بولی).
  • زمینه های مورد نیاز: آیا زمینه های اجباری وجود دارد.
  • قالب داده ها: آیا داده ها از یک الگوی خاص پیروی می کنند (به عنوان مثال ، تاریخ ، ایمیل).

تفاوت بین اعتبار سنجی طرحواره و آزمایش قرارداد

جنبه اعتبار سنجی شمما تست قرارداد
دامنه فقط روی ساختار داده تمرکز دارد. ساختار ، رفتار و قوانین تجاری را در بر می گیرد.
هدف تضمین شده داده ها در قالب صحیح است. تضمین می کند که API از قرارداد تعریف شده با مشتری پیروی می کند.
نمونه هایی از چک – انواع فیلد.
– زمینه های مورد نیاز.
– قالب داده.
– کدهای وضعیت.
– رفتار API.
– قوانین تجاری.
– ساختار داده.
ابزارهای مشترک – اعتبار سنج Schema JSON.
– اعتبار سنج OpenAPI.
– پیمان
– پستچی.
– قابل تنظیم.

چرا اعتبار سنجی طرحواره تنها بخشی از آزمایش قرارداد است؟

اعتبار سنجی طرحواره مهم است ، اما تمام جنبه های یک قرارداد API را پوشش نمی دهد. در اینجا چند نمونه از آزمایش قرارداد می تواند فراتر از اعتبار سنجی طرحواره باشد:

1. اعتبار سنجی کد وضعیت

تأیید می کند که آیا API کدهای صحیح وضعیت HTTP را برمی گرداند (به عنوان مثال ، 200 برای موفقیت ، 404 برای منابع یافت نشد).

2. رفتار API

تضمین می کند که API همانطور که در سناریوهای مختلف انتظار می رود رفتار می کند (به عنوان مثال ، هنگام تلاش برای ایجاد یک منبع تکراری ، خطایی را برمی گرداند).

3. قوانین تجاری

تأیید می کند که آیا API قوانین خاص تجاری را اجرا می کند (به عنوان مثال ، کاربر فقط می تواند به داده های خود دسترسی پیدا کند).

4. سازگاری نسخه

بررسی می کند که آیا نسخه جدید API با مشتری با استفاده از نسخه قبلی سازگار است.


نمونه عملی

سناریو:

شما یک API کاربر با قرارداد زیر دارید:

  • دریافت /کاربران /{ID} درخواست باید برگردد:

    • کد وضعیت: 200.
    • بدن پاسخ:
{
  "id": 1,
  "name": "John Doe",
  "active": true
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اعتبار سنجی شمما:

در صورت پاسخگویی به قسمتها ، بررسی می کند idبا nameوت active، با انواع صحیح (numberبا stringبا boolean).

آزمایش قرارداد:

  • تأیید می کند که آیا کد وضعیت 200 است.
  • تأیید می کند که آیا بدن پاسخ با طرح مشخص شده مطابقت دارد.
  • تأیید می کند که آیا API هنگام وجود کاربر خطای 404 را برمی گرداند.
  • تأیید می کند که آیا API قوانین تجاری را اجرا می کند (به عنوان مثال ، کاربر غیرفعال نمی تواند برگردانده شود).

پایان

در حالی که اعتبار سنجی طرحواره یک گام مهم برای اطمینان از صحیح ساختار داده ها است ، آزمایش قرارداد بیشتر می شود ، رفتار ، قوانین تجاری و سازگاری را پوشش می دهد. هر دو برای اطمینان از کیفیت و قابلیت اطمینان API ضروری هستند ، اما درک این نکته مهم است که اعتبار سنجی طرحواره فقط یک بخش از روند است.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا