تضمین کیفیت نرمافزار عبارتست از نظارت بر روند مهندسی نرمافزار و روش هایی که برای اطمینان یافتن از کیفیت آن مورد استفاده قرار میگیرند. روش هایی که بدین منظور ایجاد شده اند بسیار زیاد و متنوع هستند که هریک انطباق با چند مورد از استانداردها (مثل ایزو ۹۰۰۰ و یک مدل مثل CMMI) را بررسی و تضمین می کنند.
روش های تضمین کیفیت نرمافزار کل فرایند توسعه نرمافزار را دربرمیگیرند. از جمله مراحل توسعه نرمافزار می توان به تعریف نیازمندی ها، طراحی نرمافزار، کدنویسی، بازبینی کد، مدیریت پیکربندی نرمافزار، تست، مدیریت پخش، یکپارچه سازی محصول اشاره کرد. تضمین کیفیت نرمافزار به اهداف، الزامات، توانایی ها، فعالیت ها، اندازه گیری ها و ارزیابی ها سامان می بخشد.
تضمین کیفیت نرمافزار برحسب (ISO/IEC 15504 v.2.5 (SPICE یک فرایند حمایتی است که باید به وسیله طرح های از پیش تعیین شده و isO 15504 کیفیت را در تک تک محصولات، فعالیت ها و فرایندها بطور مستقل تضمین کند.
پس از مباحث مطرح در چگونگی ایجاد نرمافزار و بحث های مربوطه؛ یکی از چالش های موجود بررسی مفهوم چیستی کیفیت نرمافزار و متعاقب آن معیارهای سنجش و روش های تضمین کیفیت آن است. صحبت از کیفیت نرمافزار و بررسی و سنجش آن تنها از طریق پاسخگویی به سوالات زیر و مشخص کردن روشی برای رسیدن به این پاسخ امکانپذیر است:
1. تعریف صریح و دقیق معنا و مفهوم کیفیت نرمافزار
2. ایجاد مجموعه ای فعالیت هایی که ما را از بالا بودن کیفیت محصولات نرمافزاری ارائه شده مطمئن می کنند.
3. اجرا کردن فعالیت های کنترل و ضمانت کیفیت در همه پروژه های نرمافزاری
4. استفاده از ابزارها در راستای توسعه استراتژی های بهبود فرایندهای نرمافزار و درنتیجه باکیفیت شدن محصول نهایی