Polkutestaus ja peruspolkutestaus ohjelmistoissa esimerkkien avulla
โก รlykรคs yhteenveto
Peruspolkutestaus on white box -tekniikka, joka johtaa testitapaukset ohjelman loogisista poluista kรคyttรคen ohjausvuograafia ja syklomaattista kompleksisuutta pienimmรคn riippumattoman polkujoukon lรถytรคmiseksi.

Mitรค on polkutestaus ohjelmistotestauksessa?
Polkutestaus on rakenteellinen testausmenetelmรค, jossa kรคytetรครคn ohjelman lรคhdekoodia kaikkien mahdollisten suoritettavien polkujen lรถytรคmiseksi. Se auttaa mรครคrittรคmรครคn kaikki koodinpรคtkรคn sisรคllรค olevat viat. Tรคmรค menetelmรค on suunniteltu suorittamaan kaikki tai valitut polut tietokoneohjelman kautta.
Mikรค tahansa ei-triviaali ohjelma sisรคltรครค useita mahdollisia suorituspolkuja. Jokaisen niistรค testaaminen on sekรค vaikeaa ettรค aikaa vievรครค, ja useimmat niistรค menevรคt pรครคllekkรคin. Peruspolkutestaus vรคhentรครค tรคtรค redundanssia tunnistamalla pienimmรคn joukon polkuja, jotka silti suorittavat jokaisen lauseen ja jokaisen haaran ainakin kerran.
Ohjelmistosuunnittelun peruspolun testaus
Peruspolun testaus ohjelmistosuunnittelussa on a Valkoinen Box Testaus menetelmรค, jossa testitapaukset mรครคritellรครคn ohjelman lรคpi kuljetettavien virtausten tai loogisten polkujen perusteella. Peruspolun testauksen tavoitteena on mรครคrittรครค riippumattomien polkujen mรครคrรค, joten tarvittavien testitapausten mรครคrรค voidaan mรครคritellรค eksplisiittisesti testin kattavuuden maksimoimiseksi.
In ohjelmistotuotanto, Peruspolun testaus sisรคltรครค ohjelman kaikkien mahdollisten lohkojen suorittamisen ja maksimaalisen polun peiton mahdollisimman pienellรค mรครคrรคllรค testitapauksia. Se on haaratestauksen ja polun testausmenetelmien hybridimenetelmรค.
Yksinkertainen esimerkki tekee ajatuksesta konkreettisen.
Yllรค oleva vuokaavio sisรคltรครค ehtolauseita, joten ohjaus voi pรครคstรค ulostuloon useampaa kuin yhtรค reittiรค pitkin. Sen kattamiseksi tarvitaan kolme toisistaan โโriippumatonta polkua:
- Polku 1: 1,2,3,5,6, 7
- Polku 2: 1,2,4,5,6, 7
- Polku 3: 1, 6, 7
Ohjausvuokaavion piirtรคminen
Jokainen peruspolkutestauksen vaihe riippuu kontrollivuograafista, joten sen rakentamisessa kannattaa olla tarkka.
- Solmu: Ympyrรคnรค piirretty sarja lauseita, jotka suoritetaan aina yhdessรค. Haaraton lausekejono kutistuu yhdeksi solmuksi.
- Reuna: ohjauksen siirto solmusta toiseen, piirretรครคn nuolella. Reunat ovat ainoa tapa, jolla ohjaus liikkuu.
- Predikaattisolmu: Solmu, joka sisรคltรครค ehdon ja josta lรคhtee kaksi tai useampia kaaria. Nรคmรค ohjaavat kompleksisuuslaskentaa.
- Alue: reunojen ja solmujen rajaama alue. Alueiden lukumรครคrรค plus yksi on myรถs syklomaattinen kompleksisuus.
Tarkastellaan lyhyttรค moduulia, jossa on kaksi pรครคtรถstรค:
if (a > b) { // node 1, predicate max = a; // node 2 } else { max = b; // node 3 } if (max > limit) { // node 4, predicate alert(); // node 5 } return max; // node 6
Graafissa on 6 solmua ja 6 kaaria, jolloin kaavan mukaan V(G) = 6 โ 6 + 2 = 2. Predikaattien mรครคrรค antaa saman vastauksen nopeammin: 2 pรครคtรถstรค plus 1 on 3 riippumatonta polkua kahden haaran lรคpi yhdessรค. Kรคytรค sitรค muotoa, jonka voit laskea luotettavasti, ja tarkista se toisella.
Kaksi sรครคntรถรค, jotka estรคvรคt useimmat virheet. Ensinnรคkin yhdistetty ehto, kuten jos (x > 0 && y > 0) lasketaan kahdeksi predikaattisolmuksi, ei yhdeksi, koska oikosulku luo toisen pรครคtรถksen. Toiseksi, silmukka lisรครค yhden predikaattisolmun riippumatta siitรค, kuinka monta kertaa se iteroituu.
Peruspolkutestauksen vaiheet
Peruspolun testauksen perusvaiheet sisรคltรคvรคt
- Piirrรค ohjauskaavio (eri ohjelmapolkujen mรครคrittรคmiseksi)
- laskettu Syklomaattinen monimutkaisuus (mittarit riippumattomien polkujen mรครคrรคn mรครคrittรคmiseksi)
- Etsi perusjoukko polkuja
- Tuottaa testitapaukset harjoittaa jokaista polkua
Peruspolkutestauksen edut ja rajoitukset
Peruspolkutestauksen edut
- Se auttaa vรคhentรคmรครคn ylimรครคrรคisiรค testejรค
- Se kiinnittรครค huomion ohjelman logiikkaan
- Se korvaa mielivaltaisen testitapausten valinnan analyyttisellรค pohjalla
- Testaa tapauksia, joissa harjoituskantajoukko suorittaa jokaisen ohjelman kรคskyn vรคhintรครคn kerran
Peruspolkutestauksen rajoitukset
- Se ei lรถydรค puuttuvaa koodia. Vaatimuksella, jota ei ole koskaan toteutettu, ei ole polkua, joten sille ei luoda testiรค. Peruspolkutestaus on yhdistettรคvรค vaatimuspohjaiseen testaukseen.
- Reittien mรครคrรค kasvaa nopeasti. Sisรคkkรคiset silmukat ja yhdistetyt ehdot nostavat monimutkaisuutta nopeasti, ja moduulin, jonka V(G) on yli 20, kattaminen tรคllรค tavalla on epรคkรคytรคnnรถllistรค.
- Kattavuus ei ole oikeellisuutta. Polun suorittaminen todistaa koodin toimivan, ei sitรค, ettรค se tuottaa oikean vastauksen. Jokainen testi tarvitsee silti mielekkรครคn vรคitteen.
- Datasta riippuvat polut. Joihinkin polkuihin pรครคsee vain tietyillรค syรถteyhdistelmillรค, joiden rakentaminen voi olla vaikeaa tai mahdotonta.

