اگر در حوزه استارتاپهای تکنولوژیمحور فعال باشید حتما با مشکلات نرمافزاری دستوپنجه نرم کردهاید. این مشکلات میتوانند در مراحل مختلف تولید محصول ایجاد شوند. سافتور تستینگ متریال دستهبندی جالبی از این مشکلات ارائه کرده که در ادامه به آنها اشاره شده است:
باگ (Bug): معروفترین مشکل نرمافزاری است که احتمالا اسم آن را زیاد شنیدهاید. باگ به معنای حشره موذی است و به شرایطی اطلاق میشود که خطا یا اشتباهی در اجرای نرمافزار رخ داده باشد و موجب اجرا نشدن آن شود. به طور خلاصه هرگونه عدم انطباق در سیستم یا اپلیکیشن در مرحله تست را باگ مینامند.
دیفکت (defect):به معنای نقص و کاستی است و زمانی که میان نتایج واقعی و نتایج مورد انتظار تفاوتی ایجاد شده باشد از آن استفاده میکنند. اگر یک توسعهدهنده (دولوپر developer) مسالهای (issue) را بیابد و خودش در مرحله توسعه آن را حل کند به آن دیفکت میگوییم.
ارور (error): وقتی امکان اجرا یا کامپایل (compile) یک برنامه به دلیل مشکلات کدنویسی نباشد ارور یا خطا رخ داده است. معمولا توسعهدهندهگان در مرحله توسعه ارورها را پیدا میکنند.
فیلر (failure): وقتی محصول آماده میشود و در اختیار مشتری قرار میگیرد، دیگر نباید مسالهای در محصول وجود داشته باشد. اگر مشتری نهایی بعد از انتشار محصول (release) مشکلی را بیابد به آن فیلر یا شکست میگوییم.
تیمها برای جلوگیری از این مشکلات نیازمند تحلیلگر کیفیت (Quality Analyst) هستند. تحلیلگر کیفیت نرمافزار مسئول تنظیم اصول و شیوههایی است که با کمک آنها بتواند کیفیت نرمافزار را بسنجد و تحلیل کند. همچنین مسئول پیگیری متریکهای مرتبط با نرمافزار است. باید توجه کنید که تحلیلگر کیفیت با تضمین کیفیت متفاوت است. تضمین کیفیت نرمافزار (Software quality assurance (SQA)) که به اصطلاح به آن کیوای (QA) میگویند شامل روشهایی است که در تمام مراحل توسعه نرمافزار (شامل تعریف پروژه، لیست نیازمندیها، دیزاین نرمافزار، کدنویسی، تست و ...) فعالیتها، اهداف و دستاوردهای پروژه را سنجش میکند و به دنبال راههای تضمین کیفیت در تمامی این مراحل است. توجه به کیوای میتواند در کاهش زمان و مشکلات محصول نقش بسزایی داشته باشد. عمده کارهایی که در این فرآیند انجام میشود شامل موارد زیر است:
بررسی استانداردها و نظارت بر کیفیت
تست و آزمون
مدیریت امنیت، ریسک و تغییر
بازبینی و ممیزی