ما از شما دعوت می کنیم اقتباس روسی مقاله ای توسط تیم ابی، بنیانگذار https://testdemy.teachable.com/ ، یک پلت فرم QA برای تست نرم افزار آنلاین، که برای کمک به افرادی که سفر خود را در آزمایش خودکار شروع می کنند، بخوانید.
ما شاهد افزایش علاقه و رشد تعداد اپلیکیشن های وب در بازار هستیم. با آنها مشاغل بیشتری می آید که نیاز به برنامه نویسی، مهارت های فنی و مهارت های مختلف اتوماسیون دارد. در نتیجه، تسترهای دستی، برای اینکه در تقاضا باقی بمانند، نیاز به تغییر از آزمایش دستی خالص به تضمین کیفیت (QA) را می بینند و به دنبال تست خودکار هستند. تغییر از تست دستی به تست خودکار یک انتخاب هوشمندانه است، زیرا بسیاری از موقعیتهای QA به مجموعهای از مهارتهای فنی مرتبط با نوشتن کد نیاز دارند. برای کسانی که تغییر را دوست ندارند، چنین تغییری می تواند ناراحت کننده باشد. از سوی دیگر، توسعه دهندگان دیگر، این "زمان تغییر" را فرصتی برای ارتقای حرفه و مهارت های خود به سطح بعدی و افزایش ارتباط آنها می دانند. هر بار که تقاضاها افزایش می یابد، امکانات گسترش می یابد. توسعه دهندگان با مجموعه مهارت های مناسب می توانند به قطار بپرند و مشاغل عالی و با درآمد خوبی داشته باشند. اگر به دنبال انتقال از تست دستی به اتوماسیون هستید، یا حتی در نظر دارید از یک زمینه توسعه نرم افزار دیگری حرکت کنید، منطقی است که چند قدم برای کمک به موفقیت خود بردارید.
در اینجا نمونه هایی از کلمات جستجو شده است که می توانند برای ایجاد ارزش گذاری بازار استفاده شوند:
تستر QA (تست خودکار):
در اینجا چند نکته کلیدی از این شرح شغل آورده شده است. نقش های ترکیبی/ترکیبی: به عناوین شغلی و نحوه مشاهده این شرکت ها به تست نرم افزار خودکار دقت کنید. این را میتوان با نام نقشهایی که فهرست میکنند (توسعهدهنده اتوماسیون نرمافزار، توسعهدهنده نرمافزار در تست، و غیره. به یک الگو توجه کرد؟) این شرکتها کم و بیش به مهندسان QA به عنوان توسعهدهندگان اشاره میکنند نرمافزار: برای آزمایشکنندگان دستی، این بدان معناست که زمان آن رسیده است یاد بگیرید چگونه کد بنویسید تا موارد تست دستی را به اسکریپت های تست خودکار تبدیل کنید. برای توسعه دهندگانی که به دنبال حرکت به سمت تست خودکار هستند، این بدان معنی است که شما باید در مورد روش های تست نرم افزار، تست نرم افزار چرخه عمر، و نحوه ساخت موارد تست خودکار برای پشتیبانی بیشتر بیاموزید. این چرخه های حیاتی را از دست ندهید وگرنه عقب خواهید ماند. با ظهور متدولوژی های Agile و پروژه های مبتنی بر چابک، سازمان های بیشتری QA و توسعه دهندگان را با هم ترکیب می کنند. بنابراین زمان آن رسیده که شما برای خود آماده شوید. مسئولیت های جدید.افرادی که آموزش های اولیه در دنیای تست نرم افزار دارند و در عین حال درک خوبی از مهارت های یک توسعه دهنده نرم افزار دارند، ارزش وزن خود را دارند. فناوریهای منبع باز/زبانهای برنامهنویسی: لطفاً به فناوریها و زبانهای برنامهنویسی که در توضیحات برجسته شدهاند توجه کنید . این فناوریها و زبانها هدفمند هستند، شما باید آنها را یاد بگیرید تا در بازار مورد تقاضا باشید. یکی از فناوریهای پرتقاضا را انتخاب کنید و با تمرین آنها و شرکت در برنامهها و پروژههای واقعی و عملی شروع به ساخت مجموعه مهارتهای خود کنید. این کار باعث افزایش سرعت یادگیری شما می شود. اگر مطمئن نیستید که با کدام زبان برنامه نویسی شروع کنید ، اجازه دهید حوزه را کمی محدود کنیم.
برنامه نویسی اساس تست خودکار است. اگر می خواهید وارد تست اتوماسیون شوید، باید بتوانید کدنویسی کنید و هر چه در برنامه نویسی بهتر باشید، در تست اتوماسیون یا توسعه اتوماسیون موفق تر خواهید بود. بنابراین، اگر میخواهید در این دنیای همیشه در حال تغییر توسعه و فناوری رقابتی بمانید، باید تصمیم بگیرید که بر این ترس غلبه کنید و به یک توسعهدهنده تست خودکار مورد تقاضا تبدیل شوید. نکته خوب این است که با حداقل راهنمایی از یک همکار با تجربه تر، استفاده از پشتکار و پشتکار، تمرین مداوم (مانند ما در JavaRush)، قطعاً می توانید مهارت های برنامه نویسی خود را بهبود بخشید. سوال منطقی بعدی این است: چه زبان برنامه نویسی را باید یاد بگیرم؟ بر اساس ارزیابی بازار ما، ما می دانیم که کارفرمایان می خواهند افرادی را استخدام کنند که "درکی قوی از زبان های برنامه نویسی شی گرا دارند." و با توجه به تجزیه و تحلیل ما، می توانیم چندین زبان برنامه نویسی شی گرا را مشاهده کنیم که آنها به آنها اشاره می کنند. به عنوان مثال جاوا، سی شارپ، جاوا اسکریپت و پایتون. می توانید با هر یک از آنها شروع کنید. اگر در حال شروع به یادگیری یک زبان OOP هستید، در اینجا چند مفهوم وجود دارد که میتوانید با آنها آشنا شوید و در تست خودکار مهارت بیشتری کسب کنید:
یک ابزار عالی که در دامنه عمومی یافت می شود Selenium WebDriver است. سلنیوم دارای پیوندهای زبانی متعددی (پایتون، جاوا، سی شارپ، روبی، پی اچ پی، جاوا اسکریپت و غیره) است، بنابراین یادگیری یکی از این زبان های برنامه نویسی پایه ای عالی برای ایجاد یک حرفه محکم در اتوماسیون فراهم می کند. چند مفهوم کلیدی که باید برای ساختن کیس های تست خودکار قابل اعتماد، کاربردی و کارآمد تسلط داشته باشید:
هر ورزشکار حرفه ای می گوید که با کار و تلاش تمرینات خود به اوج سفر خود رسیده است. آنها می گویند مایکل جردن سخت بازی کرد، اما حتی سخت تر تمرین کرد. این رویکرد باید توسط هر کسی که به دنبال خودکارسازی است - تمرین کنید، تمرین کنید، مهارتهای جدید خود را تمرین کنید تا زمانی که به طبیعت دوم تبدیل شوند. این تنها راهی است که می توانید مهارت های خود را بهبود بخشید و به عنوان آزمایش کننده مورد تقاضا باشید. یکی از راههای خوب برای آموزش، یادگیری فعال زبان برنامهنویسی و ابزارهای اتوماسیون به طور همزمان و "بازی" با آنها است. به عبارت دیگر، برنامههای کوچک یا اسکریپتهای تست خودکار بنویسید، آنها را بشکنید، تغییر دهید و ببینید اکنون چگونه کار میکند. از کاری که انجام داده اید درس بگیرید و دوباره تلاش کنید. با بازی کردن، انجام دادن و یادگیری تمرین کنید. این کار را انجام دهید و منحنی یادگیری شما بالا می رود.
در حالی که تلاش برای تغییر اساسی مسیر شغلی خود ممکن است دلهره آور به نظر برسد، ارزشمند بودن و قابل فروش بودن ضروری است. شما باید مهارت های جدیدی را توسعه دهید تا در صدر دنیای همیشه در حال تغییر توسعه نرم افزار بمانید و همان چیزی باشید که کارفرمایان واقعاً به دنبال آن هستند. از کوچک شروع کنید: نیازهای بازار را ارزیابی کنید، برنامه نویسی شی گرا و ابزارهای اتوماسیون را یاد بگیرید و دائما تمرین کنید. و قبل از اینکه متوجه شوید برای فرصت های شغلی جدید آماده خواهید شد. منبع: https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
مرحله 1: ارزیابی بازار
"عادت شماره دو" از کتاب دکتر استفان کاوی "7 عادت افراد بسیار موثر" می گوید : "با در نظر گرفتن پایان شروع کنید." من معتقدم که این اصل در مورد شروع آزمایش خودکار صادق است. با ارزیابی بازار از نیازهای کسانی که مهندسان اتوماسیون را استخدام می کنند، شروع کنید. هنگامی که درک درستی از نیازهای فنی کارفرمایان به دست آوردید، می توانید مهارت های مناسب را کسب کنید. یک مکان خوب برای شروع این است که به شرح وظایف در هر سایتی نگاه کنید (به عنوان مثال Indeed.com ، Dice ، Monster ، LinkedIn ، و غیره).- مهندس اتوماسیون تست;
- توسعه دهنده اتوماسیون؛
- تست/تستر خودکار (تست خودکار) (Automation Testing/Automation Tester);
- مهندس اتوماسیون QA ;
- مهندس توسعه نرم افزار در آزمون (SDET).
- چه مهارت ها و فناوری های خاصی را ذکر می کنند؟
- آیا مجموعه یا «بلوک» جداگانه ای از مهارت ها یا فناوری ها برای این مهارت ها می بینید؟
- در صورت وجود چند سال تجربه لازم است؟
- آیا صنایع خاصی وجود دارند که تمایل دارند مهندسان اتوماسیون بیشتری را نسبت به سایرین استخدام کنند؟
- چه حقوقی می توانید انتظار داشته باشید؟
- آیا ابزارها یا فناوری هایی که ما به آنها علاقه مندیم عمدتاً محصولات تجاری با دسترسی آزاد هستند؟
- درک واضحی از زبان های برنامه نویسی شی گرا دارد .
- آشنا با Jenkins ، Test Complete، VersionOne، Git، Visual Studio، Oracle، MSSQL، Hyper-V، AQTime.
- با توسعه دهندگان، تحلیلگران کسب و کار و سایر آزمایش کنندگان برای شناسایی اجزای اتوماسیون تست که برای تأیید الزامات نرم افزار توسعه یافته استفاده می شود، همکاری نزدیکی دارد.
- تست های خودکار را در سیستم های کنترل نسخه مناسب - TFS، GitHub و غیره ذخیره می کند.
- از استانداردهای اتوماسیون از پیش تعریف شده و استانداردهای DevOps برای اتوماسیون و همچنین فرآیندهای یکپارچه سازی و استقرار مداوم پیروی می کند.
- تجربه با ابزارهای ALM (TFS، Jira، HP QC) و ابزارهای اتوماسیون تست (ترجیحاً Selenium WebDriver) .
- تجربه با Selenium WebDriver .
- مهارت های برنامه نویسی در پایتون، جاوا یا زبان های مشابه؛
- تجربه تست موبایل / Appium .
- به روز رسانی و گسترش محیط تست و ابزارهای تست در سی شارپ، تایپ اسکریپت، جاوا اسکریپت ...;
- مهارت های برنامه نویسی قوی در سی شارپ یا جاوا و/یا جاوا اسکریپت همراه با درک واضح مفاهیم برنامه نویسی شی گرا .
- تجربه با Visual Studio، Subversion، GitHub، Unity، Teamcity، Jira Cloud، Confluence.
مرحله 2: تسلط بر زبان برنامه نویسی شی گرا (OOP)
بیایید با آن روبرو شویم: اکثر آزمایش کنندگان دستی از برنامه نویسی می ترسند. فکر قرار گرفتن در زیر کاپوت و دیدن نحوه عملکرد سیستم ها و برنامه ها، بسیاری از آزمایش کنندگان دستی را می ترساند. این ترس عمدتاً دلیل این است که آنها آزمایش کننده های دستی شدند.- برنامه نویسی شی گرا (کلاس ها، اشیاء، نمونه ها، وراثت، ویژگی و غیره)؛
- ماژول ها، کتابخانه های استاندارد (به هر زبانی که انتخاب می کنید).
- ساختارهای داده (لغت نامه ها، لیست ها، تاپل ها و غیره)؛
- انواع داده ها (رشته ها، کاراکترها، اعداد صحیح، ممیز شناور، انواع منطقی یا بولی، NoneType و غیره)؛
- متغیرها؛
- رسیدگی به خطا/استثنا؛
- عملگرهای حسابی/ترتیب تقدم؛
- مقایسه، عملگرهای منطقی بولی.
- رویه ها/توابع/روش ها؛
- جریان کنترل: اگر دستورات، برای حلقهها، حلقههای while و غیره.
- خواندن/نوشتن در فایل ها؛
مرحله 3: تسلط بر ابزارهای اتوماسیون
من مدام این را می گویم: هر چه بهتر بتوانید برنامه ریزی کنید، بهتر می توانید خودکار کنید. هنگامی که شروع به یادگیری یک زبان برنامه نویسی کردید، گام بعدی یادگیری نحوه استفاده از ابزارهای اتوماسیون است. زیرا بیشتر شرکتها بهدلیل هزینه به سمت ابزارهای اتوماسیون منبع باز (یا نرمافزار آزاد) تمایل دارند تا محصولات دارای مجوز تجاری.- الگوهای طراحی: مدل شی صفحه.
- جستجوی عناصر صفحه وب با استفاده از مکان یاب های مختلف (CSS Selector، XPATH، ID، Name، و غیره)؛
- تعویض ویندوز/آی فریم؛
- بازسازی
- تست واحد؛
- تست ابری/تست موازی؛
- بررسی داده ها؛
- تست بر روی مرورگرهای مختلف وب (فایرفاکس، اینترنت اکسپلورر، کروم، سافاری، اپرا و غیره)؛
- انتظارات ضمنی و آشکار؛
- زنجیره اقدامات
GO TO FULL VERSION