Tik-76.115 Testaussuunnitelma

Stegano

http://
Viimeksi päivitetty .

Sisällysluettelo

1. Johdanto
2. Testauksen kohde ja tavoitteet
3. Testausympäristö
4. Testauksen organisointi ja raportointi
5. Toimintojen testitapaukset ja hyväksymiskriteerit
6. Ei-toiminnallisten ominaisuuksien testaaminen

1. Johdanto

Tämä dokumentti

Luvussa 1 "Johdanto" määritellään termit sekä luetellaan lähteet.

Luvussa 2 "Testauksen kohde ja tavoitteet" kerrotaan mitä testataan ja mitä testauksella pyritään saavuttamaan.

Luvussa 3 "Testausympäristö" kuvataan tarvittavat laitteet ja ohjelmistot.

Luvussa 4 "Testauksen organisointi ja raportointi" kerrotaan kuka testaa mitäkin ja milloin sekä miten tuloksen raportoidaan.

Luvussa 5 "Toimintojen testitapaukset ja hyväksymiskriteerit" kerrotaan miten toimintoja testataan ja mikä on toimintojen oikea lopputulos.

Luvussa 6 "Ei-toiminnallisten ominaisuuksien testaaminen" kerrotaan mitä ja miten ohjelmiston ei-toiminnallisia ominaisuuksia testataan.

Määritelmät ja termit

Lähdeluettelo

2. Testauksen kohde ja tavoitteet

Ohjelmistosta testataan käyttöliittymien sekä ohjelmakirjaston toimintaa.

Käyttöliittymät tehdään kahteen käyttöjärjestelmäympäristöön jotka molemmat testataan. Käyttäjän syötteiden (komentoriviargumentit UNIX-ympäristössä tai hiirellä tehtävät valinnat Windows-ympäristössä) on toimittava toiminnallisessa määrittelyssä kuvatulla tavalla, eikä ohjelma saa kaatua virheellisiin syötteisiin. Odottamattomista virhetilanteista (esim. tiedoston avaus ei onnistu) on osattava toipua oikein.

Myös algoritmien toimivuus on luonnollisesti testattava. Purettaessa oikealla avaimella piilotettu sanoma, on sanoman oltava täsmälleen sama kuin mitä se oli ennen piilotusta. Piilotettava tiedosto voi olla esim. binääri-tiedosto joka ei välttämättä toimi jos yksikin bitti on muuttunut.

Testauksen tavoitteena on saada aikaan toimiva ja stabiili ohjelmisto.

3. Testausympäristö

Koska projektissa toteutetaan käyttöliittymät kahteen eri käyttöjärjestelmäympäristöön, on testaus myös suoritettava molemmissa käyttöjärjestelmäympäristössä (Unix ja Windows95).

Unix-käyttöjärjestelmän testaukseen käytetään pääasiassa korkeakoulun alpha-tietokoneita joissa on Digital Unix käyttöjärjestelmä. Siirrettävyyden testaamiseksi ohjelmistoa testataan myös mahdollisimman monessa muussa Unix-käyttöjärjestelmässä (HP-UX, Aix, Linux jne).
Windows-käyttöliittymä testataan windows95- käyttöjärjestelmän sisältävässä tietokoneessa.

Kirjastoja testataan kaikissa edellämainituissa käyttöjärjestelmäympäristöissä käyttöliittymien testauksen ohessa.

4. Testauksen organisointi ja raportointi

Testaus on jaettu ryhmän kesken seuraavasti: Käyttöliittymien testauksen suorittaa pääasiassa ryhmän algoritmisuunnittelija (Tommi Junttila). Käyttöliittymäsuunnittelija (Vesa Peltola) keskittyy lähinnä algoritmien toimivuuteen liittyvään testaukseen kun taas kuvatiedostoformaattiasiantuntija (Lasse Huovinen) keskittyy kirjaston siirrettävyyden testaukseen. Projektipäällikkö (Tommi Liittokivi) testaa koko ohjelmistokokonaisuutta (käyttöliittymät+ohjelmakirjasto). Testialueet ovat osittain päällekkäin mikä parantaa virheiden löytämistodennäköisyyttä. Aihe-alueet on jaettu siten että ryhmän jäsenet testaavat itse tekemäänsä koodia mahdollisimman vähän.

Ensimmäiset testit suoritetaan prototyyppi 1-vaiheessa. Siinä ja kaikissa seuraavissa vaiheissa pyritään testataan kaikkia edellämainittuja osa-alueita. Testaus suoritetaan aina vaiheen lopussa kun vaiheen muut tavoitteet on saatu tehtyä. Kussakin vaiheessa palautetaan testiraportti jossa luetellaan tarkasti testatut asiat, löydetyt virheet ja niiden syyt (jos tiedossa).

5. Toimintojen testitapaukset ja hyväksymiskriteerit

5.1 Käyttöliittymät

UNIX-käyttöliittymää testataan kokeilemalla lukuisia erilaisia syötteitä (toimivia ja virheellisiä). Koska käyttäjällä on mahdollisuus antaa ohjelmalle mielivaltaisia argumentteja, käyttöliittymän tulee ilmoittaa käyttäjälle virheellisistä syötteistä. Ohjelmiston tulee myös ilmoittaa käyttäjälle jos tämä yrittää käyttää peitetiedostolle sopimattomia algoritmeja.

Windows-käyttöliittymässä ei käyttäjän pitäisi pystyä valitsemaan vääriä algoritmeja vaan käyttöliittymä antaa valita vain sallittuja algoritmeja peitetiedostoformaatin valinnan jälkeen. Testauksessa keskitytään käyttöliittymän toiminnallisuuden testaukseen, ohjelman jokaisen tilan on toimittava toiminnallisessa määrittelyssä kuvatulla tavalla.

5.2 Kirjastot

Algoritmien toimivuuden testaus on hankalaa, algoritmit ovat luonteeltaan sellaisia, että niitä on jopa mahdoton testata ennen kuin ne toimivat kokonaan. Testaus suoritetaan kätkemällä ja avaamalla eripituisia tiedostoja eri peitetiedostoformaatteihin ja vertaamalla saatua sanomaa alkuperäisteen sanomaan. Kätkemisessä käytetään kaikkia mahdollisia valittavissa olevia algoritmi-kombinaatioita. Kirjastosta testataan myös miten se reagoi erilaisiin virhetilanteisiin, esim. yrittämällä kätkeä liian isoa tiedostoa peitetiedostoon.

Tuotetun kuvatiedoston formaattia verrataan alkuperäiseen (vertailu suoritetaan useille eri ohjelmistoilla tuotetuille kuville). Näin vakuututaan siitä, että tuotettu kuvaformaatti ei eroa alkuperäisestä.

5.3 Ohjelmiston testaus UNIX-ympäristössä

DEBUG-moodia ei testata, sillä se ei tule luovutettavaan ohjelmistoon.

Väärien optioiden testaus

Kätkentävaiheen testaus

Kaikkien näiden testien onnistuneet tulokset eli kätkötiedostot talletetaan eri nimillä purkuvaihe- ja yhteensopivuustestejä varten.
Seuraavat testit suoritetaan kaikille ohjelmistoon toteutetuille peitetiedostoformaateille.

Purkuvaiheen testaus

Tässä vaiheessa käytetään kätkentävaiheen onnistuneita tuloksia eli kätkötiedostoja.
Seuraavat testit suoritetaan kaikille ohjelmistoon toteutetuille peitetiedostoformaateille.

5.4 Ohjelmiston testaus Windows-ympäristössä

5.5 Tallennusformaattien visuaalinen testaus

5.6 Yhteensopivuustestit

Suoritetaan purkuvaiheen testaukset eri laiteympäristöistä saatujen kätkentävaiheen testausten kätkötiedostoilla.

6. Ei-toiminnallisten ominaisuuksien testaaminen

Projektin ensisijaisena tavoitteena on luoda ohjelmakirjasto, jonka tulee olla mahdollisimman siirrettävä eli käytön laitteistoympäristöstä riippumaton. Käyttöliittymä toteutetaankin kahteen eri ympäristöön juuri siksi että kirjaston yleiskäyttöisyys ja siirrettävyys tulee todettua. Lisäksi ohjelmistoa yritetään testata useissa eri Unix-käyttöjärjestelmissä. Testausraporttiin kirjataan miten kirjaston siirrettävyys käytännössä on toteutunut.