برخلاف سایر انواع برنامههای اندروید، برنامه Home API ملاحظات و چالشهای منحصر به فرد خود را دارد، از جمله وابستگی به دستگاههای فیزیکی خانه هوشمند، قابلیت اطمینان شبکه، امنیت و حریم خصوصی، و قابلیت همکاری دستگاه و پروتکل. این تفاوت ها در آزمایش تأثیر می گذارد.
محیط تست خود را تنظیم کنید
یک محیط تست قوی برای آزمایش یک برنامه Home API ضروری است.
این یک استراتژی خوب است که دستگاه های تست Home API خود را در یک شبکه Wi-Fi اختصاصی جدا کنید. این از تداخل سایر دستگاهها جلوگیری میکند و به شما امکان میدهد شرایط شبکههای مختلف مانند پهنای باند کاهش یافته را شبیهسازی کنید.
میخواهید با استفاده از انواع دستگاههای خانه هوشمند، از مجموعهای از تولیدکنندگان مختلف، آزمایش کنید. حتما با دستگاه های واقعی و فیزیکی تست کنید. دستگاههای مجازی و شبیهسازها جای خود را دارند، اما نباید به طور انحصاری به آنها اعتماد کرد.
به همین ترتیب، آزمایش برنامه خود با انواع دستگاههای Android از تولیدکنندگان مختلف، با ابعاد صفحهنمایش متفاوت، و اجرای نسخههای مختلف اندروید به تأیید سازگاری گستردهتر کمک میکند.
ابزار خود را جمع کنید
ابزارهای زیر برای آزمایش یک برنامه Home APIs مفید هستند:
ابزار | توضیحات |
---|---|
Google Home Plugin for Android Studio | دسترسی به Google Assistant Simulator ، Home Graph Viewer، Google Cloud Logging و نمایشگر Log Debug Bridge (adb) Android را فراهم می کند. |
Google Home Playground | جایگزینی برای آزمایش با دستگاه های فیزیکی واقعی نیست، اما برای بسیاری از سناریوهای آزمایش بسیار ارزشمند است. |
Matter Virtual Device (MVD) | یکی دیگر از برنامه های شبیه سازی که می تواند هنگام آزمایش با دستگاه های Matter در برنامه Home APIs مفید باشد. |
اسپرسو | به شما امکان میدهد تست UI را خودکار کنید. برای شبیه سازی فعل و انفعالات سخت افزاری باید API زیرین را مسخره کنید. |
شبیه ساز شبکه | به شما امکان میدهد شرایط مختلف شبکه و پاسخهای API را شبیهسازی کنید، که مخصوصاً اگر Home API شما از پشتیبان ابری استفاده میکند مفید است. |
Android Studio Logcat | کنترل و تجزیه و تحلیل داده های ورود به سیستم. |
روشها و استراتژیهای مختلف تست را اعمال کنید
شما باید روشهای آزمایشی مختلفی را برای برنامه Home API خود اعمال کنید. برای اطلاعات کلی درباره روشهای مختلف، به تست برنامهها در Android مراجعه کنید. علاوه بر تجربه کاربری و تست امنیتی که انتظار میرود همه برنامههای اندرویدی تحت آن قرار بگیرند، برخی از حوزههای آزمایش بهویژه برای برنامههای Home API مرتبط هستند و در بخشهای بعدی با جزئیات بیشتر مشخص شدهاند.
تست عملکردی
بسته به قابلیت های برنامه خود، ممکن است بخواهید به برخی از زمینه های زیر توجه ویژه ای داشته باشید:
- کشف و جفتسازی دستگاه، از جمله راهاندازی اولیه و جفتسازی با دستگاههای جدید، کشف مجدد دستگاههای موجود پس از راهاندازی مجدد برنامه، راهاندازی مجدد دستگاه یا تغییرات شبکه. همچنین سناریوهایی مانند دستگاههایی که پاسخگو نیستند یا کاربری که اعتبارنامههای نادرست وارد میکند را بررسی کنید.
- همگام سازی وضعیت، اطمینان از اینکه برنامه به روز می شود تا وضعیت فعلی را به موقع منعکس کند.
- چگونه مجوزها مدیریت و اجرا می شوند، به خصوص اگر برنامه شما از چندین کاربر یا دسترسی به خانه مشترک پشتیبانی می کند. این شامل تأیید این است که برنامه شما بهخوبی مجوزهای لغو شده را کنترل میکند.
- اگر برنامه شما از صحنههایی پشتیبانی میکند، مانند صحنه «شب بخیر» که همه چراغها را خاموش میکند، ایجاد صحنه، اصلاح و اجرا را آزمایش کنید. تست اتوماسیون، از جمله استارت ها و اکشن ها.
تست عملکرد
بررسی کنید که برنامه شما پاسخگو باشد و تاخیر غیرضروری ایجاد نکند. در صورت امکان، با تعداد زیادی دستگاه تست کنید تا مقیاس پذیری و عملکرد برنامه شما در زمان بارگذاری را ارزیابی کنید. همچنین به CPU، حافظه و مصرف باتری برنامه خود، به ویژه در هنگام ارتباط فعال دستگاه، نگاه کنید تا ببینید آیا استفاده آن از منابع معقول است یا خیر.
تست قابلیت اطمینان و پایداری
به دلیل وابستگی آنها به اتصال شبکه، برنامه های Home API باید در برابر سناریوهای زیر آزمایش شوند:
- نوسانات شبکه
- قطع شدن وای فای، سیگنال های ضعیف و سوئیچینگ شبکه را شبیه سازی کنید.
- بررسی کنید که برنامه شما قطع و وصل مجدد را به خوبی انجام می دهد.
- بررسی کنید که هنگام بازیابی اتصال، دستورات در صف قرار می گیرند و اجرا می شوند، یا پیام های خطای مناسب ارائه دهید.
- برنامه را از شبکه های راه دور تست کنید، نه فقط از شبکه خانگی.
- قطع شدن دستگاه
- دستگاه ها را به صورت فیزیکی جدا کنید.
- دستگاه های چرخه برق
- عملیات همزمان
- یک توالی سریع از دستورات را ارسال کنید.
- از چندین کاربر بخواهید که به طور همزمان یک دستگاه را کنترل کنند.
- صحنه های همپوشانی و اتوماسیون ها را آزمایش کنید.
- رسیدگی به خطا
- برای مثال، با تمسخر پاسخهای سرور API ابری، خطاهای API را اجبار کنید.
- ورودی نامعتبر کاربر را آزمایش کنید.
- پیامهای خطا و پیامهای خطای آموزنده را تأیید کنید.
- قابلیت اطمینان - برنامه و دستگاه های متصل را برای مدت طولانی اجرا کنید تا نشت حافظه احتمالی یا مشکلات پایداری را کشف کنید.