تست API معمولا به منظور بررسی کارایی، قابل اتکا بودن، اجرا، و امنیت ای پی آی انجام میشود. بر اساس گزارش های گوگل، در سال های اخیر توجه به آزمایش های ای پی آی افزایش یافته است. طبق تحقیقی که توسط SmartBear برروی بالغ بر ۳۳۷۲ نرم افزار در آزمایش ای پی آی در سال ۲۰۱۹ صورت گرفت، ۹۱ درصد از مخاطبان این تحقیق یا درحال حاضر از یک پروسه ی رسمی آزمایش API استفاده میکنند یا برای استفاده از آن در آینده نزدیک، برنامه ریزی کرده اند. بالغ بر ۴۵ درصد از آزمایش کنندگان ای پی آی گزارش کردند که سازمانشان بیش از ۵۰ درصد از پروژه های آزمایشی را مکانیزه کرده اند. علاوه بر این، کیفیت ای پی آی برای بیش از ۷۵ درصد سازمان ها در سراسر صنعت از اهمیت بالایی برخوردار است.
استفاده از فرایند، ابزار و راه حل درست برای مکانیزه کردن «تست API» ، بیش از پیش حیاتی است. آزمایش ای پی آی یکی از اجزای اصلی متد موفق CI/DevOps است.
این مقاله خلاصه ای از ابزارهای برتر تست API را ارائه میدهد که هم منبع باز (Open-Source) و هم راه حل تجاری، که تیم های آزمایش کننده میتوانند متناسب با نیازهایشان از آنها استفاده کنند را پوشش میدهد. Katalon studio، Soap UI و Postman سه ابزار برتر در این لیست هستند.
فهرست مطالب
نرم افزار های تست وب سرویس
-
نرم افزار Katalon studio
کاتالون استودیو یک ابزار مکانیزه تست API ، وب، نرم افزارهای دسکتاپ و اپلیکیشن های موبایلی است. این ابزار بعنوان ابزاری پیشرو در آزمایش ای پی آی است و خود را بعنوان راه حلی همه جانبه، مکانیزه و «اند تو اند» به برنامه نویسان و آزمایش کنندگان معرفی میکند.
Katalon Studio از هر دو نوع پیغام های درخواست SOAP و REST با انواع مختلفی از دستورات و ویژگی های پارامتری پشتیبانی می کند. علاوه بر این ، قابلیت ترکیب رابط کاربری و API / سرویسهای وب برای محیط های مختلف (ویندوز ، سیستم عامل مک و لینوکس) یک مزیت منحصر به فرد استودیوی Katalon در میان ابزارهای برتر ای پی آی محسوب می شود.
ویژگی های برجسته:
- از هردو SOAP و REST پشتیبانی می کند
- فروشگاه همه جانبه ی API ، WebUI ، نرم افزار های دسکتاپ و تست تلفن همراه و قابلیت های ترکیبی در میان آن ها.
- پشتیبانی از رویکرد داده محور.
- قابل استفاده برای آزمایش خودکار و اکتشافی می باشد.
- از ادغام و یکپارچه سازی CI / CD پشتیبانی میکند.
- از AssertJ ، یکی از پرقدرت ترین کتابخانه های اعلان برای ایجاد اعلان های روان با سبکِ بی دی دی پشتیبانی میکند.
- مناسب برای هر دو غیرکارشناس و حرفه ای از طریق حالت های دستی و Groovy Scriptting.
تعیین شده به عنوان یکی از گزینه های انتخابی مشتریان Gartner Peer Insights برای مکانیزه کردن تست نرم افزار – Katalon استودیو با بیش از ۵۳۰ بازخورد مثبت، جایگاه خود را در خط مقدم بازار اثبات کرده است.
وب سایت: www.katalon.com
قیمت گذاری: نسخه رایگان – نسخه ۶۹ دلاری
-
آموزش نرم افزار SoapUI
Soap UI یک ابزار تست API است، که به کاربران اجازه میدهد تا ای پی آی های REST و SOAP و وب سرویس ها را به آسانی تست کنند.
بسته رایگان:
با استفاده از بسته رایگان SOAPUI ، کاربران می توانند کد منبع کامل را دریافت کنند و ویژگی های مورد نظر خود را بسازند.
- با کشیدن و رها کردن ، نقطه-کلیک تست هایی را به سرعت و به راحتی ایجاد کنید
- قابلیت استفاده مجدد از اسکریپت ها: باری از تست ها و اسکن های امنیتی میتوانند برای موارد تست های کاربردی استفاده شوند که در چند مرحله قابل استفاده هستند.
بسته حرفه ای:
- آزمایش قدرتمند مبتنی بر داده : داده های بارگذاری شده از فایل ها ، پایگاه داده ها و اکسل به گونه ای که بتوانند نحوه تعامل مصرف کنندگان با API ها را شبیه سازی کنند
- از یکپارچه سازی بومی CI / CD و آزمایش ناهمزمان پشتیبانی کنید
آخرین نسخه SoapUI 5.5 که در فوریه ۲۰۱۹ منتشر شد ، گفتگوی Endpoint Explorer را برای کاربران اضافه می کند تا درخواست های اکتشافی ارسال کنند و پیغام های پاسخ را بدون ایجاد یک پروژه ، تجزیه و تحلیل کنند. SoapUI اکنون از روشهای گسترده HTTP مانند PROPFIND ، LOCK ، UNLOCK ، COPY ، PURGE پشتیبانی می کند.
وب سایت: www.soapui.org
قیمت گذاری: رایگان – ۶۵۹ دلار / سالانه
-
تست API با Postman
این ابزار که در اصل یک پلاگین برای مرورگر وبِ گوگل کروم بوده، راه حلی با نسخه ی بومی برای هردو پلتفرم های ویندوز و مک است.
Postman برای کسانی که نمی خواهند با کد نویسی در یک محیط توسعه یکپارچه و با استفاده از همان زبان بعنوان برنامه نویس، دست و پنجه نرم کنند، گزینه مناسبی برای تست API است.
- آسان جهت استفاده از کلاینت REST
- رابط کاربری غنی که استفاده از آن را آسان می کند
- می تواند برای هر دو آزمایش خودکار و اکتشافی مورد استفاده قرار گیرد
- قابل اجرا بر روی برنامه های Mac ، Windows ، Linux و Chrome است
- دارای تعدادی از یکپارچه گی مانند پشتیبانی از فرمت های Swagger و RAML است
- دارای ویژگی های اجرا ، تست ، اسناد و مانیتورینگ
- نیازمند به یادگیری یک زبان جدید نیست
- کاربران را قادر میسازد تا دانش را به راحتی با تیم به اشتراک بگذارند زیرا می توانند تمام درخواستها و پاسخهای مورد انتظار را بسته بندی کنند ، سپس به همکاران خود ارسال کنند.
با شروع از نسخه ۷.۲ در ژوئن ۲۰۱۹ ، Postman پشتیبانی خود را برای درخواست و طرح واره های GraphQL ، متغیرهای GraphQL و عملکرد خودکار تکمیل پرس و جو GraphQL گسترش داد.
وب سایت: https://www.getpostman.com
قیمت گذاری: رایگان – ۱۸ دلار /ماهانه
-
تست API با Tricentis Tosca
Tricentis Tosca یک سکوی آزمایش مداوم برای Agile و DevOps است. مزایای Tricentis Tosca شامل موارد زیر است:
- بسیاری از پروتکل ها را پشتیبانی می کند: HTTP (ها) JMS ، AMQP ، Rabbit MQ ، TIBCO EMS ، SOAP ، REST ، IBM MQ ، NET TCP
- در چرخه Agile و DevOps ادغام می شود
- استفاده مجدد و حفظ قابلیت را با استفاده از اتوماسیون تست مبتنی بر مدل به حداکثر برسانید
- تست های API را می توان در تلفن همراه ، مرورگر ، برنامه های بسته بندی شده و غیره استفاده کرد …
- اتوماسیون پایدار را با فناوری جدید بدست آورید
- زمان تست رگرسیون)تست پیش بینی) را کاهش دهید
- آزمایش تعاملی امکان اجرای تست دستی و نیز جمع آوری نتایج را بدون نیاز به پیکربندی محیط Tosca را برای مدیران آزمون فراهم می کند.
در آخرین نسخه ۱۳.۰ که در ژانویه سال ۲۰۲۰ به روز شد ، Tricentis Tosca از پیکربندی امنیت وب سرویس در مدیر اتصال API، پشتیبانی می کند. کاربران همچنین می توانند از گزینه امنیتی امضا برای امضای (Sign) بخش های مختلف پیام استفاده کنند. علاوه بر این ، Tosca 13.0 به آزمایش کنندگان این امکان را می دهد که فایل های را بطور دینامیکی با اتصال فایل در API Engine بخوانند و بنویسند.
وب سایت: www.tricentis.com
قیمت گذاری: نامشخص. پلن پیچیده
-
نرم افزار تست Apigee
Apigee نرم افزار تست API در فضای ابری است، که به کاربران امکان اندازه گیری و تست عملکرد API و همچنین امکان پشتیبانی و ساخت API را با استفاده از ویرایشگرهای دیگر مانند Swagger می دهد.
- این برنامه چند مرحله ای است و توسط Javascript طراحی شده است
- امکان API های scale، استقرار و بررسی فرایند طراحی را فراهم میکند
- مشکلات مربوط به عملکرد را با ردیابی ترافیک API ، نرخ خطا و زمان پاسخگویی مشخص کنید
- به راحتی پروکسی های API را از مشخصات Open API ایجاد کنید و آنها را در فضای ابری مستقر کنید
- مدل ابر ، پیش فرض یا مدل استقرار ترکیبی روی یک Base کد واحد
- PCI ، HIPAA ، SOC2 و PII برای برنامه ها و API ها
- Apigee برای تجارت دیجیتالی ساخته شده است ، و داده های غنی API های برنامه های مبتنی بر تلفن همراه از آن استفاده می کنند.
با شروع به کار با نسخه ۴.۱۹.۰۱ در فوریه ۲۰۱۹ ، Apigee انعطاف پذیری بیشتری را برای کاربران جهت مدیریت API های خود با ویژگی هایی مانند پشتیبانی Open API 3.0 ، امنیت TLS ، خوددرمانی با apigee-monit ، پیشرفت هایی در مدیریت میزبان مجازی و پشتیبانی بیشتر از نرم افزار فراهم می کند.
وب سایت: apigee.com
قیمت گذاری: ۲۵۰۰ دلار در ماه
-
نرم افزار Jmeter
با وجود اینکه برای آزمایش بار ساخته شده است، ابزار Jmeter منبع باز بطرز وسیعی برای تست API استفاده می شود.
- پشتیبانی از پخش مجدد نتایج آزمون
- به صورت خودکار با پرونده های CSV کار میکند ، به تیم اجازه می دهد تا به سرعت مقادیر پارامترهای منحصر به فرد را برای آزمایش های API ایجاد کنند.
- کاربران می توانند به لطف یکپارچه سازی نرم افزار JMeter و جنکینز ، از تست API در خطوط لوله CI استفاده کنند
- می تواند برای تست های عملکردی و استاتیک و همچنین منابع عملکرد پویا مورد استفاده قرار گیرد
از زمان انتشار آخرین نسخه در نوامبر ۲۰۱۹ ، JMeter 5.2 دارای چندین ویژگی و پیشرفت ، بهبود تجربه کاربری و بسیاری از رفع اشکالات مانند پروتکل جدید ، استخراج JMESPath ، پیشرفت های JDBC ، StringtoFile ، HTTP Samplers است.
وب سایت: jmeter.apache.org
قیمت گذاری: نامشخص
-
ابزار قدرتمند Rest-Assured
Rest-Assured یک زبان با دامنه اختصاصی جاوا و نیز منبع باز است که آزمایش سرویس REST را ساده تر می کند.
- دارای یک دسته از ویژگی ها و کارآیی های پخته شده ، به این معنی که کاربران لازم نیست همه چیز را از ابتدا کدگذاری کنند.
- بصورت یکجا با چارچوب اتوماسیون Serenity یکپارچه می شود ، به گونه ای که کاربران می توانند تست های UI و REST را در یک چهارچوب ترکیب کنند که گزارش های عالی را ایجاد می کند.
- پشتیبانی از BDD داده شده / زمان / سپس Syntax
- کاربران لزوماً نباید متخصص HTTP باشند
با شروع به کار از نسخه ۴.۰.۰ ، REST Assured به حداقل نسخه ی جاوا ۸ به جای نسخه ی جاوا ۶ که قبلا مورد نیاز بود، نیاز دارد. این نسخه همچنین پشتیبانی از آپاچی جانزون را اضافه کرده و بسیاری از مشکلات را با پشتیبانی اولیه OSGi برطرف کرده است. آخرین نسخه ۴.۱.۲ که در اکتبر ۲۰۱۹ اعلام شده است ، پشتیبانی از Java 13 و همچنین رفع برخی مشکلات با ماژول فرمت Kotlin را نیز به همراه داشت.
وب سایت: rest-assured.io
قیمت گذاری: نامشخص
- ابزار تست API اتوماتیک Assertible
Assertible ابزاری برای تست API است که متمرکز بر اتوماسیون میباشد.
- پشتیبانی از خودکارسازی آزمایش های API از طریق هر مرحلهی یک یکپارچه سازی مداوم و تحویل Pipeline.
- پشتیبانی از اجرای آزمایش های API پس از استقرار و ادغام آن با ابزارهای آشنایی مانند GitHub ، Slack و Zapier.
- پشتیبانی از اعتبارسنجی پاسخهای HTTP با Turn-Key assertions مانند اعتبار سنجی طرحواره JSON و بررسیهای صحت داده های JSON Path
- ویژگی Sync این امکان را به شما می دهد که آزمایش کنندگان هنگام تغییر مشخصات ، آزمایش های خود را به روز کنند ، بنابراین کاربران دیگر مجبور نیستند آزمایش های خود را پس از اضافه کردن پارامترهای جدید یا تغییر پاسخ API به روز کنند.
در اکتبر سال ۲۰۱۹ ، Assertible آخرین ویژگی به نام متغیرهای رمزگذاری شده را اضافه کرد. این ویژگی روشی جدید برای ذخیره توکن ها ، گذرواژهها و قسمتهای داده مخفی مورد نیاز آزمایشات برای بهبود روشهای امنیتی تست API را ارائه می دهد. متغیرهای رمزگذاری شده نه تنها برای استفاده اهمیت دارند بلکه برای ذخیره سازی ایمن از روش رمزنگاری صدا استفاده می کنند.
وب سایت: assertible.com
قیمت گذاری: رایگان – ۱۰۰ دلار در ماه
-
تست API با Karate DSL
Karate DSL ابزاری جدید برای تست API است که به ایجاد سناریو برای تست های BDD مبتنی بر API به روشی ساده و بدون نوشتن توصیف هر مرحله کمک می کند. این تعاریف توسط KarateDSL ایجاد شده است تا کاربران بتوانند آزمایش API را به سرعت شروع کنند.
- در بالای Cucumber-JVM میسازد
- می تواند یک تست را اجرا کند و گزارش هایی مانند هر پروژه استاندارد جاوا را تولید کند
- یک تست را می توان بدون نیاز به هیچ گونه دانش مربوط به جاوا، نوشت
- نوشتن تست ها حتی برای غیر برنامه نویسان ساده است
- پشتیبانی از تعویض یا مرحله بندی پیکربندی ، اجرای موازی و چند رشته ای
با شروع به کار نسخه ۰.۹.۳ ، رابط کاربری Karate دیگر بخشی از هسته ابزار منبع باز نیست بلکه یک مصنوع جداگانه Maven است. همچنین چیزی که در این نسخه گنجانده شده است پشتیبانی از WebSocket است که بر اساس قابلیت async است. در آخرین به روزرسانی رابط کاربری Karate 0.9.4 در ژوئیه ۲۰۱۹ ، Archetype Maven از JUnit 5 inst استفاده می کند
وب سایت: github.com/intuit/karate
قیمت گذاری: منبع باز
-
Swagger چیست؟
Swagger ابزاری برای تست API است که به کاربران اجازه می دهد درست از مشخصات Open API ، آزمایش عملکردی ، امنیتی و اجرایی خود را شروع کنند. ابزار Swagger و بستر (پلتفرم) آماده API ، امکان ایجاد سریع ، مدیریت و اجرای سریع آزمایش API در Pipeline را ساده تر می کند.
- بازرس Swagger امکاناتی را برای بازرسی از پاسخ های درخواست API فراهم می کند ، و اطمینان حاصل می کند که آنها مطابق آنچه انتظار می رود عمل کنند
- تعاریف (توصیف های) API کاربر را وارد کنید تا بتوانید قوانین Schema را به راحتی تأیید کنید ، به طور خودکار گمانه های مربوط به اند پوینت ایجاد کنید و داده های مصنوعی را به پارامترها تزریق کنید
- سناریوهای مربوط به بار پیچیده ای را برای آزمایش مقیاس و عملکرد API ایجاد کنید
- پشتیبانی از انواع خدمات از REST ، SOAP گرفته تا GraphQL
Open API Spec نسخه ۳.۰ در مارس ۲۰۱۹ با ویژگی جدید Swagger Hub Domains ارائه شد. با استفاده از این ویژگی ، توسعه دهندگان می توانند آبجکت هایی که به طور مرتب مورد استفاده هستند ، آیتم های مسیر و نیز پاسخ را دریافت کرده و آنها را در پرونده های جداگانه ذخیره کنند تا در چندین تعاریف مختلف API به آنها مراجعه شود. این دامنه های قابل استفاده مجدد می توانند برای بازخورد مشارکتی بین تیم های بزرگ نسخه سازی ، انتشار و نیز به اشتراک گذاشته شوند.
وب سایت: swagger.io
قیمت گذاری: منبع باز
بهترین نرم افزار تست API و وب سرویس ها ؟؟؟
نمیشه گفت کدوم ابزار بهترینه ! ما معتقدیم اگر می خواهید تست API را انجام دهید ، لیست فوق بهترین راه حل های موجود برای انجام این کار را به شما نمایش میدهد. با این حال ، مانند بسیاری از راه حل های موجود در این صنعت ، پیدا کردن یک ابزار ایده آل برای انجام همه کارها تقریبا غیرممکن است.
برخی ممکن است ویژگی های بازیگران تجاری (Postman ، Tricentis Tosca ، … ) برایشان کافی باشد ، اما هزینه های مالکیت، یک عامل محدود کننده است. راه حل های منبع باز (REST-Assured ، Karate DSL ، …) مقرون به صرفه هستند اما برای اجرای چارچوب های مناسب به منابع و تلاش با مهارتی نیاز دارند. ابزارهایی که به نظر می رسد تعادل نسبی میان هزینه و سایر عوامل دارند (Katalon studio ، Postman) ممکن است دارای اشکالاتی خاص در مورد انواع پروژه های خاص باشند که باید در نظر گرفته شوند.
تست API روند آزمایش خود را در اتوماسیون تثبیت کرده و ابزارهای بیشتری برای پاسخگویی به نیازهای رو به رشد تیم های توسعه نرم افزار ایجاد خواهد شد. پیدا کردن ابزار مناسب و کامل هنوز دشوار است ، اما درواقع خبر خوب این است که شما انتخاب های بیشتری نسبت به گذشته دارید. با توجه به نیازها ، جوانب مثبت و منفی هر راه حل را برای خود با دقت در نظر بگیرید – سعی کنید در مراحل اولیه خیلی بلندپرواز نباشید و ۵ گزینه برتر را از لیست بالا انتخاب و بررسی کنید. با POC برای این راه حل های ایجاد شده ، شما دانش بهتری در مورد عوامل مهم پروژه خود خواهید داشت و لیست کوتاه خود را دقیق تر تنظیم می کنید. این رویکرد شانس خوبی به شما می دهد، تا زمانی که از ابزاری مناسب برای وضعیت فعلی و اطلاعات موردنیاز در قدم بعدی و هنگامی که پروژه ی شما بالغ تر از گذشته است، استفاده کنید.
این مقاله آخرین بار در ژانویه سال ۲۰۲۰ اصلاح شد. ما به طور مرتب به روز رسانی آخرین ابزارهای برتر تست API و ویژگی های آنها را ادامه خواهیم داد. اگر پیشنهادی درباره محصولات آزمایش API دارید ، در بخش زیر نظر دهید!
اَپی اِکو اولین بازار API ایران