آزمون برنامه‌های کاربردی وب با استفاده از یادگیری تقویتی عمیق

نویسندگان

1 Department of Computer Engineering, Yazd University, Yazd, Iran.

2 Department of Computer Science, New York Institute of Technology, Vancouver, BC, Canada.

3 Department of Computer Engineering, Yazd University, Yazd, Iran.

doi
10.22034/tjee.2023.17047
چکیده

برنامه های کاربردی وب  جزء جدایی ناپذیر زندگی روزمره ما هستند. قبل از اینکه کاربران بتوانند از برنامه‌های وب استفاده کنند، باید آزمون‌هایی انجام شود تا از قابلیت اطمینان آنها اطمینان حاصل شود. رویکردهای مختلفی برای آزمون برنامه های وب وجود دارد. با این حال، آنها هنوز نیاز به بهبود دارند. هدف اصلی آنها دستیابی به پوشش بالایی از عملکردهای برنامه وب است. از یک طرف، برنامه های وب معمولا دارای فضای حالت گسترده ای هستند که آزمون همه حالت ها را ناکارآمد و زمان بر می‌کند و از طرف دیگر ، توالی خاصی از اقدامات برای دسترسی به عملکردهای خاص مورد نیاز است. بنابراین، راهبرد آزمون بهینه به شدت به ویژگی‌های برنامه بستگی دارد. یادگیری تقویتی یک روش یادگیری ماشین است که راهبرد بهینه برای حل یک کار را از طریق آزمون و خطا به جای نظارت صریح، با پاداش مثبت یا منفی هدایت می کند. یادگیری تقویتی عمیق، یادگیری تقویتی را گسترش می دهد و از قابلیت های یادگیری شبکه‌های عصبی بهره می‌برد.  این ویژگی‌ها یادگیری تقویتی عمیق را برای آزمون فضاهای حالت پیچیده مانند فضاهای موجود در برنامه های وب مناسب می‌کند. با این حال، رویکردهای مدرن از یادگیری تقویتی پایه استفاده می کنند. ما WeDeep، را به عنوان یک رویکرد آزمون مبتنی بر یادگیری تقویتی عمیق را برای برنامه های وب پیشنهاد کرده‌ایم و روش خود را با استفاده از هفت برنامه وب منبع باز ارزیابی کردیم.  نتایج آزمایش ها نشان می دهد که WeDeep پوشش کد و تشخیص عیب بالاتری نسبت به سایر روش‌های موجود دارد