شنبه, ۱۳ بهمن, ۱۴۰۳ / 1 February, 2025
مجله ویستا

رام کردن هیولا


رام کردن هیولا

تست یکپارچگی نرم افزارها به کمک IBM Rational

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

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

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

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

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

این مدل از تعیین اهداف اهمیت زیادی به تست کاربردی و یکپارچگی می‌دهد تا همخوانی، همکاری، کاربری و بازدهی سرویس‌ها را در نرم‌افزارها و سیستم‌های مختلف تضمین کند.

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

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

IBM Rational Test Workbench

IBM Rational Performance Test Server

و

IBM Rational Test Virtualization Server

ابزارهای قدرتمندی هستند که برای انجام تست‌های فعال طراحی شده‌اند.

● یکپارچگی افزایشی

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

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

● به‌کارگیری محیط تست مجازی

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

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

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

● استفاده از تست مداوم سطح سیستم

یـک از مزیت‌های استفاده از Rational Test Workbench سرعت و سادگی اجرای آزمون‌های مختلف است. سادگی این نرم‌افزار به این معنی است که چرخه بازگشت می‌تواند هر زمان که یک مولفه مجازی یا مولفه جدید معرفی می‌شود، اجرا شود. در نتیجه تیم توسعه بازخوردی بی‌درنگ دریافت می‌کند و می‌توان با کمترین تلاش ممکن، اسکریپت‌های تست نوشت.

● مدیریت موثر داده‌ها

داده موثر و مناسب برای انجام آزمون‌ نیاز است. در مرحله تشخیص نیازمندی‌ها، باید داده‌های مورد نظر انتخاب شوند و وارد محیط تست و اجرا شوند. به‌دلیل زمان و بودجه محدود، معمولا لازم است داده انتخاب شده برای پروژه ضروری باشد. مدیریت داده‌های آزمون فعالیت مهمی است که معمولا به افراد متخصص واگذار می‌شود. تمام اسکریپت‌های آزمون باید مبتنی بر داده باشند و Rational Test Workbench می‌تواند فایل‌های مختلف را به‌عنوان منبع بشناسد و این داده‌ها را به رابط کاربری بفرستد. به‌دلیل این‌که تست، عمل مداومی است، بهتر است اسکریپت‌های آزمون تمیزکاری شوند. این اسکریپت‌ها می‌توانند دوباره به مرحله اول برگردند و دوباره در زمان مناسب استفاده شوند.

سرویس‌های مجازی می‌توانند بسته به محیط تست خود داده‌محور باشند. همخوانی داده‌های استفاده‌شده در آزمون‌ها و محیط‌های مجازی سرویس‌ها باید رعایت شود. وقتی یک نقشه داده تعیین می‌کنیم، باید به یاد داشته باشیم که سرویس‌های مجازی می‌توانند جمع‌آوری اطلاعات را ساده‌تر کنند. مثلا ابزار IBM Optim Test Data Management می‌تواند استخراج مجموعه‌ای از داده‌ها را از محیط عملیاتی انجام دهد، آن را به میزان لازم پیچیده کند و بعد به‌عنوان داده تست به‌کار بگیرد.

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

● کاهش آزمون E۲E و ایزوله‌کردن رابط کاربری

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

تست نهایی باید تمرکز اصلی خود را در اجرای رویه‌های مختلف کاری از طریق رابط‌های کاربری مختلف بگذارد.

IBM Rational Test Workbench‌ می‌تواند این آزمون‌ها را در لایه سرویس و بدون GUI انجام دهد. در این روش، آزمون‌ها سریع‌تر انجام شده و در طول زمان، نتیجه بهتری می‌دهند.

● دوری از انفجار بزرگ

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

آرمان صالحی