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

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

تست محصول در Agile

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

توسعه آزمایش محور

یه خواننده هست به اسم شماع زاده (نمی دونم مجازه غیر مجازه – اگر نیست عفو بفرمایید) همان که میگه گیتارم را نبرید {تورو خدا سیب و گلابی و طلاها رو ببرید ولی این گیتارم رو نبرید } واقعا این برادر باید برای برنامه نویس ها یک الگو باشد . برنامه نویس ها باید بگویند که هر چی دلت می خواهد ببر , IDE را ببر , کامپوننت Janus را ببر , Delphi رو کلا ببر , PHP ام دم در بنداز تو Trash ولی تو رو خدا TDD ام را نبر . در این سال های اخیر در صنعت...
Continue reading...

چگونه کدهای تست نشده را رفاکتور نماییم؟

معمولا در مرحله Bug-fixing یا رفع خطا ها فرصت های مغتنمی برای Refactor کردن کدهای تست نشده به وجود می آید . به عبارت دیگر شما کدهایی دارید که مشکل دار هستند و این فرصت را دارید تا با ساختاری بهتر کدها را بازسازی نمایید . بعنوان یک قاعده کلی ، به ازای هر کسی که یک مشکل (Problem) را به شما اطلاع می دهد بین 10 تا 100 نفر دیگر وجود دارد که با همین مشکل مواجه شده است ولی به شما اطلاع نداده است . زمانی که می خواهید به مسائل بالای کیفیت دست پیدا کنید در واقع...
Continue reading...

Refactoring tools in Visual Studio

چگونه از ابزاری که به منظور Refactor  در Visual Studio موجود است استفاده نماییم؟ Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it’s less likely to go wrong. The system is also kept fully working after each small refactoring, reducing the chances that a system can get seriously broken during the restructuring. منبع : Refactoring...
Continue reading...

آموزش ۵ اصل برای ایجاد کدهای خوب

در بسیاری از موارد و در بعضی از شرکت هایی که بنده افتخار حضور در آنها را داشتم  شاهد این بودم که برنامه نویس ها زیاد به کد نوشته شده اهمیت نمی دهند و فقط نتیجه کد برای شان مهم می باشد ولی به نظر بنده هر قدر کد تمیزتر باشد نگه داری برنامه راحت تر خواهد شد . منظور از کد تمیز چیست ؟ کد تمیز رو می شود با کد کثیف (Dirty Code) توضیح داد . به هر اندازه ای که کد خوانایی و قابلیت نگه داریش را از دست بدهد در اصلاح می گویند کد کثیف و...
Continue reading...