یک آزمایش UI دیگر نیست: چگونه آزمایش API-First خط لوله ما را نجات داد

اگر تا به حال روز جمعه یک Hotfix را تحت فشار قرار داده اید ، فقط پنج دقیقه بعد گزارش اشکال را دریافت کرده اید … درد آزمایش موبایل را می دانید.
بین تست های UI پوسته پوسته ، تأخیر در شبیه ساز و عجیب و غریب خاص دستگاه ، آزمایش اغلب مانند حدس و گمان احساس می شود.
ما چیزی تمیزتر می خواستیم و دریافتیم که تست موبایل API محور بازی را تغییر می دهد.
چرخه درد آزمایش موبایل
- شبیه سازانی که در بدترین زمان سقوط می کنند
- تست هایی که به صورت محلی می گذرد اما در CI شکست می خورند
- نوشتن اسکریپت های تست UI شکننده که در هر ترفند UI شکسته می شوند
- ساعت ها در انتظار ساخت دستگاه برای پایان دادن به صدا آشنا هستند؟
فهمیدیم که باید راه بهتری وجود داشته باشد – و وجود دارد.
آزمایش موبایل API محور چیست؟
به جای اینکه فقط به جریان های UI تکیه کنیم ، شروع به ایجاد رفتار برنامه تلفن همراه از طریق API ها در طول CI کردیم. این به ما داد:
- کنترل بیشتر بر اجرای آزمون
- توانایی پرش از UI در صورت لزوم
- اتوماسیون واقعی در بین دستگاه ها ، حتی بدون UI
به نظر می رسد ، شما نیازی به “دیدن” برنامه برای دانستن این کار ندارید – فقط باید مسیرهای مناسب را سریع آزمایش کنید.
چگونه ما آن را در CI/CD پختیم
- ما یک لایه آزمایش API سبک را در خط لوله موجود خود ادغام کردیم.
- ما از ابزاری استفاده کردیم که به ما اجازه می دهد:
- تست ها را در دستگاه های واقعی ، از راه دور اجرا کنید
- گردش کار از اقدامات GitHub
- از طریق Webhook نتایج دریافت کنید
- از اسکریپت های شبیه ساز استفاده کنید
این تقریباً بدون دردسر به خط لوله ما وصل شد و ما هرگز به عقب نگاه نکردیم.
چرا این رویکرد کار می کند
- کمتر پوسته پوسته شدن
- بازخورد سریعتر
- در انواع دستگاه کار می کند
- مقیاس آسان
از همه مهمتر ، این امکان را به ما می دهد تا بدون شکستن چیزها سریع حرکت کنیم.
آنچه ما استفاده کردیم
ما چند مورد را امتحان کردیم ، اما با استفاده از ابزارهایی مانند NativeBridge (ارزان ترین) ، اشتها ، مرورگر و لامبدا که باعث ایجاد یکپارچه سازی API می شود ، پایان دادیم. بدون نصب SDK ، بدون تنظیم سنگین – فقط اجرای تست تمیز که توسط API انجام می شود.
ما قصد نداشتیم کل استراتژی تست خود را تغییر دهیم ، اما یک بار که به طور طبیعی اتفاق افتاد ، وقتی دیدیم که چقدر پایدار و مقیاس پذیر است.
فکر نهایی
نیازی به بازنویسی کل مجموعه تست خود نیست.
فقط به دنبال مکانهایی باشید که چک های محور API می توانند جایگزین کتابهای دستی شوند-و کوچک شروع کنند.
این به معنای مرسوم بودن نیست – این در مورد عدم سوزاندن تیم DEV شما برای حفظ کد تست پوسته پوسته است.