تست های UI را خودکار کنید

آزمایش تعاملات کاربر کمک می‌کند تا اطمینان حاصل شود که کاربران هنگام تعامل با برنامه شما با نتایج غیرمنتظره مواجه نمی‌شوند یا تجربه ضعیفی ندارند. اگر نیاز به بررسی درستی عملکرد رابط کاربری برنامه خود دارید، باید عادت به ایجاد تست های رابط کاربری (UI) کنید.

یکی از روش‌های تست رابط کاربری این است که آزمایشگر انسانی مجموعه‌ای از عملیات کاربر را روی برنامه مورد نظر انجام دهد و بررسی کند که آیا درست عمل می‌کند. با این حال، این رویکرد دستی می تواند زمان بر و مستعد خطا باشد. یک رویکرد کارآمدتر این است که آزمایش‌های رابط کاربری خود را بنویسید تا اقدامات کاربر به روشی خودکار انجام شود. رویکرد خودکار به شما امکان می دهد تست های خود را سریع و قابل اعتماد به روشی تکرار شونده اجرا کنید.

آزمایش‌های رابط کاربری یک برنامه (یا بخشی از آن) را راه‌اندازی می‌کنند، سپس تعاملات کاربر را شبیه‌سازی می‌کنند و در نهایت بررسی می‌کنند که آیا برنامه واکنش مناسبی نشان داده است. آن‌ها تست‌های یکپارچه‌سازی هستند که می‌توانند از تأیید رفتار یک مؤلفه کوچک تا یک آزمایش ناوبری بزرگ که یک جریان کاربر کامل را طی می‌کند، متغیر باشد. آنها برای بررسی رگرسیون ها و تأیید سازگاری با سطوح مختلف API و دستگاه های فیزیکی مفید هستند.

تست های UI را اجرا کنید

  • برای اجرای تست‌های UI ابزاردار با استفاده از Android Studio، کد آزمایشی خود را در یک پوشه تست Android جداگانه پیاده‌سازی می‌کنید - src/androidTest/java . پلاگین Android Gradle یک برنامه آزمایشی را بر اساس کد آزمایشی شما ایجاد می کند، سپس برنامه آزمایشی را در همان دستگاهی که برنامه مورد نظر قرار دارد بارگیری می کند. در کد آزمایشی خود، می‌توانید از چارچوب‌های تست رابط کاربری برای شبیه‌سازی تعاملات کاربر در برنامه هدف استفاده کنید تا کارهای آزمایشی را که سناریوهای استفاده خاصی را پوشش می‌دهند، انجام دهید.
  • همچنین می‌توانید از Robolectric برای اجرای آزمایش‌های UI در JVM استفاده کنید.

معماری و راه اندازی تست

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

تولید و آزمایش نمودارهای معماری. نمودار تولید، منابع داده محلی و راه دور را نشان می دهد که داده ها را به مخزن ارائه می دهند، که به نوبه خود آن را به صورت ناهمزمان در UI ارائه می کند. نمودار تست یک مخزن جعلی را نشان می دهد که داده های خود را به طور همزمان در UI ارائه می دهد.
شکل 3 : آزمایش یک UI با جایگزینی وابستگی های آن با جعلی.

رویکرد توصیه شده برای جایگزینی وابستگی ها تزریق وابستگی است. شما می توانید سیستم خود را به صورت دستی ایجاد کنید، اما توصیه می کنیم از یک چارچوب DI مانند Hilt برای این کار استفاده کنید.

چرا UI ها را به صورت خودکار آزمایش کنیم؟

یک برنامه Android می‌تواند هزاران دستگاه مختلف را در بسیاری از سطوح API و فاکتورهای شکل مورد هدف قرار دهد، و سطح بالای سفارشی‌سازی که سیستم‌عامل برای کاربر به ارمغان می‌آورد به این معنی است که برنامه شما ممکن است نادرست رندر شود یا حتی در برخی دستگاه‌ها خراب شود.

تست UI به شما امکان می‌دهد تست سازگاری انجام دهید و رفتار یک برنامه را در زمینه‌های مختلف تأیید کنید. ممکن است بخواهید آزمایش‌های رابط کاربری خود را روی دستگاه‌هایی اجرا کنید که به روش‌های زیر متفاوت هستند:

  • سطح API : 21، 25، و 30.
  • محل : انگلیسی، عربی، و چینی.
  • جهت : پرتره، منظره.

علاوه بر این، برنامه ها باید رفتار فراتر از تلفن ها را بررسی کنند. باید روی تبلت ها، تاشوها و سایر دستگاه ها تست کنید. درباره آزمایش اندازه های مختلف صفحه نمایش بیشتر بخوانید.

انواع تست های رابط کاربری

این بخش دو نوع تست UI را پوشش می دهد:

  • آزمون‌های رفتار سلسله مراتب UI را تجزیه و تحلیل می‌کنند تا در مورد ویژگی‌های عناصر UI اظهارنظر کنند.
  • تست های اسکرین شات از یک رابط کاربری اسکرین شات می گیرند و آن ها را با تصاویر تایید شده قبلی مقایسه می کنند.