Tik-76.115 Testaussuunnitelma

PicSearch

http://www.hut.fi/~pkuusi/oht/documents/ts.html
Viimeksi päivitetty 1996 Nov 24 12:37 PPa

Sisällysluettelo


1. Johdanto

Tässä dokumentissa käytettyjä käsitteitä:
Tietokanta-id
Yksiselitteinen tunnistenumero, jolla tietokannassa olevat kuvat identifioidaan
Esimerkkikuva
Kuva, jota käytetään vertailukuvana tietokantahauissa
Signature
Kuvasta laskettu kompakti esitys, joka pyrkii tiiviisti kuvaamaan kuvan tai osakuvan sisältöä
Hakualgoritmi
Käytetään tarkoittamaan sekä kuvasta signaturen laskevaa algoritmia että ko. algoritmin laskemien signaturejen vertailijaa
Kuvankäsittelyalgoritmi
Algoritmi, joka muokkaa kuvan sisältöä jollakin tavalla
Segmentointialgoritmi
Algoritmi, joka laskee kuvasta segmentit, ts. jakaa sen loogisiin osiin
Ikkuna
Ikkuna, joka ei estä sovelluksen muiden ikkunoiden aktivointia
Dialogi
Ikkuna, joka on suljettava ennen kuin sovelluksen muu ikkuna voidaan aktivoida
Kuvapaikka
Alue näytöllä, jossa voi näyttää kuvan.

Tämä testaussuunnitelma on PicSearch kuvahakusovelluksen järjestelmällistä, hallittua ja kattavaa testausta varten laadittu suunnitelma.

Dokumentin seuraavassa luvussa (luku 2) on kerrottu tarkemmin testauksen kohteesta ja tavoitteista. Testauksessa käytettäväksi suunniteltu ympäristö laitteisto- ja ohjelmistovaatimuksineen on kuvattu testaussuunnitelman luvussa 3. Luvussa 4 on testauksen organisointiin liittyvät suunnitelmat, josta ilmenee mm. testauksen suoritusajankohdat, testauksen suorittajat ja näiden vastuualueet. Lisäksi määritellään tapa, jota noudattaen testaustuloksista raportoidaan.

Itse testaus tapahtuu luvuissa 5 ja 6 lueteltujen testitapausten mukaisesti. Jokaisessa testitapauksessa on ohjeet, joita noudattaen testi tulee suorittaa, sekä konkreettiset ja helposti arvioitavat tai mitattavat hyväksymiskriteerit, joiden kaikkien tulee täyttyä, jotta testitapaus voidaan hyväksyä. Sovelluksen toiminnallisten ominaisuuksien testitapaukset ovat luvussa 5, ja ei-toiminnallisten luvussa 6.


2. Testauksen kohde ja tavoitteet

2.1. Testauksen kohde

Tässä testaussuunnitelmassa kuvatun testauksen kohteena on PicSearch kuvahakusovellus. Testauksen piiriin kuuluu siis kaikki PicSearch:n toimintaan liittyvä, mikä on kehitetty projektin puitteissa.

2.2. Testauksen tavoitteet

Testauksella pyritään varmistumaan siitä, että PicSearch sovelluksessa on saavutettu kaikin puolin riittävä laatutaso, sekä tarkistetaan, että PicSearch:n toiminta vastaa sen toiminnallista määrittelyä. Toiminnallisiin ominaisuuksiin liittyvillä testitapauksilla pyritään kattamaan kaikkien PicSearch:n modulien toiminnallisuudet. Toiminnallisten ominaisuuksien lisäksi testataan useita sovelluksen ei-toiminnallisia ominaisuuksia, kuten suorituskykyä, siirrettävyyttä ja luotettavuutta.

Testaussuunnitelman mukaisesti suoritetun testauksen perusteella tulisi voida helposti todeta, onko ohjelmisto valmis luovutettavaksi, ja edelleen kehitettäväksi, asiakkaalle.


3. Testausympäristö

Testaus suoritetaan IBM PC yhteensopivalla laitteistolla, jossa on vähintään i80486 (tai yhteensopiva) prosessori. Erityisesti laitteistossa pitää olla hiiri tai muu vastaava kohdistin, sekä vähintään 800x600 resoluutioon kykenevä värimonitori.

Testauksessa käytetään Linux käyttöjärjestelmää. Käyttöjärjestelmän mukana tuleva ikkunointijärjestelmä X Window System, Version 11 pitää olla asennettuna, samoin kuin GNU projektin C++ kääntäjä, jota käytetään sovelluksen kääntämiseen. Lisäksi tarvitaan Tcl/Tk (versiot 7.5 ja 4.1) käyttöliittymää varten.

Erityisesti järjestelmän prototyyppejä testattaessa joudutaan toistaiseksi toteuttamatta jääneet modulit korvaamaan ns. tynkämoduleilla, jotka eivät oikeasti toteuta modulin toiminnallisuuksia, mutta antavat mahdollisuuden koko järjestelmän laajuiseen testaukseen.


4. Testauksen organisointi ja raportointi

4.1. Testauksen suorittaminen

Ennen kuin tämän testisuunnitelman mukainen koko järjestelmän kattava järjestelmätestaus voidaan suorittaa, pitää jokainen alijärjestelmä olla modulitestattu kyseisen alijärjestelmävastaavan toimesta. Tämä tarkoittaa sitä, että alijärjestelmää testataan erillisenä modulinaan tarvittaessa sitä varten tehdyn alijärjestelmän toimintoja käyttävän testiajurin avulla.

Testaus suoritetaan ainakin kolmesti projektin aikana projektin eri vaiheissa siten, että kukin testaus on suoritettu, ja siitä tehty raportti on julkaistu, viimeistään seuraaviin ajankohtiin mennessä:

Vaihe Deadline
Prototyyppi 1 11.2.1997
Prototyyppi 2 18.3.1997
Luovutus 29.4.1997

Testauksen suorittaminen on jaettu projektin jäsenten kesken seuraavin vastuualuein:

Jäsen Vastuu modulitestauksessa Vastuu järjestelmätestauksessa
Pyry Kuusi PicCore alijärj. 5.2., 6.3.
Jouni Korte PicGUI alijärj. 5.4., 6.1.
Pasi Kyheröinen PicAlgorithm alijärj. 5.5., 6.2.
Pekka Päiväkumpu PicDb alijärj. 5.1., 5.3., 6.4.

4.2. Testauksen raportointi

Suoritetun testauksen tuloksista tehdään raportti, jossa selostetaan miten sovellus reagoi kuhunkin testitapaukseen, ja täyttyikö hyväksymiskriteerit. Testeissä käytetty ympäristö kuvataan mahdollisimman tarkasti raportissa. Jos testauksen aikana havaitaan testauksen kohteessa puutteita tai virheitä, nämä kirjataan raporttiin. Mahdollisten korjausten jälkeen suoritetaan uudestaan kaikki ne testitapaukset, joihin muutokset ovat voineet vaikuttaa, ja niistä raportoidaan testausraportin uudessa versiossa.

Testausraportti sijoitetaan omalle paikalleen projektin kotisivuille HTML-dokumenttina.


5. Toimintojen testitapaukset ja hyväksymiskriteerit

5.1. Info-ruudun toiminta

  1. Testitapaus:
    Ohjelma raportoi aktiivisesti toimistaan ja virhetilanteista pääikkunan info-ruutuun. Suorita esim. kuvahaku, jolloin info-ruutuun tulostuu useita viestejä. Selaa info-ruudun viestejä scrollbarilla ja käynnistä välillä esim. uusia hakuja viestien aikaansaamiseksi.
    Hyväksymiskriteerit:
    Info-ruutuun tulostuneita viestejä voidaan vapaasti selata scrollbarilla, mutta uuden viestin ilmaantuminen aiheuttaa ruudun kelautumisen loppuun siten että uusi viesti näkyy.

5.2. Esimerkkikuvien käsittely

5.2.1. Uuden esimerkkikuvan luominen

  1. Testitapaus:
    Luo uusi esimerkkikuva painamalla pääikkunan "New example"-nappulaa.
    Hyväksymiskriteerit:
    Esimerkkikuvalistalle ilmestyy uusi rivi "<example N>", joka tulee valituksi ja esimerkkikuvapaikka tyhjentyy. Info-ruudulle ilmestyy asianmukainen viesti.
  2. Testitapaus:
    Luo niin monta uutta esimerkkikuvaa kuin onnistuu.
    Hyväksymiskriteerit:
    Kuten edellisessä testissä, mutta kuvan numero kasvaa aina yhdellä. Kun esimerkkikuvien tietty maksimimäärä (luovutettavassa versiossa 8 kpl) on saavutettu ei uusien esimerkkikuvien luonti onnistu, vaan info-ruudulle tulee rajoituksesta kertova viesti.

5.2.2. Aktiivisen esimerkkikuvan valinta

  1. Testitapaus:
    Valitse jokin kuva esimerkkikuvalistalta.
    Hyväksymiskriteerit:
    Valittu kuva ilmestyy esimerkkikuvapaikkaan ja valinnasta kertova viesti ilmestyy Info-ruutuun.

5.2.3. Esimerkkikuvan sulkeminen

  1. Testitapaus:
    Avaa tarvittaessa uusia esimerkkikuvia, jotta esimerkkikuvalistalla on vähintään 4 riviä. Valitse toiseksi alin esimerkkikuva ja paina "Close example" -nappulaa.
    Hyväksymiskriteerit:
    Valittu esimerkkikuva poistuu listalta ja aktiiviseksi esimerkkikuvaksi tulee valittua kuvaa edellisenä listalla ollut kuva, josta myöskin informoidaan Info-ruudussa.
  2. Testitapaus:
    Sulje "Close example" -nappulalla viimeinenkin esimerkkikuvalistan kuva.
    Hyväksymiskriteerit:
    Esimerkkikuvaa ei "suljeta", vaan se "tyhjennetään", kuten testitapauksessa 5.2.4., kohta 1.

5.2.4. Esimerkkikuvan tyhjennys

  1. Testitapaus:
    Tyhjennä aktiivinen esimerkkikuva painamalla pääikkunan "Clear" -nappulaa.
    Hyväksymiskriteerit:
    Kuva tyhjentyy esimerkkikuvapaikassa samoin kuin kuvan parametrit. Kuvan koko muuttuu oletusarvojen mukaisiksi. Jos esimerkkikuvalle on aukaistu piirtoikkuna, niin tämä sulkeutuu. Esimerkkikuvan tunniste esimerkkikuvalistalla vaihtuu muotoon "<Example n>". Kuvan tyhjennyksestä kerrotaan Info-ruudun viestissä.

5.2.5. Esimerkkikuvan luku levyltä

  1. Testitapaus:
    Paina pääikkunassa olevaa "Open..." -nappulaa, ja anna "Open file" -dialogissa esimerkkikuvaksi luettavan tiedoston nimi. Käynnistä kuvan lukeminen. Tarkista luetun kuvan parametrit "Image attributes..." nappia painamalla.
    Hyväksymiskriteerit:
    Ohjelma lukee valitun kuvan tiedostosta ja näyttää sen esimerkkikuvapaikassa, sekä päivittää kuvan nimen esimerkkikuvalistaan Kuvan parametreistä korkeus ja leveys asettuvat luetun kuvan koon mukaan, muut nollataan. Jos esimerkkikuvalle oli aukaistu piirtoikkuna, päivittyy sinne uusi kuva. Info-ruutuun tulee viesti kuvan lukemisesta levyltä.
  2. Testitapaus:
    Vaihda jonkin levyllä olevan kuvatiedoston nimen pääte toisen kuvaformaatin päätteeksi (esim. kuva.jpg -> kuva.gif) ja yritä lukea kyseinen kuva levyltä kuten edellisessä testitapauksessa.
    Hyväksymiskriteerit:
    Ohjelma yrittää lukea tiedoston sen päätteen mukaisella kuvaformaatilla, mutta epäonnistuu, ja tästä raportoidaan Info-ruutuun. Tiedosto yritetään lukea yksitellen kaikilla tuetuilla kuvaformaateilla, kunnes käytetään oikeaa kuvaformaattia ja kuvan luku onnistuu. Huom: Väärän kuvaformaatin käyttäminen kuvan lukemiseen saattaa joissakin tapauksissa onnistua, jolloin ohjelma ei huomaa kuvaformaatin olevan väärä. Tällöin kuvan ulkonäkö ei vastaa tarkoitettua. Esim. väärän kuvaformaatin käytöstä aiheutuvat virheet kuvan lukemisessa eivät saa aiheuttaa ohjelman kaatumista.

5.2.6. Esimerkkikuvan kirjoitus levylle

  1. Testitapaus:
    Paina pääikkunassa olevaa "Save..." -nappulaa, ja anna "Save to file" -dialogissa tiedoston nimi, jolla esimerkkikuva tallennetaan, sekä käytettävä kuvaformaatti. Käynnistä tallennus. Toista tallennus jokaiselle tuetulle kuvaformaatille.
    Hyväksymiskriteerit:
    Info-ruutuun tulee viesti jokaisesta tallennuksesta. Tarkista jokaisen tallennetun kuvatiedoston oikeellisuus avaamalla se jollakin sopivalla kuvatiedostojen katseluohjelmalla (esim. XV), sekä lukemalla se uudestaan esimerkkikuvaksi "Open..." toiminnolla.
  2. Testitapaus:
    Yritä tallentaa kuva samassa hakemistossa jo olevan kuvan nimellä.
    Hyväksymiskriteerit:
    Ohjelma huomaa saman nimisen tiedoston olevan jo olemassa ja kysyy halutaanko tallentaa jo olemassa olevan tiedoston päälle.

5.2.7. Esimerkkikuvan parametrit

  1. Testitapaus:
    Avaa "Image attributes" -dialogi painamalla pääikkunan "Image attributes..." -nappulaa.
    Hyväksymiskriteerit:
    Dialogista nähdään aktiiviseen esimerkkikuvaan liittyviä parametreja. Read-only kentissä on ainakin kuvan mahdollinen tietokanta-id ja mahdollinen tiedoston nimi. Muutettavissa kentissä on ainakin kuvan nimi, kaksi vapaavalintaista merkkijonoa sekä kuvan leveys ja korkeus.
  2. Testitapaus:
    Muuta "Image attributes" -dialogissa kuvan korkeuden ja leveyden arvoja ja paina "OK" -nappia. Ohjelma kysyy varmistusta kuvan koon muuttamiseksi. Testaa jokaista vastausta erikseen.
    Hyväksymiskriteerit:
    Vastaamalla "YES" hyväksytään kaikki muutokset. Esimerkkikuvan, ja jos esimerkkikuvalle oli piirtoikkuna avattuna, myös tämä piirtoikkunassa olevan kuvan, koko muuttuu annettujen parametrien mukaiseksi. "NO" hyväksyy muut parametrit kuin kuvan leveys ja korkeus. "CANCEL" hylkää kaikki parametrien muutokset. Jos kuvan kokoa muutettiin, tulee tästä ilmoitus info-ruutuun.
  3. Testitapaus:
    Muuta "Image attributes" -dialogissa kuvan nimeä ja paina "OK" -nappia.
    Hyväksymiskriteerit:
    Nimen muuttuminen päivittyy esimerkkikuvalistalle.

5.2.8. Esimerkkikuvan segmentointi

  1. Testitapaus:
    Suorita aktiivisen esimerkkikuvan segmentointi painamalla pääikkunan "Segmentation..." -nappulaa, valitsemalla avautuvan dialogin listalta segmentointialgoritmi, syöttämällä algoritmin mahdollisesti tarvitsemat parametrit ja painamalla lopuksi "Execute" -nappulaa. Toista testi jokaiselle toteutetulle segmentointialgoritmille.
    Hyväksymiskriteerit:
    Info-ruutuun tulee viesti segmentoinnin aloittamisesta, sekä lopuksi löydettyjen segmenttien lukumäärä. Algoritmin laskemia segmenttejä voidaan selata dialogissa olevassa info-ruudussa.
  2. Testitapaus:
    Tarkista, esim. tietokannan sisällön tulostuksesta, että edellä lasketut segmentit tallentuivat tietokantaan ("Segmentation" ja "Segment" -tauluihin).
    Hyväksymiskriteerit:
    Jokainen suoritettu segmentointi löytyy "Segmentation" -taulusta, sekä jokainen löydetty segmentti "Segment" -taulusta.

5.2.9. Esimerkkikuvan muokkaus

  1. Testitapaus:
    Avaa aktiiviselle esimerkkikuvalle piirtoikkuna painamalla pääikkunan "Edit..." -nappulaa.
    Hyväksymiskriteerit:
    Avautuvaan piirtoikkunaan kopioituu esimerkkikuva.
  2. Testitapaus:
    Yritä avata samalle esimerkkikuvalle toinen piirtoikkuna.
    Hyväksymiskriteerit:
    Toista piirtoikkunaa ei luoda, vaan jo avattu piirtoikkuna aktivoituu.
  3. Testitapaus:
    Kokeile vuorollaan jokaista piirtoikkunan piirtotyökalua valitsemalla haluttu työkalu ja piirtämällä sillä muutamia kuvioita.
    Hyväksymiskriteerit:
    Jokainen piirtotyökalu toimii asianmukaisesti.
  4. Testitapaus:
    Valitse vuorollaan kukin piirtoikkunan sivellintyyppi ja toista edellinen testi käyttäen tätä valittua sivellintä.
    Hyväksymiskriteerit:
    Ainakin vapaalla kädellä piirrettäessä piirtojälki on valitun siveltimen mukainen.
  5. Testitapaus:
    Valitse aktiiviseksi jokin väripaletin väri ja liikuta RGB-scrollbareja
    Hyväksymiskriteerit:
    Värin aktivointi aiheuttaa RGB-scrollbarien asettuvan värin mukaisiin asentoihin. RGB-scrollbarien liikuttaminen vaikuttaa tähän aktiiviseen väriin.
  6. Testitapaus:
    Paina piirtoikkunan "Clear" -nappulaa.
    Hyväksymiskriteerit:
    Piirtoikkunan kuva pyyhkiytyy.
  7. Testitapaus:
    Kokeile sopivalla testikuvalla kutakin kuvankäsittelyalgoritmia.
    Hyväksymiskriteerit:
    Kuva muuttuu algoritmin nimen mukaisesti.
  8. Testitapaus:
    Päivitä muokattu esimerkkikuva painamalla piirtoikkunan "Accept changes" -nappulaa.
    Hyväksymiskriteerit:
    Piirtoikkunan muokattu kuva päivittyy pääikkunan esimerkkikuvapaikkaan.
  9. Testitapaus:
    Päivitä ja aloita haku muokatulla esimerkkikuvalla painamalla piirtoikkunan "Accept and Query" -nappulaa.
    Hyväksymiskriteerit:
    Piirtoikkunan kuva päivittyy pääikkunaan ja kuvahaku käynnistetään päivitetyllä esimerkkikuvalla käyttäen valittuna olevaa hakualgoritmia.
  10. Testitapaus:
    Sulje piirtoikkuna, jonka kuvaa ei ole muokattu, "Close" -nappulalla.
    Hyväksymiskriteerit:
    Ikkuna sulkeutuu.
  11. Testitapaus:
    Sulje piirtoikkuna, jonka kuvaa on muokattu, "Close" -nappulalla. Ohjelma kysyy tehtyjen muutosten hyväksymistä. Testaa kukin vastaus erikseen.
    Hyväksymiskriteerit:
    Vastaamalla "YES" muutokset päivitetään pääikkunan esimerkkikuvaan. Vastaamalla "NO" muutoksia ei päivitetä. "CANCEL" peruu ikkunan sulkemisen.

5.3. Hakutoiminnot

5.3.1. Hakutyypin ja -algoritmin valinta

  1. Testitapaus:
    Valitse hakutyyppi pääikkunan valikosta.
    Hyväksymiskriteerit:
    Info-ruudun viesti ilmoittaa valitun hakutyypin. Pääikkunan hakualgoritmilista päivittyy hakutyypin mukaiseksi.
  2. Testitapaus:
    Valitse aktiivinen hakualgoritmi pääikkunan hakualgoritmilistalta.
    Hyväksymiskriteerit:
    Info-ruudun viestissä kerrotaan aktivoitu hakualgoritmi.

5.3.2. Haun käynnistäminen

  1. Testitapaus:
    Valitse käytettävä hakutyyppi ja -algoritmi. Aseta hakualgoritmin mahdollisesti käyttämät parametrit pääikkunan "Parameters..." -nappia painamalla avautuvassa dialogissa. Valitse käytettävä esimerkkikuva aktiiviseksi. Käynnistä haku painamalla pääikkunan "Query" -nappulaa.
    Hyväksymiskriteerit:
    Jos hakualgoritmi käyttää esimerkkikuvaa, lasketaan tästä signature. Tästä annetaan Info-ruutuun viesti, kuten myös haun käynnistymisestä käytetyllä algoritmilla. Haun käynnistyttyä haun etenemistä kuvaava pääikkunan indikaattoripalkki nollautuu, ja kasvaa haun edetessä, kunnes haun valmistuttua saavuttaa 100 prosentin kohdan. Myös Info-ruudun viesteissä kerrotaan väliaikatietoja haun etenemisestä sekä kuluneesta ajasta, sekä lopuksi haussa käytetty kokonaisaika.

5.3.3. Haun keskeyttäminen ja jatkaminen

  1. Testitapaus:
    Keskeytä käynnistynyt haku painamalla pääikkunassa olevaa "Stop query" -nappulaa.
    Hyväksymiskriteerit:
    Haku pysähtyy ja mahdollisesti sen hetkiset tulokset näytetään riippuen käytetyistä asetuksista. Info-ruudun viesti kertoo kuinka suuri osa hausta ehdittiin suorittaa, sekä käytetyn ajan.
  2. Testitapaus:
    Jatka keskeytettyä hakua painamalla pääikkunassa olevaa "Continue query" -nappulaa.
    Hyväksymiskriteerit:
    Haku jatkuu, josta ilmoitus Info-ruutuun. Myös jäljellä olevan haun osuus ilmoitetaan.

5.3.4. Haun tulokset

  1. Testitapaus:
    Käynnistä haku ja odota sen valmistuvan. Tarkastele haun tuloksia pääikkunan tietokantakuvapaikoissa. Selaa tuloskuvia käyttämällä scrollbaria. Toista testi käyttäen vuorollaan kutakin toteutettua hakutyyppiä ja hakualgoritmia.
    Hyväksymiskriteerit:
    Haun valmistuttua tietokantakuvapaikkoihin ilmestyy joukko kuvia, sekä jokaisen kuvan viereen sen vastaavuuden hakuparametreihin ilmoittava luku prosenteissa (0 - 100 %). Kuvat ovat kuvapaikoissa parhausjärjestyksessä näiden lukujen perusteella. Scrollbarilla selataan kaikkia haussa saatuja kuvia kuvapaikoissa.

5.4. Tietokantatoiminnot

5.4.1. Kuvan vienti tietokantaan

  1. Testitapaus:
    Tallenna piirtoikkunassa luotu, ja asianmukaisilla parametreilla varustettu, esimerkkikuva tietokantaan painamalla pääikkunan "Insert" -nappulaa. Suorita haku käyttäen esimerkkikuvana tallennettua kuvaa ja hakualgoritmina vuorotellen kutakin testiin soveltuvaa hakualgoritmia.
    Hyväksymiskriteerit:
    Info-ruudun viesti kertoo kuvan tallentuneen kantaan. Esimerkkikuva ilmestyy haun valmistuttua tietokantakuvapaikkaan.
  2. Testitapaus:
    Siirrä edellisen testin esimerkkikuva tietokantakuvapaikasta esimerkkikuvapaikkaan ja tarkista kuvan parametrit.
    Hyväksymiskriteerit:
    Kuvan parametrit ovat samat kuin ennen kuvan tietokantaan tallennusta.
  3. Testitapaus:
    Tee muutoksia edellisen testin esimerkkikuvaan ja tallenna kuva tietokantaan painamalla "Insert" -nappulaa. Koska kuvan alkuperäinen versio on jo kannassa, käyttäjälle annetaan useita toimintavaihtoehtoja. Testaa kutakin vaihtoehtoa erikseen.
    Hyväksymiskriteerit:
    Vastaus "Update": kuva tallennetaan kuvan edellisen version päälle tietokantaan, "Save as new": kuva tallennetaan uutena kuvana ja "Cancel": kuvaa ei tallenneta lainkaan. Info-ruudun viestistä ilmenee, onko kuva päivitetty vai tallennettu uutena kuvana. Tarkista kannan sisältö esim. hakutoiminnolla kuten edellä.

5.4.2. Kuvan kopiointi tietokannasta esimerkkikuvaksi

  1. Testitapaus:
    Kopioi kuva aktiivisesta tietokantakuvapaikasta aktiiviseen esimerkkikuvaan painamalla pääikkunan "Copy" -nappulaa.
    Hyväksymiskriteerit:
    Kuva kopioituu esimerkkikuvaan ja päivittyy mahdollisesti aukaistuun esimerkkikuvan piirtoikkunaan. Esimerkkikuvan parametrit kopioituvat myös tietokantakuvasta, sekä esimerkkikuvalistan tunniste päivittyy.

5.4.3. Kuvan poistaminen tietokannasta

  1. Testitapaus:
    Kopioi ensin aktiivisen tietokantakuvapaikan kuva esimerkkikuvapaikkaan. Poista sitten kuva tietokannasta painamalla pääikkunan "Delete" -nappulaa. Suorita haku käyttäen juuri tietokannasta poistetun kuvan kopiota esimerkkikuvapaikassa.
    Hyväksymiskriteerit:
    Ohjelma varmistaa halutaanko kuva poistaa tietokannasta. Vastaa ensin "No", jolloin kuvaa ei poisteta. Toista testi ja vastaa "Yes", jolloin kuva häviää tietokantakuvapaikasta sekä esimerkkikuvapaikan kopion tietokanta-id tyhjennetään. Info-ruudun viesti ilmoittaa kuvan poistosta kannasta. Haun tuloksista ei löydy hakukuvaa.

5.4.4. Kuvien massasyöttö tietokantaan

  1. Testitapaus:
    Tee insert.lst niminen tiedosto, jossa on lista levyllä olevien kuvatiedostojen nimiä. Käytä ainakin yhdellä rivillä jotakin "tiedostomaskia", esim. foo*.jpg. Käytä joillakin riveillä yksikäsitteisen tiedostonimen perässä parametrioptioita # nimi # par1 # par2 . Anna jollakin rivillä tiedostonimi, jota ei levyltä löydy. Valitse pääikkunan "File" -valikosta "Batch insert...", jonka avaamassa dialogissa valitse luotu insert.lst tiedosto ja paina "OK".
    Hyväksymiskriteerit:
    Massasyöttö käynnistyy ja Info-ruutuun ilmestyy asiasta kertova viesti. Levyltä löytymättömien kuvien kohdalla Info-ruutuun tulostetaan asianmukainen virheilmoitus. Massasyötön päätyttyä Info-ruutuun tulostetaan kantaan lisättyjen, sekä löytymättömien kuvien lukumäärä.
  2. Testitapaus:
    Yritä käynnistää massasyöttö tietokantaan aiemman massasyötön ollessa vielä käynnissä. Ohjelma kysyy halutaanko edellinen massasyöttö keskeyttää. Testaa vuorollaan kumpaakin vaihtoehtoista vastausta.
    Hyväksymiskriteerit:
    Vastaamalla "Yes" edellinen syöttö keskeytetään ja uusi aloitetaan. Vastaamalla "No" uusi massasyöttö peruutetaan ja vanhaa jatketaan.

5.5. Muut toiminnot

5.5.1. Yleiset parametrit

  1. Testitapaus:
    Avaa pääikkunan valikosta "Options" -dialogi, jolla asetetaan ohjelman yleisiä parametrejä. Aseta keskeytetyn haun tuloksien näyttämisen määrävä parametri vuorollaan päälle ja pois ja testaa parametrin vaikutus keskeyttämällä käynnistetty kuvahaku.
    Hyväksymiskriteerit:
    Parametrin arvosta riippuen keskeytetyn haun tulokset näytetään tai ei näytetä.
  2. Testitapaus:
    Testaa vastaavasti parametri, joka vaikuttaa piirtokuvaan tehtyjen muutosten hyväksymisvarmistusten esittämiseen.
    Hyväksymiskriteerit:
    Parametrin arvosta riippuen varmistukset kysytään / ei kysytä.
  3. Testitapaus:
    Testaa vastaavasti parametri, joka määrää kopioidaanko kuva tietokantaan fyysisesti vai ainoastaan viittaus kuvatiedostoon.
    Hyväksymiskriteerit:
    Tarkista parametrin vaikutus tietokannan sisällön tulostuksesta.
  4. Testitapaus:
    Testaa vastaavasti uuden esimerkkikuvan oletusleveys ja -korkeus parametrit.
    Hyväksymiskriteerit:
    Luodun uuden esimerkkikuvan koko on asetettujen parametrien mukainen.
  5. Testitapaus:
    Aseta vuorollaan kunkin alijärjestelmän debug-viestit päälle ja suorita ohjelman toimintoja, jotka käyttävät kyseisen alijärjestelmän palveluja.
    Hyväksymiskriteerit:
    Alijärjestelmä, jonka debug-viestit on asetettu päälle, antaa ymmärrettävää ja tarkkaa tietoa alijärjestelmän tilasta ja toiminnasta.

5.5.2. Ohjelmasta poistuminen

  1. Testitapaus:
    Poistu ohjelmasta (kun haku, massasyöttö tms. ei ole käynnissä) pääikkunan "File" -valikon "Quit" -toiminnolla.
    Hyväksymiskriteerit:
    Ohjelma lopettaa toimintansa ja sulkee kaikki avoinna olevat ikkunansa.
  2. Testitapaus:
    Poistu ohjelmasta haun ollessa käynnissä.
    Hyväksymiskriteerit:
    Haku keskeytyy ohjelmasta poistuttaessa.
  3. Testitapaus:
    Poistu ohjelmasta massasyötön tai algoritmin lisäyksen takia käynnistetyn tietokannan prosessoinnin ollessa käynnissä.
    Hyväksymiskriteerit:
    Ohjelma ilmoittaa kyseisen toiminnon olevan kesken ja kysyy halutaanko poistua kuitenkin ohjelmasta. Vastauksella "Yes" poistutaan ohjelmasta, muutoin ohjelman suoritus jatkuu normaalisti.

5.5.3. Uuden algoritmin lisääminen

  1. Testitapaus:
    Toteuta järjestelmään uusi hakualgoritmi ja käynnistä uudella algoritmilla varustettu ohjelma.
    Hyväksymiskriteerit:
    Järjestelmä havaitsee käynnistyessään että tietokannan kuville ei ole laskettu signatureja tällä uudella hakualgoritmilla ja kysyy halutaanko tietokannan kaikille kuville laskea hakualgoritmia vastaava signature. "Yes" vastaus käynnistää kyseisen prosessoinnin tietokannalle ja "No" jättää prosessoinnin tekemättä. Uudella algoritmilla suoritettu haku tietokannasta paljastaa helposti, onko kuvien algoritmia vastaavat signaturet päätyneet kantaan asti.

6. Ei-toiminnallisten ominaisuuksien testaaminen

6.1. Laajennettavuus

  1. Testitapaus:
    Järjestelmään voidaan toteuttaa uusia haku-, segmentointi- ja kuvankäsittelyalgoritmeja. Toteuta kuhunkin algoritmiryhmään ainakin yksi uusi algoritmi. Käännä uusilla algoritmeilla varustettu ohjelma. Käynnistä ohjelma ja tarkista uusien algoritmien toimivuus.
    Hyväksymiskriteerit:
    Uuden algoritmin lisääminen onnistuu helposti ohjelmoimalla algoritmin toiminta algoritmityypin pääluokasta johdettuun luokkaan ja määrittelemällä algoritmin parametrien syöttöön soveltuva dialogi. Ohjelman kääntämisen jälkeen algoritmeja voidaan käyttää ohjelmassa kuten vanhojakin algoritmeja.

6.2. Käytettävyys

  1. Testitapaus:
    Suorita ohjelmalla muutamia kuvahakuja muuttamalla aina välillä haun parametreja (esimerkkikuva, hakualgoritmi ja sen parametrit, jne.).
    Hyväksymiskriteerit:
    Ohjelman käyttö tulisi olla helppoa ja intuitiivista. Tärkeimmät ja useimmin käytetyt toiminnot on sijoitettu ikkunoiden nappuloihin, sekä harvemmin käytetyt toiminnot valikoihin. Haun käynnistäminen tapahtuu sekä pääikkunasta, että suoraan piirtoikkunasta käsin yhdellä nappulan painalluksella.

6.3. Siirrettävyys

  1. Testitapaus:
    Järjestelmä siirretään johonkin Linux:sta poikkeavaan UNIX ympäristöön, jossa on käytettävissä Tcl/Tk.
    Hyväksymiskriteerit:
    Järjestelmä kääntyy muutoksitta, tai pienin muutoksin, uudessa UNIX ympäristössä ja toimii täysin identtisesti verrattuna Linux:ssa käännettyyn ja ajettuun järjestelmään.
  2. Testitapaus:
    Järjestelmä siirretään MS Windows 95 ympäristöön.
    Hyväksymiskriteerit:
    Järjestelmä kääntyy Win95:ssä käyttöjärjestelmäriippuvan osuuden Win95:lle sovittamisen jälkeen ja toimii vastaavasti kuin järjestelmän UNIX-versiot.

6.4. Suorituskyky

  1. Testitapaus:
    Kuvahaku on ohjelman suorituskyvyn kannalta kriittisin toiminto. Toisaalta haunkaan suorituskyky ei kuuluu ohjelman tärkeimpiin kriteereihin verrattuna edellä oleviin muihin ei-toiminnallisiin ominaisuuksiin. Testaa kullakin hakualgoritmilla erikseen hakutoiminnon suorituskykyä kun tietokannassa on vähintään useita satoja kuvia.
    Hyväksymiskriteerit:
    Kaikilla mahdollisilla algoritmeillä kuvahaku tapahtuu sellaisessa vasteajassa, että voidaan puhua interaktiivisesta kuvahausta. Toisinsanoen haun vasteaika ei ylitä käyttäjän kärsivällisyyttä odottaa haun valmistumista, jotta uusi ja tarkennettu haku voidaan lähettää.