Tik-76.115 Testiraportti
PicSearch -- Interactive Picture Searcher
Prototyyppi 1 -vaihe
http://
Viimeksi päivitetty
.
Sisällysluettelo
1. Yhteenveto
2. Poikkeamat
3. Testauksen kattavuus
4. Testauksen tulokset
5. Arviointi
Testauksen kohteena oli PicSearch -sovelluksen ensimmäinen prototyyppi.
Testi kattoi kaikki ne järjestelmän toiminnot, joita oli ehditty koodata
edes alustavasti. Osa järjestelmän toiminnoista oli vielä erittäin
puutteellisesti toteutettu, mikä näkyi odotetusti myös havaittujen
poikkeamien määrässä.
Järjestelmä testattiin sekä TKK:n Alpha-koneissa että PC-mikrolla
Windows95 -käyttöjärjestelmässä.
Järjestelmä testattiin testaussuunnitelman mukaan paitsi että
testaajina toimi alkuperäistä suunnitelmaa pienempi joukko. Joillekin
toiminnoille testaussuunnitelman testitapaukset osoittautuivat hieman
liian suppeiksi. Niitä osia järjestelmästä, joita ei ollut lainkaan
toteutettuna ei myöskään varsinaisesti testattu.
Pieni osa toiminnoista oli toteutettu poiketen
toiminnallisesta määrittelystä. Seuraavat
tapaukset havaittiin:
- Aktiivisen esimerkkikuvan valinta / tyhjentäminen /
sulkeminen / uuden luominen / aktiivisen hakualgoritmin valinta
ei tuota viestiä Info-ikkunaan.
Syy: viesti on turha, koska vaikutus on muuten heti havaittavissa.
- Osa teksteistä on erilaisia toiminnalliseen määrittelyyn verrattuna.
- Osa aktiiviseksi valitsemisista tehdään hiirellä kaksoisklikkaamalla eikä
yhdellä painalluksella. Syy: Tcl/Tk:n rajoitus ??
Testaus oli järjestelmän keskeneräisyyteen nähden kattava. Suuri osa
virheistä oli jo ennestään tiedossa.
Seuraavassa listassa on lueteltu kunkin testikohteen kohdalla havaitut
puutteet.
- Info-ruudun toiminta: OK
- Esimerkkikuvien käsittely
- Uuden esimerkkikuvan luominen:
- (vain Win32 ?) luotaessa *nopeasti*
useita esimerkkikuvia, kaksi voi joskus saada saman lista-indeksin
(havaitaan PicMain:n epäsynkroniin joutumisena).
Korjaus: JKo.
- Luo niin monta uutta esimerkkikuvaa kuin onnistuu:
- Ei rajoitusta. Korjaus: JKo.
- Aktiivisen esimerkkikuvan valinta: OK
- Esimerkkikuvan sulkeminen:
- Esimerkkikuva sulkeutuu, mutta piirtoikkuna jää auki. Korjaus: JKo.
- Viimeinen "Close example" = "Clear example": OK
- Esimerkkikuvan tyhjennys:
- Esimerkkikuva tyhjentyy, mutta piirtoikkuna jää auki. Korjaus: JKo.
- (Olemattoman esimerkkikuvan koko ei pienene oletuskokoon)
- Nimet esimerkkikuvalistalla eivät noudata toiminnallista määrittelyä
(1. Nimi, jos ei ole niin 2. "ImageId nnn", jos ei ole
niin 3. "ExampleN"). Korjaus: JKo.
- Kuville tulee default-nimeksi "exampleN" tyhjän sijaan. Korjaus: JKo.
- Tiedostotoiminnot
- Esimerkkikuvan luku levyltä:
- Kuvan nimi pitää valita kaksois-klikkaamalla. Korjattavissa, JKo?
- Esimerkkikuvan parametrit eivät nollaudu. Korjaus: JKo, PKu.
- Piirtoikkunan koko ei kasva/pienene järkevästi. Korjaus: JKo.
- JPEG:ksi naamioidun PPM-kuvan luku OK, mutta yrityksistä avata
kuva eri formaateilla ei raportointia info-ruutuun. Korjaus: PKu, PKy.
- Win32: Hakemiston vaihtaminen alaspäin juureen saakka ei onnistu
listasta "..":tä klikkaamalla.
- PPM-kuvan luku ei määrittele kuvan koolle maksimiarvoa. Korjaus: PKy.
- Kuvan luku onnistuu PicCore:n mielestä aina. Syy: luku-funktio
ei nosta virheitä. Korjaus: PKy.
- (PPM-luku onnistuu vaikka tiedosto olisi lyhyempi kuin header
väittää)
- (JPEG-luku toteuttamatta.)
- Esimerkkikuvan kirjoitus levylle:
- Radio-nappuloilla valittua tiedoston nimen päätettä ei liitetä
annettuun tiedoston nimeen. Korjaus: JKo, (ainoastaan kun
tiedostopäätettä ei jo ole).
- Tiedoston nimeä ei tarjota kuvan parametreistä. Korjaus: JKo.
- (Vanhan tiedoston päälle kirjoittamis-varmistus toteuttamatta.)
- (JPEG-kirjoitus toteuttamatta.)
- Esimerkkikuvan parametrit:
- Avaa "Image attributes" -dialogi: OK, mutta pitkä tiedoston nimi ei
mahdu kenttään. Korjaus: JKo.
- Nimen sekä parametri 1:n ja 2:n toiminta: Eivät välity oikein
PicCore:n ja PicGUI:n välillä. Korjaus: JKo, PKu.
- Kuvan koon muuttaminen: ei varmistus-dialogia. Korjaus: JKo, PKu.
- Kuvan koon muuttaminen: esimerkkikuvapaikka ei toimi oikein,
piirtoikkuna OK.
- Signatures-dialogi: PicCore ja PicGUI epäsynkronissa (signaturet
näkyvät OK, mutta väärille algoritmeille). Korjaus: JKo, PKu.
- Esimerkkikuvan segmentointi: ei toteutettu
- Esimerkkikuvan muokkaus
- Piirtoikkunan avaus: jos on jo auki, niin piirtoikkuna ei aktivoidu,
vaan tulee virheilmoitus: "Error in TCL script...". Korjaus: JKo.
- Piirtotyökalut: Win32: Pienin pyöreä sivellin ei tuota jälkeä
vapaalla kädellä piirrettäessä.
- Aktiivinen väri pitää valita kaksois-klikkaamalla. Korjattavissa, JKo?
- Kuvankäsittelyalgoritmit: ei toteutettu
- Nappuloissa lukee "Export" eikä "Accept".
- "Export and Query" -nappula: Kuvan päivitys OK, kuvahaku ei käynnisty.
Korjaus: JKo.
- Win32: Kuvan päivitys ei toteutettu. Korjaus: PKu, JKo.
- Sulje piirtoikkuna, jonka kuvaa on muokattu "Close" -nappulalla:
Ei varmistuskysymystä eikä päivitystä: toteuttamatta.
- Hakutoiminnot
- Hakutyypin ja -algoritmin valinta: OK.
- Unix: haku ei toimi ollenkaan, vaan kaataa ohjelman. Syy: ongelmia
threadien toiminnassa. Korjaus: PKu.
- Haun käynnistäminen: OK
- Hakualgoritmi Wavelet: kaataa ohjelman (divide by zero). Korjaus: PKy.
- Hakualgoritmin parametrit: (IDSearch) PicGUI ei osaa lukea,
id-numero kirjoittuu PicCore:en oikein, checkbox ei. Korjaus: JKo.
- Haun keskeyttäminen ja jatkaminen: OK, mutta jos haku-säie oli
jonottamassa tilaisuutta lähettää kuvia näytölle, keskeytys / uuden
haun aloittaminen ei onnistunut. Korjaus: PKu.
- Tuloskuvien selaus: ei toteutettu.
- Tietokantakuvapaikkojen toteutus vajavaista: entinen kuva ei poistu
uuden alta. Korjaus: JKo.
- Tietokantatoiminnot
- Kuvan vienti tietokantaan:
- Jos ei kirjoitusoikeutta tietokanta-tiedostoon, niin
ei kunnollista virheilmoitusta. Korjaus: PPa.
- Hakualgoritmi Wavelet: kaataa ohjelman (divide by zero). Korjaus: PKy.
- Kuvan kopiointi tietokannasta esimerkkikuvaksi: Entinen esimerkkikuva
ei aina poistu alta. Korjaus: JKo.
- Kuvan poistaminen tietokannasta: ei toteutettu
- Kuvien massasyöttö tietokantaan:
- Unix: saattaa kaataa ohjelman. Syy: ongelmia
threadien toiminnassa. Korjaus: PKu.
- Unix: tiedosto-maski ei toimi? Korjaus: PKu.
- Kuvan nimen, par1:n ja par2:n anto listatiedostossa: ei toteutettu.
- Muut toiminnot
- Yleiset parametrit:
- Keskeytetyn haun tuloksien näyttämisen määrävä parametri:
ei testattu.
- Piirtokuvaan tehtyjen muutosten hyväksymisvarmistus: ei toteutettu.
- Kuvan kopiointi tietokantaan fyysisesti: ei toteutettu.
- Esimerkkikuvan oletuskoon asetus: OK.
- Debug-viestit alijärjestelmittäin: OK.
- Ohjelmasta poistuminen: OK
- Uuden algoritmin lisääminen: ei testattu
- Ei-toiminnalliset ominaisuudet
- Laajennettavuus: ei testattu
- Käytettävyys:
- Win32: ikkuna ei mahdu kokonaan näytölle (1024*768). Korjaus: JKo.
- Piirtoikkuna voi kasvaa niin suureksi ettei Close-nappulaa
pääse painamaan. Korjaus(?): JKo.
- Piirtoikkunassa "rubberband" tyylinen interaktiivinen viivan,
ympyrän ja nelikulmion piirto helpottaisi piirtämistä.
Korjaus jos ehditään: JKo.
- Useimmissa dialogeissa olisi mukavaa, jos Enter:n painaminen
vastaisi OK-napin klikkaamista. Korjaus jos ehditään: JKo.
- Siirrettävyys: Ohjelma toimii lähes yksi yhteen TKK:n Alpha-koneissa,
Linux:ssa sekä Windows95:ssä. Käyttöjärjestelmien eroista aiheutuneita
ongelmia:
- Säikeiden kanssa hankaluuksia Unix:eissa.
- X-ScreenGrabber ei toimi Win32:ssa.
- Tiedostojen nimissä erilaiset erottimet ("/" vs. "\")
- Suorituskyky: Hyvä, isojen kuvien lataus hitaanpuoleista.
Järjestelmä on edelleen selkeästi kehitysvaiheessa. Eniten puutteita
löytyi lähinnä käyttäjää olevista osista (PicGUI ja PicCore).
Luonnollisesti kaikki PicGUI:ssa olevat puutteet näkyvät suoraan
testeissä. Osa toiminnoista on jo lähes valmiita, mm. piirtoikkuna
toimii hyvin. Puolivalmiina olevat osat eivät aiheuta ongelmia muille
järjestelmän osille (esim. ohjelman kaatumista). Liittymä PicCore:en
on osittain puutteellinen, rajapinta on kuitenkin vakiintunut.
PicCore on melko valmiissa tilassa. Ongelmia liittymisissä
toisiin alijärjestelmiin on suhteellisen vähän.
Tietokannan toteutuksessa ei havaittu käyttäjälle näkyviä virheitä,
algoritmien ja kuvien käsittelystä löytyi muutama virhe.
PibLib-kirjastofunktiot ovat stabiilissa tilassa. Ainoastaan
säikeiden käsittelyssä ja tiedostojärjestelmän liittymässä on Unix:ssa
vielä korjattavaa.
Testauksella saatiin kartoitettua järjestelmän tämän hetkinen tila
sekä joukko havaitsematta olleita virheitä. Jatkossa kannattaa
kiinnittää huomiota erityisesti eri alijärjestelmien välisiin rajapintoihin.
Testauksessa kannattanee harrastaa lisääntynyttä pirullisuutta, niin että
kukin testaaja laajentaa testaussuunnitelman testitapauksia ko. kohtaan
mahdollisesti vaikuttavilla virhelähteillä (poista tiedosto kesken
kaiken, käynnistä useampi kopio järjestelmästä yhtä aikaa jne.).