از سلنیوم تا نمایشنامه نویس – تکامل آزمایش خودکار. مرحله بعدی چگونه خواهد بود؟ – Anatolii Tymoshchuk – مجله AI Time


بین المللی بازار تست خودکار طبق برخی پیش بینی ها ، ممکن است تا سال 2032 به 70 میلیارد دلار برسد. این تقریباً 4 برابر بیشتر از اکنون است. چنین پیش بینی هایی چقدر واقع بینانه هستند ، چه پایه ای دارند؟ اکنون چقدر امیدوار کننده است که زمینه آزمایش خودکار را توسعه دهید و آیا این امکان وجود دارد که با پیشرفت هوش مصنوعی ، نیاز به متخصصان در زمینه آزمایش خودکار از بین برود؟

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

در طول حرفه حرفه ای خود ، آناتولی برای Grid Dynamics ، EPAM Systems ، Andersen Lab و دیگران کار کرد. به عنوان مثال ، وی در توسعه راه حل های تست خودکار برای پلت فرم ابر باز با استفاده از جاوا ، سلنیوم و سلنید شرکت کرد. سهم وی به بهبود کیفیت خدمات ارائه شده و افزایش قابلیت اطمینان شرکت کمک کرد راه حل های ابریبشر

آناتولی همچنین در آموزش متخصصان جوان ، انجام سخنرانی ها ، سمینارها و کلاس های کارشناسی ارشد شرکت می کند.

آیا می توانید به طور خلاصه تاریخ آزمایش خودکار را به ما یادآوری کنید؟ چگونه همه اینها آغاز شد؟

آزمایش اتوماسیون به عنوان یک تکامل طبیعی در توسعه نرم افزار برای کاهش زمان آزمایش دستی و بهبود کیفیت محصول ظاهر شد. در دهه 50 ، در مراحل اولیه برنامه نویسی ، آزمایشات به صورت دستی انجام شد و توسعه دهندگان مسئولیت کامل را بر عهده گرفتند. بعداً ، با تکامل زبان های برنامه نویسی ، اولین اسکریپت ها برای تأیید عملکرد اساسی معرفی شدند.

در دهه 1980-90 ، با ظهور رایانه های شخصی و سیستم های پیچیده ، ابزارهایی برای ضبط و پخش مجدد سناریوهای تست ، مانند WinRunner تعاملی Mercury ، محبوب شد. در دهه 2000 ، ابزارهای منبع باز مانند سلنیوم (منتشر شده در سال 2004) امکانات اتوماسیون را به طور قابل توجهی گسترش داد ، به خصوص برای برنامه های وب. این نشان از ظهور چارچوب های مختلف مانند Junit ، Testng و برای آزمایش API است.

امروزه ، اتوماسیون بخشی جدایی ناپذیر از فرآیند توسعه نرم افزار است که UI ، API ، برنامه های کاربردی موبایل و حتی آزمایش عملکرد و امنیت را پوشش می دهد. ادغام تست های خودکار در خطوط لوله CI/CD امکان تشخیص سریع و وضوح نقص را فراهم می کند و باعث ایجاد گردش کار کارآمدتر می شود.

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

در سالهای اخیر ، مهمترین تغییرات در برنامه ها و فرآیندها توسط اتوماسیون ، فناوری های ابری و ادغام DevOps هدایت شده است. در اینجا چند نکته کلیدی آورده شده است:

1) سرعت توسعه: چابک و DevOps در بسیاری از شرکت ها استاندارد شده اند. این امر باعث شده است که آزمایش زودتر در چرخه توسعه ، مانند آزمایش تغییر چپ ، یکپارچه شود.

2) پیشرفت های ابزار: ابزارهای اتوماسیون قدرتمندتر مانند نمایشنامه نویس ، سلنیوم برای UI و چارچوب های آزمایش API (Restassed) پدید آمده است. آنها تست های پایدارتر و سریعتر را فعال می کنند. 3) فن آوری های ابری:

اکنون بسیاری از برنامه ها در ابر میزبانی شده اند و با نیاز به در نظر گرفتن زیرساخت های پویا و استفاده از سیستم عامل های ابری برای آزمایش (AWS ، لاجورد ، لامباستست) ، آزمایش را تحت تأثیر قرار می دهند. 4) ادغام هوش مصنوعی و ML: هوش مصنوعی و یادگیری ماشین به طور فزاینده ای در فرآیندهای آزمایش برای تولید آزمون ، پیش بینی نقص و تجزیه و تحلیل نتیجه استفاده می شود. 5) تمرکز بر امنیت و عملکرد: با توجه به افزایش حملات سایبری ، تأکید بیشتری بر آزمایش امنیتی وجود دارد. الزامات آزمایش عملکرد نیز به دلیل مقیاس پذیری سیستم های مدرن افزایش یافته است. 6) اتوماسیون برنامه تلفن همراه: ابزارهایی مانند Appium یکپارچه تر و کارآمدتر شده اند و باعث افزایش آزمایش موبایل می شوند.

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

چه ابزارهای تست را بهترین می دانید و کدام یک بدترین است؟ و چرا؟

در مورد بهترین ابزارها ، از نظر من ، می توانم 5 مورد را بفهمم:

1) سلنیوم – کلاسیک برای اتوماسیون وب. قدرتمند و انعطاف پذیر ، از بسیاری از زبانهای برنامه نویسی پشتیبانی می کند. اگرچه پیر می شود ، اما یک استاندارد باقی مانده است.

2) نمایشنامه نویس – ابزاری مدرن برای اتوماسیون برنامه وب. سریعتر و با ثبات تر از سلنیوم ، از مرورگرها ، دستگاه های تلفن همراه و آزمایش API در یک چارچوب پشتیبانی می کند.

3) سلنید – یک پسوند عالی از سلنیوم برای جاوا. این نوشتن آزمون را با روش های انتظار داخلی و نحو ساده ساده می کند.

4) RestaSsured/Postman – مناسب برای آزمایش API. RestaSsured با پروژه های جاوا به خوبی ادغام می شود ، در حالی که Postman برای درخواست های سریع و آزمایش دستی مناسب است.

5) جنکینز – برای CI/CD. تنظیم آسان برای اجرای تست های خودکار و تولید گزارش.

با توجه به ابزارهای کمتر موفق و راحت تر ، می توانم نام ببرم

1) استودیوی Katalon – در حالی که استفاده آسان است ، برای پروژه های بزرگ بسیار محدود است. نسخه رایگان دارای محدودیت هایی است و نسخه پرداخت شده بسیار گران است.

2) QTP/UFT – گران و انعطاف پذیر برای نیازهای مدرن. از گزینه های رایگان عقب مانده است.

3) Ranorex – دست و پا گیر برای استفاده و برای پروژه های بزرگ با تغییرات مکرر بسیار کارآمد نیست.

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

نظر شما در مورد توسعه سریع فن آوری های هوش مصنوعی ، چگونه می تواند در زمینه آزمایش خودکار تأثیر بگذارد؟ و فکر می کنید این احتمال وجود دارد که در یک نقطه خاص نیاز به آزمایش خودکار به سادگی از بین برود؟

تست: AI می تواند به طور خودکار تست ها را بر اساس تجزیه و تحلیل کد ، مشخصات یا حتی سابقه رفتار کاربر ایجاد کند. این به طور قابل توجهی سرعت ایجاد تست را سرعت می بخشد.

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

تست های بهبودی خود: AI می تواند اصلاحاتی را برای تست هایی که به دلیل تغییر در کد شکسته می شوند ، شناسایی و پیشنهاد دهند.

نیاز به آزمایش خودکار از بین نمی رود ، اما نقش آن تکامل می یابد. هوش مصنوعی می تواند کارهای روزمره را به صورت خودکار انجام دهد اما جایگزین تخصص آزمایش کنندگان در استراتژی های ساختمان ، طراحی تست های پیچیده و تعریف الزامات نخواهد شد. عامل انسانی به ویژه برای آزمایش منطق پیچیده تجارت ، UX/UI و موارد لبه بسیار مهم است.

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

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



منبع: https://www.aitimejournal.com/from-selenium-to-playwright-the-evolution-of-automated-testing-what-will-the-next-stage-look-like-anatolii-tymoshchuk/52168/

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *