یکی از مهمترین مراحل تولید نرم افزار، فاز تست و رفع اشکال سیستم است که در تمام متدهای تولید سیستمهای نرمافزاری از جمله RUP برای آن روش مدونی در نظر گرفته شده است.
تعریف تست یک نرمافزار را میتوان فرآیندی جهت کشف خطاهای کشف نشده نرمافزار در جهت مرتفع نمودن آنها عنوان نمود. از انواع مختلف تست نرمافزار عبارتند از تست عملکرد، تست استرس، تست اکتشافی، تست تطبیق پذیری با محیط، تست امنیت بر شمرد. در ادامه به توضیحی کوتاه در خصوص هر کدام میپردازیم.
تست عملکرد (Performance testing):
در این نوع تست، نرمافزار از نظر درستی عملکرد بررسی شده و کامپوننتها و فرآیندها تست میشوند. این استراتژی با تست کدهای نرمافزاری و ساختمان داخلی آن سر و کار دارد. در این روش، کدها باید به گونهای اجرا و بررسی شوند که مطمئن شویم سطر به سطر کدهای برنامه حداقل یک بار اجرا شده است. میتوان گفت که تستها طوری نوشته میشوند تا ببینند که آیا نرمافزار همانگونه که انتظار میرود عمل میکند یا خیر؟ معمولا تست عملکرد در انتهای کار انجام میشود ولی میتوان از همان ابتدای کار با تست کردن قسمتهای کوچک مثل کامپوننتها نتیجه نهایی را ساده کرد.
همچنین تست عملکرد میتواند مشکلات برنامه را پیدا کند به طور مثال:
- پایگاه داده با مقدار کمی از دادهها اجرا نشود.
- برنامه در زمان پیک، به علت بار زیاد نتواند اجرا شود.
تست عملکرد ارزیابی مجموعههای بسیار متفاوتی از مهارتهای عملکردی و یا توانایی برنامه را انجام میدهد. این تست در صنعت نرم افزار بسیار شایع میباشد و کاستیها و مشکلات عملیاتی در برنامه را قبل از اجرا شدن آن نمایش میدهد. اگر کسب و کار با شکست مواجه شود میتواند مشکلاتی مانند زیر را درپی داشته باشد:
- از دست دادن درآمد
- از دست دادن مشتریان جدید
- از دست دادن مشتریان قدیمی
- تبلیغات منفی در رسانهها و وب سایتها
معرفی ابزار:
ابزارهای تست عملکرد میبایستی مشخصات زیر را داشته باشند:
- بایستی بار بر روی سیستم در حال تست، تولید کنند.
- زمان پاسخ سرور را اندازه گیری کنند.
- توان اندازه گیری داشته باشند.
در این پست برای هرنوع تست یک ابزار معرفی میکنیم. برای تست عملکرد ابزار جیمیتر را میگوییم.
جیمیتر به صورت متن باز ( Open source) بوده که برای پلت فرمهای جاوا به کار میرود. عمدتا از این ابزار به عنوان تست عملکرد استفاده میکنند اما میتوانید از آن در تستهای دیگر مانند تست بار و استرس استفاده کنید. این ابزار تمامی بار برنامه را روی سرور یا شبکه وارد میکند تا عملکرد آنها را مورد تست قرار دهد.در انتهای تست، تجزیه و تحلیل نتیجه تست با استفاده از گزارش گیریهای متنوع ارائه میشود. عناصر جیمیتر را میتوان در تست عملکرد و تست فانکشنال به وسیله TestPlan یکپارچه کرد به اینصورت که جیمیتر به شما اجازه میدهد که با همان TestPlan فانکشنال، تست بار را هم انجام دهید. این کار انعطاف پذیری جیمیتر را نشان میدهد که برای پروژههای تست بسیار کارآمد میباشد. این برنامه قابل حمل بوده و نیازی به نصب نیست. آن را میتوانید از این آدرس دریافت کنید.
تست استرس (Stress Testing):
تست استرس یا تست فشار به ما اجازه میدهد که وضعیت بار نهایی که در آن عملکرد سیستم غیر قابل قبول است را تعیین کنیم. در این نوع از تست، کارایی سیستم تحت بارهای افزایشی تدریجی اندازه گیری میشود. این به تسترها کمک میکند که نقطه نهایی که سیستم در آن fail میشود را تعیین کنند. بار سنگینی که میتوان به برنامه وارد کرد میتواند شامل مقادیر زیر باشد:
- مقادیرعددی پیچیده
- مقادیر زیاد ورودی
- مقادیر زیاد پرس و جو
هدف از این تست، طراحی محیطی مخربتر از محیطی که برنامه در دنیای واقعی و در شرایط نرمال با آن روبرو میشد، است.
معرفی ابزار:
در این بخش هم ابزار Load UI را معرفی میکنیم.
Load UI:
این ابزار به صورت متن باز ( Open source) بوده و برای برنامههای تحت وب به کار میرود و در نوع خود انعطاف پذیرترین ابزار تست استرس است. این ابزار به شما اجازه میدهد در حین تست کردن، تستها را بسازید، بهروز یا پیکربندی کنید. از دیگر ویژگیهای این ابزار گزارشهای متنوعی است که پس از تحلیل تست، به شما ارائه میدهد. همچنین هنگام بهروز رسانی نیازی نیست که برای اعمال تغییرات آن را بسته و دوباره باز کنید، بلکه به صورت خودکار بهروز رسانی بر روی آن انجام میشود. آن را میتوانید از این آدرس دریافت کنید.
امروزه با پیچیده شدن پروژههای نرمافزاری و رسیدن ضرب الاجل پروژه به زمان تعیین شده، بهترین راه تیم تست برای تست برنامهها، ابزارهای موجود است. با استفاده از این ابزارها، تیم تست زمان بیشتری برای تمرکز بر روی جنبههای دیگر برنامه داشته و خطاهای بیشتری را کشف میکند. علاوه براین با این ابزارها میتوان در هر زمان و به هر تعداد دفعات تست را اجرا کرد.
ممنون بابت مطالب مفیدتون – اگر میشه هر دفعه که مطلب جدید میزارین به من هم اطلاع بدین – چون کار من تست نرم افزار هستش – اگر ابزار های دیگه ایی هم برای تست میشناسین به من هم اطلاع بدین – ممنون
در فکر راه اندازی فید برای سایت هستم که فک می کنم راه شما رو آسون می کنه
مرسی…
سلام
درباره تست برنامه هایی که به زبان c و برای سخت افزار نوشته شده avr ، اطلاعاتی دارین ؟؟
سلام
در حال حاضر در مورد تست زبان C یا تست سخت افزار پستی در حال تهیه نیست، اما در آینده حتما این بخش ها رو هم در نظر می گیریم
تشکر بابت این مطالب ارزنده.
–
در صورت امکان، اگر بر روی سایر پلتفورم ها نیز، اگر ابزارهایی می شناسید که در کشور ما کاربردی باشند و امکان استفاده داشته باشند رو هم معرفی کنید، خیلی عالی خواهد بود.
مرسی
در پستهای آینده از پلتفرمهایی مانند دات نت و … و پایگاهدادههایی مانند اوراکل و نرمافزارهای مربوطه انتشار میشود
با تشکر