کیفیت نرم افزار و 7 افسانه تست اتوماتیک

– مدیر : “چرا این نرم افزار اینقدر باگ داره ؟ این چه وضع کار کردنه؟” – برنامه نویس: “این ماهیت نرم افزاره، نمیشه کاریش کرد، فقط اگر ما بشینیم و تست بنویسیم باگ نخواهیم داشت” همیشه آرزوی ما توسعه دهندگان نرم افزار این است که محصول تولیدی ما دقیقا مثل یک هواپیما باشه، یک داشبورد داشته باشیم با کلی آلارم و کنتور … . و دقیقا به ما بگه کاپیتان موتور سمت چپ از کار افتاده یا کاپیتان سیستم سوخت رسانی با مشکل مواجه شده و ما هم سریع عکس العمل نشان بدهیم. برای رسیدن به چنین منظوری ما نیاز...
Continue reading...

آیا Agile نیازی به Technical Excellence دارد؟

Technical Excellence یکی از مبحث های Agile می باشد که یا مورد محبت زیاد و یا کم مهری بیش از اندازه  قرار می گیرد .  البته این مسئله صرفا برای ایران نیست و تیم های تازه کار Agile با این مشکل مواجه می شوند.  در آیه شماره 9 اصول توسعه چابک آمده است : Continuous attention to technical excellence and good design enhances agility معنی لفظی این آیه : توجه مداوم به برتری فنی و طراحی خوب باعث افزایش چابکی می شود . اگر بخواهیم این اصل را از اصول توسعه چابک تفسیر نماییم به این نقطه خواهیم رسید که...
Continue reading...

تست محصول در Agile

همیشه به خاطر می آورم , زمانی که برنامه نویس بودم و یا به عنوان رهبر تیم توسعه نرم افزار فعالیت می کردم با مقوله تست برنامه مشکل داشتیم . نرم افزار که توسعه می دادیم یا اصلا تست نمی شد و یا اگر هم می شد به صورت دستی توسط خود برنامه نویس ها یا یک سری افراد متفرقه مانند اسپانسر پروژه تست می گردید که چندان روش با اعتباری نبود. معمولا برنامه ای که پر از باگ باشد مستعد از دست دادن مشتری هست و از دست دادن مشتری مصادف با عصبانیت مدیران شرکت خواهد شد . برنامه...
Continue reading...

تست نرم‌افزار در Agile Software Development

همان‌طور که می‌دانید Unit Testing به معنای تست کردن قسمت کوچکی از برنامه است که ماجول یا یونیت برنامه نام دارد و می‌تواند در پیدا کردن اشکالات برنامه بسیار مؤثر واقع شود، اما در حقیقت نوشتن یک Unit Test بیشتر عملی است که در قسمت طراحی نرم‌افزار به کار می‌رود تا در قسمت Verification یا اشکال‌یابی، و می‌تواند نظرات کاربران را بگیرد.  به این معنا که وقتی کاربری در مورد سیستم نظر داد که مشکلی در Unit وجود دارد و آن مشکل در Unit Testing حل شد، در قسمت‌های بعدی نمی‌توان از او برای آن قسمت از برنامه نظرخواهی کرد. علاوه بر...
Continue reading...