سرام-گرافیک

آزمون خودکار رابط کاربری

علی صلواتی

تست رابط کاربری (UI) به شما این امکان را می‌دهد تا اطمینان حاصل کنید برنامه شما مطابق با الزامات عملکردی آن است و به کیفیت بالایی دست می‌یابد، به طوری که احتمال اینکه توسط کاربران پذیرفته شود بیشتر باشد.

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

توجه: توصیه می‌شود از اندروید استودیو برای ساخت برنامه‌های تستی خود استفاده کنید، زیرا اقداماتی مانند تنظیم پروژه، افزودن کتابخانه و پکیجینگ ساده را فراهم کرده است. در اینجا  فرض می‌کنیم از اندروید استودیو استفاده می‌کنید.

جهت تست خودکار UI با اندروید استودیو کد تست خود را در یک پوشه جداگانه (src/androidTest/java) اجرا کنید. افزونه Android Plug-in برای Gradle یک برنامه آزمایشی بر اساس کد تستی شما ایجاد می‌کند و سپس برنامه آزمایشی را در همان دستگاه به عنوان برنامه هدف بارگذاری می‌کند. در کد تست می‌توانید از چارچوب آزمون UI (UI testing frameworks) برای شبیه‌سازی فعالیت‌های کاربر در برنامه هدف استفاده کنید تا کارهای تست را که شامل سناریوهای استفاده خاص است انجام دهید.

برای آزمایش برنامه‌های اندروید، معمولاً این نوع از آزمون‌های خودکار UI را می‌توان ایجاد کرد:

·         آزمون‌های UI که یک برنامه واحد را شامل می‌شود: این نوع از تست تأیید می‌کند که آیا برنامه هدف زمانی که یک کاربر یک اقدام خاص انجام می‌دهد و یا یک ورودی را در اکتیویتی‌های آن وارد می‌کند به گونه‌ی پیش‌بینی شده رفتار می‌کند یا خیر. این به شما اجازه می‌دهد بررسی کنید که آیا برنامه هدف خروجی UI صحیح را در تعاملات کاربر با اکتیویتی‌های برنامه باز می‌گرداند یا خیر. چارچوب‌های تست UI مانند اسپرسو (Espresso) این امکان را به شما می‌دهد تا به صورت برنامه‌نویسی اقدامات کاربر را شبیه‌سازی کرده و پیچیدگی‌های تعاملات کاربر را درون برنامه آزمایش کند.

·         آزمون‌های UI که برنامه‌های متعددی را شامل می‌شود: این نوع از تست رفتار صحیح تعاملات بین برنامه‌های مختلف کاربر، یا بین برنامه‌های کاربر با برنامه‌های سیستم را بررسی می‌کند. برای مثال، ممکن است بخواهید بررسی کنید که آیا دوربین تصاویر را با یک برنامه شبکه اجتماعی یا با برنامه Android Photos به درستی به اشتراک می‌گذارد یا خیر. چارچوب تست UI که از تعاملات متقابل برنامه مانند UI Automator پشتیبانی می‌کند به شما این امکان را می‌دهد که تست‌هایی برای چنین سناریوهایی ایجاد کنید.