You are not allowed to perform this action
آزمون و تحلیل نرمافزار پیشرفته
Advanced Software Testing and Analysis
مقطع: تحصیلات تکمیلی | گرایش: نرمافزار |
نوع درس: نظری | تعداد واحد: ۳ |
پیشنیاز: – | همنیاز: – |
هدف کلی
هدف این درس آشنایی دانشجویان با روشهای نوین در آزمون خودکار نرمافزارها از طریق تولید خودکار آزمایه و نحوه ارزیابی اثربخشی آزمون نرمافزار از طریق معیارهای پوشش کد و تحلیل موتاسیون است. علاوه بر این مروری کلی بر روشهای تحلیل ایستای نرمافزار به هدف بررسی ویژگیهای کیفی نرمافزار صورت میپذیرد.
سرفصلها
- مقدمهای بر خودکارسازی آزمون نرمافزار
- معیارهای پوشش مبتنی بر افراز فضای ورودی، گراف، منطق، دستور زبان
- تحلیل موتاسیون (mutation analysis)
- پیشگوی آزمون (test oracle)
- آزمون تصادفی و آزمون تصادفی تطبیقی
- آزمون مبتنی بر جستجو
- آزمون مبتنی بر مدل
- اجرای نمادین ایستا و پویا
- مقدمهای بر تفسیر انتزاعی (abstract interpretation)
- تحلیل جریان داده و برش بندی (slicing)
- مروری بر کاربردهای تحلیل ایستا
ارزیابی پیشنهادی
- آزمون میان ترم: ۳۰ درصد نمره
- آزمون پایان ترم: ۳۰ درصد نمره
- تکالیف و پروژه: ۴۰ درصد نمره
منابع پیشنهادی
- J. J. Offutt and P. Ammann. Introduction to Software Testing. Cambridge University Press, 2016.
- P. C. Jorgensen and B. DeVries. Software Testing: A Craftsman’s Approach. 5th Edition, CRC Press, 2021.
- R. Bierig, S. Brown, E. Galván, and J. Timoney. Essentials of Software Testing. Cambridge University Press, 2021.
- X. Rival and K. Yi. Introduction to Static Analysis: An Abstract Interpretation Perspective. MIT Press, 2020.