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