Millele pöörata tähelepanu

From Wikiversity
Jump to navigation Jump to search

kursuse avalehele

Esimene eesmärk võiks olla programmi käivitumine esimesel katsel, st programmi koodist on likvideeritud esmased pisivead ja näpukad. Selleks loe programm läbi ning veendu:

  • ühelgi muutujal ei ole nimeks võtmesõna
  • juhtlause lõpus (if, while, for, def) on koolon :
  • treppimine on järjekindel. Soovitav on kasutada ainult tühikuid või ainult tab-e. Taanded olgu ühe suurusega.
  • kõigil stringidel on alguse ja lõpusümbol (just viimane kipub ära jääma)
  • kõigil sulgudel on paarilised
  • võrdlemine toimub ==-ga ja mitte =-ga ja omistamine =-ga ja mitte ==-ga

Kui loetletud vigade leidmine enne programmi käivitamist juba õnnestub, võiks kontrolli laiendada. Järgnevalt valik küsimusi, mida soovitatakse testijal küsida programmikoodi lugemise käigus (muide, seda tegevust kutsutakse ametlikult staatiliseks testimiseks):

  1. Vaata üle muutujad ja nende nimed:
    • Kas proovitakse kasutada muutuja väärtust enne muutuja tekkimist, st kas esineb mõni algväärtustamata muutuja omistuslause paremal poolel, loogikaavaldises, väljatrükis?
    • Kas oled eksinud mõne muutujanime kirjutamisel? Või oled ehk programmis ühes kohas kirjutanud muutuja suure algustähega, aga teises kohas sama muutuja väikese algustähega?
  2. Vaata üle keelesõnad:
    • Nad peavad IDLE redaktoris olema teist värvi - siis on õigesti kirjutatud. Kui ei ole, otsi sõnast viga.
    • Vaata ka üle, milliseid funktsioone kasutad - äkki on tegemist mõne funktsiooniga, mille kasutamiseks eraldi mooduli poole pöörduda tulab (import math) jms?
  3. Avaldised ja andmetüübid - vaata üle nii aritmeetikaavaldised kui ka loogikaavaldised:
    • Kas ühte lausesse või avaldisse on kokku sattunud sobivad andmetüübid (nt arvude ja stringide koos kasutamine ei lõppe enamasti hästi)?
    • Kas kõik arvutamisel kasutatavad muutujad on peale sisestamist ka arvuks teisendatud?
    • Kas sealjuures on kasutatud muutuja iseloomule sobivalt täisarvu (int()) ja ujukomaarvu (float())?
    • Kas tehete järjekord on õigesti määratud ja kas kasutatakse selleks piisavalt sulge?
    • Kas võib tekkida jagamist nulliga?
  4. Võrdlemised - vaata üle loogikaavaldistes olevad võrdlustehted:
    • Kas võrreldakse erinevaid asju: näiteks teksti ja numbrit?
    • Kas algoritm on võrdlustehetesse õigesti tõlgitud? Näiteks märkide < ja <= kasutamise tulemus võib olla erinev.
    • Kas võrdlustehete prioriteedid on määratud õigesti?
    • Kas võrreldakse reaalarvulist muutujat arvuga ja sealjuurel võrdusmärgiga (==)? Ujukomaarvud ei pruugi olla täpsed ja seetõttu on nad ebasobivad võrdusmärgiga võrdlemiseks.
  5. Vead programmi struktuuris - vaata üle kõik keelekonstruktsioonid (tsüklid, valikud)
    • Kas taanded määravad õigesti planeeritud tsükli- ja valikulausete piirid?
    • Kas tsüklid on sisuliselt õigesti planeeritud - kas while-tsükli sisu ja loogikaavaldis on kooskõlas ning avaldise väärtus saab muutuda vääraks (False)? St kas avaldises kasutatavate muutujate väärtused tsükli sees muutuvad?
    • Kas loogikaavaldis tsükli alguses esimesel kordusel saab olla tõene (True)?

Jõudu oma koodi lugemiseks ja iseseisvaks vigade leidmiseks!

Rohkem vigade otsimisest ja silumisest on testimise tekstis.

kursuse avalehele