متدولوژی RUP و آزمون پذیرش سیستم
عنوان مقاله: متدولوژی RUP و آزمون پذیرش سیستم
RUP Methodology and System Acceptance Test
نویسنده/ مترجم: اکبر قراخانی بهار
Akbar Gharakhani Bahar
آدرس پست الکترونیکی نویسنده/ مترجم: a_gh_bahar@hotmail.com
تاریخ تهیه: 1384
ارسال کننده: همفکران جامعه مجازی - تاریخ ارسال: 1388
آدرس پست الکترونیکی ارسال کننده:
موضوع اصلی: تولید نرمافزار - موضوع فرعی: متدولوژیهای نرمافزار
سه کلیدواژه اصلی به ترتیب اهمیت: unit test، integration test، system test
سه کلیدواژه فرعی به ترتیب اهمیت: acceptance test،alpha test ، beta test
چکیده مقاله
در RUP، کار انتقال سیستم از محیط ایجاد کننده به محیط استفاده کننده آن، در طی«فاز انتقال» که آخرین فاز از فازهای چهارگانه RUP است، صورت میگیرد. با توجه به وجود «تکرار» در فازهای RUP، سیستم نهایی غالبا در طی تکرارهای مختلف و در هر تکرار نسخه کاملتری از سیستم به محیط استفاده کننده منتقل میگردد. قبل از اجرای فاز انتقال در RUP، لازم است که مراحل آزمون اولیه نرمافزار توسط ایجاد کننده آن انجام شده و «معیار» مربوط به پایان «فاز ساخت» به عنوان فاز سوم پیش از فاز انتقال نیز محقق شده باشد. مفهوم معیار مربوط به پایان فاز ساخت این است که نرمافزار به مرحله عملیاتی شدن رسیده و میتواند به صورت آزمایشی توسط استفاده کنندگان مورد استفاده قرار گیرد. مفهوم تکرار در RUP متضمن شکستن پروژه اصلی به چند پروژه فرعی است. انجام پروژههای فرعی با شروع از پروژه فرعی اول در قالب یک تکرار و ادامه کار با پروژههای فرعی در قالب تکرارهای بعدی، به صورتی پیشرونده ما را در نهایت با محصول کل پروژه و نرمافزار نهایی همراه میکند. در این نگرش، «پیشرونده» به این مفهوم است که با هر تکرار در واقع نسخه جدیدی از نرمافزار که نسبت به نسخه قبلی «کاملتر» و نیز «بیعیبتر» است، به استفاده کنندگان ارائه میشود. به بیان دیگر در پایان پروژه فرعی n، نسخههای جدید محصولات پروژههای فرعی 1 تا 1- n (ضمن رفع مشکلات نسخ پیشین آنها) به علاوه محصول پروژه فرعی n ارائه میشود. به همین خاطر گفته میشود که در RUP آزمونهای پذیرش در طول فرایند ایجاد نرمافزار در قالب تکرارهای RUP از طرف استفاده کنندگان نهایی همواره میتوانند انجام شوند. بدین ترتیب در RUP به جای یک آزمون پذیرش در روش سنتی، میتوان n آزمون پذیرش ترتیب داد که به صورتی پیشرونده از بخش اول سیستم شروع و با انباشت بخشهای بعدی سیستم بر روی هم، در نهایت به آزمون پذیرش کل سیستم ختم شود.
متدولوژی RUP و آزمون پذیرش سیستم
مقدمه
هر سیستم نرمافزاری بعد از آماده شدن برای اجرا، در محیط استفاده کنندگان نهایی آن نصب و آماده اجراهای آزمایشی توسط استفاده کنندگان میگردد. در RUP، کار انتقال سیستم از محیط ایجاد کننده به محیط استفاده کننده آن، در طی« فاز انتقال» (Transition Phase) که آخرین فاز از فازهای چهارگانه RUP است، صورت میگیرد. البته با توجه به وجود «تکرار» (iteration) در فازهای RUP، سیستم نهایی غالبا در طی تکرارهای مختلف و در هر تکرار نسخه کاملتری از سیستم به محیط استفاده کننده منتقل میگردد. بدین خاطر در عمل ممکن است فاز انتقال چندین تکرار یا مرحله را شامل شود.
بدیهی است که قبل از اجرای فاز انتقال در RUP، لازم است که مراحل آزمون اولیه نرمافزار توسط ایجاد کننده آن انجام شده و «معیار» (milestone) مربوط به پایان «فاز ساخت» (Construction Phase) به عنوان فاز سوم پیش از فاز انتقال نیز محقق شده باشد. لازم به یادآوری است که معیار مربوط به پایان فاز ساخت Initial Operative Capability (IOC) است و مفهوم آن این است که نرمافزار به مرحله عملیاتی شدن رسیده و میتواند به صورت آزمایشی توسط استفاده کنندگان مورد استفاده قرار گیرد.
باید اضافه شود که RUP دارای ابزارهای متعددی برای انجام آزمون یا مدیریت آن است. در این زمینه ClearQuest، ClearCase، RequisitePro، Purify، PureCoverage، Robotو غیره میتوانند به کار گرفته شوند. در این مطلب به ابعاد مختلف آزمون پذیرش یک سیستم نرمافزاری اشاره خواهد شد.
انواع آزمون سیستم
آزمون یک سیستم نرمافزاری از نظر انجام دهنده یا محل انجام آزمون، در دو وجه مختلف زیر قابل طرح است:
-
آزمونهای ایجاد کننده / Developer's Tests
-
آزمونهای استفاده کننده / User's Tests
آزمونهای ایجاد کننده که غالبا برای کشف و رفع «خطاها/ اشتباهات» (faults) و «قصور/ کمبودها» (failures) اجرایی در سیستم ایجادی انجام میشوند، شامل انجام آزمونهای شناخته شده در صنعت نرمافزار است. این آزمونها موارد زیر را شامل میشوند:
-
آزمون تک تک واحدها/ Unit Test شامل آزمون مربوط به تک تک واحدهای نرمافزاری که مجموع آنها کل سیستم نرمافزاری را به وجود میآورند.
-
آزمون واحدهای تجمیع شده به صورت سیستم/ Integration Test شامل آزمون مربوط به کل سیستم که از تجمیع یا یک پارچه کردن واحدهای نرمافزاری قبلا آزموده شده به دست آمده است.
-
آزمون سیستم/ System Test شامل آزمون مربوط به سیستم حاصل از تجمیع واحدها در تعامل با سایر سیستمهای مرتبط با این سیستم
آزمون سیستم غالبا طی دو مرحله جداگانه به شرح زیر صورت میگیرد:
-
آزمون آلفا/ Alpha Test شامل آزمون سیستم به صورت «درونی» (internal) و از طریق مجموعهای کوچک از «آزمون کنندگان» (testers) در محیط ایجاد کننده
-
آزمون بتا/ Beta Test شامل آزمون سیستم به صورت «بیرونی» (external) و از طریق مجموعه نسبتا بزرگی از«استفاده کنندگان» (users) در خارج از محیط ایجاد کننده و حتی عموم. از نرمافزار عرضه شده برای این منظور غالبا به عنوان «نسخه بتا» (Beta Version) نیز یاد میشود. همانطور که دیده میشود، معیار پایان فاز ساخت در RUP نیز در واقع شامل تهیه نسخه بتا از نرمافزار است.
آزمونهای مربوط به استفاده کننده، در عمل تحت عنوان «آزمون پذیرش» (Acceptance Test) یا «آزمون عملکرد» (Functional Test) انجام میشود. همچنین بعد از انجام هر گونه تغییرات در سیستم، آزمونی تحت عنوان «آزمون برگشتی» (Regression Test) انجام میشود تا اطمینان حاصل شود که تغییرات انجام شده باعث ایجاد خطا و قصور یا اثرات جانبی نامطلوب در سیستم نشدهاست. این آزمون ممکن است توسط هر دو طرف ایجاد کننده و استفاده کننده از سیستم انجام شود. به عنوان سفارش دهنده یا تحویل گیرنده یک سیستم نرمافزاری، ما در این مطلب به وجوه آزمون پذیرش یا عملکرد که متولی انجام آن استفاده کنندگان نهایی سیستم هستند، خواهیم پرداخت.
مفهوم آزمون پذیرش
آزمون پذیرش وسیلهای است که استفاده کنندگان نهایی سیستم با انجام آن از کارکرد درست سیستم از نظر خود، اطمینان حاصل میکنند. اگر آزمونهای قابل انجام توسط ایجاد کننده را وسیلهای برای کسب اطمینان از «انجام درست کارها» (Doing Things Right) در مورد «آنچه که ایجاد شدهاست» در نظر بگیریم، در این صورت آزمون پذیرش که از طرف استفاده کننده انجام میشود، به عنوان وسیلهای برای کسب اطمینان از «انجام کارهای درست» (Doing Right Things) در مورد «آنچه که خواسته شدهاست»، خواهد بود.
ذینفع اصلی در آزمون پذیرش، استفاده کننده سیستم است. اهداف استفاده کننده از سیستم از انجام آزمون پذیرش کسب اطمینان از موارد زیر است:
-
برآورده کردن نیازهای استفاده کننده/ Capturing User Requirements
-
اجرای بری از خطا و قصور سیستمFault and Failure Free / Running
آزمون پذیرش به عنوان «قرارداد»ی بین ایجاد کننده و استفاده کننده از سیستم تلقی میشود. با این تعبیر، وقتی یک آزمون پذیرش با موفقیت انجام شود، میتوان گفت که با این عمل در واقع پروژه مربوط به ایجاد سیستم پایان یافته است.
مفاد آزمون پذیرش باید بر اساس درخواستهای استفاده کنندگان تهیه شود. این گفته بدین معناست که مفاد باید مستقل از سیستم بوده و بدون توجه به سیستم ایجادی باشد و حتیالامکان پیش از تحویل گرفتن و حتی پیش از ایجاد سیستم تهیه شود تا این که از آنچه که در سیستم تدارک دیده شده است، تاثیر نپذیرفته باشد. مفاد آزمون پذیرش همچنین باید حتیالامکان توسط خود استفاده کنندگان (در صورت لزوم با کمک ایجاد کنندگان سیستم) و به زبان استفاده کنندگان که ممکن است از واژههای فنی نیز بدور باشد، تهیه شود.
چگونگی انجام آزمون پذیرش
آزمون پذیرش در بخش برآورده کردن نیازهای استفاده کننده، باید برآورده شدن یا نشدن نیازهای استفاده کننده را مشخص نماید. این کار میتواند با اجرای آزمایشی سیستم و بررسی اجزاء و مؤلفههای کل سیستم و تطابق آن با نیازمندیهای عنوان شده در مستندات پیشین، صورت گیرد. آزمون پذیرش در بخش اجرای بری از خطا و قصور سیستم نیز باید وجود یا عدم وجود خطا و قصور در اجزاء و مؤلفههای سیستم را مشخص کند. این کار نیز میتواند با اجرای آزمایشی سیستم و ثبت موارد خطا و قصور و گزارش آن به ایجاد کننده سیستم صورت گیرد.
همانطور که خود سیستم حول «موارد کاربرد» (Use Cases) قابل شکلگیری است، آزمون پذیرش سیستم نیز در حول «موارد آزمون» (Test Cases) قابل انجام است. به تعبیر استاندارد IEEE 829-1998 ، یک «مورد آزمون» شامل «ورودیهای معین» و «خروجیهای مورد انتظار» است. همانطور که یک سیستم میتواند شامل چندین مورد کاربرد باشد، یک آزمون پذیرش سیستم نیز میتواند شامل چندین مورد آزمون باشد. با این تعبیر، هر مورد کاربرد میتواند شامل یک یا چند مورد آزمون پذیرش باشد.
مطالب قابل بیان در باره یک مورد آزمون پذیرش شامل اقلامی نظیر شماره شناسایی آزمون، شماره ترتیب انجام و سایر نیازمندیهای آن است. این نیازمندیها میتواند شامل پیششرط/ پیشنیازهای آزمون، ورودی، رویه عملیاتی مورد آزمون در سیستم و خروجی مورد انتظار باشد. کل یک آزمون پذیرش را میتوان به صورت یک جدول «صفحه گسترده» (Spread Sheet) و یک مورد آزمون را نیز میتوان به صورت سطری از این جدول سازمان داد. در این صورت باید برای نتیجه واقعی که از طریق آزمون به دست آمده است، نام انجام دهنده آزمون، تاریخ و محل انجام آزمون و غیره نیز ستونهایی در نظر گرفته شود.
آزمون پذیرش ممکن است به صورت دستی، نیمه دستی+نیمه اتوماتیک و یا اتوماتیک صورت گیرد. بسته به مورد، آزمونهای پذیرش ممکن است با عناوینی از قبیل Test Specification، Test Suite یا Test Script نیز مورد خطاب قرار گیرند. در این صورت عنوان به کار رفته ممکن است به نوعی نشان دهنده نوع آزمون ازقبیل دستی، نیمه دستی+نیمه اتوماتیک و یا اتوماتیک نیز باشد.
توصیههای RUP در انجام آزمون پذیرش
یکی از نقاط قوت RUP در ایجاد سیستمهای نرمافزاری، ایجاد نرمافزار در طی «تکرار» های مختلف است. همانطور که میدانیم مفهوم تکرار در RUP متضمن شکستن پروژه اصلی به چند پروژه فرعی است. انجام پروژههای فرعی با شروع از پروژه فرعی اول در قالب یک تکرار و ادامه کار با پروژههای فرعی در قالب تکرارهای بعدی، به صورتی پیشرونده ما را در نهایت با محصول کل پروژه و نرمافزار نهایی همراه میکند. در این نگرش، «پیشرونده» به این مفهوم است که با هر تکرار در واقع نسخه جدیدی از نرمافزار که نسبت به نسخه قبلی «کاملتر» و نیز «بیعیبتر» است، به استفاده کنندگان ارائه میشود.
به بیان دیگر در پایان پروژه فرعی n، نسخههای جدید محصولات پروژههای فرعی 1 تا 1- n (ضمن رفع مشکلات نسخ پیشین آنها) به علاوه محصول پروژه فرعی n ارائه میشود. به همین خاطر گفته میشود که در RUP آزمونهای پذیرش در طول فرایند ایجاد نرمافزار در قالب تکرارهای RUP از طرف استفاده کنندگان نهایی همواره میتوانند انجام شوند. بدین ترتیب در RUP به جای یک آزمون پذیرش در روش سنتی، میتوان n آزمون پذیرش ترتیب داد که به صورتی پیشرونده از بخش اول سیستم شروع و با انباشت بخشهای بعدی سیستم بر روی هم، در نهایت به آزمون پذیرش کل سیستم ختم شود.
«بنیاد علمی و فرهنگی گرامی» با شعار «گسترش دانش - اعتلای زبان» و با هدف «گسترش دانش به زبان فارسی روان» و «پاسخگویی نیازهای کاربردی جامعه ایرانی»، کوشش دارد تا با «جستجو»، «انتخاب»، «ویرایش»، «نمایه سازی» و «ارائه» مطالب علمی به زبان فارسی روان در محیط اینترنت، نسبت به افزايش رغبت مطالعه مطالب علمی و از اين طريق به گسترش دانش و اعتلای زبان فارسی در محيط اينترنت کمک کند. توضيح اين که مراد از زبان فارسی مورد اشاره در بالا، شکل نوشتاری روان و درست زبان مورد تکلم در تهران و مورد استفاده در آثار مکتوب و رسانه های کشور در زمان حال بوده و تعبيرهايی نظير «زبان خالص» و غیره مورد نظر نخواهد بود. با گسترش فناوری ارتباطات و اطلاعات و با وجود انبوه اطلاعات به ساير زبان ها در فضای مجازی اينترنت، زبان فارسی نيز بايد از طريق کاربرد درست آن، جايگاه شايسته خود را در اين فضا پيدا کند. حقوق معنوی مطالب ارائه شده در این سایت، در درجه اول متعلق به صاحبان آثار (نویسنده، مترجم و ناشر به شیوه نشر سنتی) و در درجه دوم از نظر انتخاب، اعمال وِیرایش های وِیژه، نمایه سازی، تایپ، آماده سازی و ارائه الکترونیکی آن ها، به بنیاد علمی – فرهنگی تعلق دارد. استفاده از مطالب ارائه شده در این سایت با ذکر منبع آزاد است.