تست يكپارچگي نرم‌افزارها به‌كمك 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 مي‌تواند استخراج مجموعه‌اي از داده‌ها را از محيط عملياتي انجام دهد، آن را به ميزان لازم پيچيده كند و بعد به‌عنوان داده تست به‌كار بگيرد.استفاده از ديتابيس‌ها در محيط تست يكي از اهداف اساسي مديريت موثر داده است. هر چند مدل‌هاي ديگر داده‌هاي حقيقي مي‌توانند توسط اسكريپت‌هاي خودكار آزمون، مصرف شده و شباهت بيشتري به داده‌هاي به‌كار رفته در محيط‌هاي تست سرويس‌ها پيدا كنند. در بسياري از مواقع، سرويس‌هاي مجازي مي‌توانند به پايين آوردن هزينه مديريت داده كمك كرده و اجراي دوباره اين تست‌ها را با هزينه كمتري تضمين كنند.

كاهش آزمون E2E و ايزوله‌كردن رابط كاربري

از آنجا كه تست يكپارچگي به‌صورت افزايشي انجام مي‌شود، تست مقصد به قصد كاري است كه اهميت كمتري دارد. اگر رويه آزمون فعال را در پيش گرفته باشيم، در اين صورت مي‌توان انتظار داشت كه انجام آزمون‌هاي پرهزينه E2E كار زمانگيري نخواهد بود چرا كه زماني كه نرم‌افزار به مرحله بلوغ رسيده باشد، آزمون‌هاي كاربردي و يكپارچگي سيستم بارها انجام شده‌اند. آزمون مداوم و افزايشي از ميزان خطرهايي كه يك نرم‌افزار در طول زمان با آنها مواجه مي‌شود مي‌كاهند.تست نهايي بايد تمركز اصلي خود را در اجراي رويه‌هاي مختلف كاري از طريق رابط‌هاي كاربري مختلف بگذارد.IBM Rational Test Workbench‌ مي‌تواند اين آزمون‌ها را در لايه سرويس و بدون GUI انجام دهد. در اين روش، آزمون‌ها سريع‌تر انجام شده و در طول زمان، نتيجه بهتري مي‌دهند.

دوري از انفجار بزرگ

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





تاريخ : سه شنبه 28 آذر 1391برچسب:, | | نویسنده : مقدم |