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.