Copyright Oy Laatukonsultointi P. Kantelinen Ab
Tsekkilista
lähdekoodin tarkastamiseen
- Vastaako koodi
yksikkömäärittelyä, teknistä
määrittelyä ja toiminnallista
määrittelyä?
- Onko moduuli liian
suuri/pieni?
- Onko koodi siistiä ja
ymmärrettävää?
- Onko moduuli kommentoitu
riittävästi: onko otsikkotaulut täytetty, ovatko
kommentit ymmärrettäviä ja
selittäviä?
- Vastaavatko kommentit
koodia?
- Onko moduuliliittymä
toteutettu oikein?
- Onko moduulin aktuaalien ja
formaalien parametrien lukumäärä, järjestys ja
tyyppi oikea?
- Onko kaikilla pakollisilla
parametreilla arvo ja onko se oikea?
- Muuttaako moduuli
input-parametria?
- Testataanko input-parametrien
arvot, mikäli tarpeen?
- Onko kaikki tiedostot avattu
ennen käyttöä?
- Onko käytetty nimettyjä
vakioita "kovakoodattujen" sijaan?
- Onko kaikilla nimetyillä
vakioilla oikea arvo?
- Onko kaikki tiedot
määritelty ja onko ne määritelty
oikein?
- Onko kaikki muuttujat alustettu
ennen käyttöä ja onko ne alustettu
oikein?
- Ovatko muuttujien ja nimettyjen
vakioiden nimet merkitseviä ja järkevästi
valittuja?
- Testataanko syötteiden
oikeellisuus?
- Käsitelläänkö
kaikki poikkeukset ja käsitelläänkö ne
siellä, missä pitäisi?
- Käytetäänkö
kirjasto-ohjelmia/makroja/yleismoduuleita siellä, missä
se on kannattavaa?
- Onko koodissa tarpeetonta
redundanssia (sama koodinpätkä moneen
kertaan)?
- Onko koodissa "off-by-one"
-virheitä, so. luuppi alkaa/päättyy yhtä liian
myöhään/aikaisin, muuttujan arvoa
kasvatetaan/vähennetään yhtä liian
vähän/paljon, jne.?
- Onko koodi
ylläpidettävää?
- Onko nimettyjä vakioita
käytetty kaikissa mahdollisissa/järkevissä
paikoissa?
- Onko moduulin fan-out
(=kutsuttujen moduulien lukumäärä)
hyväksyttävä (< 7 ± 2 )?
- Onko muuttujien kapasiteetti
oikea (esim. 16 bitin sana 8 bitin tavun sijasta)
- Ovatko laskennassa
käytettyjen muuttujien tyypit yhteensopivia?
- Onko yli-/alivuodot otettu
huomioon?
- Onko pyöristykset otettu
huomioon?
- Käytetäänkö
nollaa jakajana?
- Vertaillaanko muuttujia, joiden
tyypit eivät ole yhteensopivia?
- Ovatko boolean-lausekkeet oikein,
esim. pitäisikö "less than" -lausekkeen sijaan olla
"less than or equal"?
- Jos lauseessa on useampi kuin
yksi operaattori, onko evaluointijärjestys oletettu
oikein?
- Onko monihaaraisissa valinnoissa
(case, switch, jne.) tarvittaessa otettu huomioon ja otettu oikein
huomioon haarojen ulkopuoliset arvot (so. case-out, when others,
jne.)?
- Päättyykö jokainen
luuppi?
- Päättyykö/alkaako
jokainen luuppi oikein?
- Päättyykö jokaisen
moduulin suoritus?
- Ovatko kaikki hypyt tarpeellisia
- jos ovat, onko kohde oikea?
- Havaitaanko kaikki end-of-file
-tilanteet ja käsitelläänkö ne
oikein?
- Onko
näyttö/raporttiteksteissä
kirjoitusvirheitä?
- Onko ristiviittauslistassa
muuttujia, joihin ei viitata ollenkaan?
- jne.