به نام خدا آزمون نرمافزار – تمرین دوم استاد :دکتر میریان مهلت ارسال4990/49/40 : پاسخ به سواالت به صورت گروهی است .ارسال پاسخ بعد از ساعت 21شب مهلت تعیین شده ،به ازای هر روز تاخیر باعث کسر ۵درصد از نمره تمرین میشود .به پاسخهای ارسال شده با بیش از 2۱روز تاخیر نمرهای تعلق نخواهد گرفت. نام گروهها در سایت درس قرار گرفته است .پاسخها را به sharif.test94@gmail.com ارسال نمایید .عنوان ایمیل ST2-GroupNameباشد. قسمت تئوری .2تابعی به زبان جاوا ارائه دهید که نشان دهد CACCنیازمندی تست بیشتری از PCدارد .در رابطه با این سوال نیاز به تابعی جهت محاسبه مقادیر نیازمندی تست CACCو PCنیست .کافی است یک تابع ساده به عنوان نمونه ارائه شود که این امر با محاسبه مقادیر نیازمندی تست CACCو PCبرای آن نشان داده شود. .1با در نظر گرفتن تابع Aموارد زیر را به دست آورید ̅̅̅̅̅̅̅̅̅̅ ( ))̅ ( ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ )) ( (̅ .aمقدار PIهای غیرتکراری برای Aو نقیض آن را به دست آورید. .bمجموعه تست برای پوشش UTPCو CUTPNFPتابع Aبه دست آورید. .3با توجه به برنامه داده شده به سواالت زیر پاسخ دهید. .aدر حالتی که بازیکن 2بازنده شود ،مقادیر GACC ،CACCو RACCرا برای تمام متغیرها حساب کنید. .bبرای حالتی که بازیکن 1بازنده شود ،مقادیر GICCو RICCرا به ازای تمام متغیرها حساب کنید. * مقادیر ورودی به تابع متغیرهایی برای تعیین روال بازی هستند .مقادیر Piمیزان امتیاز بازیکن iرا مشخص میکنند. بازیکن با امتیاز کمتر بازنده خواهد بود. در این کد عملگر → همان implicationاست. )int[] three_player_game(bool x, bool y, bool z { ;][int result= new int ;int p1,p2,p3=0 ) ))if not ( (x or y) and ((not x) or z) and (x or (not z ;{ p2=50 ;p3=50 } (( else if ) )) ;{ p1=50 ;p3=50 } {else ;p1,p2=50 } ;}result={p1,p2,p3 ;return result } .۱با توجه به تابع زیر به سواالت پاسخ دهید )public Set delta(Set s1, set s2 // if s1 or s2 are null throw NullPointerException // return a set equal to symmetric difference // of sets s1 and s2 Characteristic: Type of s1 - s1 = null }{ = - s1 - s1 has at least one element Characteristic: Relation between s1 and s2 - s1 and b represent the same set - s1 is subset of s2 - s2 is subset of s1 - s1 and s2 do not have any elements in common .aشرط completenessو disjointnessرا برای characteristicهای معرفی شده بررسی کنید. .bتعداد نیازمندیهای آزمون را برای BCC ،PWC ،ECC ،ACoCبه دست آورید. .۵تابع زیر را در نظر بگیرید )public int[] merge(int[] a, int[] b // if a or b are null throw NullPointerException // if a or b is not sorted (ascending) throw ArgumentException // return sorted(ascending) array contains all elements of a and b .aحداقل پنج مورد characteristicتعریف کنید. .bنیازمندیها و موارد آزمون را برای BCCبه دست آورید( .ورودی و خروجی مورد انتظار مشخص شود) قسمت عملی .2در مورد mockingمطالعه کنید و آن را به صورت خیلی خالصه توضیح دهید .توضیح دهید چرا در آزمون نرمافزار به mockingاحتیاج خواهیم داشت .یک زبان برنامه نویسی و یکی ابزار مرتبط با آن جهت انجام mockingانتخاب کنید. .1نرمافزاری را در نظر بگیرید که هدف آن ثبت محل جغرافیایی مرتبط با IPباشد .این نرمافزار قسمتهای زیر است: .aپردازش درخواستهای کاربر .bبه دست آوردن کشور از IP .cارتباط با پایگاه داده سناریو اول :کاربر یک IPوارد میکند ،کشور مرتبط با IPمورد نظر به دست میآید و در پایگاه داده ذخیره و به کاربر نمایش داده میشود. سناریو دوم :کاربر بتواند بر اساس نام اختصاری کشور (مثال )IRدر پایگاه داده جستجو کند و IPهایی که مربوط به آن کشور هستند را مشاهده کند. نکته: نیاز به رابط کاربری پیچیده نیست .هر چه سادهتر بهتر ،حتی نیاز به رابط کاربری گرافیکی هم نیست .رابط کاربریخود را به نحوی طراحی کنید که تنها توابعی از واحد پردازش دستور را فراخوانی کند .در واقع رابط کاربری خالی از هر گونه منطق باشد و تنها عملکرد آن فراخوانی تابعی از واحد پردازش دستور و نمایش خروجی تابع باشد. برای به دست آوردن کشور از IPمیتوانید از http://api.hostip.infoاستفاده کنید .برای مثالhttp://api.hostip.info/get_html.php?ip=4.2.2.4 پایگاه داده دلخواه خود را انتخاب کنید.با استفاده از زبان برنامه نویسی انتخابی خود نرمافزار مورد نظر را پیادهسازی کنید .با mockکردن ماژولهای مختلف نرمافزار (مثالً ماژول مدیریت دادهها در پایگاه داده ،ماژول تشخیص کشور از IPو )...اقدام به نوشتن unit testبه صورتی که code coverageحداکثر شود نمایید( .با توجه به نکات مطرح شده نیازی به تست کردن رابط کاربری نیست).
© Copyright 2025 Paperzz