آموزش تست نرم افزار TDD و BDD
توضیحات دوره
تست نرم افزار را میتوان یکی از زیر مجموعههای مبحث کیفیت نرم افزار با نام “تضمین کیفیت” در نظر گرفت. تست نرم افزار به دنبال خطایابی و اطمینان از صحت عملکرد محصول نرم افزاری قبل از تحویل به مشتری است که حقیقتا یکی از مهمترین مراحل در فرایند توسعه است که با گذشت زمان از حالت دستی (Manual Testing) به حالت اتوماتیک (Automated Testing) تغییر رویه داده است. تست نرم افزار در دنیای امروز به سه قسمت اصلی تست واحد (Unit Testing)، تست یکپارچگی (Integration Testing) و تست پذیرش (Acceptance or E2E Testing) تقسیم می شود که مجموعه آنها هرم تست ( Test Pyramid) را تشکیل می دهند. در دوره آموزش تست نرم افزار، هرم تست و مفاهیم آن و آنچه از آن استنباط می شود را آموزش می دهیم.

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

آموزش Integration Testing
زمانی که بخواهیم یک کامپوننت را به همراه وابستگی های آن تست کنیم تا از صحت عملکرد آن کامپوننت در ارتباط با دیگر کامپوننت های وابسته به آن اطمینان حاصل کنیم از Integration Test استفاده می کنیم. این تست ها در حقیقت چند بخش سیستم را به چالش می کشند و انتظارات ما را از آنها ارزیابی می کنند. انجام Integration Testing ابزارهای خاص خود را دارد که هر کدام از این ابزارها عملیات گوناگونی را برای اجرای تست ها در این سطح انجام می دهند.

آموزش Acceptance Testing (E2E Testing)
پس از سطوح Unit و Integration برای اطمینان از کارآمد بودن نرم افزار برای مشتری نهایی، باید مرحله Acceptance Testing یا همان End-2-End Testing انجام شود. این مرحله عمدتا با استفاده از ابزارهای خاصی که خوانایی بالایی دارند و توسط افرادی غیر از برنامه نویسان قابل خواندن و فهمیدن است، نوشته می شوند.

پیاده سازی هر کدام از سطوح تست که در بالا ذکر شد در قالب تکنیک هایی صورت می گیرد که انجام عملیات تست نرم افزار را تا حد زیادی راحت می کند. علاوه بر این، این تکنیک ها باعث می شوند تا ما از تمام مزایای تست نویسی بهره مند شویم. ما در دوره آموزش تست نرم افزار تکنیک های زیادی را آموزش می دهیم اما 2 مورد از این تکنیک ها بسیار شاخص هستند که آنها را در زیر معرفی می کنیم:
آموزش Test-Driven Development (TDD)
Test Driven Development یا به اختصار TDD یک متدولوژی توسعه نرم افزار است که از طریق تکنیک test first به ما در تست و توسعه هرچه سریعتر و باکیفیت تر نرم افزار کمک می کند. TDD در حقیقت تشکیل شده از یک چرخه بی نهایت تکراری (Iterative) شامل مراحل Red ,Green و Refactor که در شکل زیر نمایش داده شده است. در دنیای تست نرم افزار، تکنیک TDD یک از مهمترین و کاربردی ترین تکنیک ها برای نوشتن تست های اتوماتیک است. هیچ کتابی را در زمینه تست نرم افزار مشاهده نخواهید کرد مگر آنکه چند فصل را به TDD اختصاص داده باشد. ما در این دوره با استفاده از تکنیک TDD تست های خود را نوشته و از کدهای خود در فواصل زمانی کوتاه Feedback دریافت می کنیم. همپنین 3 قانون اصلی TDD را بررسی و هریک را به شیوه خاص خود رعایت و پیاده سازی می کنیم. ما در فصل 2 دوره آموزشی تست نرم افزار، شما را با TDD آشنا می کنیم و پس از آن تمام فرایند تولید پروژه را بر اساس اصول TDD پیش می بریم.

آموزش Behavior-Driven Development (BDD)
Behavior Driven Development یا به اختصار BDD با تمرکز روی نیاز مشتری تلاش می کند تا نرم افزاری را که نیاز او را برطرف سازد تولید کرده و تحویل دهد. در BDD ما با نوشتن سناریوهایی که باید در نرم افزار پیاده سازی شوند، ابتدا آنها را تبدیل به یک Failing Test می کنیم و سپس با حرکت بر روی چرخه TDD آن سناریو را پیاده سازی می کنیم. ابزارهای فوق العاده کاربردی برای پیاده سازی BDD وجود دارند که تست ها را به فرمتی که همه افراد تیم حتی کسانی که از برنامه نویسی آشنایی ندارند نیز، خوانا و قابل فهم می کند. در دوره آموزش تست نرم افزار TDD و BDD ما این ابزارها را آموزش می دهیم و آنها را در پروژه پیاده سازی می کنیم.

سرفصل دوره
معرفی دوره آموزش تست نرم افزار (1 قسمت)
آموزش مفاهیم تست و دلیل نوشتن تست های اتوماتیک (10 قسمت)
Test Driven Development (توسعه تست محور) (16 قسمت)
انواع Setup Fixture در XUnit (8 قسمت)
اصل معکوس سازی وابستگی (Dependency Inversion Principle) (6 قسمت)
Built-in .Net Core IOC Container (8 قسمت)
آموزش معماری پیازی (Onion Architecture) (5 قسمت)
Test Doubles (Mock, Stub, Spy, Dummy) - Service Layer (13 قسمت)
Integration Testing - تکمیل لایه API پروژه Course (15 قسمت)
اطلاعات دوره آموزشی
- مدرس دوره: حسین عباس آبادی
- مدت زمان دوره: 11:40:15
- تعداد ویدیو: 82
- آخرین بروزرسانی: 1399/11/08
- فیلم های نمونه: امکان دریافت بخش های رایگان
پیش نیازهای دوره
باتوجه به اینکه مبحث تست نرم افزار چیزی جدا از برنامه نویسی نیست و شما باید در زمان یادگیری هر زبان برنامه نویسی، نحوه نوشتن تست های اتوماتیک برای آن زبان را نیز فراگیری نمایید، پس پیشنیاز این دوره تنها تسلط بر یک زبان برنامه نویسی شی گرا مانند #C یا Java یا ... می باشد.
تجهیزات و استاندارد های ضبط دوره ها
یکی از مهمترین مواردی که برای تهیه یک دوره آموزشی حائز اهمیت است، کیفیت و رعایت استانداردهای ضبط دوره است. به طوری که کیفیت صدا و تصویر ویدیوهای آموزشی و همچنین رعایت استانداردهای ضبط، باید در بهترین حد و مطلوب باشد. برای این منظور، موسسه آموزشی آتریا با بهره گیری از بهترین تجهیزات ضبط صدا و تصویر و رعایت استانداردهای آموزشی تلاش کرده است تا بسته های آموزشی با بهترین کیفیت را در اختیار دانشجویان عزیز قرار دهد. در زیر به بخشی از این تجهیزات و استانداردها اشاره می کنیم:
میکروفون ضبط صدا
مسلم است که یکی از مهمترین ویژگی های هر ویدیو آموزشی، کیفیت صدای ویدیو است که باید بدون نویز، واضح و شفاف باشد. کیفیت صدای فوق العاده، شفافیت و صدای بدون نویز، از اصلی ترین ویژگی های میکروفون RODE NT-USB است که موسسه آموزش آتریا از آن برای ضبط دوره ها استفاده می کند. اگر ویدیوهای رایگان دوره را مشاهده کرده باشید، به وضوح کیفیت صدای استاد را احساس می کنید.
تصویر مدرس در کنار ویدیوها
یکی از مشکلات رایج بیشتر پکیج های آموزش، خستگی ناشی از یکنواختی روند ویدیو آموزشی است چرا که اکثر این ویدیوها از پویایی لازم برخوردار نیستند. این خستگی باعث می شود که راندمان یادگیری پایین آمده و در بعضی اوقات دانشجویان دوره تا انتها دنبال نکنند. برای برطرف کردن این مشکل، دوره های آموزشی به گونه ای ضبط شده است که دانشجویان می توانند تصویر دسکتاپ و مدرس را به صورت همزمان مشاهده کنند، به طوری که ویدیو آموزشی، تداعی کننده کلاس حضوری باشد. بنابراین، جدا از تصویر دسکتاپ، تصویر مدرس نیز با استفاده از دوربین Microsoft ضبط شده است.
کیفیت 1080p Full HD ویدیوها
از آنجا که مهمترین دغدغه ما در تولید آموزش ها، کیفیت مطلوب است، تمام ویدیوهای موسسه آموزشی آتریا با بالاترین کیفیت یعنی 1080p ضبط شده اند. کیفیت بالای تصویر بسته ها باعث می شود تا شما کدها و اسلایدهای مورد استفاده مدرس را بهتر ببیند.
استاندارد زمانی ویدیوهای آموزشی
یکی از استانداردهای ویدیوهای آموزشی، توجه به مدت زمان آن ویدیو است. به نحوی که ویدیوها دارای مدت زمان بین 5 تا 20 دقیقه باشند تا منجر به خستگی دانشجو نگردد. برای این منظور سعی شده است تا حتی الامکان این استاندارد در ضبط ویدیوهای آموزشی رعایت شده باشد.
جامعیت دوره ها
یکی از ویژگی های اساسی بسته های موسسه آموزشی آتریا، جامعیت آنها است. جامعیت به این معنا که با تهیه بسته آموزشی، تمام مباحث مربوط در آن زمینه را به خوبی فراگرفته و دیگر نیازی به منابع جانبی نداشته باشید. برای این منظور مدرسین مجموعه تلاش کرده اند تا دوره های آموزشی را به صورت کاربردی و پروژه محور ضبط کنند، به طوری که دانشجویان پس از یادگیری، توانایی پیاده سازی و راه اندازی پروژه های واقعی را داشته باشند. بنابراین رویکرد ما در تولید بسته ها، آماده سازی دانشجویان برای ورود به بازار کار و یا ارتقاء جایگاه شغلی ایشان است.
لطفا، بدون ریسک خرید کنید!

پلن های قیمتی
بسته پایه
- ضمانت بازگرداندن وجه
- دریافت به روزرسانی های دوره آموزشی
- پشتیبانی از طریق واتساپ و تلفن
- 2 ساعت خصوصی آنلاین جهت رفع اشکالات
- 600,000 تومان
بسته ویژه
- ضمانت بازگرداندن وجه
- دریافت به روزرسانی های دوره آموزشی
- پشتیبانی از طریق واتساپ و تلفن
- 2 ساعت خصوصی آنلاین جهت رفع اشکالات
- 1,200,000 تومان
سلام من این دوره رو خریداری کردم. دوره بسیار عالی هست. فقط اگر تست کلاس ها و repository های ژنریک هم گفته میشد عالی بود، همچنین ما در وب بیشتر از متد های async/await استفاده می کنیم که متاسفانه این نوع متد ها هم مورد بررسی قرار نگرفت. در کل به جرات می تونم بگم بهترین و کامل ترین آموزش تست در ایران هست
سلام و ارادت. ممنون از لطف شما. توجه داشته باشید که دوره هنوز به اتمام نرسیده است. تست متدهای Await/Async حتما در ادامه دوره تدریس خواهد شد. همچنین تست Generic Method ها نیز ( باتوجه به پیشنهاد شما ) به دوره اضافه خواهد شد. باتشکر.
این کاملترین و جامعترین آموزش تستی بود که من دیده ام. همه انواع تست با مثال های عالی تدریس شده بود. من که لذت بردم
خیلی ممنون از لطف شما آقای ثابتی عزیز
بسیار عالی هست آموزش سر فصل های مهم وکلیدی ارزشمند تحسین برانگیز واقعا خسته نباشی استاد ان شاءالله ....موفق باشی
خیلی متشکر، نظر لطف شماست مهندس