خودکارسازی تست ضمن کاهش هزینه و تلاش، به افزایش سرعت سایت نیز کمک میکند. در این مقاله ما نحوه خودکارسازی تست را به اشتراک میگذاریم تا با نکات کلیدی در مورد اجرای تست، طراحی و نگهداری برنامههای سازمانی بزرگ، ابتکار عمل تست خودکار را در مسیر درست خود نگه داریم.
از ابزارهای مناسب خودکارسازی تست استفاده کنید
هر پروژه خودکارسازی تست نیازهای خودش را دارد. ابزار مناسب میتواند به طور قابل توجهی زمان تست را کاهش دهد و کارایی تیم تست را بهبود بخشد. ابزار اشتباه میتواند باعث ایجاد پیچیدگی غیر ضروری شود.
ابزاری را انتخاب کنید که از همه دستگاههای مورد نیاز، مرورگرها، ورژنهای سیستم عامل، پلتفرمهای تلفن همراه، سطح خودکارسازی تست مورد نیاز (UI، API، تستهای دیتابیس)، انواع تست (عملکردی، بارگذاری، محلیسازی) و فناوری تشخیص (بومی (native)، تصویر، متن) پشتیبانی کند. با یک ابزار واحد، منحنی یادگیری برای ارائه خودکارسازی به طور قابل توجهی کاهش مییابد و اسکریپتهای مشابه برای پلتفرمهای مختلف استفاده مجدد میشوند.
علاوه بر این، ما توصیه میکنیم از چک لیستهای زیر برای ابزار از پیش انتخاب شده خود استفاده کنید:
الزامات کلی
آیا تیم فنی مهارتهای مورد نیاز را دارد؟ آیا انعطافپذیری فریمورک قابلیتهای گستردهتری به تیم میدهد؟
آیا تیم تست شما تجربه کار با این ابزار را دارند؟
آیا ابزار دارای یک جامعه قوی است، به منابع، کاربر، و مستندات دقیق کمک میکند؟
چقدر در رابطه با مسائلی که پیش میآید پاسخگو است؟
آیا گزارشات تست خودکار دقیق را ارائه میدهد؟
آیا با ابزارهای CI، ابزارهای مدیریت مسائل، ابزارهای مدیریت تست، و ابزارهای ارتباطی مورد استفاده در پروژه ادغام میشود؟
الزامات خاص
آیا این ابزار اجرای تست توزیعشده را مجاز میداند؟
اجرای تست چقدر طول میکشد؟
آیا از انتظارات هوشمند پشتیبانی میکند؟
چگونه به سادهسازی تغییرات تست کمک میکند؟
آیا رویکرد DDT را پشتیبانی میکند؟
جداسازی کد از داده (رویکرد DDT)
بسیاری از مهندسان خودکارسازی تست تمایل دارند دادههای تست (مقادیر ورودی، خروجی، اعتبارسنجی) را به همراه کد ذخیره کنند. این روش وقتی تستهای جدید اضافه میشوند کد را با چندین تکرار overload میکند. همچنین به طور قابل توجهی نگهداری کد تست را پیچیده میکند، خصوصا اگر برنامه تحت تست خودکار تغییرات مکرر را متحمل شود.
برای حل این چالشها، ما به شما توصیه میکنیم از روشهای DDT (تست داده محور) استفاده کنید و تمام دادههای تست را در جداولی در فایلهای جداگانه (فایل دیتابیس، صفحه گسترده اکسل وغیره) سازماندهی کنید. رویکرد DDT زمان لازم برای ایجاد تستهای جدید را کاهش داده و دقت را افزایش میدهد زیرا مهندسان تست میتوانند به راحتی از دادههای تست مشابه در تستهای مختلف استفاده مجدد کرده و به دلیل بهبود کد تست از خطا جلوگیری کنند.
میزان تست API را به حداکثر برسانید
خودکارسازی تست معمولا با تست خودکار از طریق UI همراه است. با این حال تست از طریق UI نسبتا زمانبر است. تستهای UI میتوانند فقط در نزدیکی پایان پروژه توسعه نرمافزار ایجاد شوند. علاوه بر این، UI مستعد تغییرات مکرر است، حتی در مراحل نهایی.
ما توصیه میکنیم تست API در تستهای عملکردی در اولویت باشد. APIها زودتر از چرخه توسعه در دسترس هستند و کاملا پایدار میمانند. علاوه بر این، تست API میتواند در عرض چند ثانیه اجرا شود، در حالی که اجرای GUI test دو دقیقه طول میکشد.
استفاده از تست بصری در تست cross-browser (و محتوای بسیار داینامیک)
برنامههای مدرن برای اجرا در مرورگرها، سیستم عاملها و دستگاههای مختلف مورد نیاز هستند. این امر ممکن است منجر به ایجاد باگها ناشی از ناسازگاری در رندر شود.
ما ترجیح میدهیم ناسازگاریهای بصری را با استفاده از ابزار مقایسه اسکرینشات از بین ببریم. اسکرینشاتها را با نمونهها مقایسه کنید تا تأیید کنید که صفحه یا آبجکت دقیقا مطابق انتظار ظاهر میشود. ما به ویژه ابزارهای مبتنی بر هوش مصنوعی را برای تست بصری خوب میدانیم (Applitools محبوبترین مورد آنها است) زیرا آنها میتوانند تغییرات پذیرفته شده و مشکلات شدیدتر رندرینگ را از یکدیگر متمایز کرده و روند تست را حتی بیشتر ساده کنند.
تست به صورت موازی (parallel)
تست جامع و خودکار برنامههای سازمانی زمان قابل توجهی را میگیرد. وقتی نیاز به کاهش شدید زمان تست داریم، تستهای موازی یا همان parallel تا 5 برابر سریعتر اجرا میشوند. علاوه بر این، ابزارهای تست خودکار اجرای موازی را با یک دستور امکانپذیر میسازند.
داشتن گزارشات خطا که توسط اسکرینشاتها/ویدیوهای گرفته شده در زمان خطا پشتیبانی میشوند
از آنجا که تستهای خودکار بدون نظارت یا از راه دور در فضای ابری (cloud) اجرا میشوند، درک خطا میتواند برای تست کنندگان مسالهساز شود. حتی گاهی اوقات گزارشات دقیق تضمین نمیکنند که آپدیتها را به سرعت برای شما بیاورند.
پشتیبانی از نتایج ناموفق تستها به صورت بصری باعث میشود که تست خودکار بسیار راحتتر شود. وقتی ما از زمان وقوع خطا اسکرینشات یا ویدیو میگیریم، تشخیص و شرح جزئیات مسأله مورد نظر بسیار آسانتر میشود.
جمعبندی
امیدواریم این پیشنهادات کاربردی به شما کمک کند تا کارایی و بهرهوری تست خودکار را حفظ کرده و بیشتر بهبود بخشید. علاوه بر تست خودکار، پیادهسازی ابزار مدیریت عملکرد برنامه، مثل Stackify Retrace، میتواند به بهبود کیفیت کد شما کمک کند.
نظرات کاربران در رابطه با این دوره