بخشی از پاورپوینت
اسلاید 1 :
طه
ما انزلنا علیک القرآن لتشغی
الا تذکره لمن یخشی
اسلاید 2 :
Test Driven Development(T. D. D.)
اسلاید 3 :
فهرست
مزایای TDD
معایبTDD
مروری بر کارهای پیشین
مقالات تحلیلی
خودکارسازی آزمون
ترکیب با روش های صوری
گسترشهای تولید آزمونرانه
الگوسازی
مقدمه
انواع روشهای آزمون
معرفی TDD
بازآرایی
XP
ابزارهای TDD
ارائه مثال
اسلاید 4 :
مقدمه
یکی از مهمترین مراحل در فرآیند تولید نرمافزار، آزمون نرمافزار است. روشهای مختلفی برای آزمون ارائه شده است و درصد قابل توجهی از کل بودجه پروژههای نرمافزاری صرف آزمون میگردد.
آزمون پس از تولید (سنتی)
تولید و نوشتن آزمون به طور همزمان
اول آزمون سپس کد برنامه (نوین)
کنترل کیفیت محصول که در روشهای سنتی تولید نرمافزار به صورت آزمون پس از تولید انجام میپذیرد، علاوه بر هزینه بالا، ممکن است منجر به تولید محصولی شود که مورد پذیرش مشتری نباشد. از اینرو متدولوژیXP پیشنهاد داد که ابتدا کد آزمون نوشته شود و سپس کدهای برنامه برای قبول شدن آنها اضافه گردند.
اسلاید 5 :
انواع روش های آزمون
اسلاید 6 :
معرفیTDD (تولید آزمونرانه)
برخلاف نام TDD که با کلمه تست آغاز می شود، این متدولوژی اصلا متدولوژی تست نیست. بلکه متدولوژی تولید نرمافزار است.
ایده اصلی این روش بر مبنای ایده XP یا تولید اول آزمون است.
بر اساس تعریف اسکات امبلر، توسعهی آزمونرانه یک روش تولید نرمافزار است که در آن ایدهی ساختن آزمونها پیش از تولید کد اصلی با روش بازآرایی کد تلفیق میشود
مهمترین اصل این روش تولید نرمافزار این است که "اول آزمون را بنویس بعد کدی بنویس که آنرا از سر بگذراند ".
اسلاید 7 :
معرفیTDD (تولید آزمونرانه)
تست سایت
تست سایت
Refactoring
TDD
اسلاید 8 :
بازآرایی
ایده اصلی بازآرایی در پایان نامه دکترای اپدیک در سال 92 ارائه گردید و در سال 99 به همراه فولر
تکمیل شد. هدف کلی بازآرایی بهبود طراحی نرمافزار و همچنین بهبود ساختار کد برنامه است.
فولر روش برنامهنویسی بازآرایی را به عنوان یک روش منظم برای بازسازی کد معرفی میکند. ایده اصلی این روش این است که تغییرات کوچکی در کد داده شود تا هم طراحی بهبود یابد وهم درک برنامه سادهتر صورت گیرد. در نتیجه ایجاد تغییرات بعدی در آن نیز سادهتر میشود. همچنین به برنامهنویس کمک میکند تا با یک رویکرد تکرارشونده و افزایشی در برنامهنویسی به مرورکد خود را تکامل دهد.
اسلاید 9 :
معمولا در زمانهای ذیل عمل بازآرایی انجام میشود:
هنگام آمادهسازی سیستم برای اضافه کردن یک تابع جدید برای جلوگیری از نگرانی از تأثیر ویژگی جدید بر روی سایر ویژگیها.
بعد از اضافه کردن یک تابع جدید برای درک بهتر کد برنامه و تمیز شدن کد.
هنگام برطرف کردن یک خطا.
در دورههای زمانی مشخص برای بازبینی کد در برخی سازمانها.
اسلاید 10 :
مزایای بازآرایی
از بین رفتن کلاسها و متغیرهای بیهوده و بلااستفاده
رفع ابهام کدهای نامشخص
سادهسازی عبارات منطقی پیچیده
--------------------------------------
به طور کلی بازآرایی باعث بهبود در طراحی نرمافزار و همچنین تسهیل درک نرمافزار میشود. وقتی درک نرمافزار سادهتر شود، پیدا کردن خطاهای آن هم سادهتر خواهد شد. بنابراین این روش باعث تسریع در فرآیند توسعه نرمافزار خواهد بود.
اسلاید 11 :
متدولوژی XP
از نظر بک، فرآیند XP به شش فاز اصلی تقسیم میشود:
فاز اول، شناسایی، مشتری شرح برنامههای سیستم را مینویسد.
فاز دوم، فاز طرح ریزی شرحهای نوشته شده اولویتبندی میشوند و برنامه زمانی برای ارائهی نسخه اول برنامه تولید میشود.
فاز سوم، iterations to release، معماری سیستم ایجاد میگردد که شامل آزمونهای پیوسته و تجمیع کد است.
فاز چهارم، فاز تولید است. قبل از نهایی کردن سیستم لازم است که تولیدکنندگان نرمافزار، آزمونهای اضافه در این فاز داشته باشند.
فاز پنجم، فاز نگهداری، هر پیشنهادی در مورد سیستم برای پیادهسازی نسخههای بعدی مستند میشود.
فاز ششم، فاز پایانی، زمانی است که هیچ یک از شرحهای کاربری بدون پاسخ باقی نمانده باشد و کاربر تغییر جدیدی در سیستم ایجاد نکرده باشد.
اسلاید 12 :
آزمون واحد
یكی از مهمترین اجزاء روش XP است
آزمون واحد، آزمونی است که یک نیاز مشخص برای یک متد مشخص را آزمایش میکند و اگر درست پیادهسازی شود در قانون "یک نیاز/ یک متد" میگنجد
هدفگیری شده
ایزوله شده
قابل تکرار و پیش بینی
مستقل از ترتیب اجرا
اسلاید 13 :
تاریخچه TDD
مفاهیم مدل آزمونرانه برای بار اول توسط بک در سال 2000 و بعد از آن 2003 بررسی شده است.
کتاب معروفی از این روش در سال 2008 توسط اسکات امبلر ارائه شد.
اسلاید 14 :
چرخه سه مرحلهای تولید آزمونرانه
اسلاید 15 :
نمودار عملکرد روش تولید آزمونرانه
اسلاید 16 :
ابزارهای متدولوژی تولید آزمونرانه
اسلاید 18 :
ارائه مثال از کارکرد تولید آزمون رانه
در این قسمت هدف نوشتن برنامه به روش تولید آزمونرانه است. این مثال با استفاده از ابزار NUnit نوشته شده است. صورت مساله نوشتن برنامهای است که نتیجه یک عدد صحیح به توان عدد صحیح نامنفی دیگری را محاسبه کند. کد آزمون این برنامه بدین صورت است: