تست و ایمنی نرمافزار مجموعهای از فرآیندها و ابزاری است که بهمنظور شناسایی، پیشگیری و اصلاح نقاط ضعف امنیتی در توسعه و جمعآوری اپلیکیشنهای نرمافزاری استفاده میشوند. همچنین نقاط ضعف و جنبههای آسیبپذیر ممکن است خطر آسیب به برندهای شرکت، نقض قوانین و سایر تخلفات امنیتی بههمراه داشته باشد. تمام این موارد میتواند موجب صرف هزینه و زمان زیادی شود و بقای تجاری شرکتها را به خطر اندازد.
از آنجایی که نرمافزار نقش مهمی در سیستمهای پیچیده دارد، فراهم کردن امنیت آن بسیار حیاتی می باشد. امنیت نرمافزار یکی از فعالیتهای تضمین کیفیت نرمافزار است که خصوصیات امنیتی نرمافزار را در مراحل طراحی، پیاده سازی و بهکارگیری، مورد خطاب قرار میدهد.
تست امنیت (Security testing):
رویه ارزیابی امنیت برنامه از طریق شبیهسازی حملات از طرف حملهکنندگان بیرونی یا درونی را تست امنیت گویند. این نوع تست شامل تست محرمانه بودن، جامعیت، تصدیق هویت (Authentication)، مجوز دادن (Authorization) مجوز کاربری است. هدف تست امنیت بررسی کارایی مکانیزمهای دفاعی سیستم وب در مقابل دسترسیهای نامطلوب کاربران بدون مجوز و حفظ منابع سیستم در مقابل کاربران ناشایست و همچنین دادن دسترسی به کاربرانی که مجوز دارند، میباشد. در توسعههای فعلی نرمافزار به ندرت نیازمندیهای امنیتی، سناریوهای سوء کاربرد، دانش ریسکهای امنیتی و نیز الگوهای حملات در طراحی مورد توجه قرار میگیرد البته تست نیز همین وضعیت را دارد. در نتیجه تستهای امنیتی قائم به شخص بوده و در میان تیمهای مختلف و درطول زمان قابل تکرار نیستند. با این وضع در عمل تست امنیت تنها بخش کوچکی از ریسکهای امنیتی موجود را مییابد.
تست امنیت بسیار وسیع و گسترده و در حوزههای مختلف میباشد که به طور مختصر تعریفی از آن ارائه شد. برای مثال متدولوژی OWASP منبعی عالی برای تست حرفهای امنیتی است که جزییات آن را میتوانید در این سایت مطالعه کنید. ابزارها در این حوزه بسیار متنوع و گوناگون هستند بنابراین در این بخش ابزاری معرفی نمیگردد.
یادتان باشد که تست امنیت یک بار انجام نمیشود، تستهای پشت سرهم میتوانند نقصهای جزییتری را آشکار کنند. راستی از تست امنیت به عنوان آخرین چک استفاده کنید نه اولین ژست امنیتی فرآیند توسعه!
تست بار(Load testing):
تست تحمل بار در مقابل بار زیاد یا ورودیها تست میشود مانند تست وب سایتها برای یافتن نقاطی که درآن نقطه، وب سایت یا برنامه شکست میخورد و یا نقاطی که در آنها کارایی وب سایت کاهش پیدا میکند. این تست به ما اجازه میدهد که کارایی سیستم را براساس رفتار واقعی کاربر اندازه بگیریم. در این نوع تست، کاربران در حال توسعه شبیه سازی میشوند که به صورت دورهای درخواست خود را به برنامه میفرستند. دقت نتایج حاصل از تست کارایی به تشابه بین کاربران شبیهسازی شده و کاربران واقعی بستگی دارد. این نکته لازم به ذکر است که تست بار نمیخواهد سیستم را با فشار آوردن از پا در آورد اما میخواهد سیستم را به طور پیوسته زیر بار نگه دارد. این تست میتواند شامل موارد زیر باشد.
- زمان کار پیوسته با سیستم بدون خارج شدن از نرمافزار (۷۲ ساعت)
- استفاده فعال همزمان از نرمافزار توسط چند کاربر
- کارکرد نرمافزار با استفاده از حداکثر گنجایش بانک اطلاعاتی: به این منظور جدول برای تست سرعت و زمان پاسخگویی سیستم، باید حاوی حداکثر تعداد پیش بینی شده رکورد باشد.
معرفی ابزار:
در این بخش ابزار WAPT Pro را معرفی میکنیم.
این برنامه محیطی برای تست بار، استرس و عملکرد وب سایتها و برنامههای کاربردی فراهم میکند. WAPT Pro به صورت مجازی هزاران کاربر را شبیه سازی کرده و بار بر روی برنامه اعمال کند. برای رسیدن به حداکثر عملکرد این برنامه میتوان به جای یک سیستم از چندین سیستم استفاده کرده و به طور همزمان بار را برروی برنامه اعمال کنید. این ابزار را میتوانید از این آدرس دریافت کنید.
خیلی ممنون از مطالب مفیدتون
تشکر بابت اطلاعات مناسب و مجتمع.
با تشکر بابت مقاله مفیدتون
ممنون میشم اگر سایتی یا منبعی میشناسین که در مورد wapt pro اموزش داده باشه معرفی کنین.هم چنین loadui یا به طور کلی هر نرم افزاری که یه منبعی برای یادگیریش داره ئ تئ حوزه ی تست نرم افزاره.
به جز سلنیوم.اونو منابعشو دارم.دارم یاد میگیرم.