44
اﻓﺰار ﻧﺮم آزﻣﻮن ﺑﺨﺶ3 - 1 و3 - 2 ﻣﻨﻄﻖﻮﺷﺶ ﺧﻮﺷﻨﻮﻳﺲ ﺻﺪﻳﻘﻪ داﻧﺸﮕﺎ آزاد ا ﻼ ﻗﺪ ا ﺪﺷﻣﻲ ا آزاده داﻧﺸﮕﺎسﻗﺪﻬﺮا و

ﻖﻄﻨﻣ ﺶﺷﻮﭘ - Shahid Beheshti Universityfaculties.sbu.ac.ir/~s_khoshnevis/ST961/ST-Ch3-1-2... · 2018. 5. 27. · 2) a = 10, b = 5, D = false, m = 1, n = 2, o = 2 سﺪﻗﺮﻬﺷ

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • 2- 3و 1- 3بخش–آزمون نرم افزار

    پوشش منطق

    صديقه خوشنويسال ا آزاد قددانشگا ش د ا واحد شهرقدس–دانشگاه آزاد اسالمي

  • پوشش منطقچهار ساختار براي مدل كردنچهار ساختار براي مدل كردن

    نرم افزارنرم افزار

    GraphsGraphs LogicLogic Input SpaceInput Space SyntaxSyntaxpp gg p pp p yy

    Applied t FSMsFSMsSourceSource

    Applied to

    Applied tto

    DNFDNFSpecsSpecs

    FSMsFSMsSourceSource to

    SpecsSpecsSourceSource ModelsModelsSourceSource

    2دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    Use casesUse casesDesignDesign InputInputIntegInteg

  • پوشش عبارتهاي منطقي.رو به رو مي شويمعبارتهاي منطقي با)مثل شرط هاي برنامه(در بسياري از موقعيتها•

    ش ا آ ان ان كا آ ا ان ا ا ض طق ا ا شش پوشش عبارات منطقي در بعضي از سازمانها در آمريكا مانند هوانوردي، در آزمايش •.است الزامينرم افزارهاي حساس به ايمني،

    را زيرمجموعه اي از جدول درستي اين عبارتهادر پوشش منطق، هدف آن است كه•ك ا آ ا ا آ ا .انتخاب و آنها را آزمايش كنيما

    3دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • )clause(و جزء ) predicate(گزاره .باشد) Falseيا Trueيعني (عبارتي كه داراي ارزش بولين : ) predicate(گزاره •

    باش• داشته ان ت ه گزا يك ون د :درون يك گزاره مي توانيم داشته باشيم•بولين توابع فراخواني - متغيرهاي بولين –باشند =! ,=> ,=< ,== ,> ,

  • يادآوري اپراتورهاي منطقيa ¬a

    T F

    F T

    ¬T=F¬F=T

    a b a→b

    T T T

    T F F

    a → b = ¬a ∨ba → T = Ta → F = ¬aa → a = Ta a a

    دمرگان قوانين¬(a∧b) = ¬a ∨ ¬b¬(a∨b) = ¬a ∧ ¬bF T ¬(¬a)=a

    a b a∧b

    F T T

    F F T

    a →¬a = ¬aT → a = aF → a = T

    رسيده باشيم Fبه نتيجه Tاست بجز وقتي كه از فرض Tهمواره مي كند) نقيض(ارزش متغير را معكوس

    ¬(a∨b) = ¬a ∧ ¬b

    T T T

    T F F

    F T F

    a ∧T=aa ∧F=Fa ∧a=aa ∧¬a=F

    a b a↔b

    T T T

    T F Fa ↔ T = aa ↔ F = ¬a

    a b a⊕b

    T T F

    T F Ta ⊕ T = ¬a a ⊕ F = a

    F F F

    a b a∨b

    T F F

    F T F

    F F T

    ↔a ↔ a = Ta ↔ ¬a = F

    T F T

    F T T

    F F F

    a ⊕ F aa ⊕ a = Fa ⊕ ¬a = T

    a ↔ b = ¬(a ⊕ b) a ⊕ b = ¬(a ↔ b)

    باشد Tاست كه ارزش هر دو طرف Tوقتي

    T T T

    T F T

    F T T

    a ∨T=Ta ∨ F=aa ∨ a=aa ∨ ¬a=T

    a ↔ b (a ⊕ b) a ↔ b = (a ∧ b) ∨ (¬a ∧ ¬b)

    a ⊕ b = ¬(a ↔ b)a ⊕ b = (a ∧ ¬ b) ∨ (¬a ∧ b)

    است كه ارزش طرفين يكسان باشند Tوقتي است كه ارزش طرفين متفاوت باشند Tوقتي

    ل تا اً→انت ا ا⊕↔ن ك ل ا ا ا

    5دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    F F F

    باشد Tاست كه ارزش حداقل يكي از طرفين Tوقتي

    .داراي اولويت يكسان هستند ⊕و ↔، و نهايتا →،∨،∧،¬پرانتز،:به ترتيب:اولويت

  • چند مثال(a < b) ∨ f (z) ∧ D ∧ (m >= n*o)

    :دارد) كالز(جزء باال چهار گزاره •(a < b):اي رابطه ارت رابطه(ع ه با كه ن ل ب غ متغ )دارند>دو –(a < b):دارند>دو متغير غيربولين كه با هم رابطه(عبارت رابطه اي(

    –f(z) :فراخواني تابع بولين–D :متغير بولين

    (m >= n*o)اي ابطه ت ا ع –(m >= n*o):عبارت رابطه اي

    .كمي هستند) كالزهاي(اغلب گزاره ها داراي اجزاء •

    :منبع گزاره ها•)جعبه هاي تصميم( UMLيا در نمودار فعاليت ) شرط ها(نقاط تصميم در كد برنامه ها –State Chartها و نمودارهايFSMدر)guard(شرط ها–نيازمندي هاي نرم افزار–SQLهاي queryدر WHEREشرط هاي –

    6دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • كاربرد گزاره در آزمايش: روش كلي در آزمايش گزاره ها•

    گزاره– چند يا يك صورت به افزار م ن از مدل ايجاد مدلي از نرم افزار به صورت يك يا چند گزارهايجاد)كالزها(براي برآورده كردن تركيبي از اجزاء ) TR(ايجاد مجموعه نيازمنديهاي آزمون –

    :مخفف هايي كه به كار خواهيم برد•–P :مجموعه گزاره ها–p:يك گزاره منفرد درP–C : مجموعه اجزاء كل گزاره هايP–Cp:مجموعه اجزاء گزاره منفردp–c:يك جزء منفرد درC

    7دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • پوشش گزاره و جزءاولين و ساده ترين معيارهاي آزمايش منطق، نيازمند آن هستند كه هر گزاره و هر جزء •

    .شوند Falseو يك بار Trueيك بار

    باشد، p ،Trueارزش : داراي دو نيازمندي است P ،TRدر pبراي هر : )PC(پوشش گزاره .باشدp،Falseو ارزش

    هر:)CC(پوششجزء استC،TRدرcبراي نيازمندي دو وc،Trueارزش:داراي باشد،

    :، همه جزء ها را ارزيابي نمي كند، پس)PC(پوشش گزاره•

    باشد، و c ،Trueارزش : داراي دو نيازمندي استC،TRدر cبراي هر:)CC(پوشش جزء.باشد c ،Falseارزش

    8دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • مثال از پوشش گزاره> a)): براي گزاره b) ∨ D) ∧ (m >= n*o)

    true =گزاره5 b 10 D 1 1 1a = 5, b = 10, D = true, m = 1, n = 1, o = 1

    = (5 < 10) ∨ true ∧ (1 >= 1*1)= true ∨ true ∧ TRUE= true

    false =گزارهa = 10 b = 5 D = false m = 1 n = 1 o = 1a = 10, b = 5, D = false, m = 1, n = 1, o = 1= (10 < 5) ∨ false ∧ (1 >= 1*1)= false ∨ false ∧ TRUE

    false= false

    گزاره پوشش در كالزها همه ارزش كه كنيم مي مشاهده آخر، كالز ارزش ماندن TRUE به توجه با به پس .شود نمي تست گزارهپوششباكالزهاهمهبرايFو T حالتدوهرپس.كندنميتغييرلزوماً

    9دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    پپپ.داريمنياز)جزء(كالزپوشش

  • مثال از پوشش جزء> a)): براي گزاره b) ∨ D) ∧ (m >= n*o)

    (a < b) = true

    a = 5, b = 10

    (a < b) = false

    a = 10, b = 5

    D = true

    D = true

    D = false

    D = false

    m >= n*o = true

    m = 1, n = 1, o = 1

    m >= n*o = false

    m = 1, n = 2, o = 2ا ال حالتهاي

    دو آزمون

    حالتهاي true

    ي هfalse

    1) a = 5, b = 10, D = true, m = 1, n = 1, o = 1

    2) a = 10, b = 5, D = false, m = 1, n = 2, o = 2

    10دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • مشكل پوشش گزاره و پوشش جزء•PC ًلزوما CC زيرا هر دو حالت (را در خود نداردT وF را براي همه اجزاء پوشش نمي دهد.(

    شوند– نم تست د منف اجزاء عمالً !پس عمال اجزاء منفرد تست نمي شوند!پس

    •CC لزوماًهم PC را در خود ندارد.ك ا گ ا ا ا ا ك .يعني ممكن است با تغيير ارزش جزء، ارزش گزاره تغيير نكند–

    ! و ما قطعاً اين را نمي خواهيم–زيرا در اين صورت تغيير ارزش جزء هيچ اثر بيروني نخواهد داشت و در زمان اجرا اثر آن گم مي شود و كامالً –

    بود خواهد استفاده !بال استفاده خواهد بود!بال.پس گزاره هاي اصلي با پوشش جزء لزوماً تست نمي شوند–

    ا گ ا ا تا ك ت ا ا ا ك ا ك ت ك ا آ ل ا ت ا ساده ترين راه حل آن است كه همه تركيبهاي ممكن اجزاء را تست كنيم تا هم همه اجزاء و هم گزاره •...اصلي تست شود

    11دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • CoCيا ) combinatorial(پوشش تركيبياتي .است)Multiple Condition(» چند شرطي«نام ديگر آن پوشش••CoC يعني جدول درستي كامل گزاره(نيازمند همه تركيبهاي ممكن از مقادير كالزهاي گزاره است(

    همه كه است نيازمندياينشاملP،TRدرpهر براي:)CoC(تركيبياتيپوشش.باشند درستي جدول در ارزشها ممكن تركيبهاي همه داراي Cp كالزهاي

    a < b D m >= n*o ((a < b) ∨ D) ∧ (m >= n*o)1 T T T T1 T T T T2 T T F F3 T F T T4 T F F F5 F T T T6 F T F F

    12دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    7 F F T F8 F F F F

  • مشكل پوشش تركيبياتي.اين پوشش، ساده، جامع و آسان است•

    ا ا گ ا ل .ولي بسيار گران است•.آزمون داريم 2Nباشد، آنگاه نياز به Nاگر تعداد كالزها •

    .شود، غيركاربردي خواهد بود4يا3اگر تعداد كالزها بيشتر از–:راه حل اصلي•

    .شودتغيير ارزش گزاره موجبتغيير ارزش هر كالزكاري كنيم كه م

    .»فعال كرده ايم«در اين صورت مي گوييم كالز را • مم.گزاره است) دترمينان(كالز فعال، تعيين كننده •.از ساير كالزها روي گزاره اثر خواهد گذاشت»مستقل«چنين كالزي،•

    13دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • فعال كردن كالز و مفهوم دترمينان

    تعيين را ci، p گوييم مي،pگزارهدرciكالزبراي :)بودندترمينان(كردنتعيين كه باشد طوريcj كالزهاي ساير مقادير اگر فقط و اگر )است p دترمينان يا( كند مي

    .شودp ارزشتغييرموجبciارزشتغيير

    .است) ها cj(تنظيم ارزش ساير كالزها مورد نظر نيازمند ciفعال كردن •

    وpرزشييروجبiرزشيير

    ، )major(، كالز اصلي )ci) (مثالً جهت فعال يا غيرفعال كردن(به كالز مورد نظر •. مي گوييم) minor(، كالز فرعي )هاcj(و به ساير كالزها •

    .براي حالتي كه كالز، دترمينان گزاره است، آزمونهايي را بيابيم: هدف•ا ا

    14دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    .چند معيار وجود دارد-:كالز) دترمينان بودن(ابتدا دو مثال از تعيين كنندگي •

  • دو مثال از كالز فعال يا دترمينان:2مثال

    P = A ∨ B

    B ارزش بايد باشد؛ P دترمينانAخواهيممي

    :1مثالP = A ∧ B

    يميBارزش بايدباشد؛PدترمينانAخواهيممي نو ي يبر رزشب:كنيم تنظيمهدفاينبرايرا

    هرچه A مقدار باشد، B=true مقدار اگرشهحاصلواستاثبباشد استTه

    يمي نو ي يبر رزشب:كنيمتنظيمهدفاينبرايرا

    هرچه A مقدار باشد، B=false مقدار اگرشهحاصلواستاثبباشد .است T هميشه حاصل واستاثربيباشد،استFه

    .نيست P دترمينان A حالت اين در پس P دترمينان A باشد، B=falseارزشاگرولي

    .استF هميشهحاصلواستاثربيباشد،.نيست P دترمينان A حالت اين در پسPدترمينان Aباشد،B=trueارزشاگرولي

    Aگ كBكAك

    P ارزش آن، ارزش تغييربازيرابودخواهد.كند مي تغيير

    Pارزش آن،ارزشتغييربازيرابودخواهد.كند مي تغيير

    كالز فرعي Bكالز اصلي، و Aكردن در نظر مي گيريم،)دترمينان(را براي فعالAدر مثال باال وقتي•.خواهد بود

    15دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    را چطور تنظيم كنيم؟Aدترمينان باشد، بايد ارزش Bاگر در دو مثال باال بخواهيم:سوال•

  • )ACC(پوشش جزء فعال ارزش ،pC در ic اصليكالزهربرايو)p(گزارههر براي:)ACC(فعالجزءپوشش

    اين در .باشد p دترمينان ci كه كنيد انتخاب طوري )j!=i كه( را cj فرعي كالزهاي با برابر ci و باشد، Trueبابرابرci:استنيازمندي دو دارايciهربرايTRصورتFalseباشد.

    دترمينان و كالز اصلي، ci=bوقتي ،ci=aوقت اصل كالز و يدترمينان cو bي ا الز و ن ي ركالز فرعي است cj=aو

    p = a ∨ ba b

    ciوقتي a،دترمينان و كالز اصليكالز فرعي است cj=bو

    p = a ∨ ba b

    براي گزاره : مثالp= a ∨ b

    a:داريم bF T F F

    a bT F F F

    م

    آ

    => TR={ (a=T,b=F) , (a=F,b=F) , (a=F,b=T) , (a=F,b=F) }تكراري

    16دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    مقاديرشان ثابت بماند؟ يا اجازه دارد آيا كالزهاي فرعي بايدمي شود، FوTوقتي كالز اصلي:ابهام•)در مثال باال به ناچار ثابت مانده است ولي گاهي مي تواند متغير هم باشد(تغيير كند؟

  • ACCرفع ابهام در p = a ∨ (b ∧ c)

    Major clause : acآيا تغيير:ابهام

    a = true, b = false, c = true

    a = false, b = false, c = falsec = false

    م ييربه يمجاز است؟

    :سه راه حل براي رفع اين ابهام پيشنهاد شده است•ف1 تكالزها ن از انندن ت General(ثا ACC = GACC( .)General ACC = GACC(ثابت بمانندنيازي نيست كالزهاي فرعي1.

    .)Restricted ACC = RACC(ثابت بمانند بايد كالزهاي فرعي 2.

    .)Correlated ACC=CACC(شوند منجر به تغيير ارزش گزاره كالزهاي فرعي بايد 3.

    17دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • ACC كلّي ياGACC جزء ارزش تغيير با آندركهاستACCهمان:)GACC(كليفعالجزءپوشش.)نماند ثابت يا بماند ثابت تواند مي( بماند ثابت نيست نيازي فرعي هاي جزء ارزش اصلي،

    ه ه اي ب (cj(ci=Tهاcjيعن = cj(ci=F)ياcj(ci=T) ≠ cj(ci=F) (cj(ci=T) ≠ cj(ci=Fيا(cj(ci=T) = cj(ci=F:هاcjيعني براي همه

    !، پوشش گزاره محقق نشودGACCاحتمال آن وجود دارد كه با •در حالي كه هدف اين بود كه با تغيير ارزش كالزها، ارزش گزاره هم تغيير كند تا هم •

    .كالزها و هم گزاره تست شوندگ

    18دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • ACC محدود شده ياRACC ارزش تغيير با آن در كهاستACCهمان:)RACC( شدهمحدودفعالجزءپوشش.بماند ثابت بايد فرعي هاي جزء ارزش اصلي، جزء

    ه ه اي ب (cj(ci=Tهاcjيعن = cj(ci=F) (cj(ci=T) = cj(ci=F:هاcjيعني براي همه

    .اغلب منجر به نيازمندي هاي آزموني مي شود كه برخي از آنها ناممكن هستند•مي خواهيم كالز دترمينان (هيچ دليل منطقي براي چنين محدود كردني وجود ندارد•

    گ ).روي ارزش گزاره اصلي تاثير بگذارد؛ ولي چرا با اين نوع محدوديت؟)گ

    19دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • ACC همبسته ياCACC جزء ارزش تغيير با آن دركهاستACCهمان:)CACC(همبستهفعالجزءپوشش.دهد تغيير را گزاره ارزش الزاماً كه باشد طوري بايد فرعي هاي جزء ارزش اصلي،

    ه ه اي ب (p(ci=Tهاcjيعن ≠ p(ci=F) (p(ci=T) ≠ p(ci=F:هاcjيعني براي همه

    .جديدتر و منطقي تر است•)GACCمثل (چون قيد نشده، نيازي نيست كه مقدار كالزهاي فرعي ثابت بماند •.اين كه حتماً ارزش گزاره تغيير كند:يك قيد مهم داردGACCنسبت به•).مي كند subsumeآن را (واضح است كه پوشش گزاره را در بر دارد •

    20دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • يك مثال عموميb b

    :باشدكالز اصلي aاگر

    a b c a ∧ (b ∨ c)1 T T T T2 T T F T

    a b c a ∧ (b ∨ c)1 T T T T5 F T T F

    TF

    a

    TT

    a

    2 T T F T3 T F T T5 F T T F

    5 F T T F2 T T F T6 F T F F

    TF

    TT

    F6 F T F F7 F F T F

    3 T F T T7 F F T F

    TF

    FF

    سطرهايي زوج انتخاب = GACC: TR برايسطرزوج سهشاملفقطRACC،TRبراي يا2 يا1 سطرهاي از يكي اول سطرآنهادركه

    :كالز اصلي باشدaاگر

    يورهر يزي يير باشد 7 يا 6 يا 5 سطرهاي از يكي دومي و 3)سطر زوج 9 جمعاً(

    اي نطهCACCب نه اينانتخابباچ

    هردرc و bارزشكهكنيددقت(استباال)است مانده ثابت سطر زوج

    ات اك48ط bآن

    21دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    اين انتخاب با چون همينطور همCACCبراي.كند مي تغيير p مقدار سطرها، زوج

    هردو cوbآنهادركه8و4سطرهايدر:توجهF ،هستند a دو اين دليل همين به نيست؛ دترمينان

    .اند شده حذف فوق درستي جدول دو از سطر

  • ACCبراي پوششهاي TRروش استخراج .آن را مشخص مي كنيمليست كالزهاي،pبراي هر گزاره.1•

    .)cpتعيين (است pمشخص مي كنيم كه در چه شرايطي، دترمينان cبراي هر كالز . 2•

    .است c ،cpو به ازاي هر ، pخود ، كالزهاجدول درستي را رسم مي كنيم كه شامل . 3•

    نيازمنديهاي و با توجه به مطالب قبلي، هر بار يكي از كالزها را دترمينان مي گيريم . 4•.را استخراج مي كنيمCACCيا GACC،RACCآزمون

    22دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • روش دترمينان كردن يك كالزتنظيم كالزهاي فرعي براي دترمينان شدن يك كالز اصلي، براي گزاره هاي كوچك آسان •

    .استاست• دشوار بزرگت كم هاي گزاره اي ب ول .ولي براي گزاره هاي كمي بزرگتر دشوار است•:روش كلي به اين صورت است•

    •pc = شرايطي كه در آنc دترمينانp است.•pc=true = عبارتي كه با جايگذاريT به جايc در گزارهp به دست مي آيد.

    گذا ا ا ك ت ااFا آگ •pc=false= عبارتي كه با جايگذاريFبه جايcدر گزارهpبه دست مي آيد.pc = pc=true ⊕ pc=false

    و كدام ها Tعبارتي كه به دست مي آيد مشخص مي كند كه كالزهاي فرعي كدام ها بايد • يد ب ه دام ي ر ي الزه د ي ص آيد ي ت د ب ي ر هب دام و.باشند Fبايد True: نداشت notهر كدام كه –كه– كدام False:داشتnotه

    23دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    False:داشتnotهر كدام كه–

  • )⊕( XORيادآوري درباره :جدول درستي•

    a b p = a ⊕ bT T F

    .است كه طرفين با هم متفاوت باشند Tوقتي ⊕حاصل •.است كه طرفين با هم يكسان باشندFوقتي⊕حاصل•

    T F TF T TF F F يل بو م ب ن ر

    :بسيار مهمچند رابطه •

    F F F

    • a⊕a = F• a⊕¬a=T

    ⊕T• a⊕T= ¬a• a⊕F=a• a⊕b=(a ∧ ¬b) ∨ (¬a ∧ b)

    24دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    • a⊕b=(a ∧ ¬b) ∨ (¬a ∧ b)

  • )1(مثال از دترمينان كردن يك كالز p = a ∨ b

    pa = pa=true ⊕ pa=false= (true ∨ b) XOR (false ∨ b)

    p = a ∧ bpa = pa=true ⊕ pa=false

    (t b) ⊕ (f l b)= (true ∨ b) XOR (false ∨ b)= true XOR b= ¬ b

    = (true ∧ b) ⊕ (false ∧ b)= b ⊕ false= b

    Fبايد bيعني aباشد تا

    .شود pدترمينان

    Tبايد bيعني aباشد تا

    .شود pدترمينان

    p = a ∨ (b ∧ c)pa = pa=true ⊕ pa=false

    = (true ∨ (b ∧ c)) ⊕ (false ∨ (b ∧ c))= true ⊕ (b ∧ c)= ¬ (b ∧ c)= ¬ b ∨ ¬ c

    يا bيعني بايد يا cو يا هر دو آنها

    25دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    Fباشند تاa.شود pدترمينان

  • )2(مثال از دترمينان كردن يك كالز p = ( a ∧ b ) ∨ ( a ∧ ¬ b)

    pa = pa=true ⊕ pa=false= ((true ∧ b) ∨ (true ∧ ¬ b)) ⊕ ((false ∧ b) ∨ (false ∧ ¬ b))= ((true ∧ b) ∨ (true ∧ ¬ b)) ⊕ ((false ∧ b) ∨ (false ∧ ¬ b))= (b ∨ ¬ b) ⊕ false= true ⊕ false= true= true

    .است pهمواره دترمينان aيعني

    p = ( a ∧ b ) ∨ ( a ∧ ¬ b)pb = pb=true ⊕ pb=false

    = ((a ∧ true) ∨ (a ∧ ¬ true)) ⊕ ((a ∧ false) ∨ (a ∧ ¬ false))= (a ∨ false) ⊕ (false ∨ a)= a ⊕ a= false

    26دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    .باشد pهرگز نمي تواند دترمينان bيعني

  • )ICC(پوشش جزء غيرفعال در پوشش جزء غيرفعال مي خواهيم كاري كنيم كه كالز اصلي روي گزاره تاثيري نداشته •

    !باشد

    ارزش ،pC در ic اصلي كالز هر براي و )p( گزاره هر براي :)ICC( غيرفعال جزء پوشش اين در .نباشد p دترمينان ci كه كنيد انتخاب طوري )j!=i كه( را cj فرعي كالزهاياcاTRت ازا تن Trااcا eاشcاا با برابر ci و باشد، Trueبابرابرci:استنيازمندي دو دارايciهربرايTRصورتFalse باشد.:استنيازمنديچهاردارايci،TRهربراي ي يربر رر يچه ز ي

    )1( ci=T و باشد p=T)2(ci=Fوباشدp=T )2(ci Fوباشدp T)3( ci=T و باشد p=F)4(ci=Fوباشدp=F

    27دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    )4(ci Fوباشدp F

  • )RICC(و محدود شده ) GICC(پوشش جزء غيرفعال كلّي ACCگC CC مورد كالز زيرا )نداريم CICC(نيستدارمعنيديگربودن همبستهمفهومACCخالفبر•

    .دهد تغيير را گزاره ارزش بتواند كه نيست دترمينان ديگر نظرم تضمين همواره گزاره پوششبرشمرديم،قبلاساليددر كهحالتيچهاربهتوجهباالبته•

    .)نداريمهمهمبستهشبيهحالتيبهنيازي(مي شود

    الزشش ف ان)GICC(كلغ تICCه زشآندكها فكالزهاا فرعي كالزهاي ارزش آندركهاستICCهمان:)GICC(كليغيرفعالجزءپوشش.)نماند ثابت يا بماند ثابت تواند مي( .بمانند ثابت نيست نيازي

    (cj(ci=T) ≠ cj(ci=Fيا(cj(ci=T) = cj(ci=F:هاcjيعني براي همه ي بر ي )jjي ) j( )jي( ) ≠ j( )

    ارزش تغيير با آن در كهاستICCهمان:)RICC( شدهمحدودغيرفعالجزءپوششل شا اثاافاا .بماندثابتبايد فرعيهايجزءارزشاصلي،جزء

    (cj(ci=T) = cj(ci=F: هاcjيعني براي همه

    28دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • ICCبراي پوششهاي TRروش استخراج .آن را مشخص مي كنيمليست كالزهاي،pبراي هر گزاره.1•

    .نيست pدر چه شرايطي، دترمينان مشخص مي كنيم كه cبراي هر كالز . 2•

    .است c ،cpهر ، و به ازاي pخود ، كالزهاجدول درستي را رسم مي كنيم كه شامل . 3•

    در نظر مي گيريم و با توجه به غيرفعال را به عنوان كالز اصلي هر بار يكي از كالزها . 4•.را استخراج مي كنيمRICCياGICCنيازمنديهاي آزمون مطالب قبلي،

    29دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • صورت مسأله–يك مثال كامل گزاره اي داريم به شكل زير•

    (x

  • قدم اول، استخراج كالزها–يك مثال كامل

    :گزاره داراي سه كالز است•(x

  • ) الف و ح(و تستهاي آن ) PC(پوشش گزاره TR–يك مثال كامل ∧ (p =(a∨bگزاره • c:شود؛ پس Fو يك بار Tبراي پوشش گزاره آن است كه گزاره يك بار TR) الف•

    TRPC={p=T , p=F}=> TRPC={(a=T, b=T, c=T) , (a=T, b=T, c=F)}> TRPC {(a T, b T, c T) , (a T, b T, c F)}

    .كنيم Fيا Tرا pالبته مقادير ديگر هم براي كالزها امكان پذير است تا •

    :دو آزمون نياز داريم)ح•p a b cT 2 3 d T li [“ d” “bl ” “ ”]p=T x=2 , y=3 done=True list=[“red”, “blue”, “green”] ,

    str=“red”p=F x=2 , y=3 done=True list=[“blue”, “green”] ,

    str=“white”

    32دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    str= white

  • )ب) (CC(پوشش جزء –يك مثال كامل ∧ (p =(a∨bگزاره • c:شود؛ پس Fو يك بار Tبراي پوشش جزء يا كالز آن است كه هر كالز يك بار TR) الف•

    TRCC={a=T , a=F , b=T , b=F , c=T , c=F}زير:طبق جدول زير• ول ج بق).Fباشد يا Tفرقي ندارد (است don’t careبه معناي عالمت •:چند نكته•

    ه دا6داكث از ن ن آز

    tr a b ca=T T

    .آزمون نياز داريم6حداكثر به–:شايد با يك آزمون چند نيازمندي را بتوان برآورده كرد–باشند، سه سطر Tمثال اگر در آزمون ما هر سه كالز برابر –

    ش آ ن ل ا

    a=F F b=T T b=F F .اول، سوم و پنجم برآورده مي شود

    CCرا براي پوشش TRپس حداقل با دو آزمون مي توان –.براي اين گزاره برآورده كرد

    b F F c=T Tc=F F

    33دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • )پ( GACCپوشش –يك مثال كامل ∧ (p =(a∨bگزاره • c

    آ چه در شود مي مشخص نتيجه در و( هست p دترمينان t شرايطي چه در كنيم تعيين يعني آوريم دست به را t، pt كالزهرازايبهبايدابتداغيرفعال وفعالجزءپوششهايكليهبراي•.)نيست p دترمينان t شرايطي

    pt :كاراينانجامفرمول• = pt=true ⊕ pt=false

    :داريمپس• داريمپس• pa = pa=true ⊕ pa=false = ((T∨b) ∧ c) ⊕ ((F∨b) ∧ c) = (c) ⊕ (b∧c)• pb = pb=true ⊕ pb=false = ((a∨T) ∧ c) ⊕ ((a∨F) ∧ c) = (c) ⊕ (a∧c)• pc = pc=true ⊕ pc=false = ((a∨b) ∧ T) ⊕ ((a∨b) ∧ F) = (a∨b) ⊕ (F) = (a∨b)

    34دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • …)پ( GACCپوشش –يك مثال كامل .حاال يك جدول درستي به صورت زير تشكيل مي دهيم•

    رديف a b c p=(a∨b) ∧ c

    pa=c⊕ (b∧c)

    pb=c⊕ (a∧c)

    pc=(a∨b)

    1 T T T T T1 T T T T T2 T T F F T3 T F T T T T4 T F F F T5 F T T T T T6 F T F F T7 F F T F T T8 F F F F

    35دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • …)پ( GACCپوشش –يك مثال كامل :با توجه به جدول درستي، داريم•

    رديف a b c p pa pb pc ا ط ز ل ا كالز

    12 aبراي

    p pa pb pc1 T T T T T2 T T F F T3 T F T T T T

    زوج سطرها كالز اصلي)دترمينان(

    (3,7) aبراي

    براي a=F

    3 T F T T T T4 T F F F T5 F T T T T T

    (5,7) b{1,3,5} {2,4,6}={(1 2) (1 4) (1 6)

    ca=T

    6 F T F F T7 F F T F T T8 F F F F

    {(1,2), (1,4), (1,6),(3,2), (3,4), (3,6),(5,2), (5,4), (5,6)}

    8

    ,(TRGACC={(3,7 :داريم پس (5,7), (1,4)}

    36دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    حالت به دست آمده به دلخواه 9يكي از

  • )ت( RACCپوشش –يك مثال كامل ثابت فرعي كالزهاي آنها در كه را سطرهايي زوج و كنيم استفاده GACC از توانيم مي•

    .كنيم حذف را اند نماندهرديف a b c p pa pb pc ا ط ز ل ا aكالز b c p pa pb pc1 T T T T T2 T T F F T3 T F T T T T

    زوج سطرها كالز اصلي)دترمينان(

    (3,7) a3 T F T T T T4 T F F F T5 F T T T T T

    (5,7) b{(1,2), (1,4), (1,6),(3,2), (3,4), (3,6),(5 2) (5 4) (5 6)}

    c

    6 F T F F T7 F F T F T T8 F F F F

    (5,2), (5,4), (5,6)}

    8 F F F F,(TRRACC={(3,7 :داريم پس (5,7), (1,2) }

    12 3حالت به دست آمده به دلخواه3يكي از

    37دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    aبراي ز ي وي ب ب

  • )ث( CACCپوشش –يك مثال كامل گزاره ارزش حتما كه كنيم انتخاب را سطرهايي زوج و كنيم استفاده GACC از توانيم مي•

    .باشد كرده تغيير هايشانرديف a b c p pa pb pc ا ط ز ل ا pكالز pa pb pc1 T T T T T2 T T F F T3 T F T T T T

    زوج سطرها كالز اصلي)دترمينان(

    (3,7) aگزاره راT

    Fگزاره را .ميكند

    3 T F T T T T4 T F F F T5 F T T T T T

    (5,7) b{(1,2), (1,4), (1,6),(3,2), (3,4), (3,6),(5 2) (5 4) (5 6)}

    c

    .ميكند

    6 F T F F T7 F F T F T T8 F F F F

    (5,2), (5,4), (5,6)}

    آمده دست به سطرهاي زوج مثال، اين گزاره براي8لزوماًولي(است GACCمعادلكامالCACCًبرايپس.)باشديكسانآنهانهاييهايTRنيستنياز

    :داريمTRCACC={(3,7), (5,7), (3,4)}12 3

    38دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    aبراي حالت به دست آمده به دلخواه 9يكي از

  • )ج( GICCپوشش–يك مثال كامل يا T با برابر p سطرها زوج كدام با نيست دترمينان وقتي كنيم مي مشخص كالز هر براي•

    .شود مي F با برابررديف a b c p pa pb pc ا ط ز گزا اصل pكالز pa pb pc1 T T T T T2 T T F F T3 T F T T T T

    زوج سطرها گزاره كالز اصلي)غيردترمينان(

    (1,5) p=T a{2 4} {6 8} p=F

    a=Tبراي

    a=Fبراي

    3 T F T T T T4 T F F F T5 F T T T T T

    {2,4} {6,8}={(2,6), (2,8),

    (4,6), (4,8)}

    p F

    (1,3) p=T b6 F T F F T7 F F T F T T8 F F F F

    ( , ) p{2,6} {4,8}={(2,4), (2,8),

    (6,4), (6,8)}

    p=F

    8 - p=T c(7,8) p=F13 2

    !ناممكن

    39دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    ,(TRGICC={(1,5:داريمپس (2,8), (1,3), (2,8), aبراي {(7,8)

    حالت داخل جدول به دلخواه 4يكي از

  • )چ( RICCپوشش–يك مثال كامل از را آنها كرده تغيير مقاديرشان فرعي كالزهاي اگر و كنيم استفاده GICC از توانيم مي•

    .كنيم حذف آزمون نيازمنديهاي ليسترديف a b c p pa pb pc ا ط ز گزا اصل pكالز pa pb pc1 T T T T T2 T T F F T3 T F T T T T

    زوج سطرها گزاره كالز اصلي)غيردترمينان(

    (1,5) p=T a{2 4} {6 8} p=F3 T F T T T T

    4 T F F F T5 F T T T T T

    {2,4} {6,8}={(2,6), (2,8),

    (4,6), (4,8)}

    p F

    (1,3) p=T b6 F T F F T7 F F T F T T8 F F F F

    ( , ) p{2,6} {4,8}={(2,4), (2,8),

    (6,4), (6,8)}

    p=F

    8- p=T c(7,8) p=F

    TR:داريپ ={(1 5) (2 6) (1 3) (2 4) (7 8)}13 24

    40دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    ,(TRRICC={(1,5 :داريمپس (2,6), (1,3), (2,4), (7,8)}aبراي

    حالت داخل جدول به دلخواه 2يكي از

  • خالصه معيارهاي منطقشرايط نيازمندي هدف معيار

    - p=TF

    pهر گزاره )PC(پوشش گزارهp=F

    ر ز pر ر ز ش پو

    - c=Tc=F

    c )جزء(هر كالز )CC(پوشش جزء

    - GACCci=Tci=F

    در حالت فعال ciهر كالز )دترمينان( ) ACC( پوشش جزء فعال

    .كند تغيير p گزاره ارزش ،ci ارزش تغيير با CACC )ها cj( كالزها ساير ارزش ،ci ارزش تغيير با

    .بماند ثابت RACC

    - GICC ci=Tci=Fp=T براي

    در حالت غيرفعال ciهر كالز )غيردترمينان( ) ICC( پوشش جزء غيرفعال

    iك)j( )ها cj( كالزها ساير ارزش ،ci ارزش تغييربا.بماند ثابت RACC

    ci=Tci=F

    p=Fبراي

    41دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • رابطه در بر داشتن ميان معيارهاي پوشش منطقات ك ششت پوشش تركيبياتيپ

    CoC

    ال پوشش جزء فعال فمحدود شده

    RACC

    پوشش جزء غيرفعال محدود شده

    RICCCC

    پوشش جزء فعال همبستهCACC

    پوشش جزء غير فعال كلي

    پوشش جزء فعال كليGACC

    CACC GICC

    پوشش جزء پوشش گزاره

    GACC

    42دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

    CC PC

  • خالصه فصل

    .كالز دارند 3هستند؛ در عمل، بيشتر آنها كمتر از بسيار سادهگزاره ها معموالً•!در واقع،بيشتر گزاره ها فقط يك كالز دارند–.كافي است) PC(، پوشش گزاره يك كالزبا فقط –.قابل انجام استCoC، پوشش تركيبياتي دو يا سه كالزبا– زب ي يو يبي ر ش مپو ج بل.براي گزاره هاي بزرگتر است ICCو ACCمزاياي معيارهاي –

    ان لافزا انكنت نهاافزا دادالًا ادت گزاز گزاره زيادي تعداد معموال،ايمنيبهحساسافزارهاينرموكنترلافزارهاينرم•.دارند زياد كالزهاي تعداد با پيچيده

    را براي نرم افزارهاي هوانوردي )RACCو مشخصاً(هوانوردي امريكا به همين دليل پوشش منطق–.اجباري كرده استك

    43دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار

  • پپايان جلسه ششم

    44دانشگاه آزاد اسالمي واحد شهرقدس -صديقه خوشنويس)3فصل (آزمون نرم افزار