Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

5.4.2 Pöytätesti

Hyvin usein algoritmi kannattaa pöytätestata. Pöytätesti alkaa kirjoittamalla sarakkeiksi kaikki algoritmissa esiintyvät muuttujat. Muuttujiksi voidaan kirjoittaa myös algoritmissa esiintyviä ehtoja. Tällainen muuttuja voi saada arvon kyllä tai ei. Pöytätestin riveiksi kirjoitetaan algoritmin eteneminen vaiheittain. Sarakkeisiin muuttujille kirjoitetaan uusia arvoja vain niiden muuttuessa.

Testataan esimerkiksi edellisen esimerkin algoritmi:

askel
Luku
Jakaja
Kasvatus
Luku/Jakaja
Jako tasan?
Jakaja<Luku/2?
Tulostus
0
25
2
1




1



12.500
ei


2

3





3


2




4





3<12.5

1



8.333
ei


2

5





3


2




4





5<12.5

1



5.000
kyllä

Jaollinen 5:llä

askel
Luku
Jakaja
Kasvatus
Luku/Jakaja
Jako tasan?
Jakaja<Luku/2?
Tulostus
0
23
2
1




1



11.500
ei


2

3





3


2




4





3<11.5

1



7.667
ei


2

5





3


2




4





5<11.5

1



4.600
ei


2

7





3


2




4





7<11.5

1



3.286
ei


2

9





3


2




4





9<11.5

1



2.556
ei


2

11





3


2




4





11<11.5

1



2.091
ei


2

13





3


2




4



13>11.5
Alkuluku

Usein pöytätesti antaa hyviä vinkkejä myös algoritmin jatkokehittelylle. Käytännön työssä osa pöytätestistä voidaan suorittaa debuggereiden avulla. Joskus kuitenkin voi olla niin paljon esitietoa algoritmille, että tarvittavan testiohjelman rakentaminen voi olla työlästä. Pöytätestihän voidaan aloittaa minkälaisesta alkutilasta tahansa. Samoin yksi pöytätestin etuja on siitä jäävä historia. Usein debuggerit näyttävät vain yhden ajanhetken tilanteen, siis yhden pöytätestin rivin kerrallaan.

Tehtävä 5.7 Algoritmin parantaminen

Tarvitsisimmeko algoritmin kohtaa 4 lainkaan? Voitaisiinko algoritmin lopetus hoitaa muuten?

Tehtävä 5.8 Pöytätesti

Pöytätestaa edellinen algoritmi kun syöttönä on luku 121.
Pöytätestaa molemmat Ynnää luvut 1- 100 - algoritmisi versiona Ynnää luvut 1- 6 .

Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys