برخلاف سایر انواع برنامههای iOS، برنامه Home API ملاحظات و چالشهای منحصر به فرد خود را دارد، از جمله وابستگی به دستگاههای فیزیکی خانه هوشمند، قابلیت اطمینان شبکه، امنیت و حریم خصوصی، و قابلیت همکاری دستگاه و پروتکل. این تفاوت ها در آزمایش تأثیر می گذارد.
محیط تست خود را تنظیم کنید
یک محیط تست قوی برای آزمایش یک برنامه Home API ضروری است.
این یک استراتژی خوب است که دستگاه های تست Home API خود را در یک شبکه Wi-Fi اختصاصی جدا کنید. این از تداخل سایر دستگاهها جلوگیری میکند و به شما امکان میدهد شرایط شبکههای مختلف مانند پهنای باند کاهش یافته را شبیهسازی کنید.
میخواهید با استفاده از انواع دستگاههای خانه هوشمند، از مجموعهای از تولیدکنندگان مختلف، آزمایش کنید. حتما با دستگاه های واقعی و فیزیکی تست کنید. دستگاههای مجازی و شبیهسازها جای خود را دارند، اما نباید به طور انحصاری به آنها اعتماد کرد.
به همین ترتیب، آزمایش برنامه خود با انواع دستگاههای iOS از چندین سازنده، با ابعاد صفحهنمایش متفاوت، و اجرای نسخههای مختلف iOS به تأیید سازگاری گستردهتر کمک میکند.
ابزار خود را جمع کنید
ابزارهای زیر برای آزمایش یک برنامه Home APIs مفید هستند:
ابزار | توضیحات |
---|---|
Google Home Playground | جایگزینی برای آزمایش با دستگاه های فیزیکی واقعی نیست، اما برای بسیاری از سناریوهای آزمایش بسیار ارزشمند است. |
Matter Virtual Device (MVD) | یکی دیگر از برنامه های شبیه سازی که می تواند هنگام آزمایش با دستگاه های Matter در برنامه Home APIs مفید باشد. |
شبیه ساز شبکه | به شما امکان میدهد شرایط مختلف شبکه و پاسخهای API را شبیهسازی کنید، که مخصوصاً اگر Home API شما از پشتیبان ابری استفاده میکند مفید است. |
TestFlight | به شما امکان میدهد تست UI را خودکار کنید. برای شبیه سازی فعل و انفعالات سخت افزاری باید API زیرین را مسخره کنید. |
کنسول XCode | کنترل و تجزیه و تحلیل داده های ورود به سیستم. |
XCUIA اتوماسیون | به شما امکان میدهد تست UI را خودکار کنید. برای شبیه سازی فعل و انفعالات سخت افزاری باید API زیرین را مسخره کنید. |
روشها و استراتژیهای مختلف تست را اعمال کنید
شما باید روشهای آزمایشی مختلفی را برای برنامه Home API خود اعمال کنید. برای اطلاعات کلی درباره روشهای مختلف، به تست برنامهها در TestFlight مراجعه کنید. علاوه بر تجربه کاربری و تست امنیتی که انتظار میرود همه برنامههای iOS تحت آن قرار بگیرند، برخی از حوزههای آزمایش بهویژه برای برنامههای Home API مرتبط هستند و در بخشهای بعدی با جزئیات بیشتر مشخص شدهاند.
تست عملکردی
بسته به قابلیت های برنامه خود، ممکن است بخواهید به برخی از زمینه های زیر توجه ویژه ای داشته باشید:
- کشف و جفتسازی دستگاه، از جمله راهاندازی اولیه و جفتسازی با دستگاههای جدید، کشف مجدد دستگاههای موجود پس از راهاندازی مجدد برنامه، راهاندازی مجدد دستگاه یا تغییرات شبکه. همچنین سناریوهایی مانند دستگاههایی که پاسخگو نیستند یا کاربری که اعتبارنامههای نادرست وارد میکند را بررسی کنید.
- همگام سازی وضعیت، اطمینان از اینکه برنامه به روز می شود تا وضعیت فعلی را به موقع منعکس کند.
- چگونه مجوزها مدیریت و اجرا می شوند، به خصوص اگر برنامه شما از چندین کاربر یا دسترسی به خانه مشترک پشتیبانی می کند. این شامل تأیید این است که برنامه شما بهخوبی مجوزهای لغو شده را کنترل میکند.
- اگر برنامه شما از صحنههایی پشتیبانی میکند، مانند صحنه «شب بخیر» که همه چراغها را خاموش میکند، ایجاد صحنه، اصلاح و اجرا را آزمایش کنید. تست اتوماسیون، از جمله استارت ها و اکشن ها.
تست عملکرد
بررسی کنید که برنامه شما پاسخگو باشد و تاخیر غیرضروری ایجاد نکند. در صورت امکان، با تعداد زیادی دستگاه تست کنید تا مقیاس پذیری و عملکرد برنامه شما در زمان بارگذاری را ارزیابی کنید. همچنین به CPU، حافظه و مصرف باتری برنامه خود، به ویژه در هنگام ارتباط فعال دستگاه، نگاه کنید تا ببینید آیا استفاده آن از منابع معقول است یا خیر.
تست قابلیت اطمینان و پایداری
به دلیل وابستگی آنها به اتصال شبکه، برنامه های Home API باید در برابر سناریوهای زیر آزمایش شوند:
- نوسانات شبکه
- قطع شدن وای فای، سیگنال های ضعیف و سوئیچینگ شبکه را شبیه سازی کنید.
- بررسی کنید که برنامه شما قطع و وصل مجدد را به خوبی انجام می دهد.
- بررسی کنید که هنگام بازیابی اتصال، دستورات در صف قرار می گیرند و اجرا می شوند، یا پیام های خطای مناسب ارائه دهید.
- برنامه را از شبکه های راه دور تست کنید، نه فقط از شبکه خانگی.
- قطع شدن دستگاه
- دستگاه ها را به صورت فیزیکی جدا کنید.
- دستگاه های چرخه برق
- عملیات همزمان
- یک توالی سریع از دستورات را ارسال کنید.
- از چندین کاربر بخواهید که به طور همزمان یک دستگاه را کنترل کنند.
- صحنه های همپوشانی و اتوماسیون ها را آزمایش کنید.
- رسیدگی به خطا
- برای مثال، با تمسخر پاسخهای سرور API ابری، خطاهای API را اجبار کنید.
- ورودی نامعتبر کاربر را آزمایش کنید.
- پیامهای خطا و پیامهای خطای آموزنده را تأیید کنید.
- قابلیت اطمینان - برنامه و دستگاه های متصل را برای مدت طولانی اجرا کنید تا نشت حافظه احتمالی یا مشکلات پایداری را کشف کنید.