ماهیت توسعه اپلیکیشن همیشه در حال تکامل است. استقرار یک تغییر جدید در نرمافزار همیشه خطرناک است. اینکه در طول مسیر به طور تصادفی به مشکلاتی برخورد کنیم بسیار محتمل است، و اگر مراقب نباشید چنین چیزی میتواند به خرابی و از کار افتادن سیستم منجر شود. ترفندی که میتوان در این رابطه داشت این است که برای جلوگیری از …
ادامه نوشته »ابوالفضل خواجه دیزجی
اتخاذ رویکرد “مدل هرمی تست”
Pyramid Model تعداد زیادی از پروژهها و تیمهای توسعه با چالش در اختیار داشتن یک تعداد منبع ویژه ًَQA درگیر هستند. در این حالت به طور میانگین یک تستر به پنج توسعهدهنده در هر تیم تخصیص داده میشود. همانطور که پروژهها با سرعت تحویل میشوند، با تغییر نیازمندیهای پروژه، منابع QA نیز بیش از پیش ارزشمند میشوند. هنوز هم بسیاری …
ادامه نوشته »آموزش Robolectric-قسمت چهارم: اولین تست خود را بنویسید
فرض کنیم شما یک Activity Layout دارید که صفحه Welcome را به شما نشان میدهد: ما قصد داریم تستی بنویسیم که نشان میدهد هنگامی که یک کاربر بر روی یک دکمه کلیک میکند، برنامه LoginActivity راهاندازی میشود. برای تست کردن چنین چیزی، میتوانیم چک کنیم زمانی که یک کاربر بر روی دکمه “Login” کلیک میکند، کار درستی را آغاز کنیم. …
ادامه نوشته »زنجیره ابزاری DevOps برای Continuous Testing
در یکی از مقالات خود با عنوان چرا در DevOps به Continuous Testing نیاز دارید علل اصلی پیوند ناگسستنی DevOps و Continuous Testing را ذکر کردیم. اما در انتهای مقاله ذکر کردیم که اتوماسیون تست باید با خط تحویل نرمافزار و زنجیره ابزار DevOps ادغام شده و یکپارچه شود. در این مقاله میخواهیم درباره یک زنجیره ابزاری مناسب در DevOps صحبت کنیم. تصویر …
ادامه نوشته »آموزش Robolectric-قسمت سوم: استفاده از Robolectric با دیگر محیطهای Build
Android Studio + Gradle – AGP < 3.0 در نسخههای قبلی شما باید فیلد ‘constants’ که به ‘BuildConfig.class’ تولید شده توسط Gradle اشاره میکند را مشخص کنید. Robolectric از constants در کلاس برای محاسبه مسیرهای خروجی مورد استفاده Gradle هنگام ساختن پروژه، بهره میگیرید. بدون این مقادیر، Robolectric قادر نخواهد بود Manifest، Resourceها و Assetهای Merg شده را پیدا کند. این کار …
ادامه نوشته »چرا در DevOps به Continuous Testing نیاز دارید
فرایند Agile در مورد استفاده از چرخههای توسعه کوتاه و انعطافپذیر برای پاسخ سریع به نیازهای مشتری است. انجام چنین کاری در این روزها به طور موثر شامل ساخت خط(Piplene) نرمافزار DevOps است تا به سرعت نرمافزار با کیفیت بالا را به دست مشتریان خود رسانده و بازخورد دریافت کند. اغلب پروژههای DevOps با اتخاذ شیوه Continuous Integration-CI(یکپارچهسازی مداوم) آغاز میشوند، …
ادامه نوشته »آموزش Robolectric-قسمت دوم: آغاز
Robolectric با Gradle یا Bazel بهتر کار میکند. اگر شما یک پروژه جدید شروع کردهاید، اول Gradle را توصیه میکنیم(از آنجایی که Gradle همان Build System انتخابی در Android Studio است) و دوم Bazel را. هر دو محیط پشتیبانی First Class برای Robolectric را ارائه میدهند. اگر از Build System دیگری استفاده میکنید، ببینید محیطهای دیگر چگونه پیکربندی میشوند و یا …
ادامه نوشته »یک روش بهتر برای گزارش نتایج تست Performance
گزارشدهی موثر از نتایج تست یکی از فوتهای کوزهگری حرفه ماست. اگر به درستی انجام شود، کیفیت پروژه را بهبود میبخشد و ما را برای تمرکز روی مسائل واقعی کمک میکند. اما اگر بدرستی انجام نشود، باعث سردرگمی شده و ارزش کار تسترها را کاهش میدهد. گزارش نتایج تستهای Functional نسبتا ساده است، زیرا این تستها دارای نتایج واضح Pass …
ادامه نوشته »آموزش Appium برای تست اپلیکیشنهای موبایل Android و iOS-قسمت چهارم: موبایل را با استفاده از Android Debug Bridge-ADB از طریق USB و WiFi متصل کنید
استفاده از هر Device واقعی برای اتوماسیون تست موبایل، همیشه یک چالش برای تسترهاست. اما، آندروید راه حلی برای اتصال یک دستگاه واقعی از طریق USB ارائه میدهد، یعنی Android Debug Bridge-ADB. ADB یک ابزار خط فرمانی(Command Line) است. این ابزار برای ارتباط بین یک Emulator Instance(دستگاه اندرویدی) و Daemon Process در حال اجرا در پس زمینه است(Server). پیکربندی ADB …
ادامه نوشته »آزمونگری نرمافزار، شغل آینده دار صنعت نرمافزار(منتشر شده در وبسایت زومیت)
این مقاله از سمت تیستن در وبسایت زومیت منتشر شده است، که از اینجا در دسترس میباشد این روزها تست نرمافزار حال و هوای خوبی دارد و شرکتهای نرمافزاری به دلیل تقاضای زیاد برای جذب تستر ماهر با یکدیگر رقابت میکنند. کیفیت و تست نرمافزار چیست؟ اگر بخواهیم کیفیت را به سادگی تشریح کنیم، شاید سادهترین تعریف این باشد: …
ادامه نوشته »