1 / 15

Test ų skaičius reikalingas šakų padengimui

Test ų skaičius reikalingas šakų padengimui. Testų skaičius reikalingas šakų padengimui.

lani
Download Presentation

Test ų skaičius reikalingas šakų padengimui

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Testų skaičius reikalingas šakų padengimui

  2. Testų skaičius reikalingas šakų padengimui Šis straipsnis skirtas nustatyti kiek testų reikia, kad pasiekti šakų padengimą ir pristatyti naują ribą – betašaką, kuri yra skaičiuojama pagal programos valdymo srauto struktūrą. Beta šaka nustato žemiausią testų, reikalingų padengti šakas, kiekio ribą. Taip pat yra palyginimas su programos valdymo srauto ciklomatiniu sudėtingumu, kuris dažnai naudojamas tam pačiam tikslui.

  3. Testų skaičius reikalingas šakų padengimui Bus naudojamas srauto grafas vadinamas ddgrafu, kuriame lankas atvaizduoja programos bloką, o taškas atvaizduoja arba programos valdymo srauto išsiskyrimą, arba susijungimą. Programos šaka yra toks lankas, kurio pradžia yra taške, iš kurio išeina bent du lankai. Kelias vadinamas paprastu, jeigu visi taškai priklausantys tam keliui yra skirtingi.

  4. Kiek kelių ar kiek testų? Testuotojas turi surasti atsakymą į klausimą “Kiek reikės testų?”, kad padengti kiekvieną programos šaką. Nagrinėdami programos srauto grafą, autoriai dažnai performuluoja šią problemą į “Kiek reikės kelių?”, kad srauto grafe padengti kiekvieną lanką ir tašką. Ir po to vietoje programinės įrangos inžinerijos problemos yra sprendžiama grafų teorijos problema. Keletas autorių (Ntafos ir Hakimi, Bache ir Müllenburg ) programinės įrangos testavimo literatūroje aprašė šios grafų teorijos problemos sprendimus. Tačiau, jų sprendimai turi menką praktinę vertę, nes jie visai nesirūpina dėl srauto grafo lankų ir taškų prasme. Tikroji šakų testavimo problema yra surasti panaudojamus testavimo kelius.

  5. Kiek kelių ar kiek testų? Logiška daryti prielaidą, kad kuo mažiau sprendimų yra kelyje, tuo yra labiau tikėtina, kad kelias bus įvykdomas. Todėl praktinio požiūrio atžvilgiu yra efektyviau testuoti daugiau paprastų kelių negu kelis sudėtingus. Todėl testuotojas turi žinoti “Kiek testų?” turi būti atlikta, kad padengti programos šakas, o ne “Kiek kelių?” bus pakankama, kad padengti visus programos srauto grafo lankus ir taškus.

  6. Ar turi tarpusavio ryšį ciklomatinis sudėtingumas ir šakų padengimas? Ciklomatinis sudėtingumas skaičiuoja tik sprendimų kiekį programoje. Taigi kiekvienas IF sakinys pridėtų vienetą prie ciklomatinio sudėtingumo. Tačiau iš tikrųjų ne kiekvienas sprendimas prideda dar vieną testą. Taigi ciklomatinis sudėtingumas iš esmės nėra susijęs su testų skaičiumi reikalingu norint padengti šakas.

  7. Apibrėžimas Beta šakos ribos apibrėžimas ddgrafui yra paremtas dviem sąvokomis: nepriverstinių lankų aibė ir silpno nepalyginamumo ryšys tarp lankų. Nepriverstiniai lankai yra programos ddgrafo lankų poaibis, kuris yra naudingas šakų testavime. Gali būti programos šakų, kurios praėjimas garantuoja kitų šakų praėjimą. Ši sąvoka "lankas garantuoja kitą lanką" yra formalizuota į dominavimo ir po-dominavimo ryšius. Lankas a dominuoja (po-dominuoja) lanką b, jeigu bet koks kelias ateinantis į lanko b įėjimą (ir iki išėjimo) pereina lanką a. Aišku, jeigu lankas a dominuoja (po-dominuoja) lanką b, b padengimas garantuoja a padengimą.

  8. Dominavimo (A) ir po-dominavimo (B) medžiai

  9. Nepriverstiniai lankai Nepriverstinai lankai yra minimali aibė lankų, kurie nėra garantuojami, bet kurio kito lanko ir jie turi savybę pagal kurią gauname, kad juos padengus visi ddgrafo lankai bus padengti. Taigi testavimo kelių aibė, kuri padengia nepriverstinius lankus yra pakankama, kad patenkinti šakų padengimo kriterijų (visi keliai yra įvykdomi). Nepriverstinių lankų aibę galima lengvai surasti iš dominavimo ir po-dominavimo medžių, reikia imti lankus, kurie yra abiejuose medžiuose. Iš nepriverstinių lankų savybės aišku, kad kelių reikalingų padengti ddgrafą skaičius nėra didesnis negu nepriverstinių lankų skaičius. Iš tikrųjų tai yra blogiausias įmanomas variantas, kai kiekvienam nepriverstiniam lankui padengti reikia atskiro testavimo kelio.

  10. Nepriverstiniai lankai Bet dažniausiai testavimo kelias gali turėti kelis nepriverstinius lankus.Priklausomai nuo to kaip nepriverstiniai lankai yra apjungiami į testavimo kelius bus gautos skirtingos testavimo kelių aibės. Kaip buvo minėta anksčiau reikia nagrinėti tuos kelius, kurie turi mažiausiai sprendimų, nes labiau tikėtina, kad jie bus įvykdomi. Jie bus vadinami prasmingi keliai.

  11. Silpno nepalyginamumo ryšys tarp lankų • Kad galėtume gauti prasmingus kelius, reikia apibrėžti silpno nepalyginamumo ryšį tarp lankų. Du lankai yra nepalyginami, jeigu jų neįmanoma padengti vienu keliu. • Du lankai yra silpnai nepalyginami, bet kuriuo iš šitų atveju: • Abu gali būti padengti paprastu keliu, bet negali būti padengti tuo pačiu paprastu keliu. • Vienas iš jų gali būti padengtas paprastu keliu, bet kitas negali. • Jie priklauso tam pačiam ciklui ir vienas pasiekia kitą tik jeigu ciklą prasukame bent antrą kartą. • Jie priklauso skirtingiems ciklams. • Prasmingas kelias yra toks, kuris neturi dviejų silpnai nepalyginamų nepriverstinių lankų.

  12. Beta šaka Taigi apjungus nepriverstinių lankų ir silpnai nepalyginamų lankų sąvokas, beta šaką galime apibrėžti: maksimalus nepriverstinių lankų, kurie yra abipusiškai silpnai nepalyginami, kiekis. Formaliai, jeigu UE yra nepriverstinių lankų aibė, o LWI(UE) yra didžiausia silpnai nepalyginamų nepriverstinių lankų aibė ddgrafui G, tai riba gali būti apibrėžta kaip LWI(UE) kardinalumas.

  13. Empyrinis įvertinimas Panaudojus klasikinius statistinius testus, buvo surasta, kad empyrinis santykinės beta šakos ir panaudotų testų kiekio klaidos pasiskirstymas yra normalinis, turintis reikšme 0.12 ir pokyčiu 0.15 su 94% tikrumu. Ir buvo palyginta su rezultatais gautais naudojant ciklomatinį sudėtingumą. Gauta santykinės klaidos reikšmė 0.37 ir pokytis 0.39. Beto buvo nustatyta, kad teorinis pasiskirstymas nėra normalinis. Taigi galima daryti išvadą, kad, norint pasiekti šakų padengimą, ciklomatinis sudėtingumas nėra toks patikimas kaip beta šaka.

  14. Išvados Buvo surastas atsakymas į klausimą kiek testų šakų testavimui reikėtų planuoti. Taip pat buvo aptarti bandymai atsakytį į šį klausymą ir buvo parodyta, kad praktikoje jie yra nenaudingi. Riba yra paremta dviem sąvokomis: nepriverstinis lankas ir silpnai palyginami lankai. Pasiūlyta riba, beta šaka, buvo patikrinta realioje testavimo aplinkoje ir empyriniai rezultatai patvirtino jos naudingumą. Aišku beta šaka yra tik įvertinimas. Testuotojas gali panaudoti daugiau arba mažiau testų negu buvo gauta įvertinimo. Bet eksperimentas parodė, kad beta šaka duoda patikimą įvertinimą.

More Related