Tik-76.115 Testaussuunnitelma

Internet-TV

http://www.niksula.cs.hut.fi/projects/ohtace/documents/ts.html
CVS Info: $Id: ts.html,v 1.15 1996/11/26 06:01:54 jsluoma Exp $


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

Testaussuunnitelman tarkoituksena on selvittää ne pelisäännöt, jotka koskevat valmiin ohjelmakoodin tarkastusta ja hyväksyntää. Laadukkaan lopputuotteen saamiseksi testaus on yhtä olennainen osa kuin esim. suunnittelu tai ohjelmointi on. Testaussuunnitelma on jaettu kuuteen kappaleeseen.

  1. Testauksen kohde ja tavoitteet - kertoo mitä testataan ja mitä testauksella saavutetaan.
  2. Testausympäristö - selvittää testauksessa tarvittavat laitteistot ja ohjelmistot
  3. Testauksen organisointi ja raportointi - sisältää miten, mitä ja milloin testataan ja kuinka raportoidaan
  4. Toimintojen testitapaukset ja hyväksymiskriteerit - kertoo miten testattu toiminto hyväksytään, testitapaukset
  5. Ei-toiminnallisten ominaisuuksien testaaminen - selvittää laatuattribuuttien seurannan ja testauksen

Testaus voidaan jakaa ohjelmistotuotantoprosessin eri vaiheisiin siten, että yksikkötestaus suoritetaan yksittäisten ohjelmapalojen ohjelmoinnin yhteydessä. Integraatiotestaus varmistaa, että nämä ohjelmapalat toimivat yhdessä ja Järjestelmätestaus on perinteistä suhteellisen valmiin ohjelman yleisen toimivuuden testaamista.

2. Testauksen kohde ja tavoitteet

Testattavana on Internet-TV ohjelmisto, joka koostuu neljästä kokonaisuudesta: Käyttöliittymä, kanavan valinta, äänen ja videon toisto. Testauksella pyritään varmistamaan, että nämä kokonaisuudet toimivat sekä itsenäisinä paloina että yhdessä osana kokonaisuutta. Testaus jakaantuu siten yksikkötestaukseen, integraatiotestaukseen ja järjestelmätestaukseen. Se, että ohjelmistomme kehittämisessä on käytetty suhteellisen paljon valmiiden sovellusten ohjelmakoodia, tullaan ottamaan huomioon lähinnä keskittämällä voimavaroja ingtegraatio-testaukseen ja järjestelmätestaukseen. Valmiissa ohjelmakoodissa on käytetty yksikkötestauksessa tarvittavia DEBUG-optioita, joten niitä ei tarvitse eikä ole järkevää enää toteuttaa. Testauksen yleisenä tavoitteena on saavuttaa sellainen ohjelmiston toiminnallisuuden tila, että järkevillä testausmenetelmillä havaittavat virheet on minimoitu käytettävien resurssien puitteissa. Testauksen onnistumista edesauttaa laatusuunnittelu, jolla varmistutaan oikeista menettelytavoista.

Löydettyjä virheitä luokitellaan vakavuuden mukaan, niin että ne ovat priorisoitavissa helposti. Jako voisi esim. 1-3 luokkaan kuten projektisuunnitelmassa on mainittu. Virheraportoinnissa käytetään kurssin puitteissa järjestettyä virheraportointilomaketta, joka alustetaan ryhmän tarpeita vastaavaksi. Tässä virheitä jaetaan myös virhetyypin mukaan, joista on yhteenveto alla. Tämä virheluokitus on valmiiksi käytössä virheilmoituslomakkeella.

DefectTypeStandard
10Documentationcomments and messages
20Syntaxspelling punctuation, typos,
instruction formats
30Build, packagechange management, library,
version control
40Assignmentdeclaration, duplicatenames,
scope, limits
50Interfaceprocedure calls and references,
I/O, user formats
60Checkingerror messages, inadequate checks
70Datastructure, content
80Functionlogic, pointers, loops, recursion,
computation, function defects
90Systemconfiguration, timing, memory
100Environmentdesign, compile, test or
other support system problems

3. Testausympäristö

Testaus suoritetaan Sun Solaris -ympäristössä. Testimateriaalina tarvitaan ip-multicast-ohjelmaa, jolloin testiympäristössä alkuperäiset SDR -kanavanvaihto-, VIC-videonkatselu- ja VAT-äänenkuuntelu -ohjelmien tulee toimia ja vastaanottaa ohjelmalähetyksiä testaushetkellä. yksikkötestauksessa tarkastellaan osaako Internet-TV tulkita multicast-paketteja oikein. Integraatiotestauksessa havaitaan osaako kanavan valinta-ohjelma välittää tarpeelliset tiedot kuvankatselu- ja äänentoisto-ohjelmille ja käynnistää ne. Järjestelmätestauksessa testataan käyttöliittymän ja ohjelman yhteensopivuus ja yleinen toimivuus.

Yhtäaikaisen kehityksen onnistumisen kannalta tarvitaan testiajurit kanava- ja ohjelmatiedon purkua ja esittämistä varten, kuvavirran purkuajuri, jossa on mukana kanavalle liittyminen ja katseluparametrien välitys sekä vastaavanlainen äänivirran purkuajuri. Mikäli ohjelman kanavanvaihto-ominaisuudet valmistuvat aiemmin lienee syytä tehdä tynkämodulit kuva- ja äänivirran purkuohjelmille.

4. Testauksen organisointi ja raportointi

Testaus jaetaan ryhmän kesken siten, että yksikkö- ja integraatiotestauksesta vastaavat alemman tason ohjelmoinnista vastaavat. Tietenkin kriittisissä toiminnoissa olisi järkevää, että ohjelmoija ei itse testaa ja hyväksy toimintoa vaan antaa sen ohjelmoituaan tarkastettavaksi kolleegalleen. Vastaavasti ylemmäntason testauksessa, järjestelmätestauksessa käyttöliittymän kehityksestä ja TCL-ohjelmoinnista vastaavat testauttavat työnsä tulokset toisillaan, kun testattavaksi tulee järkevä ja toiminnaltaan kriittinen kokonaisuus.

Yksikkö- ja integraatiotestausJL,VM
JärjestelmätestausMT,TS

MT= Miika Tuisku
TS= Tuomas Salste
JL= Juha Luoma
VM=Ville Mattila

Testaus kuuluu osaltaan laatusuunnitelman piiriin. Laatudokumentit pitävät sisällään esim. toimintamallin testauksen suorittamisesta, laatukatselmuksista ja ohjelmaversioiden julkistamisesta. Lisäksi näitä toimintamalleja varten on käytettävissä standardidokumentteja esim. testitapahtumadokumentti

Nämä vastaavat kysymykseen miten testataan ja kuinka raportoidaan. Yksikkötestausta suoritetaan samanaikaisesti ohjelmoinnin kanssa. Yleensä tämän testauksen suorittamiseksi on syytä tehdä ohjelmakoodiin sopivia debuggaus-asetuksia ja testiajureita. Mikäli yksikkötestaus välitetään toiselle ohjelmoijalle on hänelle annettava myös yksityiskohtainen kuvaus miten yksikön pitäisi toimia, mitä vikoja voi ilmetä ja mitä tuloksia yksikön pitäisi antaa. Vastaavasti integraatiotestauksessa tulisi nämä miettiä etukäteen valmiiksi. Koska yksikkö- ja integraatiotestaus on kuitenkin varsin suoraviivaista, emme suunnittele yksittäisiä testitapauksia näille menetelmille. Se mitä testattiin on syytä kuitenkin aina kirjoittaa testitapahtumadokumenttiin. Testitapahtumadokumenteista kerätään tapahtumat testiraporttiin, joka on sisällöltään "testauksen edistymisraportti".

Järjestelmätestauksen osalta testattavia toimintoja on lueteltu yksityiskohtaisesti toiminnallisessa määrittelyssä. Näistä jokaisesta toiminnosta suunnitellaan riittävä määrä testitapauksia. Järjestelmätestausta suoritetaan, kun käyttöliittymä on riittävän valmis. Kun käyttöliittymän toimintoja on ohjelmapuolella saatu valmiiksi testitapauksia saadaan suoritettua enemmän.

Testauksista kerätään tiedot siis testitapahtumadokumenttiin ja virheet kerätään ohjelmatyön puitteissa järjestettyyn virheraporttiin. Näistä tehdään projektivaiheen päättyessä testiraportti.

5. Toimintojen testitapaukset ja hyväksymiskriteerit

Testattujen toimintojen hyväksymismenettelystä: Toiminto hyväksytään, kun annetut testitapaukset on suoritettu virheittä tai mikäli virheitä on ilmennyt, ne on korjattu ja testaus on suoritettu virheittä tämän jälkeen. Tämän lisäksi testauksesta tulee tehdä asianmukaiset dokumentit: testitapahtumadokumentti ja mahdolliset virheraportit. Testattavan toiminnon hyväksyy viimekädessä laatuvastaava, joka tarkistaa testauksen laajuuden, dokumentoinnin ja oikean menettelytavan.

Toimintojen testitapaukset on koottu toiminnalliseen määrittelyyn.

6. Ei-toiminnallisten ominaisuuksien testaaminen

Laatusuunnitelman mukaisesti pyrimme seuraaviin laatuatribuutteihin: KÄYTETTÄVÄ, LUOTETTAVA, SIIRRETTÄVÄ ja YLLÄPIDETTÄVÄ.

Yksikkö-, integraatio- ja järjestelmätestauksen ohessa tulee testaajan pitää silmällä näitä atribuutteja ja lisäksi kiinnitää huomiota ohjelmiston suorituskykyyn. Ohjelman hidas toiminta voidaan katsoa ergonomiseksi viaksi, josta pitäisi päästä eroon.

Vaikka ohjelman ensisijaisena tavoitteena on toimia Sun Solaris -ympäristössä, on toteutusvaiheessa mahdollisimman varhain huomattava ohjelman siirrettävyyteen vaikuttavat tekijät, mikäli nämä ovat tunnistettavissa. Tässä vaiheessa ne on syytä vähintään kommentoida ohjelmakoodiin tulevan työmäärän vähentämiseksi.

Vaikka ohjelmaan lisättäisiinkin varsin niukasti dokumentoitua ohjelmakoodia on ryhmän omasta koodista tehtävä riittävän ylläpidettävää, jota on helppo siirtää eteenpäin muihin järjestelmiin.Yksikkö- ja integraatiotestaajan tehtävänä on kirjata ylös puutteita tällä alueella ja tehdä niistä virheilmoitus.