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

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

Testaussuunnitelma Labra

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

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Ohjelmistotuotantoprojekti

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

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

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

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

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

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

Convergence of messaging

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Lohtu-projekti. Testaussuunnitelma

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

UCOT-Sovellusprojekti. Testausraportti

Vaatimusmäärittely dokumentti

58160 Ohjelmoinnin harjoitustyö

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

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

Testaussuunnitelma. Oppimistavoitteiden hallintajärjestelmä harri

Testaussuunnitelma. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

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

Ohjelmiston testaus ja laatu. Testaustasot

Testausraportti v.1.3

T Testiraportti - järjestelmätestaus

L models. Testisuunnitelma. Ryhmä Rajoitteiset

Testaussuunnitelma. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja

Verkkopokerijärjestelmä. Testausdokumentti 2. iteraatio Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

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

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

Käyttöohje Suomen Pankin DCS2-järjestelmään rekisteröityminen

Verkkopokerijärjestelmä. Testausdokumentti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

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

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

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

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

Convergence of messaging

Test-Driven Development

Harjoitustyön testaus. Juha Taina

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

Ylläpitodokumentti Mooan

Ohjelmiston testaussuunnitelma

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

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

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

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

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

OTT-S99 TESTAUSLOMAKE 1(22) Käyttäjää (tunnusta) ei saa olla kannassa

Autentikoivan lähtevän postin palvelimen asetukset

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

Vianova Systems Finland Oy:n Novapoint käytön tuki

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Automaattinen yksikkötestaus

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

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

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

SIJAISET.FI KÄYTTÖOHJE TAKSI YRITYKSILLE. 1. Palveluun rekisteröityminen Palveluun kirjautuminen Etusivu... 2

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

ALEA-Sovellusprojekti. Testaussuunnitelma

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

Opponointitestaus VYM -> LiKe

Testaaminen ohjelmiston kehitysprosessin aikana

Test-Driven Development

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

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

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

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

Ohjelmistotuotantoprojekti

Ohjelmistotestaus -09

LAATURAPORTTI Iteraatio 1

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

Rekisteröityminen, tilojen varaaminen ja maksaminen WebTimmi varausjärjestelmässä

Yhteenvetodokumentti. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja

Vaatimusdokumentti Labra

Ohjelmistotuotanto s

Laadunvarmistustekniikat

Office 365 palvelujen käyttöohje Sisällys

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

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

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

Kontrollipolkujen määrä

COTOOL dokumentaatio Testausdokumentit

Ohje huoltajille Helmen käytöstä

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

Hirviö Laadunvarmistussuunnitelma

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Tik Projektiryhmä: TeamAhma. Projektin HAYABUSA opponointi. Opponointisuunnitelma

Sonera Microsoft Office 365 -palvelun käyttöönotto-opas pääkäyttäjälle. Microsoft Office 365:n käytön aloittaminen

Toiminta ennen ensimmäistä ottelua (1/2)

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio

Sähköposti ja uutisryhmät

CoMa - Testausdokumentti

Hallintaliittymän käyttöohje

Testiraportti - Koordinaattieditori

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

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

Transkriptio:

Testaussuunnitelma Asdf Helsinki 22.2.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Kuisma Sami Louhio Jaakko Rimpilä Raine Urtela Mika Vilhonen Vesa Asiakas Pasanen Tomi Johtoryhmä Yrjänäinen Sampo Simola Kimmo Kotisivu http://www.cs.helsinki.fi/group/asdf Versiohistoria Versio Päiväys Tehdyt muutokset 1.0 14.2.2008 Ensimmäinen versio

Sisältö i 1 Johdanto 1 2 Sanasto 1 3 Yksikkötestaus 1 4 Integrointitestaus 2 5 Järjestelmätestaus 2 6 Testausaikataulu 2 7 Liitteet 3 7.1 Testitapaukset................................ 3 7.1.1 Käyttäjätunnuksen luonti...................... 3 7.1.2 Kirjautuminen tunnuksella..................... 3 7.1.3 Pelipöydän luonti.......................... 4 7.1.4 Texas Hold em pelipöydän luonti................. 4 7.1.5 Pöytään siirtyminen........................ 5 7.1.6 Paikan varaaminen......................... 5 7.1.7 Useamman botin lisääminen.................... 5 7.1.8 Peliin liittyminen.......................... 6 7.1.9 Texas Hold em vuoron pelaaminen................ 6 7.1.10 Pöydän etsiminen nimellä..................... 7 7.1.11 Pöydän etsiminen pelaajan perusteella............... 7 7.1.12 Pöytien järjestäminen attribuuttien mukaan............ 8 7.1.13 Tilin hallinnointi.......................... 8 7.1.14 Botin luominen........................... 8 7.1.15 Botin poistaminen......................... 9

1 Johdanto 1 Tämä dokumentti käsittelee asdf -ohjelmistotuotantoryhmän pokeripalvelimen ja siihen liittyvän asiakasohjelman testausta. Dokumentissa pyritään antamaan kuva käytettävistä testausmenetelmistä ja -strategioista sekä määrittää testien hyväksymiskriteerejä ja aikataulua. 2 Sanasto Junit Javalle suunniteltu testauskehys, jonka avulla on helppo tehdä toistettavia yksikkötestauksia. Tynkä (Stub) Testauksessa käytettävä komponentti, joka toteuttaa testiin vaaditun minimitoiminnallisuuden. Tynkä korvaa toisen yksikön, jonka toiminnasta testattava yksikkö riippuu. Yksikkö Koodin selkeästi rajoittuva pieni kokonaisuus, esimerkiksi metodi tai luokka. lasilaatikkotestaus (White box testing) testaaja pääsee käsiksi testattavan osan koodiin, ja tuntee sen rakenteen. Esimerkkinä yksikkötestaus. 3 Yksikkötestaus Yksikkötestauksella varmistetaan koodin pienimpien kokonaisuuksien, pääosin luokkien, toiminta. Tavoitteena on testata, että yksikkö toteuttaa siltä vaaditut tehtävät, eikä sisällä virheellistä toiminnallisuutta. Testaus keskittyy siis metodien ja luokkien virheiden löytämiseen ja varmistumiseen, että ne toteuttavat halutun rajapinnan. Testauksessa apuna voidaan käyttää JUnit-työkalua. Koska yksikkötestaus perustuu lähinnä koodin rakenteen tuntemiseen (lasilaatikkotestaus), sen voi parhaiten tehdä yksikön toteuttaja. Testaus tehdään yksikön kehittämisen yhteydessä heti sen valmistuessa. Testisyötteinä käytetään niin hyväksyttäviä syötteitä, kuin kelvottomiakin syötteitä, jotta varmistutaan poikkeuksien käsittelystä. Syötteitä valittaessa pyritään etsimään mahdollisesti ongelmia aiheuttavia arvoja. Testausta varten kirjoitetaan testitapauksia kullekin yksikölle erillisenä komponenttina, joilla kaikki luokan ei-triviaalit toiminnot saadaan testattua. Jos luokka on riippuvainen

muista (vielä testaamattomista) komponenteista, käytetään testaamiseen tynkiä. Testitapaukset luodaan matalan tason suunnitelmien perusteella, ja tavalla joka tuottaa testin tulokseksi joko onnistumisen tai epäonnistumisen ja tapausten kuvaukset kirjoitetaan koodiin kommentteina, jotka toimivat myös yksikkötestauksen dokumentointina. Yksikkötestauksen kattavuutta pyritään mittamaan, jotta saada kuvaa testien kattavuudesta. 2 4 Integrointitestaus Integrointitestauksessa testaan järjestelmän eri komponenttien yhteistoimintaa. Tarkoitus on selvittää, että eri komponentit käyttävät oikein toistensa rajapintoja, eikä synny ylimääräisiä sivuvaikutuksia. Kahden yksikön integrointitesti on tehty, kun koko niiden välinen toiminta ja sivuvaikutukset on testattu, ja mahdolliset poikkeukset on käyty läpi, ja koko järjestelmän integrointitestaus on valmis kun kaikki yksiköt on liitetty näin yhteen. Järjestelmän testauksessa keskitytään kriittisiin loppukäyttäjällekin avoinna oleviin rajapintoihin sekä protokollaan asiakkaan ja palvelimen välillä. Protokollaa testataan suunnittelemalla erikoisia ja monella mahdollisella tavalla virheellisiä viestejä ja tutkimalla palvelimen toiminnan oikeellisuutta virheellisen viestin tilanteessa. Rajapintoja testataan suunnitelluilla oikeilla ja virheellisillä arvoilla. Integrointitestien suoritus automatisoidaan, jotta voidaan saada välittömästi kiinni kehityksessä ilmenevää regressiota. Myös integrointitestit toteutetaan kehitysvaiheessa. 5 Järjestelmätestaus Järjestelmätestauksessa varmistetaan, että järjestelmä täyttää sille asetetut vaatimukset. Vaatimusmäärittelyn kohdat käydään läpi oikean järjestelmän kanssa ajoittain ja virheet korjataan. Järjestelmätestaukseen käytetään myös vaatimusmäärittelyn käyttötapauksia, jotka kukin käydään läpi käyttöliittymän avulla, ja varmistetaan, että kuvattu toiminto onnistuu. 6 Testausaikataulu Yksikkötestit ajetaan kehittäjän toimesta heti yksikön valmistuttua (myös yksikkötesti on valmistunut). Integrointitestit pyörivät automaattisesti öisin tai manuaalisesti käynnistettynä. Automaattinen testijärjestelmä pyritään käynnistämään 20.2 mennessä. Automaattinen testiajo pyritään käynnistämään versionhallintaan tulleen muutoksen toimesta. Järjestelmätestausta suoritetaan sopivaksi katsottuina ajankohtina.

7 Liitteet 3 7.1 Testitapaukset 7.1.1 Käyttäjätunnuksen luonti Käyttäjä aloittaa ohjelmiston käytön ja luo itselleen salasanalla suojatun käyttäjätunnuksen ei kirjautunut sisään Käyttäjätunnus (merkkijono) salasana (merkkijono) Tieto luonnin onnistumisesta tai epäonnistumisesta Nro Tunnus Toiminta 1 Uusi Käyttäjätili lisätään ja ilmoitetaan onnistuminen, ja käyttäjä kirjataan sisään tunnuksella 2 Olemassaoleva Käyttäjätilejä ei muuteta, ilmoitetaan tunnuksen olevan varattu 7.1.2 Kirjautuminen tunnuksella Käyttäjä kirjautuu sisään käyttäjätunnuksella ei kirjautunut sisään Käyttäjätunnus (merkkijono) salasana (merkkijono) Käyttäjän tiedot näkyvät käyttöliittymässä tai ilmoitus epäonnistumisesta Nro Tunnus Salasana Toiminta 1 Olemassaoleva Oikea Kirjataan sisään, käyttäjän tiedot näkyvät ruudun ylälaidassa 2 Olemassaoleva Väärä Ilmoitetaan virheellisesta tunnuksesta tai salasanasta 3 Uusi - Ilmoitetaan virheellisesta tunnuksesta tai salasanasta

4 7.1.3 Pelipöydän luonti Käyttäjä luo pöydän haluamaansa pelityyppiin Aulanäkymä, kirjautunut sisään Ei olemassaolevia pöytiä muita pöytiä samasta tyypistä muita pöytiä eri tyypistä Pelityyppi (valitaan palvelimelle toteutetuista peleistä) Pöydän tunniste (merkkijono) Pelikohtaiset tiedot (valitaan pelin puitteissa) Pöytä lisätään aulaan Nro Tunnus Toiminta 1 Olemassaoleva Ilmoitetaan varatusta tunnuksesta 2 Uusi Lisätään pöytä palvelimelle, ja siirrytään pöytään 7.1.4 Texas Hold em pelipöydän luonti Käyttäjä luo pöydän Texas Hold emille Aulanäkymä, kirjautunut sisään(?) Pelityyppi (Texas Hold em) Pöydän tunniste (merkkijono) Pelaajien määrä (2...10) Pelaajien minimimäärä (2...Pelaajien määrä) pieni sokkopanos (lukuarvo) suuri sokkopanos (lukuarvo) Pöytä lisätään aulaan Nro Tunnus Toiminta 1 Olemassaoleva Ilmoitetaan varatusta tunnuksesta 2 Uusi Lisätään pöytä palvelimelle, ja siirrytään pöytään

5 7.1.5 Pöytään siirtyminen Käyttäjä siirtyy olemassaolevaan pöytään Aulanäkymä Pöytä (valitaan aulasta) Siirrytään aulasta pöytänäkymään Nro Pöytä Toiminta 1 Olemassaoleva OK, siirrytään pöydän seuraajiin 2 Poistettu Poistetaan pöytä listalta, pysytään aulassa 7.1.6 Paikan varaaminen Käyttäjä valitsee paikan seuraamassaan pöydässä jotta voisi istua peliin mukaan Pöytänäkymä, kirjautunut sisään Tyhjä pöytä Yksi vapaa paikka Muutama vapaa paikka Paikka (valitaan pöytänäkymästä) Paikka merkitään varatuksi, ja käyttäjälle avataan dialogi tarvittaviin päätöksiin Nro Paikka Toiminta 1 Vapaa OK 2 Varattu Merkitään paikka varatuksi 7.1.7 Useamman botin lisääminen Käyttäjä lisää useamman botin yhdellä kertaa pelipöytään Tilin hallintanäkymä Tyhjä pöytä

6 Muutama paikka vapaana pöydässä Paikat (valitaan pöytälistauksesta) Botit (valitaan luoduistaboteista kullekin paikalle) Paikat merkitään varatuksi, ja lisätään botit peliin Nro Paikat Toiminta 1 Kaikki vapaana OK 2 Osa varattu Varataan vielä vapaat paikat, ja merkitään muut varatuiksi muille 7.1.8 Peliin liittyminen Käyttäjä liittyy peliin varaamallaan paikalla Pöytänäkymä, istu pöytään -dialogi Pelaajatyyppi (itse (vakio)/botti (bottikäyttäjällä valittavana)) Pelinimi (Merkkijono/valitaan listalta) Peliin tuotavat rahat (lukuarvo>0) Pelaaja/botti merkitään paikalle, tililtä vähennetään otetut rahat Nro Tyyppi Toiminta 1 Itse Pelaaja istuu pöytään, ja liittyy peliin 2 Botti Bottipelaaja lisätään paikalle 7.1.9 Texas Hold em vuoron pelaaminen Pelaaja panostaa pelin pottiin Pöytänäkymä, pelissä mukana Toiminto (fold/call/raise/check/... näppäin käytettävissä vain kun toiminto mahdollinen) Rahamäärä (valittava [mini_raise, min(max_raise, pelaajan kassa)], vain korotettaessa)

7 Vuoro siirtyy seuraavalle pelaajalle, valittu toiminto suoritetaan Nro Tyyppi Pelaajan kassa Toiminta 1 Fold - Pelaaja ei enää osallistu käden pelaamiseen. Vuoro siirtyy seuraavalle 2 Call Riittävä Määrä maksetaan pottiin ja vähennetään pelaajan kassasta. Vuoro siirtyy seuraavalle 3 Call Ei riitä Pelaaja siirtyy all-in, ja hänen osuutensa mukaan muodostetaan erillinen potti. Vuoro siirtyy seuraavalle 4 Raise - Määrä maksetaan pottiin ja vähennetään pelaajan kassasta. Vuoro siirtyy seuraavalle 5 Check - Vuoro siirtyy seuraavalle 7.1.10 Pöydän etsiminen nimellä Käyttäjä etsii pöytää tietyllä tunnisteella Aulanäkymä Pöydän tunniste (merkkijono) Löydetyt pöydät Nro Tunniste Toiminta 1 Löytyy Listataan pöytä 2 Ei löydy Tyhjä lista 7.1.11 Pöydän etsiminen pelaajan perusteella Käyttäjä etsii pöytiä, joissa tietty pelaaja on pelaamassa Aulanäkymä Pelaajan nimi (merkkijono) Löydetyt pöydät Nro Nimi Toiminta 1 Löytyy Listataan pöydät, joissa pelaaja on 2 Ei löydy Tyhjä lista

8 7.1.12 Pöytien järjestäminen attribuuttien mukaan Käyttäjä järjestää pyödät attribuutin arvon mukaan nousevaan/laskevaan järjestykseen Aulanäkymä Attribuutti (valitaan mahdollisista) Pöytäjärjestys päivittyy 7.1.13 Tilin hallinnointi Käyttäjä näkee tilinsä tiedot, ja luoneensa botit Aulanäkymä tai Pöytänäkymä, kirjautunut sisään Hallinnointi Käyttäjä saa hallinnointinäkymän 7.1.14 Botin luominen Käyttäjä luo bottipelaajan Tilin hallintanäkymä Bottinimi (merkkijono) tekoälyalgoritmi (valitaan toteutetuista) Botti lisätään listalle Nro Tunnus Toiminta 1 Olemassaoleva Ilmoitetaan varatusta nimestä 2 Uusi Lisätään botti listalle saldolla 0

9 7.1.15 Botin poistaminen Käyttäjä poistaa bottipelaajan Tilin hallintanäkymä Bottinimi (valitaan listalta) Botti poistetaan listalta