آزمون جعبه سیاه

Download Report

Transcript آزمون جعبه سیاه

‫بسم هللا الرحمن الرحیم‬
‫‪‬‬
‫‪‬استاد‪:‬آقای پورحسابی‬
‫‪‬‬
‫‪‬تهیه کنندگان‪:‬‬
‫‪‬مهدیه ماستری فراهانی‬
‫‪‬زهرا خیرجو‬
‫‪1‬‬
‫آزمون برنامه های کاربردی سنتی‬
‫‪2‬‬
‫مبانی آزمون نرم افزار‪:‬‬
‫‪‬‬
‫‪‬آزمون پذیری‬
‫‪‬خصوصیات آزمون‬
‫‪3‬‬
‫آزمون پذیری‪:‬‬
‫‪ ‬قابلیت کارکردن‬
‫‪ ‬قابلیت مشاهده‬
‫‪ ‬کنترل پذیری‬
‫‪ ‬تجزیه پذیری‬
‫‪ ‬سادگی‬
‫‪ ‬پایداری‬
‫‪ ‬درک پذیری‬
‫‪4‬‬
‫‪‬‬
‫خصوصیات آزمون‪:‬‬
‫‪‬‬
‫‪‬آزمون خوب با احتمال زیادی خطاها را می یابد‪.‬‬
‫‪ ‬آزمون خوب دارای زواید نیست‪.‬‬
‫‪ ‬آزمون خوب باید بهترین باشد‪.‬‬
‫‪ ‬آزمون خوب نباید بیش از حد ساده و نه بیش از حد پیچیده باشد‪.‬‬
‫‪5‬‬
‫دیدگاه های درونی و بیرونی نسبت به آزمون‪:‬‬
‫‪‬‬
‫‪ ‬شیوه های آزمون به دو صورت است‪:‬‬
‫‪ .1‬دانستن قابلیت عملیاتی مشخصی که یک محصول برای ارائه‬
‫آزمون جعبه سیاه‬
‫آن طراحی شده است‪.‬‬
‫(دیدگاه بیرونی)‬
‫آزمون جعبه سفید‬
‫‪ .2‬دانستن کارکرد درونی محصول‬
‫(دیدگاه درونی)‬
‫‪6‬‬
‫آزمون جعبه سیاه به آزمون هایی اشاره دارد که روی واسط نرم‬
‫افزار اجرا میشوند‪.‬‬
‫در آزمون جعبه سفید نرم افزار از نظر جزئیات روالی مورد‬
‫بررسی دقیق قرار میگیرد‪.‬‬
‫نکته‪:‬آزمون های جعبه سفید را تنها پس از ایجاد طراحی در سطح‬
‫مولفه ها می توان طراحی نمود زیرا جزئیات منطقی برنامه باید در‬
‫دسترس باشد‪.‬‬
‫‪7‬‬
‫آزمون جعبه سفید(جعبه شیشه ای)‪:‬‬
‫‪‬‬
‫با استفاده از متدهای آزمون جعبهه سهفید مهوارد آزمهون زیهر بهه دسهت مهی‬
‫آیند‪:‬‬
‫‪ .1‬تضمین می کنند کهه همهه ی مسهیرهای مسهتق در یهک پیمانهه‪,‬حهداق‬
‫یک بار امتحان شده اند‪.‬‬
‫‪ .2‬همههه ی تصههمیر گیههری هههای منطقههی را در دو بخههش درسههت و لههط‬
‫امتحان کنند‪.‬‬
‫‪ .3‬همه ی حلقه ها را در مرزها و در داخ مرزهای عملیاتی آنها اجرا‬
‫کنند‪.‬‬
‫‪ .4‬ساختمان داده های داخلی را امتحان کنند تا اعتبار آنها ثابت شود‪.‬‬
‫‪8‬‬
‫آزمون مسیرهای پایه‪:‬‬
‫‪‬‬
‫آزمون مسیرهای پایه یک تکنیک آزمون جعبه سفید است‪.‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪9‬‬
‫نمادگذاری گراف جریان‬
‫مسیرهای مستق برنامه‬
‫به دست آوردن موارد آزمون‬
‫ماتریس گراف‬
‫‪ .1‬نمادگذاری گراف جریان‪:‬‬
‫این نماد گذاری برای نمایش دادن جریان کنترل کاربرد دارد‪:‬‬
‫‪‬‬
‫شک ‪ 18-1‬نماد گذاری گراف جریان‬
‫‪10‬‬
‫‪ ‬شک ‪(18-2‬ب) گراف جریان‬
‫‪11‬‬
‫ در شک ‪(18-2‬ب)هر دایره که گره گراف جریان خوانده‬‫می شود‪,‬یک یا چند دستور رویه ای را نشان می دهد‪.‬ترتیبی‬
‫از مستطی های پردازشی و یک لوزی تصمیر گیری را‬
‫میتوان در یک گره منفرد خالصه نمود‪.‬‬
‫ پیکان های روی گراف جریان‪,‬که یال یا پیوند خوانده‬‫میشوند نشانگر جریان کنترل بوده که مشابه پیکان های‬
‫نمودار گردشی هستند‪.‬‬
‫ مساحت های محصور شده توسط یالها و گره ها را ناحیه‬‫می نامند‪.‬‬
‫‪12‬‬
‫‪ .2‬مسیرهای مستق برنامه‪:‬‬
‫‪‬‬
‫مسیر مستق هر مسیری از برنامه است که حداق یک مجموعه ی جدید از‬
‫دستورهای پردازش یا یک دستور شرطی را معرفی کند‪.‬‬
‫مسیر مستق در گراف جریان حداق باید در راستای یک یال حرکت کند که‬
‫پیش از تعریف مسیر از آن عبور نکرده باشد‪.‬‬
‫برای مثال‪,‬مجموعه ای از مسیرهای مستق در شک ‪18-2‬ب در گراف جریان‬
‫نشان داده شده اند‪:‬‬
‫‪13‬‬
‫شک ‪(18-2‬الف) نمودار گردشی‬
‫‪14‬‬
‫پیچیدگی سیکلوماتیک‪:‬‬
‫‪‬‬
‫پیچیدگی سیکلوماتیک‪ ,‬معیاری مفید برای پیش بینی پیمانه هایی‬
‫است که احتمال مستعد خطا بودن آنها بیشتر است‪.‬‬
‫برای برنامه ریزی آزمون ها‬
‫موارد استفاده‬
‫برای طراحی موارد آزمون‬
‫‪15‬‬
‫پیچیدگی سیکلوماتیک به یکی از سه شیوه ی زیر محاسبه میشود‪:‬‬
‫‪‬‬
‫‪.1‬‬
‫تعداد نواحی گراف جریان متناظر با پیچیدگی سیکلوماتیک‪.‬‬
‫‪.2‬‬
‫پیچیدگی سیکلوماتیک‪ ,V(G),‬برای یک گراف جریان ‪ G‬به صورت ‪V(G)=E-N+2‬‬
‫تعریف میشود که در آن ‪ E‬تعداد یال های گراف جریان و ‪ N‬تعداد گره های آن است‪.‬‬
‫‪.3‬‬
‫پیچیدگی سیکلوماتیک‪ V(G),‬برای یک گراف جریان ‪ G‬به صورت ‪ V(G)=P+1‬نیز‬
‫تعریف میشود که ‪ P‬تعداد گره های گزاره ای موجود در گراف جریان ‪ G‬است‪.‬‬
‫نکته‪ :‬پیچیدگی سیکلوماتیک‪ ,‬مرز باالیی تعداد موارد آزمونی را مشخص میکند که الزم هستند‬
‫تا تضمین شود که هر دستور از برنامه دست کر یکبار اجرا شده است‪.‬‬
‫‪16‬‬

17
‫مثال‪ :‬پیچیدگی سیکلوماتیک گراف جریان در شک ‪18-2‬ب‪:‬‬
‫‪‬‬
‫‪ .1‬گراف جریان ‪ 4‬ناحیه دارد‪.‬‬
‫‪11( V(G)=11-9+2=4 .2‬یال و‪ 2‬گره)‬
‫‪ 3( V(G)=3+1=4 .3‬گره گزاره ای)‬
‫پیچیدگی سیکلوماتیک برابر ‪ 4‬است‪.‬‬
‫‪18‬‬
‫مقدار )‪V(G‬یک حد فوقانی برای تعداد مسیرهای تشکی دهنده‬
‫ی مجموعه ی پایه ارائه میدهد و در نتیجه برای تعداد آزمون‬
‫هایی که باید طراحی و اجرا شوند یک حد فوقانی ارائه می کند تا‬
‫تضمین شود که کلیه دستورات برنامه تحت پوشش قرار گرفتند‪.‬‬
‫‪19‬‬
‫‪ .3‬به دست آوردن موارد آزمون‪:‬‬
‫‪‬‬
‫روش آزمون مسیرهای پایه را میتوان در یک طراحی رویه ای یا کد منبع به‬
‫کار برد‪.‬‬
‫برای به دست آوردن مجموعه ی پایه‪,‬باید مراح زیر را اجرا نمود‪:‬‬
‫‪ .1‬استفاده از طراحی یا کد به عنوان یک بستر و رسر گراف جریان مربوط‪.‬‬
‫‪ .2‬پیچیدگی سیکلوماتیک گراف جریان حاص را تعیین کنید‪.‬‬
‫‪ .3‬تعیین مجموعه ی پایه برای مسیرهای مستق خطی‬
‫‪ .4‬موارد آزمونی را تهیه کنید که اجرای همه ی مسیرها در مجموعه ی پایه‬
‫را الزامی می کنند‪.‬‬
‫‪20‬‬
‫‪.4‬ماتریس گراف‪:‬‬
‫‪‬‬
‫ماتریس گهراف یهک مهاتریس مربعهی اسهت کهه انهدازه آن برابهر تعهداد گهره ههای‬
‫موجود در گراف جریان است‪.‬هرسطر و ستون متناظر با یکی از گره هها اسهت‬
‫و مدخ های ماتریس با اتصاالت میان گره ها متناظرند‪.‬‬
‫وزن پیوند در ساده ترین شک خود‪,‬برابر‪(1‬وجود ارتباط)یا صفر(نبود ارتبهاط)‬
‫است ولی خواص جالب دیگری را نیز میتوان به اوزان پیوند نسبت داد‪:‬‬
‫‪ .1‬احتمال آنکه یک پیوند (یال) اجرا شود‪.‬‬
‫‪ .2‬زمان پردازش صرف شده برای طی کردن یک پیوند‪.‬‬
‫‪ .3‬حافظه الزم برای طی کردن یک پیوند‪.‬‬
‫‪ .4‬منابع الزم برای طی کردن یک پیوند‪.‬‬
‫‪21‬‬
‫آزمون ساختار کنترلی‪:‬‬
‫‪‬‬
‫‪ .1‬آزمون شرط ها‬
‫‪ .2‬آزمون جریان داده ها‬
‫‪ .3‬آزمون حلقه ها‬
‫‪22‬‬
‫‪ .1‬آزمون شرط‪:‬‬
‫‪‬‬
‫‪‬آزمون شرط ها یک روش طراحی مهوارد آزمهون اسهت کهه اکثهر‬
‫شهرط هههای منطقهی موجههود در یهک پیمانههه برنامهه را امتحههان مههی‬
‫کند‪.‬‬
‫‪ ‬هرشرط ساده یک متغیر بولی یا یک عبارت رابطه ای است‪.‬‬
‫‪ ‬در روش آزمههون شههرط ههها‪,‬آزمههایش هههر شههرط در برنامههه‪,‬بههرای‬
‫حصول اطمینان از نبود خطها در آن اسهت کهه کهانون توجهه قهرار‬
‫می گیرد‪.‬‬
‫‪23‬‬
‫‪ .2‬آزمون جریان داده‪:‬‬
‫‪‬‬
‫در روش آزمون جریان داده ها‪,‬مسیرهای آزمون یک برنامه‪,‬طبق موقعیت‬
‫تعاریف و کاربردهای متغیرها در برنامه انتخاب میشود‪.‬‬
‫برای دستوری با شماره دستور ‪ S‬داریر‪:‬‬
‫{دستور ‪ S‬حاوی تعریف ‪ X‬است|‪DEF(S)={X‬‬
‫{دستور ‪ S‬حاوی کاربردی از ‪ X‬است ‪DSE(S)={X‬‬
‫اگر دستور ‪ S‬یک دستور ‪ if‬یا حلقه باشد‪,‬مجموعه ‪ DEF‬آن خالی است و‬
‫‪24‬‬
‫مجموعه ‪ USE‬آن مبتنی بر شرط دستور ‪ S‬است‪.‬‬
‫‪.3‬آزمون حلقه ها‪:‬‬
‫‪‬‬
‫آزمون حلقه ها یکی از تکنیک های آزمون جعبه سفید است‪.‬‬
‫‪ .1‬حلقه های ساده‬
‫‪ .2‬حلقه های تودرتو‬
‫‪ .3‬حلقه های تسلسلی‬
‫‪ .4‬حلقه های ساخت یافته‬
‫‪25‬‬
‫‪‬‬
‫شک ‪ 18-7‬انواع حلقه ها‬
‫‪26‬‬
‫‪ .1‬حلقه های ساده‪:‬‬
‫‪‬‬
‫آزمون های زیر را میتوان در مورد یک حلقه ساده اجرا کرد‪,‬که در‬
‫آن ‪ n‬حداکثر تعداد گذرهای مجاز از میان حلقه است‪:‬‬
‫‪ .1‬عدم اجرای حلقه‬
‫‪ .2‬فقط یکبار گذر از حلقه‬
‫‪ .3‬دو بار گذر از حلقه‬
‫‪ m .4‬بار گذر از حلقه که ‪ n>m‬است‬
‫‪ n,n-1 .5‬و ‪ n+1‬گذر از حلقه‬
‫‪27‬‬
‫‪ .2‬حلقه های تودرتو‪:‬‬
‫‪‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪28‬‬
‫از داخلههی تههرین حلقههه شههروع کنیههد‪.‬همههه ی حلقههه هههای دیگههر را در حههداق‬
‫مقدار قرار دهید‪.‬‬
‫آزمههون هههای حلقههه سههاده را بههرای داخلههی تههرین حلقههه اجههرا کنیههد و در عههین‬
‫حال حلقه های خارجی دیگر را در حداق مقدار پهارامتر تکرارشهان نگهه‬
‫دارید‪.‬آزمون های دیگری برای مقادیر خارج از محدوده یا مقادیر مستثنی‬
‫شده اجرا نمایید‪.‬‬
‫بههه سههمت بیههرون حرکههت کنیههد و همههین رونههد را بههرای حلقههه بعههدی تکههرار‬
‫کنید‪,‬ولهی همهه ی حلقهه ههای بیرونهی را در حهداق مقدارشهان و حلقهه ههای‬
‫داخلی را در مقادیر «معمولی» آنها قرار دهید‪.‬‬
‫کار را تا آزمون همه ی حلقه ها ادامه دهید‪.‬‬
‫‪ .3‬حلقه های تسلسلی‪:‬‬
‫‪‬‬
‫همان روش حلقه های ساده است با این شرط که هر یک از حلقهه هها‬
‫مستق از دیگری باشد ولهی اگهر دو حلقهه تسلسهلی نباشهند و شهمارنده‬
‫حلقه ‪ 1‬به عنهوان مقهدار اولیهه ای بهرای حلقهه ‪ 2‬اسهتفاده شهود‪ ,‬در آن‬
‫صورت حلقه ها مستق از یکدیگر نیستند‪.‬‬
‫‪29‬‬
‫‪ .4‬حلقه های یرساخت یافته‪:‬‬
‫‪‬‬
‫درصههورت امکهههان ‪ ,‬ایهههن نهههوع از حلقههه هههها را بایهههد طهههوری دوبهههاره‬
‫طراحههی کههرد کههه مههنعکس کننههده کههاربرد سههاختارهای برنامههه نویسههی‬
‫ساخت یافته باشند‪.‬‬
‫‪30‬‬
‫آزمون جعبه سیاه‪:‬‬
‫‪‬‬
‫‪ .1‬روش های آزمون مبتنی بر گراف‬
‫‪ .2‬افراز هر ارزی‬
‫‪ .3‬تحلی مقادیر مرزی‬
‫‪ .4‬آزمون آرایه های متعامد دامنه‬
‫‪31‬‬
‫‪ ‬آزمههون جعبههه سههیاه یهها همههان آزمههون رفتههاری بههر خواسههته هههای عملیههاتی نههرم‬
‫افزار تکیه دارد‪.‬‬
‫‪ ‬این آزمون جایگزینی برای تکنیک های جعبه سفید به شمار نمی رود‪ ,‬بلکهه‬
‫یههک روش مکم ه اسههت کههه احتمههال پیههدا کههردن دسههته دیگههری از خطاههها را‬
‫فراهر می آورد‪.‬‬
‫‪ ‬آزمون جعبه سیاه خطاهای موجود در این گروه ها را میابد‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫‪32‬‬
‫عملکرد نادرست یا جاافتاده‬
‫خطاهای واسط‬
‫خطاههههای موجهههود در سهههاختمان داده هههها یههها دسهههتیابی بهههه بانهههک اطالعهههاتی‬
‫خارجی‬
‫خطاهای رفتاری یا کارایی‬
‫خطاهای مقداردهی اولیه یا خاتمه برنامه‬
‫بهههرخالف آزمهههون جعبهههه سهههفید کهههه از اوایههه فراینهههد آزمهههون اجهههرا‬
‫میشود‪,‬آزمون جعبه سیاه را باید در مراح آخر آزمون به کار برد‪.‬‬
‫‪‬‬
‫آزمون جعبه سیاه به سواالت زیر پاسخ میدهد‪:‬‬
‫‪ ‬اعتبار عملیاتی چگونه آزموده میشود؟‬
‫‪ ‬رفتار و کارایی سیستر چگونه آزمایش میشود؟‬
‫‪ ‬چه دسته ای از ورودی ها‪,‬موارد آزمون خوبی می سازند؟‬
‫‪ ‬آیا سیستر نسبت به بعضی از ورودی ها حساسیت دارد؟مرزهای یهک دسهته‬
‫از داده ها چگونه معین میشود؟‬
‫‪ ‬سیستر چه حجر و میزانی از جریان داده ها را میتواند تحم کند؟‬
‫‪ ‬ترکیبات مشخصی از داده ها چه تاثیری بر عملکرد سیستر دارند؟‬
‫‪33‬‬
‫آزمون جعبه سیاه مالک های زیر را برآورده می کند‪:‬‬
‫‪‬‬
‫‪ .1‬تعههداد مههوارد آزمههونی را کههه بایههد بههرای دسههتیابی بههه آزمههونی منطقهی‬
‫طراحی شوند‪,‬بیش از یک واحد کاهش می دهند‪.‬‬
‫‪ .2‬موارد آزمونی که درباره وجود یا نبود انواع خطاهای اطالعهاتی بهه‬
‫ما می دهند‪ ,‬نه خطای مربوط به یک آزمون خاص‪.‬‬
‫‪34‬‬
‫‪ .1‬روش های آزمون مبتنی بر گراف‪:‬‬
‫‪‬‬
‫چند روش آزمون رفتاری که در آنها از گراف استفاده می شود‪:‬‬
‫مدلسازی جریان تراکنش‬
‫مدلسازی حالت متناهی‬
‫مدلسازی جریان داده ها‬
‫مدلسازی زمانبندی‬
‫‪35‬‬
‫‪ .2‬افراز هر ارزی‪:‬‬
‫‪‬‬
‫‪ ‬افهههراز ههههر ارزی یکهههی از روش ههههای آزمهههون جعبهههه سهههیاه اسهههت کهههه دامنهههه‬
‫ورودی یههک برنامههه را بههه دسههته هههایی ازداده ههها تقسههیر مههی کنههد و مههوارد‬
‫آزمون را میتوان از روی آن به دست آورد‪.‬‬
‫‪ ‬افراز هر ارزی‪,‬مورد آزمونی را تعریف میکند که دسته ههایی از خطاهها را‬
‫کشف می کند و در نتیجه‪,‬از تعداد ک موارد آزمون می کاهد‪.‬‬
‫‪ ‬مههورد آزمههون بههرای افههراز هههر ارزی‪,‬مبتنههی بههر تعیههین دسههته هههای هههر ارزی‬
‫برای یک شرط ورودی است‪.‬‬
‫‪36‬‬
‫دسته های هر ارزی را میتوان طبهق دسهتورالعم ههای زیهر‬
‫تعریف نمود‪:‬‬
‫‪‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪37‬‬
‫اگر شرط ورودی‪,‬بازه ای را مشخص کند‪,‬یک دسته ی ههر ارزی معتبهر و‬
‫دو دسته ی هر ارزی نامعتبر تعریف میشوند‪.‬‬
‫اگههر شههرط ورودی‪,‬نیازمنههد مقههداری مشههخص باشههد‪,‬یههک دسههته ی هههر ارزی‬
‫معتبر و دو دسته ی هر ارزی نامعتبر تعریف می شوند‪.‬‬
‫اگر شرط ورودی نیازمند عضهوی ا‪ .‬یهک مجموعهه باشهد‪,‬یهک دسهته ی ههر‬
‫ارزی معتبر و یک دسته ی هر ارزی نامعتبر تعریف میشوند‪.‬‬
‫اگر شهرط ورودی بهولی باشهد‪,‬یهک دسهته ی معتبهر و یهک دسهته ی نهامعتبر‬
‫تعریف می شود‪.‬‬
‫‪ .3‬تحلی مقادیر مرزی‪:‬‬
‫‪‬‬
‫‪ ‬تعداد خطاهای موجود در مرزهای دامنه ورودی ‪ ,‬نسبت به مقادیر مرکهزی‬
‫دامنهه بیشهتر اسهت‪ .‬بههه همهین دلیه تکنیکهی موسههوم بهه تحلیه مقهادیر مههرزی‬
‫)‪ (BVA‬توسعه یافته است‪.‬‬
‫‪ ‬تحلی مقادیر مرزی یکهی از تکنیهک ههای طراحهی مهوارد آزمهون اسهت کهه‬
‫مکم افراز هر ارزی است‪.‬‬
‫‪ BVA ‬به جای آنکه فقط بر شرط های ورودی تکیه کند ‪ ,‬موارد آزمونی از‬
‫دامنه خروجی را نیز به دست می آورد‪.‬‬
‫‪38‬‬
‫دسهتورالعم ههای ‪ BVA‬از بسهیاری جههات مشهابه بها دسهتورالعم‬
‫های ذکر شده برای افراز هر ارزی است‪:‬‬
‫‪.1‬‬
‫‪39‬‬
‫‪‬‬
‫اگر یک شرط ورودی بازه ای محصور به مقادیر ‪ a‬و ‪ b‬را مشخص کند‪,‬‬
‫موارد آزمونی با مقادیر ‪ a‬و ‪ b‬باید طراحی کرد که به ترتیهب‪ ,‬درسهت در‬
‫پایین و باالی مقدار ‪ a‬و ‪ b‬باشند‪.‬‬
‫‪ .2‬اگر یک شرط ورودی چند مقدار را مشخص می کند‪ ,‬بایهد مهوارد آزمهونی‬
‫توسعه یابند که اعهداد بیشهینه و کمینهه را امتحهان کننهد‪.‬مقهادیری کهه درسهت‬
‫در بههاالی بیشههینه و درسههت در پههایین کمینههه قههرار دارنههد نیههز بایههد آزمههایش‬
‫شوند‪.‬‬
‫‪ .3‬دستورالعم های ‪ 1‬و ‪ 2‬باید برای شرط های خروجی نیز اعمال شوند‪.‬‬
‫‪ .4‬اگههر سههاختمان داده هههای داخلههی برنامههه دارای مرزهههای معههین باشههند(مههثال‬
‫آرایه ای دارای ‪ 100‬مدخ باشد)حتما باید یک مورد آزمون برای امتحهان‬
‫کردن ساختمان داده طراحی شود‪.‬‬
‫‪ .4‬آزمون آرایه های متعامد دامنه‪:‬‬
‫‪‬‬
‫‪ ‬آزمون آرایه های متعامد را مهی تهوان در مهورد مسهائلی بهه کهار بهرد کهه در‬
‫آنها دامنهه ورودی نسهبتا کوچهک اسهت‪ ,‬ولهی بهرای اجهرای آزمهون جامعیهت‬
‫بیش از حد بزرگ است‪.‬‬
‫‪ ‬هنگامی کهه آزمهون آرایهه ههای متعامهد ره میدههد یهک آرایهه متعامهد ‪ L9‬از‬
‫مهههوارد آزمهههون تشهههکی میشهههود‪ .‬آرایهههه متعامهههد ‪ L9‬دارای یهههک «خاصهههیت‬
‫متوازن کنندگی»است‪ .‬یعنهی مهوارد آزمهون بهه طهور یکنواخهت در سرتاسهر‬
‫دامنه آزمون پخش شده اند‪.‬‬
‫‪40‬‬
‫نتایج آزمون بااستفاده از آرایه متعامد ‪ L9‬را چنین ارزیابی میکنند‪:‬‬
‫‪‬‬
‫‪ ‬شناسایی و جداسازی کلیه خطاهای حالت یگانه‬
‫‪ ‬تشخیص کلیه خطاهای حالت دوگانه‬
‫‪ ‬خطاهای چندحالتی‬
‫‪41‬‬
‫آزمون مبتنی بر مدل‪:‬‬
‫‪‬‬
‫آزمون مبتنی بر مهدل (‪ )MBT‬یهک تکنیهک آزمهون جعبهه سهیاه اسهت کهه از اطالعهات‬
‫موجود در مدل خواسته ها به عنوان مبنایی برای تولید موارد آزمون بهره می برد‪.‬‬
‫تکنیک ‪ MBT‬به پنج مرحله نیاز دارد‪:‬‬
‫‪ .1‬تحلی یک مدل رفتاری موجود برای نرم افزار یا ایجاد آن‪.‬‬
‫‪ .2‬مههرور مههدل رفتههاری و مشههخص کههردن ورودی هههایی کههه نههرم افههزار را وادار مههی‬
‫سازند تا از حالتی به حالت دیگر گذار کند‪.‬‬
‫‪ .3‬مرور بر مدل رفتاری و توجه به خروجی قابه انتظهار از نهرم افهزار‪,‬هنگهامی کهه‬
‫از حالتی به حالت دیگر گذار می کند‪.‬‬
‫‪ .4‬اجرای موارد آزمون‬
‫‪ .5‬نتایج واقعی و مورد انتظار را مقایسه کنید و در صورت نیهاز‪,‬اقهدامات تصهحیحی‬
‫را به عم آورید‪.‬‬
‫‪42‬‬
‫آزمون محیط ها‪,‬معماری ها و برنامه های کاربردی تخصص یافته‪:‬‬
‫‪‬‬
‫‪ .1‬آزمون واسط گرافیکی کاربر‬
‫‪ .2‬آزمون معماری های کالینت‪/‬سرور‬
‫‪ .3‬آزمون مستندات و تسهیالت راهنما‬
‫‪ .4‬آزمون های مربوط به سیستر های بی درنگ‬
‫‪43‬‬
‫‪ .1‬آزمون واسط گرافیکی کاربر‪:‬‬
‫‪‬‬
‫گههراف هههای مههدل سههازی حالههت هههای متنههاهی را میتههوان بههرای بههه دسههت آوردن‬
‫آزمون هایی به کار برد که بها داده ههای مشهخص و اشهیای برنامهه ای مهرتبط بها‬
‫‪ GUI‬سروکار دارند‪.‬‬
‫به دلی تعداد زیاد حالت های ممکن در عملیهات ‪,GUI‬آزمهون بایهد بااسهتفاده از‬
‫ابزارهای خودکار انجام شود‪.‬‬
‫‪44‬‬
‫‪ .2‬آزمون معماری های کالینت‪/‬سرور‪:‬‬
‫‪‬‬
‫آزمون نرم افزارهای کالینهت‪/‬سهرور در سهه سهطح متفهاوت ره مهی‬
‫دهد‪:‬‬
‫‪ .1‬برنامه های کاربردی کالینت‪ ,‬یهک بهه یهک در حهالتی «نامتصه » آزمهایش‬
‫می شوند؛عملکرد سرور و شبکه زیرساختی درنظر گرفته نمیشود‪.‬‬
‫‪ .2‬نههرم افههزار کالینههت و برنامههه هههای مههرتبط بهها آن در سههرور هماهنههگ بهها هههر‬
‫آزمایش میشوند ولی عملکرد شبکه به صراحت تمرین داده نمیشود‪.‬‬
‫‪ .3‬معمههاری کام ه کالینههت‪/‬سههرور‪ ,‬شههام عملکههرد و کههارایی شههبکه آزمههایش‬
‫میشود‪.‬‬
‫‪45‬‬
‫رویکرد های آزمون برنامه های کاربردی برای سطوح مطرح‬
‫شده‪:‬‬
‫‪‬‬
‫‪ ‬آزمون های عملکردهای برنامه کاربردی‬
‫‪ ‬آزمون سرور‬
‫‪ ‬آزمون های بانک اطالعاتی‬
‫‪ ‬آزمون های تراکنش ها‬
‫‪ ‬آزمون های ارتباطات شبکه‬
‫برای اجرای ایهن رویکردهها‪,‬توسهعه ی پروفایه عملیهاتی بهه دسهت آمهده از سهناریوهای‬
‫کاربرد کالینت‪/‬سرور را توصیه می کند‪.‬‬
‫‪46‬‬
‫‪ .3‬آزمون مستندات و تسهیالت راهنما‪:‬‬
‫‪‬‬
‫این آزمون در دو فاز انجام میشود‪:‬‬
‫فاز نخست‪:‬مرور و وارسی مستندات از لحاظ وضوح ویرایش‬
‫فاز دوم‪:‬آزمون زنده‪,‬از مستندات همراه با برنامه استفاده می شود‪.‬‬
‫‪ ‬آزمون زنده برای مستندسازی را میتوان با استفاده از تکنیک هایی مشابه بها روش‬
‫های آزمون جعبه سیاه انجام داد‪.‬‬
‫‪ ‬از آزمون مبتنی بر گراف میتوان برای توصیف کاربرد برنامه استفاده کرد‪.‬‬
‫‪ ‬افراز هر ارزیو تحلی مقدار مرزی را میتوان برای تعیین دسته ههای گونهاگونی از‬
‫تعام های ورودی و مرتبط به کار برد‪.‬‬
‫‪ ‬از‪ MBT‬میتههوان بههرای حصههول اطمینههان از همخههوانی رفتههار مستندسههازی شههده و‬
‫رفتار واقعی اسهتفاده نمهود‪(.‬در ایهن صهورت اسهتفاده از برنامهه از طریهق مسهتندات تهیهه شهده قابه‬
‫ردگیری خواهد بود‪).‬‬
‫‪47‬‬
‫‪ .4‬آزمون های مربوط به سیستر های بی درنگ‪:‬‬
‫‪‬‬
‫راهبرد چهار مرحله ای طراحی موارد آزمون برای سیستر های بی درنگ‪:‬‬
‫‪ ‬آزمون وظایف‬
‫‪ ‬آزمون رفتاری‬
‫‪ ‬آزمون بین وظایف‬
‫‪ ‬آزمون سیستر‬
‫‪48‬‬
‫آزمون وظایف‪:‬نخستین گام در آزمودن نرم افزار بی درنگ است که باعث کشف‬
‫خطاهای موجود در منطق و عملکرد میشوند‪,‬ولی خطاهای رفتاری و زمانبندی را برمال‬
‫نمی کنند‪.‬‬
‫آزمون رفتاری‪:‬بااستفاده از مدل های سیستمی که توسط ابزارهای کیس ایجاد شدند‬
‫میتوان رفتار سیستر بی درنگ را شبیه سازی کرد و رفتار آن را به عنوان پیامدر از‬
‫رویدادهای خارجی بررسی کرد‪.‬این فعالیت های تحلیلی می تواند به عنوان مبنایی برای‬
‫طراحی موارد آزمونی عم کنند که هنگام ساخته شدن نرم افزار بی درنگ اجرا می‬
‫شوند‪.‬‬
‫آزمون بین وظایف‪:‬هنگامی که خطاهای موجود در وظایف انفرادی و رفتار سیستر‬
‫جداسازی شدند‪,‬آزمون به خطاهای مرتبط با زمان متمای میشود‪.‬‬
‫آزمون سیستم‪:‬اکثر سیستر های بی درنگ وقفه ها را پردازش می کنند‪.‬‬
‫آزمون گر با استفاده از نمودار گذار حالت و مشخصه کنترلی فهرستی از همه ی وقفه‬
‫های ممکن و پردازشی تهیه می کندکه به عنوان پیامدی از وقفه ره میدهد‪.‬‬
‫‪49‬‬
‫الگوهای مربوط به آزمون نرم افزار‪:‬‬
‫‪‬‬
‫الگوهای آزمون عالوه بر راهنمهایی در شهروع فعالیهت ههای آزمهون سهه مزیهت‬
‫دیگر نیز دارند‪:‬‬
‫‪ .1‬الگوها برای کسهانی کهه مسهاله حه میکننهد‪ ,‬یهک دایهره ی لغهات فهراهر مهی‬
‫آورند‪.‬‬
‫‪ .2‬توجه را به نیروهای پشت مساله معطوف میسازند(این امهر بهه طراحهان امکهان‬
‫میدهد تا بهتر درک کنند که چه هنگام و چرا راهکاری نتیجه بخش خواهد بود‪).‬‬
‫‪ .3‬آنها تفکر مبتنی بر تکرار را تر یب می کنند‪ .‬هر راهکاری یک حیطهه ی‬
‫جدید ایجاد میکند که در آن مسائ جدیدی قاب ح است‪.‬‬
‫‪50‬‬
‫نمونه سواالت ترم های گذشته‪:‬‬
‫‪‬‬
‫‪ ‬در کدام آزمون به تست عملکردهای نرم افزار پرداخته میشود؟(ص‪)521‬‬
‫‪ ‬الف)جعبه سفید‬
‫‪ ‬ب)جعبه سیاه‬
‫‪ ‬ج)رگرسیون‬
‫‪ ‬د)متعامد‬
‫‪51‬‬
‫‪ ‬آزمون آرایه متعامد را در مورد چه مسائلی میتوان به کار برد؟(ص‪)526‬‬
‫‪ ‬الف) مسائلی که دامنه ورودی آنها بزرگ بوده ولی برای اجرای آزمون‬
‫جامعیت بیش از حد کوچک است‪.‬‬
‫‪ ‬ب) مسائلی که دامنه ورودی آنها نسبتا کوچک بوده ولی برای اجرای‬
‫آزمون جامعیت بیش از حد بزرگ است‪.‬‬
‫‪ ‬ج) مسائلی که تست جعبه سفید در مورد آنها ناکارامد است‪.‬‬
‫‪ ‬د) مسائلی که تست جعبه سیاه در مورد آنها ناکارامد است‪.‬‬
‫‪52‬‬
‫‪‬‬
‫کدام یک از موارد زیراز مجموعه ی آزمون های ساختار کنترلی‬
‫میباشد؟(ص‪)519‬‬
‫الف)آزمون جعبه سفید‬
‫ب)پیچیدگی سیکلوماتیک‬
‫ج)آزمون مقایسه ای‬
‫د)آزمون جریان داده‬
‫‪53‬‬
‫‪‬‬
‫‪ ‬درصورتی که دامنه ورودی برنامه های کاربردی نسبتا کوچک ولی برای‬
‫آزمون جامعیت بیش از حد بزرگ باشد کدام آزمون برای یافتن خطاهای‬
‫ناحیه ای مناسب است؟(‪)526‬‬
‫‪ ‬الف)آزمون آرایه متعامد‬
‫‪ ‬ب)آزمون مقایسه ای‬
‫‪ ‬ج)آزمون هر ارزی‬
‫‪ ‬د)آزمون رگرسیون‬
‫‪54‬‬
‫‪‬‬
‫‪ ‬کدام گزینه از تکنیک های آزمون جعبه سیاه میباشد؟(ص ‪)525‬‬
‫‪ ‬الف)آزمون آرایه متعامد‬
‫‪ ‬ب)آزمون مسیرهای پایه‬
‫‪ ‬ج)آزمون ساختارهای کنترلی‬
‫‪ ‬د)آزمون جریان داده‬
‫‪55‬‬
‫‪‬‬
‫کدام آزمون تضمین میکند که همه مسیرهای مستق در یک پیمانه حداق یکبار‬
‫امتحان شده اند؟(ص ‪)512‬‬
‫الف)آزمون جعبه سیاه‬
‫ب)آزمون جعبه سفید‬
‫ج)آزمون رگرسیون‬
‫د)آزمون متعامد‬
‫‪56‬‬
‫‪‬‬
‫‪ ‬کدام گزینه در خصوص پیچیدگی سیکلوماتیک صحیح نمیباشد؟(ص‪)517‬‬
‫‪ ‬الف)پیچیدگی سیکلوماتیک را میتوان از روی گراف جریان برنامه محاسبه‬
‫کرد‪.‬‬
‫‪ ‬ب)هرچه پیچیدگی سیکلوماتیک برنامه ای بیشتر باشد تعداد موارد آزمون‬
‫آن بیشتر است‪.‬‬
‫‪ ‬ج)پیچیدگی سیکلوماتیک یک واحد فوقانی برای تضمین پوشش آزمون کلیه‬
‫دستورات میباشد‪.‬‬
‫‪ ‬د)پیچیدگی سیکلوماتیک را میتوان با شمارش تعداد یال های گراف جریان‬
‫به دست آورد‪.‬‬
‫‪57‬‬
‫‪‬‬
‫‪ ‬کدام یک از آزمون های جعبه سیاه برای یافتن خطاهای ناحیه ای مسائلی‬
‫که دامنه ورودی آنها نسبتا کوچک است مناسبتر است؟(ص‪)519‬‬
‫‪ ‬الف)آزمون آرایه متعامد‬
‫‪ ‬ب)آزمون افراز هر ارزی‬
‫‪ ‬ج)آزمون تحلی مقادیر مرزی‬
‫‪ ‬د)آزمون مبتنی بر مدل‬
‫‪58‬‬