تست نرم افزار | تست وب سرویس | تست نفوذ | مانیتورینگ برنامه

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

تست نرم افزار | تست وب سرویس | تست نفوذ | مانیتورینگ برنامه

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

سلام خوش آمدید

۵ مطلب با موضوع «صحت عملکرد سیستم» ثبت شده است

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

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

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

 

مانیتورینگ برنامه

 

وضعیت فعلی نرم‌افزار کاربردی و شیوه‌های مدیریت فناوری اطلاعات شما هرچه که باشد، یک مشاهده ساده تکان‌دهنده وجود دارد: نمی‌توانید انتظار داشته باشید آنچه را که نمی‌توانید اندازه‌گیری کنید، مدیریت نمایید. اغلب، شکاف اساسی این است که شما در مورد ماهیت و علل مشکلات عملکرد خود، به غیر از این واقعیت که ممکن است شرکای تجاری و مصرف کنندگان شکایت داشته باشند، دید معناداری ندارید. مدیریت کارایی برنامه ( مانیتورینگ APM) شامل فرآیندها و فناوری هایی است که شما را قادر می سازد این اندازه گیری ها را دریافت کنید. مشاهده مسائل مربوط به کارایی در هر مرحله از چرخه عمر نرم‌افزار، نحوه بازیابی مدیریت پذیری و پیش بینی پذیری، به بهترین شکل است.

 

 

مانیتورینگ کارایی برنامه (Application Performance Monitoring) نامی است که به استفاده از فناوری برای نظارت، تعمیر، به روز رسانی و/یا بهینه سازی سیستم ها در یک سازمان داده می شود. نرم افزار مانیتورینگ برنامه از اندازه گیری زمان پاسخ و سایر تعاملات مؤلفه و منابع استفاده می کند تا به مدیریت پایداری کلی و قابلیت استفاده نرم افزار در حوزه کاری خود کمک کند.

در مورد مزایای یکپارچه سازی مدیریت کارایی برنامه (APM) در گردش کار IT و اینکه چگونه می‌توان تجربه کاربری را بهبود بخشید، بیاموزید.

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

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

اینجا جایی است که مدیریت کارایی برنامه (APM) وارد عمل می‌شود. با در نظر گرفتن موارد فوق، به راحتی می توان استدلال کرد که APM نه تنها مهم است، بلکه یک ضرورت تجاری است.

 

به طور خلاصه، APM، مانیتورینگ فعالانه بر بسیاری از جنبه‌های برنامه و محیط آن، به منظور شناسایی و کاهش مشکلات برنامه قبل از تبدیل شدن به مسائل اساسی است. در میان اکوسیستم‌های پیچیده و پراکنده کاربردهای امروزی، می‌توانیم APM را به‌عنوان راهنمای خود در یافتن سوزن (یا سوزن‌ها) در انبار کاه دیجیتالی که در مکان‌های مختلف، در انواع مختلف فناوری قرار دارد، در نظر بگیریم.

اما چرا به طور خاص به مانیتورینگ APM نیاز داریم؟

بیایید به چند مزیت کلیدی مانیتورینگ APM و نقش آنها در حل مشکلات کارایی نگاه کنیم.

مزیت شماره 1: مانیتورینگ APM سیلوهای عملیاتی را خراب می کند.

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

این به تیم‌های متعددی که از برنامه شما پشتیبانی می‌کنند، با تجهیز آنها به دید جامع سود می‌بخشد و به آنها اجازه می‌دهد به گونه‌ای همکاری کنند که بدون APM عملاً غیرممکن است. این امر به ویژه در محیط‌های بسیار پراکنده و چند ابری که امروزه بسیاری از برنامه های کاربردی مدرن را پشتیبانی می‌کنند، مهم است.

مزیت شماره 2: مانیتورینگ APM به شما امکان می دهد انتظارات مشتری را برآورده کنید و حتی از آن فراتر بروید.

همانطوری‌که قبلاً گفتیم، هنگامی‌که یک برنامه با مشکلات کارایی مواجه می‌شود یا در دسترس نیست، شما در معرض خطر از دست دادن مشتریان خود هستید. APM بینش‌های کارایی بی‌درنگ را ارائه می‌کند که به شما امکان می‌دهد در هنگام بروز مشکلات، سریعا واکنش نشان داده و میانگین زمان اصلاح (MTTR) را کاهش داده و برنامه خود را به کارایی عادی بازگردانید. با حل فعالانه مسائل، بهتر می توانید تجربه بی عیب و نقصی را که مشتریان از برنامه های شما انتظار دارند، ارائه دهید.

مزیت شماره 3: APM از سود شرکت شما محافظت می‌کند.

 

شرکت مهندس پیشگان آزمون افزار یاس، خدمات زیر را در حوزه تست نرم افزار ارائه می دهد:

 

  • تست عملکردی نرم افزارهای تحت وب، دسکتاپ، موبایل و نهفته
  • تست پرفورمنس (تست بار و فشار) سامانه های نرم افزاری
  • تست نفوذ سامانه های نرم افزاری
  • برون سپاری تست و تضمین کیفیت نرم افزار
  • ممیزی کیفیت نرم افزارهای تهیه شده
  • ارائه مشاوره در حوزه تست و تضمین کیفیت نرم افزار
  • ارائه استاندارد، متدولوژی، ابزار و چک-لیست در حوزه تست نرم افزار
  • تهیه و آموزش ابزارهای تست عملکردی همچون SOATest و Ranorex
  • تهیه و آموزش ابزارهای تست پرفورمنس (تست بار و فشار) همچون WPLT و LoadTest
  • تهیه و آموزش ابزارهای تست نفوذ همچون WebInspect و AppScan
  • راه اندازی ابزارهای تحلیل ایستا (مرور سورس کد) همچون JTest، dotTest، C++Test، Sonar و Checkmarx
  • راه اندازی ابزارهای تحلیل پویا (پروفایلر) همچون Yourkit Java Profiler و Yourkit dotNet Profiler
  • مانیتورینگ شاخص های کارایی سامانه های نرم افزاری از طریق ابزارهای مدیریت کارایی همچون AppDynamics

مبانی و اهداف مانیتورینگ

قبل از اینکه وارد عمق مبحث مانیتورینگ کارایی برنامه‌های کاربردی شویم، لازم است با نقش برنامه و ویژگی های آن و همینطور اکوسیستم جاری آشنا باشید. این امر زمینه ای را برای شما فراهم می سازد تا بتوانید فعالیت برنامه را درک نمایید. همچنین به شما این فرصت را می دهد تا درباره مشکلات رایج کارایی سیستم و تنظیمات آن، مطلع شوید. برای یادگیری این زمینه، لازم است به سوالات زیر پاسخ دهید:

  • کارکرد : نقش برنامه کاربردی چیست؟ آیا یک دیتابیس سرور، وب سرور، سرور توازن بار است؟
  • عملیات :  برنامه کاربردی چه نوع درخواستی را خدمت رسانی می‌کند، و یا چه عملیاتی را انجام می‌دهد؟ پایگاه داده ها وظیفه خدمت رسانی به عبارات جستجو و (دستورات) و وب سرورها مسئول ارائه خدمات به درخواست های HTTP می‌باشد. این را می توان جهت اندازه گیری میزان بار و همچنین برای برنامه ریزی ظرفیت سیستم اندازه گیری کرد.
  • حالت پردازنده :  آیا برنامه به عنوان نرم افزار سطح کاربر یا سطح هسته پیاده سازی شده است؟ اکثر برنامه ها در سطح کاربر هستند که به صورت یک یا چند فرآیند اجرا می شوند ، اما برخی از آنها به عنوان سرویس های هسته (به عنوان مثال NFS) اجرا می شوند.
  • پیکربندی:  چگونه برنامه پیکربندی شده است و چرا؟ این اطلاعات را می توان در یک فایل پیکربندی یا از طریق ابزارهای مدیریتی یافت. بررسی کنید که آیا پارامترهای قابل تنظیم مربوط به کارایی تغییر کرده است، از جمله اندازه بافر ، اندازه حافظه پنهان، موازی کاری (فرآیندها یا رشته ها) و گزینه های مشابه دیگر.
  • معیارها:  معیارهای کارایی برنامه کاربردی باید مشخص شده باشد، مانند نرخ عملیات؟ ممکن است این معیارها توسط ابزارهای همراه یا شخص ثالث، از طریق درخواست های API یا پردازش فایل های ثبت وقایع (logs) ارائه شوند.
  • لاگ ها: برنامه چه عملیاتی را ثبت می‌کند؟ کدام لاگ ها برای ثبت، فعال هستند؟ کدامیک از معیارهای کارایی از طریق لاگ در دسترس است؟ برای مثال MYSQL، جستجوهای کند را ثبت می کند. slow query log که در این فایل، اطلاعات ارزشمند و جزئیات بسیاری در مورد کارایی برخی عبارات جستجو وجود دارد.
  • نسخه: آیا نسخه برنامه، نهایی می باشد؟ آیا مشکلات کارایی یا بهبودهایی در نسخه های آخر برنامه اعمال شده است؟
  • باگ ها:  آیا پایگاه داده برای برنامه اشکالی ایجاد کرده است؟ چه باگ هایی برای نسخه جاری برنامه وجود دارد؟ اگر در حال حاضر اشکالات کارایی وجود دارد، آنها را در پایگاه داده و هرچیزی که در آن مشارکت دارد، جستجو و بازبینی کنید.
  • کارشناسان: چه کسی مسئولیت فنی کارایی برنامه را دارد؟ نام های آنها را یادداشت کنید تا بتوانید از طریق آنها مستندات را تهیه نمایید.

صرفنظر از منبع برنامه، شما درصدد درک برنامه در سطح بالایی هستید، اینکه برنامه چه کاری انجام می دهد و چگونه کار می کند. یک منبع بسیار مفید در این زمینه، یک Functional Diagram از برنامه های داخلی است.

در این بخش لازم است با تعاریف زیر آشنا شویم:

  •   مانیتورینگ یا پایش :  عبارت است از جمع آوری، پردازش، تجمیع و نمایش داده های کمّی در زمان واقعی مربوط به سیستم مانند تعداد و انواع پرس‌وجو، تعداد و انواع و خطا، زمان پردازش آنها و طول عمر سرور.
  •   مانیتورینگ White-Box : عبارت است از مانیتورینگ براساس معیارهای نمایش داده شده از طریق داخل سیستم از جمله داده های فایل لاگ، رابط های کاربری مانند رابط گرافیکی، پروفایلینگ ماشین مجازی جاوا یا آمار داخلی یک کنترل کننده HTTP.
  •   مانیتورینگ Black-Box: عبارت است از مشاهده داده های معیارهای خارج سامانه همانند تعداد بازدید کنندگان یک وب سایت.

مانیتورینگ برنامه

مانیتورینگ کارایی برنامه (Application Performance Monitoring) نامی است که به استفاده از فناوری برای مانیتورینگ، تعمیر، به روز رسانی و/یا بهینه سازی سیستم ها در یک سازمان داده می شود. نرم افزار مانیتورینگ برنامه از اندازه گیری زمان پاسخ و سایر تعاملات مؤلفه و منابع استفاده می کند تا به مدیریت پایداری کلی و قابلیت استفاده نرم افزار در حوزه کاری خود کمک کند.تنظیم کارایی برنامه های کاربردی جهت بهبود کارایی آن ضروری است. این موارد شامل تنظیم کارایی پایگاه داده ها، وب سرورها، سرورهای برنامه، توازن بار، فایل سرورها و موارد دیگر می‌باشد. در این مقاله برنامه کاربردی را از منظر مصرف منابع زیر بررسی خواهیم کرد: پردازنده مرکزی، حافظه اصلی، سیستم فایل، دیسک ها و شبکه.

مانیتورینگ کارایی برنامه

 

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

 

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

نویسندگان