You are not allowed to perform this action

آزمون و تحلیل نرم‌افزار پیشرفته

Advanced Software Testing and Analysis

مقطع: تحصیلات تکمیلی گرایش: نرم‌افزار
نوع درس: نظری تعداد واحد: ۳
پیش‌نیاز: – هم‌نیاز: –

هدف کلی

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

سرفصل‌ها

  1. مقدمه‌ای بر خودکارسازی آزمون نرم‌افزار
  2. معیارهای پوشش مبتنی بر افراز فضای ورودی، گراف، منطق، دستور زبان
  3. تحلیل موتاسیون (mutation analysis)
  4. پیش‌گوی آزمون (test oracle)
  5. آزمون تصادفی و آزمون تصادفی تطبیقی
  6. آزمون مبتنی بر جستجو
  7. آزمون مبتنی بر مدل
  8. اجرای نمادین ایستا و پویا
  9. مقدمه‌ای بر تفسیر انتزاعی (abstract interpretation)
  10. تحلیل جریان داده و برش بندی (slicing)
  11. مروری بر کاربردهای تحلیل ایستا

ارزیابی پیشنهادی

  • آزمون میان ترم: ۳۰ درصد نمره
  • آزمون پایان ترم: ۳۰ درصد نمره
  • تکالیف و پروژه: ۴۰ درصد نمره

منابع پیشنهادی

  1. J. J. Offutt and P. Ammann. Introduction to Software Testing. Cambridge University Press, 2016.
  2. P. C. Jorgensen and B. DeVries. Software Testing: A Craftsman’s Approach. 5th Edition, CRC Press, 2021.
  3. R. Bierig, S. Brown, E. Galván, and J. Timoney. Essentials of Software Testing. Cambridge University Press, 2021.
  4. X. Rival and K. Yi. Introduction to Static Analysis: An Abstract Interpretation Perspective. MIT Press, 2020.