یکشنبه , ۱۸ آذر ۱۴۰۳

API Testing

API Testing-Roundel
API Testing-Roundel

مقوله API Testing که واژه API آن به اختصار از عبارت “رابط برنامه‌نویسی اپلیکیشن”(Application Programming Interface) منشعب شده، یک شاخه در تست نرم‌افزار است که در آن تائید صورت گرفته در عملیات تست، در سطح API صورت می‌گیرد. این تست بخشی از آزمون یکپارچگیست(Integration Testing) که به وسیله آن مشخص می‌شود، آیا APIها نیازمندی‌ها و انتظارات تیم تست‌، تیم توسعه و مشتریان را در مورد Functionality، Stability، Performance و Security برآورده می‌سازند یا خیر. برخلاف UI Testing، تستِ API در سطح درخواست‌ها(Requestها) و دریافت‌های وب سرویس بوده و بدون UI گرافیکی (GUI) صورت می‌گیرد.

به طور کلی دو دسته از وب‌سرویس‌ها برای API وب وجود دارند که اختصارا SOAP و REST نامیده می‌شوند. SOAP که اختصاری برای عبارت “پروتکل دسترسی شیء ساده”(Simple Object Access Protocol) است یک پروتکل استاندارد محسوب می‌شود که به وسیله استانداردهای W3C برای ارسال و دریافت درخواست‌ها و پاسخ‌های سرویس‌های وب مورد استفاده قرار می‌گیرد. REST نیز که اختصاری برای عبارت “انتقال حالت بازنمایانه” (REpresentational State Transfer) است یک معماری مبتنی بر استانداردهای وب برای استفاده از HTTP محسوب می‌شود.

در این دوره قصد داریم تا علاوه بر مفاهیم مربوط به APIها و منطق تست API با ۳ دسته از مهمترین نرم افزارهای مربوط به حوزه API Level Testing نیز اشنا شده و به صورت Practical  کار با آنها را فرا بگیریم:

SoapUI: این ابزار منبع باز(Open Source) از سال ۲۰۰۶ تاکنون در اختیار تیم‌های توسعه نرم افزار بوده است که با استفاده از آن می‌توانند پروتکل‌هایی همچون SOAP یا REST را به سادگی تست نمایند.

Postman: این ابزار جهت تست RESTful API ابتدا به صورت پلاگینی برای مرورگر گوگل کروم به بازار عرضه شد اما در ادامهٔ راه به نرم‌افزاری تخصصی برای لینوکس، ویندوز و مکینتاش تبدیل شد تا در اختیار تیم‌های توسعه و تست قرار گیرد. این ابزار در دو ورژن رایگان و پولی در دسترس است.

Burp Suit: نرم افزاری بسیار قوی جهت تست انواع APIهاست، که می‌توان با استفاده از آن انواع تغییرات را روی Header و یا Body انواع APIها ایجاد نموده و به راحتی نتیجه را مشاهده کرد. اگر چه این نرم‌افزار قدرتمند، محبوب قلب‌های تسترهای Security می‌باشد، لکن امکاناتی که در اختیار قرار می‌دهد می‌تواند بسیار به تیم‌های تست کمک کننده باشد.

نکته مثبت این کارگاه مانند تمام کارگاه‌های برگزار شده در تیستن این است، که تمامی پیشنیازهای آن نیز توسط مدرس تدریس می‌شود. پس می‌توانید بدون نگرانی از ضعف در پیشنیازها در این کارگاه شرکت نمایید.

انواع برگزاری: حضوری/مجازی آنلاین

برگزاری‌های مختلف این دوره: لیست ادوار

وضعیت ثبت نام: فعلا ندارد(مجددا برگزار خواهد شد)

  • رئوس مطالب
  • مدت
  • پیشنیاز
  • مخاطبین رویداد
  • انتظارات پس از رویداد
  • ملاحظات مهم
  • مدرس/سخنران

رئوس مطالب ارائه شده در رابطه با Performance Testing با استفاده از WPLT عبارتند از:

  • پیشنیازها
    • Web Service(for performance Test): آشنایی با وب سرویس های کلاینت و سرور
    • HTTP Methods and Errors: مرور تمامی API ها به همراه خطاهای مربوطه
    • API level test Concept: آشنایی با مفهوم API level Test
  • Burp
    • Installation and certificate: نصب و راه اندازی Burp
    • Set Proxy in all Browser: تنظیم پروکسی در مرورگر
    • Reapeter
    • Intruder
    • Extentions
    • scanner
    • Decoder
  • Postman
    • Installation and Introduction: نصب و راه‌اندازی و مقدمه
    • Working with Postman(Rest API): کار با Postman روی Rest API
    • Validation and Variables: متغیرها و اعتبارسنجی
    • Work Flow and Data Driven Test
    • Capture APIs in Postman
    • Working with Postman(Soap API): کار با Postman روی Soap API
  • SoapUI
    • Installation and Introduction: نصب و راه‌اندازی و مقدمه
    • SOAP APIs in SOAP UI
    • Rest APIs in SOAP UI
    • Assertions
    • Corelation
    • Data source

این دوره در سری اول به صورت ۴۰ ساعته برگزار شد، اما برای سری دوم به بعد به دلیلی حجم بالای مطالب به ۳۶ ساعت تقلیل یافت.

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

  • هر کسی که تمایل دارد API Testing و ابزارهای محبوب آنرا به صورت گام به گام از ابتدا فرا بگیرد
  • رهبران تست
  • مدیران تست
  • مهندسین کنترل کیفیت نرم افزار

در انتهای این دوره دانش‌پژوهان توانمندی‌های زیر را کسب می‌کنند:

  • آشنایی با وب سرویس و انواع API ها
  • یادگیری تکنیک‌ها و طریقه تست API در فاز تست یکپارچگی- Integration Test به صورت کاملا عملیاتی
  • کار عملیاتی با ابزار های مربوط به تست API مشتمل بر Postman، Burp Suite و SoapUI

آنچه باید داشته باشید

  • برخورداری از اکانت اسکایپ. این دوره در بستر اسکایپ برگزار می‌شود.
  • داشتن یک دستگاه لپتاپ، با حداقل مشخصات سخت افزاری که توانایی بارگذاری سریع Windows 10، مرورگر Chrome، Firefox، Edge، و IE.
  • آموزش الزاما باید در بستر یک OS انجام شود، که در این میان Windows 10 انتخاب شده است. لذا شرکت کنندگان الزاما باید دارای یک سیستم Windows 10 باشند، و باقی OSها در زمان آموزش توسط مدرس پشتیبانی نخواهند شد.

امکانات دوره

  • اجازه صدابرداری و Capture کردن صفحه مانیتور دانش‌پژوه توسط خود وی وجود دارد. اما دانش پژوه به لحاظ اخلاقی و حرفه‌ای مجاز به انتشار فیلم ضبط شده نخواهد بود.
  • در صورتی که دانش‌پژوه در حین برگزاری دوره دچار یک مشکل عملیاتی در راستای آموزش شود، مدرس دوره با استفاده از نرم‌افزار AnyDesk به سیستم دانش‌پژوه متصل شده و در صورت امکان مشکل را رفع می‌نماید.

استرداد وجه

  • پس از تهیه بلیت و پرداخت وجه، امکان مرجوعی بلیت وجود ندارد. لطفا در خرید خود دقت فرمایید.
  • در صورتیکه کارگاه به هر دلیلی لغو شود، که مقصر آن ثبت نام کنندگان نباشند، وجه ثبت نام به طور کامل و بدون کم و کاست، حداکثر ظرف ۴۸ ساعت به شماره کارت ثبت نام کننده مسترد شده و واریز می‌گردد.

محدودیت‌های برگزاری دوره

  • کارگاه راس ساعت آغاز می‌گردد، حتی اگر فقط یک نفر از ثبت نام شدگان در کلاس حضور داشته باشد. لذا خواهشمند است راس ساعت و یا کمی قبلتر از آن در جلسه کارگاهی حضور یابید.

مطول شدن برگزاری دوره

  • بسته به شرایط برگزاری از جمله پرسش و پاسخ زیاد، یا عدم برگزاری برخی از کلاس‌ها به دلیل رویدادهای فورس ماژور، احتمالا اینکه دوره از ۳۲ ساعت فراتر رود، و یا روزهایی به عنوان جایگزین به علت رویدادهای فورس ماژور در نظر گرفته شود وجود دارد. به هر حال در هیچ یک از موارد هزینه اضافه‌ای شامل حال دانشپژوهان نخواهد شد.

Ebrahimi

  • دارای مدرک ISTQB
  • مدیر کنترل کیفیت نرم افزار

آموزش