فرید بکران
فرید بکران
خواندن ۲ دقیقه·۷ سال پیش

خصوصیات یک تست خوب

martinfowler.com تصویر از وبسایت
martinfowler.com تصویر از وبسایت

اگر تجربه نوشتن یونیت تست را دارید، دست کم یک پروژه را به خاطر خواهید آورد که تست های نوشته شده در آن عملا به درد نمی خورند. کند هستند، قابل اتکا نیستند، اجرا نمی شوند و …

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

تست ها باید تکرار پذیر باشند و به صورت اتوماتیک اجرا شوند

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

پیاده سازی تست باید ساده باشد

اثر مهم ساده بودن پیاده سازی تست، رغبت بیشتر برای پیاده سازی آن است. بیشتر فریم ورک های تست به هدف ساده سازی نوشتن تست ایجاد شده اند.

اجرای تست باید سریع باشد

سریع بودن اجرای تست کمک خواهد کرد که بتوان دفعات بیشتری مجموعه تست ها را اجرا کرد. آیا تا به حال دنبال راهی بوده اید که خیالتان کارهایی که در پروژه انجام داده اید راحت باشد؟ یونیت تست یکی از این راههاست. اما به شرطی که سریع باشد و به دلیل کندی رها نشود!

تست های باید کاملا مستقل باشند

تست های وابسته به دیگر تست ها یا به منابع بیرونی بیرونی، تست های سختی برای نگهداری و اجرا هستند. معمولا تست هایی با وابستگی های بیرونی قابل اتوماتیک سازی نخواهند بود. یکی از خصوصیات مهم برای یک تست خوب عدم وابستگی تست به منابع بیرونی است. زمانی که تستی به دیتابیس دسترسی پیدا کند، به فایل سیستم دسترسی پیدا کند امکان اجرای مکرر تست ها وجود نخواهد داشت. کلیدی ترین موردی که در نوشتن تست های یونیت باید رعایت شود نیز همین مورد است.

موارد ذکر شده مهمترین خصوصیات هستند که می توان برای یک تست خوب یافت. در دور دوم وبینار تست خودکار نرم افزار با مثال های عملی به جنبه های دیگر نوشتن تست یونیت خواهیم پرداخت.


unittestingsoftwaretestingtestingبرنامه نویسی
یک دهه شصتی - برنامه نویس
شاید از این پست‌ها خوشتان بیاید