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

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

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

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

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

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

Unit testing یا تست واحد

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

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

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

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

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

Penetration Testing یا تست نفوذ

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

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

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

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

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

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

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

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

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

  • Nunit
  • MbUnit
  • CsUnit
  • xUnit
  • MS Unit Test
  • آموزش تست اندروید با JUnit و Espresso

آموزش تست اندروید با JUnit و Espresso

یکشنبه ۲۵ شهریور ۱۳۹۷ - ساعت ۱۹:۰۰
  • آموزش TDD با JUnit 5

آموزش TDD با JUnit 5

یکشنبه ۲۵ شهریور ۱۳۹۷ - ساعت ۱۷:۰۰
  • آموزش SinonJS – کتابخانه محبوب جاوااسکریپت

آموزش SinonJS – کتابخانه محبوب جاوااسکریپت

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

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

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

آشنایی با تست در اندروید

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

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

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

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

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

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

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

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

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

آموزش تست واحد اپلیکیشن Spring 

دوشنبه ۱۸ تیر ۱۳۹۷ - ساعت ۱۹:۰۰
  • آموزش تست واحد 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 

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

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

سه شنبه ۳۱ مرداد ۱۳۹۶ - ساعت ۰۰:۱۲