Testaussuunnitelma. Polku http://code.google.com/p/polku-projekti/ versio 1.0. Projektiryhmä. Janne Pihlajaniemi. Antti Jämsén.



Samankaltaiset tiedostot
Testaussuunnitelma Luuppi-projekti

VAATIMUSMÄÄRITTELY. Polku Versio 1.2. Projektiryhmä

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Convergence of messaging

Testaussuunnitelma Versio Päiväys Tekijä Kuvaus

VAATIMUSMÄÄRITTELY. Polku Versio 1.1. Projektiryhmä

Lohtu-projekti. Testaussuunnitelma

T Testiraportti - järjestelmätestaus

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

ESITUTKIMUS. Polku Versio 0.1. Projektiryhmä

TESTAUSSUUNNITELMA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2)

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0

TESTIRAPORTTI - XMLREADER-LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2)

Ohjelmiston testaussuunnitelma

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

TESTIRAPORTTI - JÄRJESTELMÄ, PORTAL Virtuaaliyhteisöjen muodostaminen Versio 1.0

ESITUTKIMUS. Polku Versio 1.0. Projektiryhmä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Testaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Lohtu-projekti. Testiraportti. Versiohistoria: syklin toteutuksen testit. 1. ajo Virve

Testaussuunnitelma Labra

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

Kuopio Testausraportti Asiakkaat-osakokonaisuus

T Testiraportti - integraatiotestaus

Kuopio Testausraportti Kalenterimoduulin integraatio

UCOT-Sovellusprojekti. Testausraportti

Testaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

TOIMINNALLINEN MÄÄRITTELY MS

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

Testaussuunnitelma. Opeapuri. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

T Testiraportti - integraatiotestaus

TESTAUSSUUNNITELMA Virtuaaliyhteisöjen muodostaminen Versio 1.1

Ohjelmistotuotantoprojekti

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

Hallintaliittymän käyttöohje

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Testaustasot

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Hirviö Laadunvarmistussuunnitelma

Testaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Testausraportti v.1.3

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

Ajankohtaista tietoa LähiTapiolan verkkopalvelun pääkäyttäjille

HYVÄKSYMISTESTAUS- RAPORTTI - HAKEUTUJAN PALVELUT JA TODENNETUN OSAAMISEN REKISTERI

Testaussuunnitelma. Oppimistavoitteiden hallintajärjestelmä harri

Testaussuunnitelma. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

Hirviö Laadunvarmistussuunnitelma

Testiraportti - Koordinaattieditori

58160 Ohjelmoinnin harjoitustyö

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Vakuutusyhtiöiden testausinfo

Vastuuhenkilön ohje. TIEKE

Hirviö Testausraportti I2

L models. Testisuunnitelma. Ryhmä Rajoitteiset

Järjestelmän kriittisimmille toiminnallisuuksille (listattu alla), toteutetaan 1

Omahallinta.fi itsepalvelusivusto

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe LU. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T3

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

LOVe-verkkokoulutuksen käyttöohje Opiskelijan osio

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

CoMa - Testausdokumentti

Toimittajaportaalin rekisteröityminen Toimittajaportaalin sisäänkirjautuminen Laskun luonti Liitteen lisääminen laskulle Asiakkaiden hallinta Uuden

Sisällysluettelo 1 Johdanto Root, koko Opalan pääkäyttäjä

Project-TOP QUALITY GATE

Testaussuunnitelma Kuopio

Toimittajaportaalin pikaohje

COTOOL dokumentaatio Testausdokumentit

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa

ALEA-Sovellusprojekti. Testaussuunnitelma

@Tampereen Testauspäivät ( )

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

Testaaminen ohjelmiston kehitysprosessin aikana

Elisa Puheratkaisu Vakio Pääkäyttäjän ohjeet

SEPA päiväkirja. Dokumentti: SEPA_diary_EM_PV.doc Päiväys: Projekti : AgileElephant Versio: V0.9

Onni-oppimispäiväkirjan ohje version 1.2

Turvapaketti Omahallinta.fi ka ytto ohje

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

OHJEITA POP AVAIN. -tunnuslukusovelluksen käyttöön LATAA OMASI SOVELLUSKAUPASTA!

Onnistunut Vaatimuspohjainen Testaus

Visma GATEWAY INSTALLER. asennusopas

Omakannan Omatietovaranto palvelun asiakastestaus

Transkriptio:

Testaussuunnitelma Polku http://code.google.com/p/polku-projekti/ versio 1.0 Projektiryhmä Janne Pihlajaniemi Antti Jämsén Maria Hartikainen Pekka Kallioniemi Jorma Laajamäki Panu Tunttunen Nina Tyni Joonas Jokiniemi

Versiohistoria Päiväys Versionumero 21.1.10 0.1 Maria Hartikainen 2.3.10 1.0 Maria Hartikainen Tekijät Muutosten syy Muutokset Raakaversio sisäistä katselmointia varten Testitapaukset valmiit - Testitapaukset, tekstin muokkaus, liitteenä testauspäiväkirja

Testaussuunnitelman sisällysluettelo 1. JOHDANTO...5 1.1. ja kattavuus...5 1.2. Tuote ja ympäristö...5 1.3. Määritelmät, termit ja lyhenteet...5 1.4. Viitteet...5 1.5. Yleiskatsaus dokumenttiin...5 2. TESTAUSYMPÄRISTÖ...6 2.1. Laitteisto (hw)...6 2.2. Ohjelmisto (sw)...6 2.3. Turvallisuus...6 2.4. Apuvälineet (työkalut) ja data (syötteet)...6 3. HENKILÖSTÖ- JA KOULUTUSVAATIMUKSET...7 3.1. Henkilöstö...7 3.2. Koulutus, tiedot ja taidot...7 4. VASTUUALUEET...8 4.1. Integrointitestausryhmä...8 4.2. Järjestelmätestausryhmä...8 4.3. Muu(t) testausryhmä(t)...8 5. VAADITTAVA TULOSAINEISTO...9 6. ERIKOISOMINAISUUKSIA...10 6.1. Ominaisuudet joita ei testata...10 7. TESTAUKSEN TEHTÄVÄJÄRJESTYS JA TESTAUSMENETTELY...11 7.1. Tehtäväjärjestys...11 7.2. Testattavat osat...11 7.3. Testitapausluokat ja virheluokat...11 7.4. Menetelmät ja tekniikat...12 7.5. Kattavuus ja toistot...12 7.6. Rajoitukset...12 8. TESTAUSTAPAUKSET (TESTITAPAUKSET)...13 8.1. Tietokannan testaus...13 8.2. Ohjelmaan liittyvien ulkopuolisten osien testaus...13 8.3. Käyttöliittymän testaus...13 8.3.1 Tietojen selausnäkymä...13 8.4. Liittymien ja rajapintojen testaus...20 8.5. Tulostustoimintojen testaus...20 8.6. Turvallisuuden testaus...21 8.7. Toipumisen (elpymisen) testaus...21 8.8. Suorituskyvyn testaus...22 8.9. Regressiotestaus...22 8.10. Asennus ja poisto...22 8.11. Käytettävyyden testaus...22 8.12. Erikoisia tapauksia...23 9. TESTAUKSEN KRITEERIT, VAATIMUKSET JA HYVÄKSYNTÄ...24 9.1. Hyväksymiskriteerit...24 9.2. Hylkäämiskriteerit...24 9.3. Testauksen keskeyttäminen...24 9.4. Testauksen jatkaminen...24 9.5. Testauksen lopettaminen...24

9.6. Koodin hylkääminen...25 10. TESTAUKSEN RISKIEN HALLINTA...26 10.1. tut riskit...26 10.2. Riskianalyysi...26 11. AIKATAULU JA TYÖMÄÄRÄT...28 11.1. Integraatiotestaus...28 11.2. Järjestelmätestaus...28 11.3. Hyväksymistestaus...28 12. TESTAUKSEN HYVÄKSYNTÄ...29 12.1. Testauksen analyysi...29 12.2. Testitapausten ja -ryhmien hyväksyntä...29 12.3. Koko testauksen hyväksyntä...29 13. LIITTEET...30

1. JOHDANTO 1.1. ja kattavuus Dokumentti sisältää Polku sovelluksen testaussuunnitelman. Testaussuunnitelma on tarkoitettu projektiryhmän sekä asiakkaan käyttöön, kuvaamaan testaus kokonaisuudessaan. Dokumentissa esitellään käytettävä testausympäristö sekä testitapaukset. Sovellus pyritään testaamaan mahdollisimman kattavasti, keskittyen kuitenkin ohjelman eri osien toiminnallisuuteen. 1.2. Tuote ja ympäristö Projektin tarkoituksena on luoda web-sovellus pitkäaikaisten yhteistyöprosessien ja - projektien seurantaan Helsingin kaupunginosayhdistykset ry:lle. Sovelluksella on mahdollisuus tallentaa, muokata ja poistaa tietoa erilaisista tapahtumista, niihin liittyvistä toimijoista sekä näiden välisistä suhteista. Tuote mahdollistaa tapahtumien ja toimijoiden listaamisen ja auttaa näin ollen projekteihin liittyvässä raportoinnissa. 1.3. Määritelmät, termit ja lyhenteet SeleniumHQ Web-sovelluksien automatisoituun testaukseen tarkoitettu työkalu Testitapaus - yksittäinen testi, pienin testattava osa Testi - voi sisältää useita testitapauksia Testausryhmä tai testiryhmä - voi sisältää useita testejä, laajin testattava osa Testikierros yksi testauskerta, jolla pyritään ajamaan läpi kaikki testitapaukset 1.4. Viitteet Polku-projektia koskevat aikaisemmat dokumentit http://code.google.com/p/polkuprojekti/wiki/dokumentit SelenuimHQ testaustyökalu http://seleniumhq.org/ Helka ry (asiakkaan kotisivut) http://helka.net/ 1.5. Yleiskatsaus dokumenttiin Dokumentin 1. luvussa kerrotaan dokumentin tarkoituksesta sekä itse testaukseen liittyvästä sovelluksesta. Dokumentin 2. luvussa kerrotaan testausympäristöstä; ohjelmista, laitteista ym. Dokumentin 3. luvussa käsitellään testausryhmää ja testauksen suorittavien henkilöiden esitietovaatimuksia. Dokumentin 4. luvussa eritellään paremmin eri testausosien vastuuhenkilöt

Dokumentin 5. luvussa kerrotaan, mitä tulosaineistoa testauksista vaaditaan Dokumentin 6. luvussa esitellään ohjelman erikoisosat joita ei oteta testauksessa huomioon Dokumentin 7. luvussa käydään läpi testauksen tehtäväjärjestys ja testausmenettely Dokumentin 8. luvussa luetellaan kaikki testitapaukset yksitellen Dokumentin 9. luvussa kerrotaan testauksen kriteerit, vaatimukset ja hyväksyntä Dokumentin 10. luvussa käsitellään testaukseen liittyviä riskejä ja niiden hallintaa Dokumentin 11. luvussa on suunniteltu ja arvioitu testauksen suorittamisen aikataulua sekä sen suorittamiseen vaadittavaa aikaa Dokumentin 12. luvussa analysoidaan testausta sekä kerrotaan testauksen hyväksymisestä Liitteet 2. TESTAUSYMPÄRISTÖ 2.1. Laitteisto (hw) Testaus suoritetaan pääasiallisesti yhdellä tietokoneella, tarvittaessa testaukseen käytetään eri ryhmäläisten tietokoneita tai Tampereen yliopiston mikroluokkien tietokoneita. Erityisiä laitevaatimuksia ei ole, mikä tahansa tavanomainen verkkoon liitetty työasema riittää. Projekti on web-sovellus, joten testauskoneella ei tarvita kiintolevytilaa. Testauksessa tarvitaan myös tulostinta. 2.2. Ohjelmisto (sw) Testitietokoneella tulee olla uusin tai lähes uusin versio yleisimmistä web-selaimista (Firefox 3.6, Internet Explorer 8 ja Opera 10.10). Testaaminen ei vaadi erityisasetuksia selaimen käyttöön. Testaaja vastaa vaadittujen ohjelmien asentamisesta testauskoneelle. 2.3. Turvallisuus Testausta varten luodaan testi-käyttäjätunnus. Testauksen jälkeen tunnus poistetaan käytöstä. Testauksessa käytetään syötedatana asiakkaan antamaa esimerkkidataa. Sovelluksessa ei vielä testausvaiheessa ole varsinaista dataa tallennettuna, joten testaus ei aiheuta riskejä asiakkaalle. Testidata tallennetaan säännöllisesti, jotta ongelmatapauksessa aiempi testidata ei katoa. Testaus ei vaadi muiden ohjelmien tai laitteistojen sulkemista tai irtikytkemistä. Testaus ei vaadi palomuurin tai virusohjelman erityisasetuksia. 2.4. Apuvälineet (työkalut) ja data (syötteet) Testauksessa käytetään apuna web-sovelluksien automaattiseen testaukseen tarkoitettua SeleniumHQ testaustyökalua. Ohjelman avulla testitapaukset ja testidata tallennetaan eri testauskertoja varten.

3. HENKILÖSTÖ- JA KOULUTUSVAATIMUKSET 3.1. Henkilöstö Testauspäällikkönä toimii projektiryhmän toinen projektipäällikkö Antti Jämsén. Testauspäällikkö vastaa siitä, että testien suoritus onnistuu tässä dokumentissa kuvatulla tavalla. Testauspäällikkö toimii apuna, jos testauksena ilmenee ongelmia. Pääasiallisena testaajana toimii Maria Hartikainen. Tarvittaessa myös muut projektiryhmänjäsenet osallistuvat testaukseen. Testauspäällikön tai muun projektiryhmän ei tarvitse olla paikalla testauksen aikana, mutta he ovat tavoitettavissa sähköpostilla. Asiakkaan testaushenkilöstö tulee olemaan mukana testauksessa joillakin testikierroksilla. 3.2. Koulutus, tiedot ja taidot Testauksen suorittajan tulee osata tarvittaessa asentaa testausympäristöön vaadittavat ohjelmat. Testaajan tulee osata käyttää testaustyökalua. Projektiryhmän taholta ei tarjota erillistä koulutusta testaukseen tai siihen tarvittaviin työkaluihin.

4. VASTUUALUEET Koko projektiryhmä osallistuu testauksen suunnitteluun. Testauksen suorittaa pääasiallisesti Maria Hartikainen, mutta myös muut projektiryhmän jäsenet osallistuvat testaukseen tarvittaessa. Testauksen vastuuhenkilönä toimii testauspäällikkö Antti Jämsén, joka vastaa testauksen tarkastamisesta ja testien suunnitelman mukaisesta suorittamisesta. Testauksessa ilmitulleiden virhetilanteiden selvittämiseen osallistuu koko projektiryhmä, erityisesti sovelluksen pääasialliset ohjelmoijat. 4.1. Integrointitestausryhmä Integrointitestausta suoritetaan käytännössä jo samanaikaisesti sovelluksen kehittämisen kanssa. Eri osien kehittäjät kiinnittävät huomiota ohjelmoivansa osan toimivuuteen. Tarvittaessa osia voidaan testata ristiin, ohjelmoijat voivat testata toistensa toteuttamia osioita ja toiminnallisuuksia. Testaushenkilön puolelta integraatiotestausta suoritetaan heti, kun sovelluksen testattavia osia valmistuu. 4.2. Järjestelmätestausryhmä Testauksen suorittaa pääasiallisesti yksi testaushenkilö. Uusinta testauskierroksilla testaukseen voi osallistua myös muut projektiryhmän jäsenet. 4.3. Muu(t) testausryhmä(t) Terhi Vilkman, Anna Kanervo ja Ilari Kajaste toimivat asiakkaan testaushenkilöstönä. Asiakkaan puolelta keskitytään erityisesti käytettävyyden sekä toiminnallisuuden testaukseen. Asiakas myös tarkistaa lähdekoodin ennen sovelluksen käyttöönottoa.

5. VAADITTAVA TULOSAINEISTO Kaikista testatuista testitapauksista täytetään testiraportti. Testiraporttiin täytetään kunkin testitapauksen kohdalle testin suorittaja, testauspäivämäärä ja testin tulos. Mikäli testauksessa havaitaan virhe, testiraporttiin kirjataan millaisessa tilanteessa tai millä syötteillä virhe tapahtui. Tarvittaessa virhetilanteista lisätään ruudunkaappauskuva testiraporttiin. Testausraportin malli löytyy liitteestä (kohta 13).

6. ERIKOISOMINAISUUKSIA 6.1. Ominaisuudet joita ei testata Sovelluksen ulkopuolista koodia ei testata. Ohjelman muistinhallintaa tai suorituskykyä ei testata, koska ne eivät ole oleellinen osa sovelluksen toiminnallisuutta. Sovelluksen tietoturvaa ei testata, koska tietoturva on suurimmaksi osaksi asiakkaan vastuulla. Suuria samanaikaisia käyttäjämääriä ei testata, koska sovellus tulee vain muutaman henkilön käyttöön.

7. TESTAUKSEN TEHTÄVÄJÄRJESTYS JA TESTAUSMENETTELY 7.1. Tehtäväjärjestys Testaus suoritetaan luvussa 8 olevassa järjestyksessä. Testaus suoritetaan ensin oikeellisilla syötteillä ja myöhemmillä testauskierroksilla myös virheellisillä ja väärillä syötteillä. 7.2. Testattavat osat Kullakin testauskierroksella testataan sovelluksen sillä hetkellä viimeisin versio. Testataan sovelluksen seuraavat kokonaisuudet: Tietojen selausnäkymä Projektien listaus, lisäys, muokkaus ja poisto Kokonaisuuksien lisäys, muokkaus, poisto ja listaaminen Kokonaisuuksien liittäminen ja poistaminen projekteista Tapahtumien lisäys, muokkaus ja poisto Tapahtumien liittäminen ja poistaminen kokonaisuuksista Henkilöiden liittäminen ja poistaminen tapahtumista Tahojen liittäminen ja poistaminen tapahtumista Tahojen liittäminen ja poistaminen kokonaisuuksista Henkilöt näkymä: henkilöiden lisäys, muokkaus ja poisto) Tahot näkymä: tahojen lisäys, muokkaus ja poisto) Henkilöiden liittäminen ja poistaminen tahoista Pikahaku: hakutulosten listaaminen hakutulokset-näytössä Käyttäjän sisäänkirjautumis-mekanismi Juttujen lisäys, muokkaus ja poisto tahoista 7.3. Testitapausluokat ja virheluokat Testien tärkeysluokittelu on seuraava: Tärkeysluokka Selite 1. Korkea Sovellusta ei voi käyttää jos testiä ei läpäistä 2. Normaali Testin läpäisy on sovelluksen oikean toiminnan takaamiseksi välttämätöntä 3. Matala Testin läpäisy on suotavaa Virheluokat:

Vakavuusluokka Selite A. Kriittinen Virhe estää järjestelmän toiminnan B. Haitallinen Toiminto toimii väärin C. Kosmeettinen Virheestä ei aiheudu häiriötä toimintaan 7.4. Menetelmät ja tekniikat Testausta varten tehdään testi-käyttäjätunnus. Testauksessa käytetään apuna SeleniumHQ testaustyökalua. Testaus suoritetaan asiakkaan näkökulmasta, eli testissä suoritetaan sovelluksella normaalisti suoritettavia tehtäviä. Testaus suoritetaan ensin oikeellisilla syötteillä ja sitten väärillä ja virheellisillä syötteillä. Kaikki testauksessa esiintyvät virheet tulee aina pyrkiä toistamaan, jotta voidaan varmistua, että virhe aiheutui juuri kyseisen testitapauksen suorituksesta. Jokaisella testikierroksella suoritetaan kaikki testitapahtumat. Testit koostuvat erillisistä testitapahtumista sekä testipoluista, joilla testataan montaa eri toiminnallisuutta peräkkäin. Testitapahtumat ja polut ovat joka testikierroksella samat. Näitä kuitenkin päivitetään jos ohjelman osia muutetaan. Virhetilanteista ilmoitetaan sovelluksen pääasiallisille ohjelmoijille. Tarvittavin väliajoin pidetään myös koodikatselmointeja, joihin osallistuu koko projektiryhmä. Ilmitulleista virheistä voidaan ottaa ruudunkaappauskuva, joka liitetään testiraporttiin. Testausta tulisi suorittaa niin kauan kuin sovellus toimii tavoitteiden mukaisesti eli testikierros menee puhtaasti läpi. Lopuksi suoritetaan hyväksymistestaus, jonka tuloksena tulee olla puhtaasti läpi mennyt testikierros. 7.5. Kattavuus ja toistot Jos testauksen tuloksena on virheellinen toiminta, testi toistetaan ainakin kahdesti. Näin todennetaan että virhe johtui juuri kyseisen testitapauksen suorittamisesta eikä se ole vain satunnainen virhe. Jokainen toiminto testataan vähintään kaksi kertaa. Sovelluksen 1. tärkeysluokkaan (korkea) kuuluvia toimintoja testataan kolme kertaa. Hyväksymistestauksessa testi on mentävä hyväksyttävästi läpi kaksi kertaa. 7.6. Rajoitukset Ainoat rajoitukset johtuvat testaajan työ- ja luentoajoista.

8. TESTAUSTAPAUKSET (TESTITAPAUKSET) 8.1. Tietokannan testaus Tietokannan toimintaa ei testata erikseen, vaan se on osa ohjelman toiminnallisuutta. 8.2. Ohjelmaan liittyvien ulkopuolisten osien testaus Ohjelmaan liittyvien ulkopuolisten osia ei testata. 8.3. Käyttöliittymän testaus Käyttöliittymätestauksen näkökulmana on toiminnallisuuden testaus. Testataan että ohjelman eri osat toimivat ja näkyvät oikein. Lisäksi testataan, että ohjelmaan on mahdollisuus syöttää vain oikeanlaisia syötteitä. Virheilmoitusten oikeellisuus ja informatiivisuus testataan. Ohjelman kielisyyttä ei testata, koska sovellusta käytetään vain suomen kielellä. Ergonomiaa tai selkeyttä ei erityisesti testata. 8.3.1 Tietojen selausnäkymä Projektin luonti, listaus ja muokkaus t1 Testattavat kohdat SEL1.PRO1.1, SEL1.PRO1.2, SEL1.PRO1.3 Tärkeysluokka 1 Käyttäjä pystyy luomaan uuden projektin ja lisäämään sen tietokantaan. Tämän jälkeen projekti näkyy projektilistauksessa. Käyttäjä pystyy muokkaamaan projektia, jonka jälkeen projektin tiedoissa näkyy muokatut tiedot. testi_projekti, testausta varten, 2 Käyttäjän luoma projekti näkyy listauksissa muokatuilla tiedoilla. Kokonaisuuden luonti ja listaus t2 Testattavat kohdat SEL1.KOK1.1, SEL1.KOK1.4 Käyttäjä pystyy luomaan uuden kokonaisuuden projektiin sekä muokkaamaan sen tietoja. Tietokannassa on olemassa ainakin yksi projekti

testi_kokonaisuus, testaa Käyttäjä on lisännyt uuden kokonaisuuden projektiin, ja se näkyy kokonaisuuksien listauksessa. Haku ja kokonaisuuden muokkaus t3 Testattavat kohdat SEL1.KOK1.2, HAK1.1 Käyttäjä pystyy hakemaan tietokannassa olemassa olevaa tietoa, ja listaamaan hakutulokset. Käyttäjä pystyy muokkaamaan olemassa olevaa kokonaisuutta. Tietokannassa on ainakin yksi kokonaisuus. testi_kokonaisuus, 2 Käyttäjä näkee hakutulos listauksen hakusanaan perustuen. Käyttäjä pystyy muokkaamaan kokonaisuutta, ja muutokset näkyvät kokonaisuuden tiedoissa. Kokonaisuuden liittäminen projektiin t4 Testattavat kohdat SEL1.KOK2.1 Käyttäjä pystyy liittämään olemassa olevan kokonaisuuden projektiin Tietokannassa on olemassa ainakin yksi projekti sekä kokonaisuus. Käyttäjän valitsema kokonaisuus näkyy listattuna projektin alle. Kokonaisuuden liitoksen poisto projektista t5 Testattavat kohdat SEL1.KOK2.2 Käyttäjä pystyy purkamaan kokonaisuuden ja projektin liitoksen. Tietokannassa on olemassa ainakin yksi projekti ja kokonaisuus, jotka ovat liitetty

Projektin ja kokonaisuuden välinen liitos on poistettu. Tapahtuman luonti, listaus sekä liittäminen kokonaisuuteen t6 Testattavat kohdat SEL1.TAP1.1, SEL1.TAP1.4, SEL1.TAP2.1 Käyttäjä pystyy luomaan uuden tapahtuman, joka näkyy projektin tapahtumien listauksessa. Käyttäjä pystyy liittämään tapahtuman kokonaisuuteen. Tietokannassa on ainakin yksi projekti ja yksi kokonaisuus. testi_tapahtuma, 2010-03-31, testi, testi, testi, 1 Käyttäjä näkee luomansa tapahtuman tapahtumien listauksessa ja pystyy liittämään sen kokonaisuuteen. Tapahtuman liitoksen poisto kokonaisuudesta t7 Testattavat kohdat SEL1.TAP2.2 Käyttäjä pystyy poistamaan tapahtuman liitoksen kokonaisuudesta Tietokannassa on olemassa ainakin yksi projekti, kokonaisuus sekä tapahtuma. Tapahtuma on liitetty kokonaisuuteen. Tapahtuman ja kokonaisuuden välinen liitos on poistettu. Tapahtuman muokkaus ja liittäminen projektiin t8 Testattavat kohdat SEL1.TAP1.2, SEL1.TAP2.4 Käyttäjä voi muokata olemassa olevaa tapahtumaa, ja liittää tapahtuman projektiin. Tietokannassa on olemassa ainakin yksi tapahtuma ja projekti. Käyttäjän tapahtumaan tekemät muutokset näkyvät tapahtuman tiedoissa. Tapahtuma on liitetty projektiin.

Tapahtuman poisto projektista t9 Testattavat kohdat SEL1.TAP2.3 Tärkeysluokka Käyttäjä voi poistaa tapahtuman ja projektin välisen liitoksen Tietokannassa on olemassa ainakin yksi projekti ja tapahtuma. Tapahtuma on liitetty projektiin. Tapahtuman ja projektin välinen liitos on poistettu, eikä tapahtuma näy projektin alla. Jutun luominen ja listaus t10 Testattavat kohdat SEL1.JUT1.1, SEL1.JUT1.4 - Käyttäjä pystyy luomaan jutun ja näkee olemassa olevat jutut listattuina 2010-31-03, testi, testi, testi Käyttäjä luoma juttu näkyy juttujen listauksessa. Jutun muokkaus t11 Testattavat kohdat SEL1.JUT1.2 Käyttäjä voi muokata jo olemassa olevaa juttua. Tietokannassa on olemassa ainakin yksi juttu. Käyttäjän tekemät muutokset näkyvät jutun tiedoissa. Henkilön lisäys, listaus ja liittäminen tapahtumaan t12 Testattavat kohdat TOI6.1, TOI6.2, SEL1.TOI9.1

Käyttäjä pystyy lisäämään uuden henkilön, ja luotu henkilö näkyy listauksissa. Käyttäjä pystyy liittämään henkilön tapahtumaan ja lisäämään henkilölle roolin Tietokannassa on olemassa ainakin yksi tapahtuma. testi_henkilö, th, testi@testi.es, 1234567890, testi Käyttäjän luoma henkilö tietoineen näkyy sovelluksessa, henkilöiden listauksessa sekä tapahtumaan liitettynä. Tahon lisäys ja listaus t13 Testattavat kohdat TOI1.1, TOI1.2 Käyttäjä pystyy luomaan uuden tahon, joka näkyy listauksissa. - Käyttäjän luoma taho tietoineen näkyy sovelluksessa ja tahojen listauksessa. Henkilön muokkaus, henkilön liitoksen poistaminen tapahtumasta ja henkilön liittäminen tahoon t14 Testattavat kohdat TOI6.3, SEL1.TOI9.2, TOI7.1, Käyttäjä pystyy muokkaamaan jo olemassa olevan henkilön tietoja sekä poistamaan liitoksen henkilön ja tapahtuman välillä sekä liittämään henkilön tahoon Tietokannassa on olemassa ainakin yksi henkilö sekä taho. Henkilön ja tapahtuman välillä on liitos. Käyttäjän tekemät muutokset näkyvät henkilön tiedoissa. Henkilön ja tapahtuman välistä liitosta ei ole, sen sijaan henkilö on liitetty tahoon, ja se näkyy tahon alla listattuna. Tahon muokkaus, henkilön poistaminen tahosta sekä tahon liittäminen tapahtumaan t15 Testattavat kohdat TOI1.3, TOI7.2, SEL1.TOI2.1 Käyttäjä pystyy muokkaamaan olemassa olevaa tahoa.

Käyttäjä pystyy poistamaan henkilön ja tahon välisen liitoksen sekä liittämään tahon tapahtumaan Tietokannassa on olemassa ainakin yksi taho, henkilö sekä tapahtuma. Henkilön ja tahon välille on muodostettu liitos. Käyttäjän tahoon tekemät muutokset näkyvät oikein. Tahon ja henkilön välinen liitos on poistettu, ja taho on liitetty tapahtumaan. Tahon näkyy tapahtuman alla listattuna. Tahon poistaminen tapahtumasta ja tahon liittäminen kokonaisuuteen t16 Testattavat kohdat SEL1.TOI2.2, SEL1.TOI3.1 Käyttäjä pystyy purkamaan liitoksen tahon ja tapahtuman välillä sekä liittämään tahon kokonaisuuteen Tietokannassa on olemassa ainakin yksi taho, tapahtuma ja kokonaisuus. Taho on liitetty tapahtumaan. Tahon ja tapahtuman välinen liitos on poistettu. Taho on liitetty kokonaisuuteen ja taho näkyy kokonaisuuden alle listattuna. Tahon poistaminen kokonaisuudesta t17 Testattavat kohdat SEL1.TOI3.2 Tärkeysluokka 3 Käyttäjä pystyy poistamaan tahon ja kokonaisuuden välisen liitoksen Tietokannassa on olemassa ainakin yksi taho ja kokonaisuus. Taho ja kokonaisuus on liitetty Tahon ja kokonaisuuden välinen liitos on poistettu, eikä taho näy kokonaisuuden alla listattuna Henkilön poisto t18 Testattavat kohdat TOI6.4 Tärkeysluokka 3 Käyttäjä pystyy poistamaan sovelluksessa olemassa olevan

henkilön Tietokannassa on ainakin yksi henkilö Henkilö ja sen tiedot on poistettu, eikä se näy listauksissa ym. Tahon poisto t19 Testattavat kohdat TOI1.4 Tärkeysluokka 3 Käyttäjä pystyy poistamaan jo olemassa olevan tahon ja sen tiedot Tietokannassa on olemassa ainakin yksi taho Taho ja sen tiedot on poistettu, eikä se näy listauksissa ym. Jutun poisto t20 Testattavat kohdat SEL1.JUT1.3 Tärkeysluokka Käyttäjä voi poistaa olemassa olevan jutun. Tietokannassa on olemassa ainakin yksi juttu Juttu on poistettu, eikä se näy listauksissa ym. Tapahtuman poisto t21 Testattavat kohdat SEL1.TAP1.3 Tärkeysluokka 3 Poistaa tapahtuman tietokannasta Tietokannassa on ainakin yksi tapahtuma. Tapahtuma on poistettu, eikä sitä näy listauksissa ym. Kokonaisuuden poisto

t22 Testattavat kohdat SEL1.KOK1.3 Tärkeysluokka Poistetaan tietokannassa oleva kokonaisuus Tietokannassa on olemassa ainakin yksi kokonaisuus Kokonaisuus on poistettu, eikä se näy listauksissa ym. Projektin poisto t23 Testattavat kohdat SEL1.PRO1.4 Käyttäjä pystyy poistamaan olemassa olevan projektin. Tietokannassa on olemassa ainakin yksi projekti. Projekti on poistettu tietokannasta, eikä se näy listauksissa ym. 8.4. Liittymien ja rajapintojen testaus Liittymiä tai rajapintoja ei testata. 8.5. Tulostustoimintojen testaus Projektien listausnäkymän tulostaminen t26 Testattavat kohdat Käyttäjä on listannut projektit. Käyttäjä haluaa tulostaa näkymän / listauksen. Projektit on listattuna. Tulostin on liitetty tietokoneeseen. Käyttäjä pystyy tulostamaan projektien listauksen. Tahon tiedoissa valinnan tulostaminen t27

Testattavat kohdat Käyttäjä tulostaa haluamansa valinnan tekstistä. Käyttäjä on kirjautunut sovellukseen. Tietokone on yhdistetty tulostimeen. Tietokannassa on olemassa ainakin yksi taho. Käyttäjä pystyy tulostamaan valitsemansa osan tahon tiedoista. 8.6. Turvallisuuden testaus Sovelluksen tietoturva-asiat ovat asiakkaan vastuulla, joten testauksessa ei oteta turvallisuusasioita huomioon. Tietokanta tulee sijaitsemaan asiakkaan palvelimella, joten sen tietoturva on asiakkaan vastuulla. Kirjautuminen sovellukseen t25 Testattavat kohdat Tärkeysluokka 1 ASE3.1 Käyttäjän tulee antaa oikea, olemassa oleva käyttäjätunnus ja siihen liitetty salasana pystyäkseen kirjautumaan sisään sovellukseen. Väärillä tunnuksilla sovellukseen ei pysty kirjautumaan Käyttäjällä on oikeus käyttää sovellusta. Käyttäjätili on luotu käyttäjän omaamalla käyttäjätunnuksella ja siihen liitetyllä salasanalla. Käyttäjätunnus, salasana Käyttäjä pystyy kirjautumaan sisään sovellukseen oikean, olemassa olevan käyttäjätunnuksen ja salasanan avulla. Virheellisen käyttäjätunnuksen tai siihen kuulumattoman salasanan avulla sovellukseen ei pääse kirjautumaan. 8.7. Toipumisen (elpymisen) testaus Käyttäjän laitteiston ja nettiyhteyden oletetaan toimivan. Sovellukseen ei tallenneta niin suuria tietomääriä kerralla, että esimerkiksi sähkö- tai yhteyskatkon aikana menetetyt tiedot aiheuttaisi suuren ongelman. Kirjautuminen sovellukseen sekä ohjelman toipuminen selainyhteyden katkeamisesta t24 Testattavat kohdat ASE3

Tärkeysluokka 1 Käyttäjän ollessa kirjautuneena sovellukseen, yllättävän selainyhteyshäiriön jälkeen käyttäjän kirjautuu uudestaan sisään ja jatkaa käyttöä normaalisti Käyttäjä on kirjautuneena sovellukseen. - Käyttäjä pystyy jatkamaan sovelluksen normaalia käyttöä yhteyskatkon jälkeen 8.8. Suorituskyvyn testaus Suorituskykyä ei ole tarpeen testata pienen käyttäjämäärän takia. 8.9. Regressiotestaus Toteutusvaiheessa sovelluksen testaus on automatisoitu, joten kun sovellukseen tulee muutoksia tai päivityksiä, koko sovellus testataan uudestaan. Tulee kuitenkin ottaa huomioon, että jo olemassa olevien testitapausten syötteet ym. vastaavat muokattuja / korjattuja. Tulevaisuudessa asiakas vastaa sovelluksen regressiotestauksesta. 8.10. Asennus ja poisto Ohjelma on web-sovellus, joten sitä ei tarvitse erikseen asentaa tai asennusta poistaa. 8.11. Käytettävyyden testaus Sivuston käytettävyys on otettu huomioon käyttöliittymää ja sen toiminnallisuutta suunniteltaessa. Käytettävyyttä on kuitenkin tarpeellista testata, sillä 1. kehittäjät ovat projektin loppupuolella käytännössä sokeita huomaamaan ohjelmiston käytettävyysvirheitä 2. ohjelmiston käytettävyys on luonnollisestikin sen käyttämisen kannalta kenties tärkein ominaisuus. Polku-projektin kohdalla käytettävyyden testaus on muodostuu kuitenkin hankalaksi, sillä ohjelmisto on tarkoitettu tiettyä spesifiä tarkoitusta varten ja vain muutaman tehtävään harjaantuneen työntekijän käyttöön. Kontekstia (käyttötapauksia, käytön syitä jne.) voi olla hankala jäljitellä testihenkilöillä, jotka eivät ole tottuneet tekemään vastaavanlaisia toimintoja arkipäivinään. Käytettävyys tullaan testaamaan heuristisella arvioinnilla, jonka suorittaa käytettävyysryhmän edustaja, joka ei ole ollut projektin kehittelyssä mukana. Arvioijalle tullaan antamaan kuva siitä kuinka ohjelmistoa tullaan loppukäytössä käyttämään. On myös mahdollista, että ryhmä tarjoaa asiakkaalle nipun testitehtäviä tai kokonaisen testirungon, jotta hän voi itse tehdä kevyehkön käytettävyystestin loppukäyttäjillä. Testit tullaan tekemään kun tarpeeksi suuri osa ohjelmasta on valmis. Asiakas on ilmaissut testien testauksen tarpeellisuudesta ja raportin hyödyllisyydestä, joten testit tullaan tekemään, vaikkei ohjelma olisi täysin valmis.

8.12. Erikoisia tapauksia Testataan toimivuus erikoisilla ja virheellisillä syötteillä.

9. TESTAUKSEN KRITEERIT, VAATIMUKSET JA HYVÄKSYNTÄ 9.1. Hyväksymiskriteerit Testit hyväksytään, kun hyväksymistesti on mennyt läpi kaksi kertaa puhtaalla tulosteella eli ilman virheitä. 9.2. Hylkäämiskriteerit Yksittäinen testitapaus hylätään jos sitä ei voida suorittaa loppuun teknisistä syistä johtuen eli itse testitapauksessa havaitaan virhe. Kerran hylättyä testitapausta ei käytetä seuraavilla testikierroksilla. Jos testisuunnitelmassa mainittua testitapauksen kuvaamaa toiminnallisuutta ei olekaan toteutettu tai jos testaussuunnitelman tekijä on ymmärtänyt toiminnallisuuden tai testitapauksen tarkoituksen väärin, testitapaus hylätään. Jos testitapaus hylätään, se kuitenkin jätetään testaussuunnitelmaan ja merkitään maininnalla hylätty. Selitetään lyhyesti miksi testitapaus on hylätty. Vaikka testitapaus hylätään, ei sitä myöskään poisteta testiraportista. Testitapaus merkataan hylätty merkinnällä, lisäksi laitetaan viite testaussuunnitelman kohtaan, missä on selitetty miksi testitapaus on hylätty. Mikäli testausta ei ole tehty tässä dokumentissa määritellyllä tavalla, voi testauspäällikkö hylätä testaajan tietyn testikierroksen testaustulokset. Tällöin on hyvä vaihtaa testauksen suorittaja. Tämä on kuitenkin äärimmäinen toimenpide. 9.3. Testauksen keskeyttäminen Testaus voidaan keskeyttää tilapäisesti jos huomataan laitteistosta tai ohjelmistosta aiheutuva ongelma. Testausta jatketaan kun ongelma on hoidettu tai mennyt ohi. Testaus pyritään suorittamaan aina kokonaisuudessaan, pienistä virheistä välittämättä (tarkastellaan testauksen lopuksi). Testaus voidaan kuitenkin keskeyttää tilapäisesti jos huomataan jokin isompi virhe, joka aiheuttaa välitöntä muutospainetta. Testausta jatketaan, kun virhe on korjattu. Testaus voidaan keskeyttää myös jos testauksessa huomataan testausta haittaava määrä virheitä. Keskeytetään testaus siksi aikaa, että siihen asti löytyneet viat korjataan. Testauksen keskeyttämisestä päättää testaaja. 9.4. Testauksen jatkaminen sovelluksen ohjelmoijat informoivat testaajaa siitä, että ongelma on korjattu ja testausta voidaan jatkaa. Kun testausta keskeytyksen jälkeen jatketaan, testi voidaan aloittaa siitä testin kohdasta, mihin asti on tullut virheetön testitulos. Jos keskeytyksen aikana sovellukseen toimintaan on tehty muutoksia, suoritetaan koko testikierros alusta. 9.5. Testauksen lopettaminen Testaus lopetetaan kun testauskierroksella kaikki testitapaukset on suoritettu, hyväksytysti tai hylätysti. Jos testauksen aikana ilmenee testausta häiritsevä tekninen ongelma tai sovelluksesta johtuva testausta haittaava virhe, joita ei pystytä korjaamaan riittävän nopeasti (testaajan aikataulusta riippuen), testaus lopetetaan. Tällöin testauksen lopettamisesta päättää testaaja.

Testaus lopetetaan kun hyväksymistestauksessa n saatu kaksi puhdasta testikierrosta. Testaus lopetetaan projektityö kurssin päättyessä, vaikka siihen mennessä ei olisikaan saatu kahta puhdasta testikierrosta hyväksymistestauksessa. Testaus lopetetaan, jos asiakas jostain syystä haluaa sovelluksen käyttöönsä ennen projektityö kurssin loppumista tai sovelluksen valmistumista. Testauksen lopettamisesta päättää testauspäällikkö 9.6. Koodin hylkääminen Projektiryhmä ei suorita erillistä koodintestausta. Asiakas tarkistaa lähdekoodin ennen sovelluksen käyttöönottoa.

10. TESTAUKSEN RISKIEN HALLINTA 10.1. tut riskit Testaukseen liittyviä riskejä ovat seuraavat: Vaatimusten muutokset Kaikkia toimintoja ei ole toteutettu Sovelluksen toiminta ei vastaa vaatimuksia Toimintojen toiminta ei vastaa vaatimuksia Testitietokannan data ei vastaa oikeaa dataa Testauksessa käytetään vääriä ohjelmaversioita Resurssien riittämättömyys Aikataulu ongelmat 10.2. Riskianalyysi Seuraava taulukko sisältää testauksen riskianalyysin; testausta koskevat riskit sekä niiden hallintaa koskevat toimenpiteet. Riskin tärkeys eli suuruus (SU) = todennäköisyys (TN) * vakavuus (VA) Riskin todennäköisyyttä on arvioitu kolmeportaisella asteikolla: 1 epätodennäköinen 2 mahdollinen 3 todennäköinen Riskin vakavuutta on arvioitu samoin kolmiportaisella asteikolla: 1 epäoleellinen 2 haitallinen 3 tuhoisa Riski TN VA SU Varasuunnitelma Vaatimusten muutokset 2 2 4 Vaatimusten muutoksia ja uusia vaatimuksia hyväksytään vain mikäli niiden toteuttamiseen ja testaamiseen jää aikaa. Kaikkia toimintoja ei ole toteutettu Sovelluksen toiminta ei vastaa vaatimuksia 3 2 6 2 3 6 Jos koko sovelluksen toteuttamiseen ei riitä aikaa, sovelluksen keskeisimmät toiminnot toteutetaan ensin. Vaatimusmäärittelyn uudelleen läpikäynti asiakkaan kanssa. Yritetään parannella sovellusta