۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

تست نرم افزار: نصب خودکار و تست های عملکردی

تست خودکار نرم افزار نقش مهمی در تضمین کیفیت در هر مرحله از توسعه نرم افزار ایفا می کند. این مقاله نحوه شروع استفاده از چارچوب ربات پایتون را مورد بحث قرار می دهد.

تست خودکار نرم افزار نقش مهمی در تضمین کیفیت در هر مرحله از توسعه نرم افزار ایفا می کند. این مقاله نحوه شروع استفاده از چارچوب ربات پایتون را مورد بحث قرار می دهد.

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

ابتدا باید اهداف پروژه (چشم انداز) و یک نقشه راه تقریبی تعریف شود. در اینجا نباید از بودجه لازم غافل شد. همانطور که انتظار می رفت، تلاش برای توسعه آزمایش های کاملاً خودکار در ابتدای پروژه بسیار بیشتر از مراحل بعدی در طول عملیات است. با این حال، همیشه یک «صدای پس‌زمینه» مشخص باقی می‌ماند، زیرا نتایج آزمایش باید ارزیابی شوند، موارد آزمایش تطبیق داده شوند، و عملکردهای آزمایشی جدید اجرا شوند.

پس از اینکه مراحل و فرآیندهای نرم افزار مورد آزمایش به طور واضح تعریف شد، ابزارها و چارچوب ها انتخاب می شوند. پس از آن، اولین نمونه های اولیه باید در یک شروع ارائه شوند تا برای ابزارهای مورد استفاده مقبولیت ایجاد شود.

تست نرم افزار خودکار—مقدمه

بعد از ساخت موفقیت آمیز نرم افزار (جدید)، اتوماسیون آزمایشی به طور خودکار با نسخه نرم افزاری که باید آزمایش شود شروع می شود. در مورد نرم افزارهای قابل نصب، این کار باید بدون مداخله دستی در اصطلاح “حالت خاموش” انجام شود. به هر حال، اکثر نصب کنندگان نرم افزار یک “فایل پاسخ” ارائه می دهند. فایل پاسخ یک فایل متنی است که حاوی دیالوگ ها و ورودی های مربوطه است که کاربر هنگام نصب برای اولین بار مشخص کرده است.

Kotlin 1.7.0 بتا استنتاج نوع سازنده را تغییر می دهد

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

اگر تعداد زیادی تست به صورت موازی روی چندین سیستم آزمایشی مختلف اجرا شود، استفاده از یک سیستم کامپیوتر مجازی یا ماشین مجازی (VM) توصیه می‌شود. اگر نمی خواهید از سخت افزار خود استفاده کنید، رایانش ابری جایگزین جالبی است. در اینجا، منابع IT مورد نیاز نیز ارائه شده است.

تست با چارچوب Robot

برای توسعه تست‌های نرم‌افزاری کاملاً خودکار، چارچوب روبات مورد علاقه من است. عوامل تعیین کننده سیستم مدولار گسترده برای گسترش دامنه عملکردها، و همچنین مدیریت ساده با امکانات یکپارچه سازی خوب است. نکته مثبت دیگر ساختار ساده و جدول مانند موارد تست است که فقط به یک دوره آموزشی کوتاه نیاز دارد.

Robot Framework بر تست‌های کاربر (تست‌های پذیرش و تست‌های پایانی) تمرکز دارد، اما برای تست‌های سیستم و تست‌های دود نیز استفاده می‌شود. Robot Framework که در پایتون توسعه یافته است، به صورت رایگان به عنوان نرم افزار منبع باز (مجوز آپاچی) در دسترس است. نسخه اصلی جدید، Robot Framework 5.0، در اواخر مارس ۲۰۲۲ منتشر شد.

مایکروسافت .NET Community Toolkit را راه اندازی کرد

نصب چارچوب بدون پیچیدگی است، زیرا فقط پایتون ۳ و مدیر بسته آن “pip” مورد نیاز است.

دو سیستم ایجاد شده برای توسعه و اجرای آزمایش در دسترس هستند، اما همچنین می‌توان از آنها برای لذت بردن از مزایای هر محیط با هم استفاده کرد. RIDE محیط توسعه خود Robot است که یادگیری نحوه استفاده از چارچوب را برای تازه واردان آسان می کند. RED یک محیط توسعه مبتنی بر Eclipse (IDE) است که توسعه‌دهندگان نرم‌افزار موفق را خوشحال می‌کند.

آزمایش اتوماسیون—سناریوها

همانطور که در بالا توضیح داده شد، تمام عملکردهای نرم افزار باید به طور خودکار آزمایش شوند. Robot Framework در اینجا با طیف گسترده ای از کتابخانه ها و بسته های اضافی که به راحتی قابل ادغام هستند به ما کمک می کند. یک مثال، کتابخانه SSH بسیار پایدار است، که امکان اجرای همه آزمایش‌ها را از راه دور و قابل استفاده مجدد در ویندوز فراهم می‌کند. لینوکس و یونیکس.

در زمینه آزمایش رابط کاربری (UI) برای مرورگرهای وب، کتابخانه مرورگر جدید و مدرن از Playwright (از ابتدای سال ۲۰۲۱) یا چارچوب قدیمی Selenium موجود است. این کتابخانه ها را می توان به راحتی در Robot Framework ادغام کرد. این امر آزمایش عملکردهای مبتنی بر گرافیک مانند کلیک های ماوس یا ورودی ها و خروجی های کاربر در وب سایت ها را آسان می کند.

البته، اسکریپت های آزمایشی خودنویس نیز می توانند بدون هیچ مشکلی در Robot Framework ادغام شوند. فرقی نمی‌کند جاوا، پایتون یا اسکریپت‌های پوسته ترجیح داده شوند، فقط باید مقادیر بازگشتی ۰ یا ۰ را برای گزارش‌دهی مفید رعایت کرد.

ایمن کردن شبکه Azure Kubernetes با Calico

تست نرم افزار-ارزیابی

گزارش‌های آزمایشی گسترده به‌طور خودکار به‌عنوان صفحات HTML توسط Robot Framework تولید می‌شوند. علاوه بر این، نتایج آزمون را می توان به یک سیستم مدیریت آزمون مانند TestLink وارد کرد. برای اینکه بتوانیم خطاها را سریعتر تجزیه و تحلیل کنیم، توضیح دقیق خطا با خروجی فایل های گزارش بسیار مفید است. اگر تعداد تست‌ها زیاد باشد، تعریف مسئولیت‌ها برای تست‌ها نیز منطقی است. این امکان آدرس دادن به همکاران مربوطه را با گزارش خطا از طریق یک ایمیل خودکار فراهم می کند.

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

اگر داشبورد کافی نیست، سیستم چراغ راهنمایی بهترین راه حل است. با مقادیر آستانه تعریف شده قبلی، می توان از رنگ های مختلف چراغ راهنمایی USB استفاده کرد. به عنوان مثال، اگر صبح وارد دفتر شوید و چراغ راهنمایی قرمز را ببینید، بلافاصله مشخص می شود: خطاهایی رخ داده است. در غیر این صورت، اگر چراغ سبزی دیدید، روز شما می تواند با فوریت کمتری شروع شود، زیرا تمام تست ها اجرا شده اند و نرم افزار بدون خطا پشت سر گذاشته است.

آزمایش‌های کاملاً خودکار عاملی ضروری هستند، به‌ویژه در توسعه نرم‌افزار چابک، برای اطمینان از نرم‌افزار بدون خطا به‌طور مداوم. منابع با ارزش را می توان از طریق اتوماسیون های آزمایشی که هر شب اجرا می شوند ذخیره کرد. Robot Framework یک ابزار عالی است که می تواند برای خودکارسازی تمام تست های نرم افزار استفاده شود.