پرش به محتویات

آزمون و تضمین کیفیت نرم‌افزار

اطلاعات کلی

  • نام درس به فارسی: آزمون و تضمین کیفیت نرم‌افزار
  • نام درس به انگلیسی: Software Testing and Quality Assurance
  • رشته، گرایش، نوع و واحد درس: مهندسی کامپیوتر – نرم‌افزار، اختصاصی، ۳ واحد
  • مقطع: کارشناسی
  • پیش نیازها: برنامه‌نویسی شی‌گرا
  • هم نیازها: مهندسی نرم‌افزار
  • مطالب پیش نیاز: مفاهیم پایه مهندسی نرم‌افزار و برنامه‌نویسی

توضیح کوتاه درس

تولید محصول نرم‌افزاری موفق و کم‌هزینه، نیازمند به‌کارگیری روش‌های سیستماتیک آزمون و تضمین کیفیت نرم‌افزار است. این درس اصول، فنون و ابزارهای آزمون کارکردی، آزمون‌پذیری، و مدیریت پروژه آزمون را آموزش می‌دهد.


اهداف و نتایج درس

  • آشنایی با مفاهیم پایه‌ای آزمون نرم‌افزار
  • آشنایی با انواع و سطوح آزمون نرم‌افزار
  • یادگیری روش‌های طراحی و ارزیابی آزمون
  • آشنایی با ابزارهای خودکارسازی آزمون
  • توانایی مدیریت پروژه‌های آزمون و تضمین کیفیت
  • بررسی زمینه‌های پژوهشی مرتبط

مخاطبین

  • دانشجویان مهندسی و علوم کامپیوتر
  • مهندسین نرم‌افزار و برنامه‌نویسان
  • علاقه‌مندان به پژوهش

مشخصات دوره

  • سطح: مبتدی تا متوسط
  • طول دوره: ۴ ماه (۳۰ جلسه)
  • زمان‌بندی:
    • ۲۴ جلسه کلاس (۳۶ ساعت)
    • ۴ جلسه جبرانی
    • ۲ جلسه ارزیابی
  • شیوه برگزاری: ترکیبی (کلاس مجازی + ارزیابی حضوری)

سرفصل‌ها و مباحث

  1. مقدمه (۳ جلسه)

    • اهمیت و جایگاه آزمون کارکردی
    • تعاریف و واژه‌شناسی
    • انواع و سطوح آزمون (مدل V)
  2. آزمون پیوسته و چابک (۵ جلسه)

    • طراحی آزمون مدل‌رانده
    • آزمون‌پذیری
    • خودکارسازی آزمون
    • توسعه آزمون‌رانده (TDD)
  3. طراحی و ارزیابی سیستماتیک آزمون (۱۲ جلسه)

    • معیارهای کفایت آزمون
    • طراحی آزمون مبتنی بر افراز
    • طراحی آزمون مبتنی بر گراف
    • طراحی آزمون مبتنی بر منطق
    • طراحی آزمون مبتنی بر نحو (دستور زبان)
  4. آزمون واسط کاربری گرافیکی (GUI) (۳ جلسه)

    • استخراج سناریو
    • تولید دادههای آزمون
    • ابزار سلنیوم
  5. آزمون فازی و شناسایی آسیب‌پذیری‌ها (۳ جلسه)

    • فازرهای مبتنی بر جهش
    • فازرهای مبتنی بر گرامر
    • فازرهای ترکیبی
    • فازرهای قالب فایل
  6. مدیریت پروژه‌های آزمون (۴ جلسه)

    • نوشتن و اجرای طرح آزمون
    • آزمون در فرهنگ devops

نرم‌افزارها و ابزارهای مورد بحث

  • ابزارهای آزمون واحد: JUnit, NUnit, PyTest
  • آنالیز کیفیت کد: SonarQube
  • تولید تست خودکار: EvoSuite, Randoop
  • آزمون فازی: AFL, DeepFuzz
  • آزمون واسط کاربری: Selenium

تکالیف و ارزیابی

  • تکالیف تئوری: ۲۰٪
  • تکالیف عملی: ۳۰٪
  • آزمون‌ها: ۵۰٪

مراجع

  1. P. Ammann and J. Offutt. Introduction to Software Testing. 2nd Edition, Cambridge University Press, 2017.
  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.

تهیه‌کننده

  • نام: مرتضی ذاکری
  • نگارش: ۱.۰

اطلاعات بیشتر

🧑🏻‍💻 سایت درس