آموزش تست واحد | Unit Testing

تست نرم افزار چیست؟

تست نرم افزار فرآیند اجرای یک برنامه یا برنامه با هدف پیدا کردن اشکالات نرم افزاری است.

چرا تست نرم افزار ها امری ضروری است؟

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

انواع تست نرم افزار

Unit testing یا تست واحد

کوچکترین قسمت قابل تست یک نرم افزار، واحد می باشد که در طی تست واحد، هر واحد به طور جداگانه و دقیق تست می شود.

Static testing یا تست استاتیک

یک تکنیک تست نرم افزاری است که در آن نرم افزار بدون اجرای کد مورد آزمایش قرار می گیرد.

Integration testing یا تست یکپارچه سازی

تست یکپارچه سازی یک فرآیند توسعه نرم افزاری است که واحدهای برنامه را به صورت چند گانه ترکیب و آزمایش می کنند.

Penetration Testing یا تست نفوذ

Penetration testing یا pen testing به معنای تست نفوذ، انجام تست سیستم کامپیوتری، شبکه یا برنامه وب برای شناسایی آسیب پذیری هایی است که مهاجم می تواند از آن استفاده کند.

Automated Testing یا تست خودکار

تست خودکار یک تکنیک می باشد که یک اپلیکیشن یا نرم افزار برای پیاده سازی کل چرخه عمر نرم افزار در زمان کم از آن استفاده و بهره وری و اثربخشی را برای نرم افزار تست فراهم می کند.

معرفی تست واحد

کوچکترین قسمت قابل تست یک نرم افزار، واحد می باشد که در طی تست واحد، هر واحد به طور جداگانه و دقیق تست می شود. در حالت ایده‌آل هر کدام از تست‌ها از دیگری مستقل می باشد.

اصولا توسعه‌دهندگان نرم‌افزار از تست های واحد استفاده می کنند و برنامه نویسان کدهای خود را به کمک آن آزمایش می کنند. نحوهٔ تست واحد فرق می کند. از ارزیابی نتیجه روی کاغذ گرفته تا اجرای خودکار چندین آزمایش توسط برنامه و تحلیل نتیجهٔ آن‌ها توسط خود برنامه همگی از امکانات این برنامه است.

مزایای تست واحد

  • بررسی نحوه ی عملکرد کد ها
  • به روز رسانی کد های تغییر یافته
  • اشتراک گذاری آسان کد ها
  • ارزیابی انتظارات برنامه نویس
  • تسهیل کدخوانی و refactoring
  • جلوگیری از پیدایش مجدد باگ ها
  • کاهش زمان و هزینه ی رفع اشکال
  • اجرای چند تست در زمان کم

فریمورک های تست واحد

  • Nunit
  • MbUnit
  • CsUnit
  • xUnit
  • MS Unit Test
  • آموزش تست واحد Legacy Code در جاوا

آموزش تست واحد Legacy Code در جاوا

دوشنبه ۲۱ خرداد ۱۳۹۷ - ساعت ۲۲:۰۰
  • آموزش تست واحد در Angular

آموزش تست واحد در Angular

یکشنبه ۲۰ خرداد ۱۳۹۷ - ساعت ۱۲:۰۰
  • استفاده از Catch در تست واحد (Unit Testing) با سی پلاس پلاس 

استفاده از Catch در تست واحد (Unit Testing) با سی پلاس پلاس 

دوشنبه ۳۱ اردیبهشت ۱۳۹۷ - ساعت ۱۰:۰۰
  • آموزش Microsoft Fakes

آموزش Microsoft Fakes

سه شنبه ۰۴ اردیبهشت ۱۳۹۷ - ساعت ۲۱:۰۰
  • آموزش تست واحد با Visual Studio 2013

آموزش تست واحد با Visual Studio 2013

سه شنبه ۲۸ فروردین ۱۳۹۷ - ساعت ۰۱:۰۰
  • آموزش اشکال زدایی و تست واحد مسیرهای ASP.NET

آموزش اشکال زدایی و تست واحد مسیرهای ASP.NET

چهارشنبه ۲۳ اسفند ۱۳۹۶ - ساعت ۱۲:۰۰
  • آموزش تست واحد سی شارپ

آموزش تست واحد سی شارپ

دوشنبه ۱۴ اسفند ۱۳۹۶ - ساعت ۱۵:۰۰
  • آموزش تست واحد در توسعه اپلیکیشن اندروید

آموزش تست واحد در توسعه اپلیکیشن اندروید

دوشنبه ۳۰ بهمن ۱۳۹۶ - ساعت ۱۱:۰۰
  • آموزش تست واحد اپلیکیشن های JavaScript با فریمورک Jasmine

آموزش تست واحد اپلیکیشن های JavaScript با فریمورک Jasmine

دوشنبه ۱۶ بهمن ۱۳۹۶ - ساعت ۱۹:۰۰
  • آموزش اشکال زدایی و تست واحد در Visual Studio 2017 

آموزش اشکال زدایی و تست واحد در Visual Studio 2017 

چهارشنبه ۱۱ بهمن ۱۳۹۶ - ساعت ۲۳:۰۰
  • آموزش تست های واحد در پایتون

آموزش تست های واحد در پایتون

سه شنبه ۳۱ مرداد ۱۳۹۶ - ساعت ۰۰:۱۲
  • آموزش انجام تست واحد

آموزش انجام تست واحد

چهارشنبه ۰۷ تیر ۱۳۹۶ - ساعت ۱۸:۳۰
  • تست خودکار سایت ها با Selenium و SpecFlow

تست خودکار سایت ها با Selenium و SpecFlow

جمعه ۱۲ خرداد ۱۳۹۶ - ساعت ۰۰:۰۰
  • تست برنامه ها به وسیله Selenium WebDriver

تست برنامه ها به وسیله Selenium WebDriver

سه شنبه ۰۹ خرداد ۱۳۹۶ - ساعت ۰۱:۰۰
  • تست End to End انگولار با Protractor و Cucumber

تست End to End انگولار با Protractor و Cucumber

چهارشنبه ۰۸ دی ۱۳۹۵ - ساعت ۱۳:۰۰
  • تست سرویس های Angular

تست سرویس های Angular

سه شنبه ۲۹ تیر ۱۳۹۵ - ساعت ۲۱:۰۰
  • تست واحد کدهای JavaScript

تست واحد کدهای JavaScript

سه شنبه ۲۹ تیر ۱۳۹۵ - ساعت ۰۵:۰۰
  • تست خودکار و قابل خواندن کسب و کار با SpecFlow 2.0

تست خودکار و قابل خواندن کسب و کار با SpecFlow 2.0

جمعه ۰۴ تیر ۱۳۹۵ - ساعت ۱۴:۰۰
  • مبانی تست اپلیکیشن های دات نت با Akka.NET

مبانی تست اپلیکیشن های دات نت با Akka.NET

یکشنبه ۲۳ خرداد ۱۳۹۵ - ساعت ۰۸:۰۰
  • تست واحد اپلیکیشن های جاوا

تست واحد اپلیکیشن های جاوا

شنبه ۰۱ خرداد ۱۳۹۵ - ساعت ۱۱:۰۰
  • تست واحد در AngularJS با استفاده از ngMock

تست واحد در AngularJS با استفاده از ngMock

پنج شنبه ۱۹ فروردین ۱۳۹۵ - ساعت ۲۳:۱۳