آلفا و امگا دو وضعیت نگاه دارنده مکان میباشند که چرخش زندگی هر شئ را به هم میکند. (وضعیتهای آلفا و امگا بخش 7). وضعیت آلفا ابزار شئ را قبل از اینکه ساخته شود نشان و ارائه میدهد. وضعیت امگا لاشه یک شئ را بعد از اینکه از بین رفت یا اینکه خراب شد نشان میدهد. هیچ آزمایش و تستی برای اشیاء در این وضعیتها انجام نشده است. چرخش آلفا امگا شئ را تحت آزمایش از وضعیت آلفا به وضعیت امگا با فرستادن پیام با هر روش حداقل یک بار میبرد. مجموعه تست چرخش آلفا امگا نشان می دهد که همه روشها در یک گروه به طور جزئی قابل عمل میباشند. گذشتن این چرخه به معنی این است که گروه تحت تست آماده آزمایشات و تستهای پر هزینهتر میباشد. عناصر چرخه آلفا امگا در (گراهام 94+، اوربک 94، فایر اسمیت 95، و فایر اسمیت 96) فهرست شده است. یک مجموعه تست آلفا امگا ابتدا روشهای ساده را امتحان میکند. هیچ کوششی برای به دست آوردن پوشش جملهای یا امتحان کردن همه مسئولیتها انجام نمیگیرد. این کوشش بعداً انجام میشود، بعد از اینکه گروه به اندازه کافی و خوب به منظور حمایت تستهای وسیعتر، کار کند. یک چرخه آلفا امگا شش مرحله اصلی دارد. تست کننده یک پیام به هر یک از روشهای زیر در ترتیب تعیین شده میفرستد.
1. روش جدید یا سازنده
2. روش دست یابنده
3. روش بولین (شرطی)
4. روش اصلاح کننده (تغییر دهنده)
5. روش تکرار کننده
6. روش از بین برنده و خراب کننده
درون هر یک از این مرحلهها، روشهای خصوصی اول امتحان میشود که به وسیله روشهای حفاظت شده و سرانجام روشهای عمومی دنبال میشود. از آنجا که روشهای عمومی به طور نمونه بستگی به روشهای حفاظت شده و خصوصی دارد، هنگام دخالت یک روش محافظت شده با یک تست روش عمومی به وجو میآید. امتحان کردن روشهای عمومی بعد از روشهای محافظت شده و خصوصی میتواند مانع بعضی از این موانع شود. ترتیب دوباره توالی پایه به منظور همراهی کردن وابستگیهای ویژه گروهی دیگر ممکن است لازم و ضروری باشد. در کاملسازی و ترکیب یک طرفه فرض میشود که همه یا بیشتر گروه توسعه یافته است. هنگامی که یک گروه رشد پیدا میکند همان روش دنبال میشود. تست کننده با رشد عملکردی گروه به طور صفوار افزایش پیدا میکند. پیامهای آزمایشی ممکن است به حرکت کننده مانند روشهایی که به گروه اضافه میشود، اضافه شود. اگر فاصله گروهی کامل توسعه پیدا کند اما بعضی از روشها به عنوان شاخههای درخت اجرا شود، پس پیامهای تستی مطابق ممکن است شاخه درخت را امتحان کند یا اینکه تا زمان کامل شدن شاخه درخت به تأخیر بیفتد. چرخه آلفا امگا ممکن است یک روش مناسب برای روشهای افزایشی باشد و روشها میتوانند در ترتیب آلفا امگا طراحی شوند. اول سازندهها، بعد دستیابندهها، بعد بولینها، و غیره. یک تست کننده که این چرخه را اجرا میکند اسکلتی را ایجاد میکند که به آسانی میتواند با موارد آزمایشی بر پایه الگو توسعه پیدا کند.
مدلهای تستی بر پایه اجرا
نقش پوشش قانونی: یک مدل پوشش قانونی شامل قسمتهایی از اجرا میشود که باید برای برآوردن مدل تستی بر پایه اجرا برآورده شود. پوشش به عنوان یک متریک، درصدی از این قسمتهای آزمایش شده به وسیله یک مجموعه تستی میباشد. برای مثال هر مجموعه تستی که باعث میشود هر زیرحساب حداقل یکبار امتحان شود، 100 درصد پوشش زیرحسابی یا به طور ساده پوشش زیرحساب تهیه میکند. صدها پوششی از اواخر 1960 استفاده، نشر و تجزیه و تحلیل شد. تقریباً همه تستهای بر پایه اجرای حمایتی، به استثنای نمودار جریان گروهی، هیچ مدل پوششی قانونی جدید مهمی برای اهداف سازگار با سافتور پیشنهاد یا توسعه نشده است. مدلهای پوششی و قانونی دامنه روش در این جا مرور میشود. و هر کدام به وسیله ابزار پوششی در دسترس تجاری حمایت میشوند که این برای شش زبان یا شرح دادن مفهوم تستی مهم میباشد. بعضی از پیشنهادات پوششی برای اهداف سازگار با قوانین در بخش 4-4 (مدلهای پوششی برای اهداف سازگار با تست) خلاصهمیشود. در روش تستینگ، پوشش به وسیله معیار کفایت تعریف میشود که این عناصر یک IVI تمرین شده به وسیله یک استراتژی تستی را تعیین میکند. (ویوکر 88). یک مجموعه تستی اگر همه عناصر امتحان شده، امتحان شده باشند، کافی میباشد. استراتژی تستی X گفته میشود که زیرمجموعه استراتژی y باشد اگر همه عناصری که y امتحان میکند، همچین به وسیله X نیز امتحان شوند. برای مثال گفته میشود که پوشش شاخهای زیرمجموعه پوشش زیرحسابی (جملهای) باشد. زیرا امتحان همه شاخهها ضرورتاً همه زیرحساب را امتحان میکند. سلسلهبندی زیر مجموعهای درجهبندی تحلیلی پوششها میباشد. هیچ نتایج قابل عمومی شدهای درباره تأثیرات خرابی پیدا شده نسبی وجود ندارد که به درجهبندی ارتباط داشته باشد. زیرا هیچ مورد جامعی در مورد شمار و انواع باگهایی که باقی میمانند نمیتواند اشاره شود و رسیدن به یک هدف پوشیده چیزی مانند تناسب برای استفاده را نمیرساند. یک پوشش پائینتر در این سلسله بندی بر این دلالت نمیکند که یک معیار بالاتر ضرورتاً برای پیدا کردن نتایج باگی برای یک استفاده خاص و بالعکس ضروری میباشد. برای دلایل شرح داده شده در بخش 9، نقش مناسب تجزیه و تحلیل پوشش قانونی برای تستهای مسئولیتی، ایجاد یک مدل تکمیلی و ترکیبی میباشد. از یک مدل پوششی کدی به عنوان یک مدل تستی استفاده نکنید. برای طراحی کردن مجموعه تستی به مدلهای پوششی کدی تکیه نکنید و از تستیهای مسئولیتی و گزارشات پوششی برای تجزیه و تحلیل کفایت مجموعه تستی استفاده کنید. پوشاندن بعضی از جنبههای یک روش یا گروه هرگز ضمانتی برای سافتور بدون باگ نمیباشد. با وجود این، تجزیه و تحلیل کدی و پوشش کدی نقش مهمی در نتایج سازگار با تست دارد. گزارشات پوششی میتواند به مجموعه تستی ناکافی اشاره کند. گزارشات پوششی ممکن است وجود شگفتیهد را اشاره کند. گزارشهای پوششی میتواند به تعیین ساختهای اجرایی که به طرحی تستی بر پایه اجرا یا رشد توسعه شاخهها و حرکتکنندههای ویژه نیاز دارند، کمک میکند، شاید بیشترین استفاده مهم تحلیل پوششی ملایم کردن نقاط کور غیر قابل اجتناب میباشد. هر دو تست کنندگان غیر وابسته و توسعهدهنگان به طور مداوم قادر به طرح و تدبیر مجموعه تستهای پوششی بالا تنها به وسیله تجزیه و تحلیل وظیفه نیستند. مجومعههای تستی اگرچه اغلب کامل به نظر میرسند، اما به بیشتر از 60 درصد جمله یا پوشش شاخه ای نمیرسند. برای مثال، یک مطالعه انجام شده به وسیله یک فروشنده یک آنالیز کننده پوششی C++ رایج نشان داده است که مجموعه تستهای تابعی وسیع انجام شده برای یک استفاده هوا فضایی تنها 40 درصد شاخههای عضو برد تابع را آزمایش کرده است. هورگان تجربه و آزمایشی را توضیح میدهد که همین تأثیرات مشابه را نشان میدهد (هورگان 96+). این آزمایش دو برنامه سودمند استفاده شده به طور وسیع پیچیده انجام شده است. TEX و AWK. این برنامهها به وسیله اشکال راهنما در علم کامپیوتر و برنامهنویسی توسعه یافته است (به ترتیب دونالد توت و پرین کرینگان) و برای سالهای زیادی به وسیله متقاضیان استفاده شده است. کد منبعی C و مجموعه تستها برای شش برنامه به طور رایگان در دسترس میباشند. اگر چه این مجموعه تستها آنالیز دقیقی از عملکرد را انعکاس میدهد، به طور آشکار به وسیله تحلیل پوششی واجد شرایط میشوند. هورگان هر دو سیستم را وسیله قرار و مجموعه تستهای منتشر شده را اجرا کرد. نتایج پوشیده در جدول 2-10 نشان داده میشود. هیچکدام از مجموعه تستها به پوشش حکمی نرسیدهاند و تنها در حدود دو سوم شاخه پوشیده شدهاند. (مراجعه شود به بخش پوشش جریان دیتا در صفحه 384 تا 389 برای توضیح استفاده پوشش C و P). در سیستمهای بزرگ پوشش صد درصدی اغلب به خاطر راههای غیر عملی، کد مرده، و جابجایی استثنا غیر قابل دسترسی میباشد. تا 10 تا 15 درصد اجازه برای چنین ناهمسانی در سیستمهای پیچیده وجود دارد (در سیستمهای پیچیده بزرک، میانگین 80 تا 85 درصد پوشش شاخهای به دست آورده میشود. ]گردی 92، 171[) .