You are here:

آزمایش نرم افزار و درس هایی که به کار نمی بریم

فرستادن به ایمیل چاپ

Tags: تجربیات | تخصصی | تست

امروز رفتم بیرجند تا برنامه ای را که مدتهاست درگیر آن بودیم و راجع به ذخیره فیلم های ویدئومتری ، بازبینی آنها و ثبت خطاها برای آب و فاضلاب خراسان جنوبی بود را تحویل بدهم.

روی سیستم خودم و سیستم اصلی آنها هم به خوبی نصب شد اما روی لپ تاپی که قرار بود فردا با خود به تهران ببرند و این نرم افزار را هم جزء کارهای انجام شده نمایش بدهند ، نصب شد اما با کلیک بر روی آن ، پیام معروف ویندوز مبنی بر اینکه " خطایی رخ داده است و برنامه باید بسته شود. اگر مایلید اطلاعات خطا به مایکروسافت ارسال شود؟ " و دکمه معروف عدم ارسال (Don’t Send) . بدترین خطایی که می توانست رخ دهد چون هیچ گونه اطلاعاتی راجع به خطا به ما نمی داد.

اول از همه قسمت بازبینی خطاهای (Event Viewer) ویندوز را نگاه کردم و دیدم فقط توضیحی که ارائه داده این است که خطایی در توسط محیط اجرایی دات نت دو ایجاد شده است . به ذهنم رسید سرویس پک دات نت دو را نصب کنم . کردیم و نشد . دات نت سه و نیم را نصب کردم ، باز هم درست نشد.

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

کرک آنرا نصب کرده بودم اما به نظر بی دقتی کرده بودم چون کرک نشده بود . کرک آنرا نصب کردم و برنامه به خوبی اجرا شد.

کافی بود در تمام توابع اصلی و حتی بارگذاری فرم اصلی از مدیریت خطا (Try Catch) استفاده می کردم و خطای تولید شده را یا به کاربر نشان می دادم و یا در فایلی (مثلاً Log.txt) ذخیره اش می کردم تا به راحتی بتوانم خطا را ردیابی کنم.

از طرف دیگر ، همیشه فرض می کردیم که کرک کامپوننت مورد نظر همیشه اجرا می شود و حتی یکدفعه این موضوع را تست نکردیم که اگر احیاناً کرک به درستی اجرا نشده باشد، نرم افزار چه واکنشی نشان خواهد داد و چه خطایی تولید خواهد شد.

به خصوص امروزه که تست نرم افزار از اهمیت زیادی برخوردار شده است و در محیط های برنامه نویسی امکانات خاصی راجع به همین موارد در نظر گرفته شده است اما آدمیزاد تا سرش به سنگ نخورد ، درس نمی گیرد...

نظرات (0)Add Comment

نظرتان را بنویسید
کوچکتر | بزرگتر

busy
آخرین بروزرسانی ( دوشنبه ، 18 بهمن 1389 ، 16:45 )