Sisällön automaattinen moniluokittelu. Testausdokumentti versio

Koko: px
Aloita esitys sivulta:

Download "Sisällön automaattinen moniluokittelu. Testausdokumentti versio"

Transkriptio

1 Sisällön automaattinen moniluokittelu Testausdokumentti versio Helsingin yliopisto Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojektiryhmä 5. Sisällön automaattinen moniluokittelu (Samo) Marko Konttinen Tarmo Pellikka Pia Rantalahti Kari Silén Markku Vahter Pirkko Wahlström

2 VERSIOHISTORIA Versio Pvm Kommentti Tekijä 0.1 ensimmäinen versio ryhmän Pia Rantalahti kommentoitavaksi pieniä lisäyksiä ja täsmennyksiä Pirkko Wahlström ryhmän kommentit palaverissa to Pirkko Wahlström lukujen 1-2 sisältöä muokattu ja järjestetty Pia Rantalahti Kaikkia lukuja muokattu edelleen ja lisätty Pia Rantalahti esimerkiksi ja keskustelun pohjaksi Parserluokan testiraportti lukuun Lisätty fdg:n ja indekserin luokkatestiraportit Pia Rantalahti lukuihin 2.1 ja 2.2. Täsmennetty lukua 1.4. Lukuihin ja lisätty ehdotus validointitestauksessa testattaviksi asioiksi Lisätty hakukoneen integrointitestitapaukset Pia Rantalahti lukuihin ja Lisätty hakukoneen NodeTerm-, Ontology- ja Pirkko Wahlström Processer-luokkien luokkatestausraportit lukuun 2.4, Indekserin luokkatesturaportti lukuun 2.1 ja Indekserin ja Fdg:n integrointitestiraporttti lukuun 3.1. Päivitetty lukua 1.5 Apuvälineet Korjattu ryhmän kommenttien mukaan. Pia Rantalahti Vieläkin viilattavaa Pia Rantalahti Päivitetty lukua Ontology ja täydennetty validointitestauslukuja 4.2 Museoaineiston haku ja 4.3 Koko järjestelmää koskevat vaatimukset. Pirkko Wahlström

3 SISÄLTÖ 1 YLEISTÄ TESTAUKSESTA TUOTE JÄRJESTELYT JA AIKATAULU STRATEGIA YMPÄRISTÖ APUVÄLINEET JA TESTIMATERIAALI LUOKKATESTAUS INDEKSERI AdjNHPattern Config DocumentRef DOMHelper Index Indexer IndexMain Occurrence Predicate RDFIndexer FDG Token ThreadException Sentence SentenceParseException SentenceFactor SocketFdg HAKUKONE NodeTerm Ontology Parser Processer KÄYTTÖLIITTYMÄ SearchGui SearchServlet HTML-sivut INTEGROINTITESTAUS INDEKSERI JA FDG HAKUKONE Oikeanmuotoiset syötteet Vääränmuotoiset syötteet VALIDOINTITESTAUS INDEKSERI MUSEOAINEISTON HAKU Käyttötapauksen testaus Yksityiskohtaiset vaatimukset ja niiden testaus KOKO JÄRJESTELMÄÄ KOSKEVAT VAATIMUKSET...55 LÄHTEET...57 LIITE 1: TESTINDEXER1.RDF... I

4 LIITE 2. LIITE 3. LIITE 4 LIITE 5 TESTINDEXER2.RDF... I SYSTEMCONFIG TIEDOSTO... I SOURCECONFIG -TIEDOSTO... I TESTSAMO.RDF -TIEDOSTO... I LIITE 6 INDEKSIN SISÄLTÖ INDEKSERIN INTEGROINTITESTAUKSEN JÄLKEEN I

5 1 1 Yleistä testauksesta Tässä luvussa esitellään lyhyesti testattava tuote, testauksen järjestelyt ja aikataulu, testausstrategia, testausympäristö sekä testauksessa käytetyt apuvälineet ja testiaineisto. 1.1 Tuote Sisällön automaattinen moniluokittelu (Samo) ryhmä on toteuttanut syksyllä 2002 Helsingin ylipiston tietojenkäsittelytieteen laitoksen ohjelmistotuotantoprojektikurssin puitteissa proofof-concept -demojärjestelmänä hakukoneen semantic web -ympäristöön. Ohjelmisto koostuu kolmesta osajärjestelmästä: fdg, indekseri ja hakukone. Fdg osajärjestelmän tehtävänä on tarjota rajapinta luonnollisen kielen analysaattoriin Fdg3. Indekseri osajärjestelmä käyttää fdg:tä tuottaessaan hakemiston joukosta RDF-tiedostoja. Hakukone toteuttaa hakukäyttöliittymän ja käyttää indekserin tuottamaa hakemistoa hyväkseen hakutuloksen etsimisessä. Ohjelmisto on kuvattu kokonaisuudessaan suunnitteludokumentissa [Sam02b]. 1.2 Järjestelyt ja aikataulu Järjestelmä on testattu kolmessa vaiheessa seuraavan aikataulun mukaisesti: moduuli- eli luokkatestaus: viikot eli integraatiotestaus: viikko 47 eli validointitestaus: viikko 48 eli Osajärjestelmien toteutusta varten Samo-ryhmä jaettiin työpareihin, jotka vielä jakoivat keskenään osajärjestelmiin kuuluvien yksittäisten luokkien toteutustyön. Luokan toteuttaja on moduulitestannut toteuttamansa luokan. Integraatiotestaukseen ovat osallistuneet kaikki osajärjestelmään kuuluvia luokkia toteuttaneet ryhmäläiset. Validointitestaukseen osallistuivat kaikki ryhmäläiset. 1.3 Strategia Tässä luvussa esitellään ne vaiheet, joiden mukaisesti ohjelmisto on käyty läpi testauksen aikana. Testausstrategia käsittää luokkatestauksen, integrointitestauksen ja validointitestauksen. Luokka- eli moduulitestauksessa järjestelmään kuuluvat luokat on testattu rakenteellisesti mahdollisimman kattavasti. Rakenteellinen testaus perustui ohjelmakoodin läpikäyntiin. Jokaisessa luokassa kyseisen luokan toteuttajat ovat suorittaneet rakenteellisen testauksen white box testauksena. Testaus on pyritty suorittamaan peruspolkutestauksena eli jokainen ohjelmakoodin lause suoritetaan vähintään kerran testauksen aikana, silmukkatestauksena eli silmukat testataan toistamalla niitä eri määrällä arvoja (nolla ja yksi kertaa, tyypillinen määrä kertoja, maksimäärä ja maksimäärä + 1 kertaa) ja Käytännössä ajanpuute on rajoittanut testausta. Tämän dokumentin sisällysluettelosta käy ilmi kaikki testatut luokat sekä asianomaisista luvuista kunkin luokan testaukseen käytetyt

6 2 testitapaukset. Testitapaukset on valittu ehtokattavuuden periaatteen mukaisesti niin, että jokainen metodin suorituksen haara tulisi käytyä läpi ainakin kerran. Koska peruspolkutestauksen lohkokaavioden piirtämiseen ei ole valmista työkalua, ei lohkokaavoiota ole dokumentoitu. Luokkatestitapaukset ja testien tulokset on esitelty tämän dokumentin luvussa 2. Integrointitestaus tehdään siinä vaiheessa, kun yksittäiset luokat on testattu ja ne voidaan liittää yhteen. Järjestelmän integrointitestauksen aikana on testattu järjestelmän toiminnallisuutta eli testaus on perustunut ohjelmiston ulkoisesti havaittavan toiminnan tarkasteluun ja todentamiseen. Erityisesti luokkienväliset rajapinnat ja tiedonvälitys luokkien välillä on ollut huomion kohteena. Integrointitestaus on tehty bottom up menetelmällä eli luokkien yhteistoimintaa on testattu sitä mukaa kun luokat ovat valmistuneet. Integrointitestausvaiheessa hakukone- ja indekseri osajärjestelmät on testattu erikseen.interointitestitapaukset ja testien tulokset on esitelty tämän dokumentin luvussa 3. Validointitestauksen.tarkoituksena on todentaa, että järjestelmä toteuttaa sille asetetun tehtävän. Validointitestaus perustui määrittelydokumentissa [Sam02a] dokumentoituihin käyttötapauksiin. Lisäksi määrittelydokumentissa on lueteltu toiminnallisia vaatimuksia kullekin osajärjestelmälle, joiden toteutuminen on varmistettu validointitestauksessa. Toiminnallisten vaatimusten toteutumisen testaamisen lisäksi on validiointitestauksessa pyritty todentamaan, että järjestelmä toteuttaa määrittelydokumentin vaatimukset järjestelmän yleiskäyttöisyydestä, helppokäyttöisyydestä ja ylläpidettävyydestä. Validointitestauksen aikana testattiin myös ohjelmiston käyttöohjeet (sekä indeksoijan että hakukoneen). Validointitestitapaukset ja testien tulokset on esitelty tämän dokumentin luvussa Ympäristö Järjestelmä on testattu sen toteutusympäristössä, joka on PostgreSQL-tietokanta indeksoijan tuottamien hakusanojen talletukseen, Hewlett-Packard Labs:n Jena-toolkitin versio 1.5 ontologioiden käsittelyyn, Connexorin Fdg3 morfologinen analysaattori luonnollisen kielen prosessointiin, apache xml-työkalut XML-dokumenttien käsittelyyn, Java-kielen versio järjestelmän toteuttamiseen ja Mozilla 6- ja Internet Explorer 5.5 selaimet hakukäyttöliittymän toimintaympäristönä. 1.5 Apuvälineet ja testimateriaali Testiluokat ja -metodit Luokkatestauksessa on käytetty joko erillisiä testiluokkia tai testimetodit on sisällytetty itse luokkaan. Asianomaisessa luvussa luokan luokkatestauksen yhteydessä on mainittu testiluokan nimi, mikäli sitä on käytetty. Käytetyt testiluokat on talletettu CVS:ään hakemistoon /samodoc/src/samo/test. Hakemiston sisältö on seuraava: IndexerDriver.java, ParserTest.java luokan Parser.java testaukseen ja TestOntology.java luokan Ontology.java testaukseen NodeTermTest.java luokan NodeTerm.java testaukseen

7 3 ProcesserTest.java luokan Processer.java testaukseen Lisäksi yllä mainitussa CVS-hakemistossa on luokka Raport.java, jota on käytetty hyväksi muiden paitsi NodeTerm- (luku ) ja Processer- (luku 2.3.4) luokan testitapausten raportoinnissa. Raportin muoto on: Testattava luokka: <luokka> Testattava metodi: <metodi> Parametrit: <testitapaukseksessa käytetyt parametrit> Testauksen tavoite: <mitä testitapauksella pyritään todentamaan> Odotettu tulos : <testitapauksen odotettu tulos> Testin tulos : <OK eli testitapaus onnistuu tai NOK eli testitapaus epäonnistuu> Testauksessa käytetty materiaali Ontologia-luokan testimateriaalina on käytetty ontologiasta Promootio.rdfs tehtyä testi.rdfstiedostoa sekä ontologiasta tekstiilit rdfs tehtyä tiedostoa tekstiilikohde.rdfs. Testiontologiat on talletettu ryhmähakemistoon /home/group/samo/yomuseo Luokka- ja integrointitestauksessa on käytetty itse tehtyä materiaalia, jotka löytyvät tämän dokumentin liitteistä. Materiaalit ja niiden käyttötarkoitukset ovat olleet seuraavat: testindexer1.rdf (liite 1) luokan RDFIndexer luokkatestimateriaali, testindexer2.rdf (liite 2) luokan RDFIndexer luokkatestimateriaali, systemconfig tiedosto (liite 3) indekseriosajärjestelmän intgrointitestimateriaali, sourceconfig tiedosto (liite 4) indekseriosajärjestelmän intgrointitestimateriaali, testsamo.rdf tiedosto (liite 5) indekseriosajärjestelmän intgrointitestimateriaali ja Indeksin sisältö indekserin integrointitestauksen jälkeen ja hakukoneen integrointitestimateriaali (liite 6). Asianomaisen luokan testiraportin kohdalla on viittaus vastaavaan liitteeseen. 2 Luokkatestaus Tässä luvussa kuvataan erikseen jokaisen luokan tai metodin osalta luokan tai metodin toiminta lyhyesti, luokkatestauksessa käytetyt apuvälineet, apu- ja testiohjelmat sekä niiden sijainti, tarkoitus ja dokumentointi, miten ehtokattavuus on toteutettu kyseisen luokan testauksessa sekä yksittäisten luokkien tai metodien testitapaukset ja niiden tulokset. Mikäli testitapauksen tulos on NOK (Not OK), kerrotaan myös miksi ja mitä pitäisi korjata ja miksi korjausta ei tämän projektin puitteissa ole tehty. Parannusehdotukset ja tarpeet on kirjattu myös järjestelmän toteutusdokumenttiin [Sam02c]. 2.1 Indekseri Indekseriosajärjestelmän tehtävänä on muodostaa hakemisto joukosta RDF dokumentteja.

8 AdjNHPattern Testattava luokka: AdjNHPattern Testattava metodi: find(sentence,int) Parametrit : kävellä virkkeenä,1 Testauksen tavoite: Testata, että kun virke ei sisällä määriteltyä hahmoa sitä ei myöskään löydy. Odotettu tulos :0 Testattava luokka: AdjNHPattern Testattava metodi: find(sentence,int) Parametrit : kaula virkkeenä,1 Testauksen tavoite: Testata, että kun virkeen kohta 1 sisältää morfologisen tägin NH, niin saadaan yhden pituinen termi. Odotettu tulos :1 Testattava luokka: AdjNHPattern Testattava metodi: find(sentence,int) Parametrit : punainen kaula virkkeenä,1 Testauksen tavoite: Testata, että kun virkeen kohta 1 sisältää hahmon [&A>][&NH] niin saadaan kahden pituinen termi. Odotettu tulos :3 Testattava luokka: AdjNHPattern Testattava metodi: find(sentence,int) Parametrit : punaisen kirjava kaula virkkeenä,1 Testauksen tavoite: Testata, että kun virkeen kohta 1 sisältää hahmon [&A>][&A>][&NH] niin saadaan kolmen pituinen termi. Odotettu tulos : Config Luokka lukee systemconfig -konfiguraatiotiedoston konstruktorin parametrina annetusta osoitteesta. Testattava luokka: samo.utils.config Testattava metodi: Config(java.net.URL systemconfigurl) Parametrit : new URL("file:samo/test/utils/TstConfig.java") Testauksen tavoite: Testataan tunnistaako epäkelvon tiedoston, jonka osoite annetaan urlina Odotettu tulos :Heittää poikkeuksen: org.xml.sax.saxparseexception: The markup in the document preceding the root element must be well-formed. Testattava luokka: samo.utils.config Testattava metodi: Config(java.net.URL systemconfigurl) Parametrit : new URL("file:samo/test/utils/tst_config1.xml") Testauksen tavoite: Testataan pystyykö käsittelemään hyvinmuodostunutta, määrittelyn mukaista xml-tiedostoa. Odotettu tulos :Luo uuden Config-olion, joka lukee attribuuttinsa xml-tiedostosta.

9 5 Testattava luokka: samo.utils.config Testattava metodi: String getfdglocation() Testauksen tavoite: Onnistuiko fdg:n osoitteen lukeminen tiedostosta. Odotettu tulos :palauttaa tiedostossa annetun osoitteen: 'saga.cs.helsinki.fi' Testattava luokka: samo.utils.config Testattava metodi: int getfdgport() Testauksen tavoite: Onnistuiko fdg:n portin numeron lukeminen tiedostosta. Odotettu tulos :palauttaa tiedostossa annetun portinnumeron: Testattava luokka: samo.utils.config Testattava metodi: String getindexlocation() Testauksen tavoite: Onnistuiko index:n osoitteen lukeminen tiedostosta. Odotettu tulos :palauttaa tiedostossa annetun osoitteen: 'jdbc:postgresql://db.cs.helsinki.fi:10062/samo' Testattava luokka: samo.utils.config Testattava metodi: int getindexport() Testauksen tavoite: Onnistuiko index:n portin numeron lukeminen tiedostosta. Odotettu tulos :palauttaa tiedostossa annetun portinnumeron: Testattava luokka: samo.utils.config Testattava metodi: String getindexusername() Testauksen tavoite: Onnistuiko index:n portin numeron lukeminen tiedostosta. Odotettu tulos :palauttaa tiedostossa annetun portinnumeron: Testattava luokka: samo.utils.config Testattava metodi: String getindexusername() Testauksen tavoite: Onnistuiko index:n käyttäjän tunnuksen lukeminen tiedostosta. Odotettu tulos :palauttaa tiedostossa annetun käyttäjän tunnuksen: 'samo_tester' Testattava luokka: samo.utils.config Testattava metodi: String getindexuserpassword() Testauksen tavoite: Onnistuiko index:n käyttäjän salasanan lukeminen tiedostosta. Odotettu tulos :palauttaa tiedostossa annetun käyttäjän salasanan: 'testing' Ontologia =

10 6 Testattava luokka: samo.utils.config Testattava metodi: String getontologylocation() Testauksen tavoite: Onnistuiko ontologian osoitteen lukeminen tiedostosta. Odotettu tulos :palauttaa tiedostossa annetun osoitteen: ' Testattava luokka: samo.utils.config Testattava metodi: List getwantedpropertynames() Testauksen tavoite: Onnistuiko haluttujen propertyjen nimien lukeminen listaan tiedostosta. Odotettu tulos :palauttaa listan tiedostossa kerrottujen ominaisuuksien nimistä. Testattava luokka: samo.utils.config Testattava metodi: getstopwordlist() Testauksen tavoite: Onnistuiko hukkasanalistan lukeminen kofiguraatiotiedostossa annetun tiedoston osoitteen perusteella. Odotettu tulos :palauttaa StreamStringTokenizer olion, joka lukee hukkasanalistan. Testattava luokka: samo.utils.config Testattava metodi: Config(java.net.URL systemconfigurl) Parametrit : new URL("file:samo/test/utils/tst_config1.xml") Testauksen tavoite: Testataan pystyykö käsittelemään hyvinmuodostunutta, määrittelyn mukaista xml-tiedostoa, josta puuttuu kaikki muu paitsi välttämätön. Odotettu tulos :Luo uuden Config-olion, joka lukee attribuuttinsa xml-tiedostosta. Testattava luokka: samo.utils.config Testattava metodi: String getindexusername() Testauksen tavoite: Indeksin käyttäjän tunnus ei ole pakollinen. Kokeillaan selvitäänkö sen puuttumisesta. Odotettu tulos :Koska tunnusta ei ole tiedostossa annettu, palauttaa null. Testattava luokka: samo.utils.config Testattava metodi: String getindexuserpassword() Testauksen tavoite: Indeksin käyttäjän tunnus ei ole pakollinen. Kokeillaan selvitäänkö sen puuttumisesta. Odotettu tulos :Koska tunnusta ei ole tiedostossa annettu, palauttaa null. Testattava luokka: samo.utils.config Testattava metodi: String getindexuserpassword() Testauksen tavoite: Ontologian osoite ei ole pakollinen. Kokeillaan selvitäänkö sen puuttumisesta.

11 7 Odotettu tulos :Koska ontologian osoitetta ei ole tiedostossa annettu, palauttaa null. Testattava luokka: samo.utils.config Testattava metodi: List getwantedpropertynames() Testauksen tavoite: Ei ole pakollinen. Kokeillaan selvitäänkö puuttumisesta. Odotettu tulos :Koska propertyja ei ole tiedostossa annettu, palauttaa null. Testattava luokka: samo.utils.config Testattava metodi: StreamStringTokenizer getstopwordlist() Testauksen tavoite: Ei ole pakollinen. Kokeillaan selvitäänkö puuttumisesta. Odotettu tulos :Koska hukkasanalista-tiedoston osoitetta ei ole annettu, palauttaa null. Testattava luokka: samo.utils.config Testattava metodi: StreamStringTokenizer getstopwordlist() Testauksen tavoite: Konfiguraatiotiedostossa annettu hukkasanalistan osoite osoittaa olemattomaan tiedostoon. Odotettu tulos :Koska hukkasanalista-tiedostoa ei löydy, heittää pokkeuksen: samo/test/indexer/tst_bla.txt (No such file or directory) Testattava luokka: samo.utils.config Testattava metodi: Config( configurl ) Parametrit : osoite tiedostoon tst_config4.xml, joka on hyvin muodostunutta xml:ää, mutta ei ole määrittelyn mukainen. Testauksen tavoite: Katsotaan miten Config reagoi xml-tiedostoon, joka ei ole määrittelyn mukainen. Odotettu tulos :Koska tiedosto ei ole määrittelyn mukainen, heittää poikkeuksen:samo.utils.configexception: Config file is corrupt.java.lang.nullpointerexception DocumentRef Edustaa resurssia, jossa jokin tietty termi on esiintynyt. Index palauttaa joukon DocumentRef -olioita hakusanaa vastaan. DocumentRef edustaa dokumenttiviitettä tietylle hakusanalle. Sisältää joukon Predicate olioita, joissa ko. hakusana on viitattavan dokumentin kuvauksessa esiintynyt. Testattava luokka: samo.indexer.documentref Testattava metodi: DocumentRef(String about, String keyterm) Parametrit : target, keyterm Testauksen tavoite: Testataan konstruktoria, joka asettaa olion about-attribuuttikenttään parametrin arvon 'target' ja avainsanaksi 'keyterm'. Odotettu tulos :Luo uuden DocumentRef-olion jonka predikaattijoukko null ja paino 0.0 ja kohde ja avain parametreina määritellyt

12 8 Testattava luokka: samo.indexer.documentref Testattava metodi: addpredicate(predicate occurrence) Parametrit : null Testauksen tavoite: Yritetään lisätä viittaukselle yksi predikaatti joka on null. Odotettu tulos :Koska viittauksella ei ole aikaisempia predikaatteja, on sisäinen attribuutti, joukko predicates null.sisäinen attribuutti, joukko predicates pysyy nullina eikä mitään lisätä, koska parametri on null Testattava luokka: samo.indexer.documentref Testattava metodi: addpredicate(predicate pred) Parametrit : new Predicate("pred") Testauksen tavoite: Yritetään lisätä ilmentymälle yksi predikaatti jonka nimi on 'pred'. Odotettu tulos :Koska ei ole aikaisempia predikaatteja, luodaan sisäinen attribuutti, joukko predicates, johon annettu predikaatti lisätään. Testattava luokka: samo.indexer.documentref Testattava metodi: addpredicate(predicate occurrence) Parametrit : new Predicate("pred2") Testauksen tavoite: Yritetään lisätä toinen predikaatti jonka nimi on 'pred2'. Odotettu tulos :Uusi predikaatti lisätään joukkoon. Testattava luokka: samo.indexer.documentref Testattava metodi: java.lang.string aboutresource() Testauksen tavoite: Tarkistetaan palauttaako viittauksen kohteen nimen Odotettu tulos :Palauttaa viittauksen kohteen nimen (String olio) silloin kun se on määrätty.. Testattava luokka: samo.indexer.documentref Testattava metodi: java.util.set getpredicates() Testauksen tavoite: Tarkistetaan palauttaako predikaatit tai null silloin kun aliesiintymiä ei ole. Odotettu tulos :Palauttaa joukon (Set olio) jossa on ilmentymän aliessintymät. Testattava luokka: samo.indexer.documentref Testattava metodi: double getweight() Testauksen tavoite: Tarkistetaan palauttaako ilmentymän painoksi oletusarvon 0.0 silloin kun sitä ei ole määrätty. Odotettu tulos :Palauttaa ilmentymän painoksi 0.0 Testattava luokka: samo.indexer.documentref Testattava metodi: double getweight() Testauksen tavoite: Tarkistetaan palauttaako ilmentymän painoksi määrätyn arvon.

13 9 Odotettu tulos :Palauttaa ilmentymän painoksi 0.5, joka sille on määrätty Testattava luokka: samo.indexer.documentref Testattava metodi: setname(java.lang.string name) Parametrit : sub2 Testauksen tavoite: Tarkistetaan asettaako viittauksen kohteen nimeksi määrätyn nimen. Odotettu tulos :Asettaa viittauksen kohteen nimeksi 'sub2' Testattava luokka: samo.indexer.documentref Testattava metodi: setweight(double _weight) Parametrit : 0.5 Testauksen tavoite: Tarkistetaan asettaako ilmentymän painoksi määrätyn painon. Odotettu tulos :Asettaa ilmentymän painoksi DOMHelper Apuluokka DOM-dokumenttien käsittelyyn. Testattava luokka: samo.utils.domhelper Testattava metodi: static java.lang.string gettextcontent(org.w3c.dom.node parent) Parametrit : null Testauksen tavoite: Testataan palauttaako metodi null, jos parametri on null Odotettu tulos :Metodi palauttaa null. Testattava luokka: samo.utils.domhelper Testattava metodi: DOMHelper() Testauksen tavoite: Testataan konstruktorin toimintaa. Odotettu tulos :Luodaan uusi DOMHelper -olio. Testattava luokka: samo.utils.domhelper Testattava metodi: org.w3c.dom.document getdocument(java.io.reader data) Parametrit : null Testauksen tavoite: Testataan palauttaako metodi null, jos parametri on null Odotettu tulos :Metodi palauttaa null. Testattava luokka: samo.utils.domhelper Testattava metodi: org.w3c.dom.document getdocument(java.io.reader data) Parametrit : jotain muuta kuin xml:ää -tiedosto TstDOMHelper.java Testauksen tavoite: Metodi heittää poikkeuksen. Odotettu tulos :org.xml.sax.saxparseexception: Document root element is missing. Testattava luokka: samo.utils.domhelper

14 10 Testattava metodi: org.w3c.dom.document getdocument(java.io.reader data) Parametrit : tiedoston tst_domhelper.xml sisältö, joka on hyvinmuodostunutta xml:ää Testauksen tavoite: Testataan osaako metodi lukea xml:ää Odotettu tulos :Saadaan tiedostoa vastaava dom-malli Document oliona Testattava luokka: samo.utils.domhelper Testattava metodi: static java.lang.string gettextcontent(org.w3c.dom.node parent) Parametrit : em. tiedostosta tyhjä elementti nimeltään 'empty' Testauksen tavoite: Testataan osaako metodi käsitellä null arvoisen parametrin Odotettu tulos :palauttaa null Testattava luokka: samo.utils.domhelper Testattava metodi: static java.lang.string gettextcontent(org.w3c.dom.node parent) Parametrit : em. tiedostosta elementti, jolla ei ole välitöntä lasta tyypiltään Node.TEXT_NODE,nimeltä 'ancestor_of_text' Testauksen tavoite: Testataan osaako metodin toimintaa. Odotettu tulos :Palauttaa null Testattava luokka: samo.utils.domhelper Testattava metodi: static java.lang.string gettextcontent(org.w3c.dom.node parent) Parametrit : em. tiedostosta elementti, jolla ei ole välitöntä lasta tyypiltään Node.TEXT_NODE,nimeltä 'parent_of_text' Testauksen tavoite: Testataan löytääkö metodi tekstisisällön annetun solmun välittöminä lapsista. Odotettu tulos :Palauttaa merkkijonon 'tämä on tekstiä.' Testattava luokka: samo.utils.domhelper Testattava metodi: static java.lang.string gettextcontent(org.w3c.dom.node parent) Parametrit : em. tiedostosta elementti, joka on tyyppiä Node.TEXT_NODE Testauksen tavoite: Testataan löytääkö metodi tekstisisällön annetusta solmusta. Odotettu tulos :Palauttaa merkkijonon 'tämä on tekstiä' Index Testattava luokka: samo.indexer.index Testattava metodi: Index(java.lang.String dbhostname, int dbport, java.lang.string username, java.lang.string userpassword) Parametrit : null, 0, null, null Testauksen tavoite: Testataan konstruktorin toimintaa, kun parametrit on null Odotettu tulos :Heittää poikkeuksen: java.sql.sqlexception: The url cannot be null Testattava luokka: samo.indexer.index

15 11 Testattava metodi: Index(java.lang.String dbhostname, int dbport, java.lang.string username, java.lang.string userpassword) Parametrit : "Mauri Pekkarinen", 0, null, null Testauksen tavoite: Testataan konstruktoria: Väärä host, muut parametrit null. Odotettu tulos :Heittää poikkeuksen: The user property is missing. It is mandatory. Testattava luokka: samo.indexer.index Testattava metodi: Index(java.lang.String dbhostname, int dbport, java.lang.string username, java.lang.string userpassword) Parametrit : jdbc:postgresql://db.cs.helsinki.fi:10062/samo, 10062, "Mauri", "Pekkarinen" Testauksen tavoite: Testataan konstruktoria. Väärä tunnus ja salasana. Odotettu tulos :Heittää poikkeuksen: Something unusual has occured to cause the driver to fail. Please report this exception: java.sql.sqlexception: FATAL 1: Password authentication failed for user "Mauri" Testattava luokka: samo.indexer.index Testattava metodi: Index(java.lang.String dbhostname, int dbport, java.lang.string username, java.lang.string userpassword) Parametrit : jdbc:postgresql://db.cs.helsinki.fi:10062/samo, 10062, "samo_indexer", "Pekkarinen" Testauksen tavoite: Testataan konstruktoria: Väärä salasana. Odotettu tulos :Heittää poikkeuksen: Something unusual has occured to cause the driver to fail. Please report this exception: java.sql.sqlexception: FATAL 1: Password authentication failed for user "samo_indexer" Testattava luokka: samo.indexer.index Testattava metodi: Index(java.lang.String dbhostname, int dbport, java.lang.string username, java.lang.string userpassword) Parametrit : jdbc:postgresql://db.cs.helsinki.fi:10062/samo, 10062, "Mauri", "hakupuu" Testauksen tavoite:testataan konstruktoria: Väärä tunnus Odotettu tulos :Heittää poikkeuksen: Something unusual has occured to cause the driver to fail. Please report this exception: java.sql.sqlexception: FATAL 1: Password authentication failed for user "Mauri" Testattava luokka: samo.indexer.index Testattava metodi: Index(java.lang.String dbhostname, int dbport, java.lang.string username, java.lang.string userpassword) Parametrit : jdbc:postgresql://db.cs.helsinki.fi:10062/samo, 10062, TUNNUS, salasana Testauksen tavoite: Testataan konstruktoria: Nyt pitäis onnistua. Odotettu tulos :Ei hietä poikkeusta, luo uuden Indexer-olion Testattava luokka: samo.indexer.index Testattava metodi: index.reset() Testauksen tavoite: Koitetaan tyhjentää tietokannan taulut.

16 12 Odotettu tulos :Tyhjentää tietokannan taulut Testattava luokka: samo.indexer.index Testattava metodi: index.add(set indexdatatokens,string about,string predicate) Parametrit : [samo.test.indexer.tsttoken@30c221], Testauksen tavoite: Koitetaan lisätä duplikaatti. Odotettu tulos :Päivittää tietokannasta vain property taulun ko. tietueen. Testattava luokka: samo.indexer.index Testattava metodi: index.add(set indexdatatokens,string about,string predicate) Parametrit : null, " "predicate" Testauksen tavoite: Testataan miten reagoi null dataan Odotettu tulos :Heittää poikkeuksen: samo.indexer.samoindexexception: Invalid parameters! -null for indexdatatokens is not acceptable. Testattava luokka: samo.indexer.index Testattava metodi: index.add(set indexdatatokens,string about,string predicate) Parametrit : new HashSet(), " "predicate" Testauksen tavoite: Testataan miten reagoi tyhjään data-joukkoon Odotettu tulos :Tyhjää joukkoa ei sallita. Heittää poikkeuksen: samo.indexer.samoindexexception: Invalid parameters! Size of Set indexdatatokens is 0. Testattava luokka: samo.indexer.index Testattava metodi: index.add(set indexdatatokens,string about,string predicate) Parametrit : [poo, foo], " "predicate" Testauksen tavoite: Testataan miten reagoi kun data-joukon alkiot ovat muuta tyyppiä, kuin IndexData -olioita. Odotettu tulos :Muita tyyppejä ei sallita. Heittää poikkeuksen: java.lang.classcastexception: java.lang.string Testattava luokka: samo.indexer.index Testattava metodi: index.add(set indexdatatokens,string about,string predicate) Parametrit : [samo.test.indexer.tsttoken@3ab50a], null, "predicate" Testauksen tavoite: Testataan miten reagoi kun about-parametri on null. Odotettu tulos :Ei sallita. Heittää poikkeuksen: samo.indexer.samoindexexception: Invalid parameters! -null for about is not acceptable. Testattava luokka: samo.indexer.index Testattava metodi: index.add(set indexdatatokens,string about,string predicate) Parametrit : [samo.test.indexer.tsttoken@3ab50a]," null

17 13 Testauksen tavoite: Testataan miten reagoi kun predikaatti-parametri on null. Odotettu tulos :Ei sallita. Heittää poikkeuksen: samo.indexer.samoindexexception: Invalid parameters! -null for predicate is not acceptable. Testattava luokka: samo.indexer.index Testattava metodi: void add(set indexdatatokens, String about, String predicate) Parametrit : Lisätään seuraavat dokumentit, kutsumalla metodia useampaan kertaan kissa koira hiiri Doc1: ( 3, 0, 0 ) Doc2: ( 3, 1, 0 ) Doc3: ( 1, 1, 1 ) Doc4: ( 3, 3, 0 ) Doc5: ( 0, 0, 1 ) Testauksen tavoite: Testataan indexiin lisäämistä joissakin tapauksissa sitä vain päivitetään. Odotettu tulos :Data tallentuu oikeassa muodossa tietokantaa Testattava luokka: samo.indexer.index Testattava metodi: void updateweights() Testauksen tavoite: Lasketaan painot äsken lisätyille dokumenteille Laskee dokumenttien termeille normalisoidun TF*IDF painon: kissa koira hiiri Doc1: ( 1.00, 0.00, 0.00 ) Doc2: ( 0.79, 0.61, 0.00 ) Doc3: ( 0.21, 0.48, 0.85 ) Doc4: ( 0.40, 0.92, 0.00 ) Doc5: ( 0.00, 0.00, 1.00 ) Odotettu tulos :Painot lasketaan oikein ja ne tallentuvat tietokantaan. Testattava luokka: samo.indexer.index Testattava metodi: Set getreferences(string) Parametrit : kissa Testauksen tavoite: Palauttaa docref tietueita Doc1,..., Doc4 vastaavat DocumentRef oliot Indexer Indekseri etsii termejä sille syötetystä tekstistä. Testattava luokka: Indexer Testattava metodi: Indexer(SentenceParser,boolean) Parametrit : valid_socket_fdg,true Testauksen tavoite: Testata, että oletus hahmot lisätään patterns vektoriin. (peruspolku 1/2) Odotettu tulos :Vektorin patterns koko > 0

18 14 Testattava luokka: Indexer Testattava metodi: Indexer(SentenceParser,boolean) Parametrit : valid_socket_fdg,false Testauksen tavoite: Testata, että oletus hahmoja ei lisätä patterns vektoriin. (peruspolku 2/2) Odotettu tulos :Vektorin patterns koko on 0 Testattava luokka: Indexer Testattava metodi: index(string,map) Parametrit : "",map Testauksen tavoite: Testata, että tyhjästä merkkijonosta ei löydetä termejä. (peruspolku 1/2) Odotettu tulos :map on tyhjä Testattava luokka: Indexer Testattava metodi: index(string,map) Parametrit : "Punainen kaulaliina",map Testauksen tavoite: Testata, että termihahmot lisätään karttaan. For silmukka suoritetaan yhden kerran (peruspolku 2/2) Odotettu tulos :map sisältää yhden termihahmon. Testattava luokka: Indexer Testattava metodi: addtostoplist(string) Parametrit : "punainen kaulaliina" Testauksen tavoite: Testata, että sana lisätään hukkasanalistalle. (peruspolku 1/1) Odotettu tulos :Hukkasanalista sisältää yhden sanan. Punainen kaulaliina termiä ei lisätä tulokseen, vaikka se löytyisikin tekstistä. Testattava luokka: Indexer Testattava metodi: addtermpattern(termpattern) Parametrit : "punainen kaulaliina" Testauksen tavoite: Testata, että termihahmo lisätään hahmo listalle. (peruspolku 1/1) Odotettu tulos :Termihahmolista sisältää yhden enemmän hahmoja. Testattava luokka: Indexer Testattava metodi: findterms(sentence,map) Parametrit : "kaulaliina virkeenä,map" Testauksen tavoite: Testata, että yhtään termiä ei löydetä, jos hahmoja ei ole lisätty. (Peruspolku 2/5) Odotettu tulos :Hajautustaulun map koko on nolla. Testattava luokka: Indexer Testattava metodi: findterms(sentence,map) Parametrit : "seisoa virkkeenä,map" Testauksen tavoite: Testata, että yhtään termiä ei löydetä, kun indexer sisältää yhden AdjNHPattern hahmon, mutta sitä ei löydy tekstistä. (Peruspolku 3/5) Odotettu tulos :Hajautustaulun map koko on nolla. Testattava luokka: Indexer Testattava metodi: findterms(sentence,map)

19 15 Parametrit : "kaulaliina virkkeenä,map" Testauksen tavoite: Testata, että yksi termi löydetään, kun indexer sisältää yhden AdjNHPattern hahmon ja se löytyy tekstistä. (Peruspolku 4/5) Odotettu tulos :Hajautustaulun sisältää yhden IndexData viitteen. Testattava luokka: Indexer Testattava metodi: findterms(sentence,map) Parametrit : "kaulaliina virkkeenä,map" Testauksen tavoite: Testata, että yksi termi löydetään, kun indexer sisältää kaksi AdjNHPattern hahmoa ja hahmo löytyy tekstistä. (Peruspolku 5/5) Odotettu tulos :Hajautustaulun sisältää IndexData viitteen, gethowmanytimes() palauttaa 1 Testattava luokka: Indexer Testattava metodi: addterm(map,string) Parametrit : map, sinä Testauksen tavoite: Testata, että termiä ei lisätä tulokseen, kun se on lisätty hukkasanalistalle (Peruspolku 1/3) Odotettu tulos :Tulos ei sisällä yhtään termiä Testattava luokka: Indexer Testattava metodi: addterm(map,string) Parametrit : map, kaula#liina Testauksen tavoite: Testata, että termi lisätään tulokseen, kun sitä ei siellä vielä ole. (Peruspolku 2/3) Odotettu tulos :Tulos sisältää yhden IndexData viitteen Testattava luokka: Indexer Testattava metodi: addterm(map,string) Parametrit : map, kaula#liina Testauksen tavoite: Testata, että termi lisätään tulokseen, kun se on jo sinne lisätty yhteen kertaan. (Peruspolku 3/3) Odotettu tulos :Tulos sisältää yhden IndexData viitteen ja gethowmanytimes() palauttaa IndexMain IndexMain-luokka tarjoaa tekstimuotoisen käyttöliittymän indekseriin. Testattava luokka: samo.indexer.indexmain Testattava metodi: IndexMain(Config config, java.lang.string username, java.lang.string userpassword) Parametrit : null, null, null Testauksen tavoite: Miten selviydytään null parametreista. Odotettu tulos :Heittää poikkeuksen: samo.indexer.indexmainexception: Config can't be null! Testattava luokka: samo.indexer.indexmain Testattava metodi: IndexMain(Config config, java.lang.string username, java.lang.string userpassword)

20 16 Parametrit : validconfig, null, null Testauksen tavoite: Käyttäjätieto-parametrit null, luetaan config:sta Odotettu tulos :Luodaan IndexMain olio config:n käyttäjätiedoilla. Testattava luokka: samo.indexer.indexmain Testattava metodi: IndexMain(Config config, java.lang.string username, java.lang.string userpassword) Parametrit : validconfignouseraddr, null, null Testauksen tavoite: Käyttäjätiedot puuttuvat myös config:sta. Odotettu tulos :Ei käyttäjätietoja. Yritetään saada tietokantaan yhteys ilman. Tässä tapauksessa heittää poikkeuksen: The user property is missing. It is mandatory. Testattava luokka: samo.indexer.indexmain Testattava metodi: IndexMain(Config config, java.lang.string username, java.lang.string userpassword) Parametrit : validconfignouseraddr, samo_tester, testing Testauksen tavoite: Käyttäjätiedot puuttuvat myös config:sta. Odotettu tulos :Ei käyttäjätietoja tiedostossa, mutta parametrina.luo uuden IndexMainin parametreina annetuilla käyttäjätiedoilla. Testattava luokka: samo.indexer.indexmain Testattava metodi: reset() Testauksen tavoite: Testataan indeksin tyhjennys. Odotettu tulos :Tyhjentää tietokannan taulut käyttäen Index:iä. Testattava luokka: samo.indexer.indexmain Testattava metodi: void index(java.net.url sourceconfigurl) Parametrit : null Testauksen tavoite: Nullia ei voi hyväksyä parametriksi. Odotettu tulos :Heittää poikkeuksen: samo.indexer.indexmainexception: source address is null. Testattava luokka: samo.indexer.indexmain Testattava metodi: void index(java.net.url sourceconfigurl) Parametrit : TstIndexMain.java Testauksen tavoite: Tiedosto ei ole määrittelyn mukaista xml:ää Odotettu tulos :Heittää poikkeuksen: java.net.malformedurlexception: no protocol: samo/test/indexer/tstindexmain.java Testattava luokka: samo.indexer.indexmain Testattava metodi: void index(java.net.url sourceconfigurl) Parametrit : tstsrcwithtwist.xml Testauksen tavoite: Tiedosto on määrittelyn mukaista xml:ää, mutta kaikkia lueteltuja tiedostoja ei löydy. Odotettu tulos :Indeksoidaan tiedostossa määrätty materiaali sikäli mikäli löydetään. Antaa virheilmoituksen jokaisesta tiedostosta, jota ei löydy. Testattava luokka: samo.indexer.indexmain Testattava metodi: updateweights() Testauksen tavoite: Testataan painojen laskeminen.

21 17 Odotettu tulos :Laskee ja päivittää tietokantaan uudet painot. Testattava luokka: samo.indexer.indexmain Testattava metodi: static void usage() Testauksen tavoite: Kokeillaan käyttöohjeen tulostamista. Odotettu tulos :Tulostaa lyhyen käyttöohjeen suomeksi: --- Käyttö: Anna parametrit muodossa NIMI=ARVO, eli erota nimi ja arvo toisistaan '=' merkillä. Parametrit: NIMI ARVO systemconfig url osoite systeemi-konfiguraatiotiedostoon. PAKOLLINEN Loput parametrit ovat valinnaisia: sourceconfig url osoite lähde-konfiguraatiotiedostoon. Anna tämä jos haluat indeksoida jotain. username Anna käyttäjänimi, jos tietokanta edellyttää sitä, eikä sitä ole annettu systemconfig - tiedostossa. userpassword Anna salasana, jos tietokanta edellyttää sitä, eikä sitä ole annettu systemconfig - tiedostossa. reset YES tai NO. Oletusarvo on NO. Suoritetaan ennen indeksointia. updateweights YES tai NO. Oletusarvo on YES. Suoritetaan inedksoinnin jälkeen. --- Tekstikäyttöliittymä: metodi: public static void main(string[] args): Testattava luokka: samo.indexer.indexmain Testattava metodi: main(string[] args) Testauksen tavoite: Toiminta ilman parametreja. Tarvitsee vähintään parametrin systemconfig. Odotettu tulos : Tulostaa huomautuksen: 'Liian vähän argumentteja' sekä em. Ohjeen. Testattava luokka: samo.indexer.indexmain Testattava metodi: main(string[] args) Parametrit : systemconfig=file:samo/test/utils/tst_config.xml reset=bla Testauksen tavoite: Väärä arvo parametrilla reset. Käyttäjän tunnus ja salasana luetaan tiedostosta. Odotettu tulos : Tulostaa huomautuksen: Resetillä ei ole optiota 'BLA'. Ei alusteta Ei alusta tietokantaa. Käyttäjän tunnus ja salasana luetaan tiedostosta. Testattava luokka: samo.indexer.indexmain Testattava metodi: main(string[] args)

22 18 Parametrit : systemconfig=file:samo/test/utils/tst_config.xml updateweights=bla Testauksen tavoite: Väärä arvo parametrilla updateweights. Käyttäjän tunnus ja salasana luetaan tiedostosta. Odotettu tulos : Tulostaa huomautuksen: Update:lla ei ole optiota 'BLA'. Ei päivitetä painoja Ei päivitetä painoja Käyttäjän tunnus ja salasana luetaan tiedostosta. Testattava luokka: samo.indexer.indexmain Testattava metodi: main(string[] args) Parametrit : systemconfig=file:samo/test/utils/tst_config.xml reset=yes sourceconfig=file:samo/test/utils/tstconfigsrc.xml username=samo_indexer userpassword=hakupuu Testauksen tavoite: Toiminta oikeilla parametreilla. Myös käyttäjätiedot komentoriviparametreina. Odotettu tulos : Käyttää komentoriviparametreina annettuja käyttäjätietoja. Alustaa indeksin. Indeksoi annetun materiaalin. Päivittää painot (oletusarvoisesti) Occurrence DocumentRef- ja Predicate-luokkien geneerinen yliluokka, joka edustaa ilmentymää. Occurrence-oliolla on nimi ja painoarvo ja voi sisältää joukon Occurrence-olioita, jotka edustavat sen aliesiintymiä. Testattava luokka: samo.indexer.occurrence Testattava metodi: Occurrence() Testauksen tavoite: Testataan parametritonta konstruktoria. Odotettu tulos :Luo uuden Occurrence-olion jonka attribuutit nimi ja aliesiintymäjoukko ovat null ja paino 0.0 Testattava luokka: samo.indexer.occurrence Testattava metodi: Occurrence(String) Parametrit : sub Testauksen tavoite: Testataan konstruktoria, joka asettaa olion nimiattribuuttikenttään parametrin arvon. Odotettu tulos :Luo uuden Occurrence-olion jonka nimi on parametrina annettu, aliesiintymäjoukko null ja paino 0.0 Testattava luokka: samo.indexer.occurrence Testattava metodi: addoccurrence(occurrence occurrence) Parametrit : null Testauksen tavoite: Yritetään lisätä ilmentymälle yksi aliesiintymä joka on null. Odotettu tulos :Koska ilmentymällä ei ole aikaisempia aliesiintymiä, on sisäinen attribuutti, joukko occurrences null.sisäinen attribuutti, joukko occurrences pysyy nullina eikä mitään lisätä, koska parametri on null

23 19 Testattava luokka: samo.indexer.occurrence Testattava metodi: addoccurrence(occurrence occurrence) Parametrit : new Occurrence("sub") Testauksen tavoite: Yritetään lisätä ilmentymälle yksi aliesiintymä jonka nimi on 'sub'. Odotettu tulos :Koska ilmentymällä ei ole aikaisempia aliesiintymiä, luodaan sisäinen attribuutti, joukko occurrences, johon annettu aliesiintymä lisätään. Testattava luokka: samo.indexer.occurrence Testattava metodi: addoccurrence(occurrence occurrence) Parametrit : new Occurrence("sub2") Testauksen tavoite: Yritetään lisätä ilmentymälle toinen aliesiintymä jonka nimi on 'sub2'. Odotettu tulos :Uusi aliesiintymä lisätään joukkoon. Testattava luokka: samo.indexer.occurrence Testattava metodi: java.lang.string getname() Testauksen tavoite: Tarkistetaan palauttaako ilmentymän nimeksi null, jos nimeä ei ole annettu. Odotettu tulos :Koska ilmentymälle ei ole määrätty nimeä palauttaa null. Testattava luokka: samo.indexer.occurrence Testattava metodi: java.lang.string getname() Testauksen tavoite: Tarkistetaan palauttaako ilmentymän nimen, silloin kun se on määrätty. Odotettu tulos :Palauttaa ilmentymän nimen (String olio) silloin kun se on määrätty.. Testattava luokka: samo.indexer.occurrence Testattava metodi: java.util.set getoccurrences() Testauksen tavoite: Tarkistetaan palauttaako ilmentymän aliesiintymät tai null silloin kun aliesiintymiä ei ole. Odotettu tulos :Palauttaa joukon (Set olio) jossa on ilmentymän aliessintymät. Testattava luokka: samo.indexer.occurrence Testattava metodi: double getweight() Testauksen tavoite: Tarkistetaan palauttaako ilmentymän painoksi oletusarvon 0.0 silloin kun sitä ei ole määrätty. Odotettu tulos :Palauttaa ilmentymän painoksi 0.0 Testattava luokka: samo.indexer.occurrence Testattava metodi: double getweight() Testauksen tavoite: Tarkistetaan palauttaako ilmentymän painoksi määrätyn arvon.

24 20 Odotettu tulos :Palauttaa ilmentymän painoksi 0.5, joka sille on määrätty Testattava luokka: samo.indexer.occurrence Testattava metodi: null Parametrit : String name Testauksen tavoite: Tarkistetaan asettaako nimeksi null, silloin kun sitä ei ole määrätty. Odotettu tulos :Palauttaa ilmentymän painoksi null Testattava luokka: samo.indexer.occurrence Testattava metodi: setname(java.lang.string name) Parametrit : sub2 Testauksen tavoite: Tarkistetaan asettaako ilmentymän nimeksi määrätyn nimen. Odotettu tulos :Asettaa ilmentymän nimeksi 'sub2' Testattava luokka: samo.indexer.occurrence Testattava metodi: setweight(double _weight) Parametrit : 0.5 Testauksen tavoite: Tarkistetaan asettaako ilmentymän painoksi määrätyn painon. Odotettu tulos :Asettaa ilmentymän painoksi Predicate Index palauttaa, kutsuttaessa sen metodia getreferences paramterina annettua hakusanaa vastaan joukon DocRef olioita, jotka edustavat viittauksia resursseihin, joiden kuvauksessa hakusana on esiintynyt. DocRef olio sisältää joukon Predicate -olioita jotka edustavat ominaisuuksia (Property), joiden 'alla' literaalimuotoisissa objekteissa termi on esiintynyt. Index luo DocRef ja Predicate oliot tietokannan tietojen perusteella ja asettaa DocRefille sille kuuluvat Predicate:t kutsumalla toistuvasti DocRef:n metodia addpredicate(predicate). Testattava luokka: samo.indexer.predicate Testattava metodi: Predicate(String) Parametrit : null Testauksen tavoite: Testataan konstruktoria, joka saa parametrina predikaatin nimen. Odotettu tulos :Luo uuden predikaatin, jonka nimi on null Testattava luokka: samo.indexer.predicate Testattava metodi: Predicate(String) Parametrit : pred Testauksen tavoite: Testataan konstruktoria, joka saa parametrina predikaatin nimen. Odotettu tulos :Luo uuden predikaatin, jonka nimi on pred Testattava luokka: samo.indexer.predicate Testattava metodi: Predicate(String name, int occurrencesofterm) Parametrit : null, 5

25 21 Testauksen tavoite: Testataan konstruktoria, joka saa parametrina predikaatin nimen ja termin esiintymien lkm:n Odotettu tulos :Luo uuden predikaatin, jonka nimi on pred2 ja occurrencesofterm = 5 Testattava luokka: samo.indexer.predicate Testattava metodi: Predicate(String name, int occurrencesofterm) Parametrit : pred2, 5 Testauksen tavoite: Testataan konstruktoria, joka saa parametrina predikaatin nimen ja termin esiintymien lkm:n Odotettu tulos :Luo uuden predikaatin, jonka nimi on pred2 ja occurrencesofterm = 5 Testattava luokka: samo.indexer.predicate Testattava metodi: java.lang.string getname() Testauksen tavoite: Testataan metodia, joka palauttaa predikaatin nimen Odotettu tulos :Palauttaa predikaatin nimen 'pred2' Testattava luokka: samo.indexer.predicate Testattava metodi: setoccurrencesofterm(int occurrencesofterm) Parametrit : 4 Testauksen tavoite: Testataan metodia, joka asettaa predikaatin esiintymien määrän. Odotettu tulos :asettaa termin esiintymien lkm:ksi 4 Testattava luokka: samo.indexer.predicate Testattava metodi: setoccurrencesofterm(int occurrencesofterm) 32 Testauksen tavoite: Testataan metodia, joka asettaa predikaatin esiintymien määräksi 0 jos annettu arvo on < 0. Odotettu tulos :asettaa termin esiintymien lkm:ksi 0 Testattava luokka: samo.indexer.predicate Testattava metodi: int getoccurrencesofterm() Testauksen tavoite: Testataan metodia, joka palauttaa predikaatin esiintymien määrän. Odotettu tulos :palauttaa predikaatin esiintymien määrän RDFIndexer RDFIndexer-luokan luokkatestimateriaalina on käytetty testindexer1.rdf (liite 1) ja testindexer2.rdf (liite 2) tiedostoja. Testattava luokka: samo.indexer.rdfindexer Testattava metodi: RDFIndexer(Index, Indexer) Parametrit : null, null Testauksen tavoite: Kokeillaan miten reagoi null-parametreihin

26 22 Odotettu tulos :Heittää poikkeuksen: samo.indexer.rdfindexerexception: Index is null. Testattava luokka: samo.indexer.rdfindexer Testattava metodi: RDFIndexer(Index, Indexer) Parametrit : null, new Indexer(...) Testauksen tavoite: Kokeillaan miten reagoi null-parametreihin Odotettu tulos :Heittää poikkeuksen: samo.indexer.rdfindexerexception: Index is null. Testattava luokka: samo.indexer.rdfindexer Testattava metodi: RDFIndexer(Index, Indexer) Parametrit : new Index(... ), null Testauksen tavoite: Kokeillaan miten reagoi null-parametreihin Odotettu tulos :Heittää poikkeuksen: samo.indexer.rdfindexerexception: Indexer is null. Testattava luokka: samo.indexer.rdfindexer Testattava metodi: RDFIndexer(Index, Indexer) Parametrit : new Index(... ), new Indexer(... ) Testauksen tavoite: Annetaan kunnolliset Index ja Indexer. Nyt pitäisi toimia. Odotettu tulos :Luo uuden RDFIndexer:n koitetaan indeksoida ennen haluttujen ominaisuuksien kertomista Testattava luokka: samo.indexer.rdfindexer Testattava metodi: index(reader rdfdata) Parametrit : Syötetään tiedosto testindexer1.rdf Testauksen tavoite: Katsotaan miten toimii, kun mitään filtteriä ei ole asetettu. Odotettu tulos :Indeksoi kaikki literaalit, mitä löytää kyselyllä (?about,?predicate,?object ) Tyhjennetään tietokanta välillä. Testattava luokka: samo.indexer.rdfindexer Testattava metodi: setfilter( List wantedproperties ) Parametrit : Asetetaan Halutut propertyt: Propertyt samo ja rdfs nimiavaruuksissa: Testauksen tavoite: Tarkistetaan filtterin toiminta. Odotettu tulos :Asettaa nämä indeksoitaviksi ominaisuuksiksi. Testattava luokka: samo.indexer.rdfindexer Testattava metodi: index(reader rdfdata) Parametrit : indeksoidaan taas tiedosto testindexer1.rdf Testauksen tavoite: Katsotaan vaikuttaa äskeinen filtterin asetus indeksointiin. Odotettu tulos :Nyt indeksoidaan vain halutut ominaisuudet.

27 23 Testattava luokka: samo.indexer.rdfindexer Testattava metodi: index(reader rdfdata) Parametrit : indeksoidaan tiedosto testindexer2.rdf Testauksen tavoite: Tiedostosta löytyvällä dokumentilla on vain propertyt rdfs:label ja samo:kuvaus Odotettu tulos :Nyt indeksoidaan em. ominaisuudet. kuriositeettina labelista ('Ahdin luo pääsi kuusi alamaista') saadut termit: kuu, ahti alamainen 2.2 Fdg Paketti fdg sisältää luokat Token, ThreadException, Sentence, SentenceParseException, SentenceFactor ja SocketFdg. jotka tarvitaan tekstin morfologiseen analysoimiseen. Huomaa, että fdg-paketin luokkatestit eivät ole toisistaan riippumattomia, vaan ne täytyy suorittaa järjestyksessä Token Morfologinen analyysi kohdistuu virkkeisiin, jotka muodostuvat Tokeneista (sanoista). *****************************************************+ Testataan Token luokkaa.luodaan yksi token, jota testataan. Testit eivät ole riippumattomia toisistaan, vaan ne täytyy suorittaa järjestyksessä. ***************************************************** Testattava luokka: Token Testattava metodi: Token(int) Parametrit : 1 Testauksen tavoite: Testata, että konstruktori toimii. Odotettu tulos :Pitäisi onnistua Testattava luokka: Token Testattava metodi: getposition() Parametrit : Testauksen tavoite: Testata metodia getposition(). Odotettu tulos :1 Testattava luokka: Token Testattava metodi: setword(string) Parametrit : is Testauksen tavoite: Testata onnistuuko sanan asettaminen. Odotettu tulos :Sanamuoto on is Testattava luokka: Token Testattava metodi: getword() Parametrit : Testauksen tavoite: Testata palauttaako getword() oikein.

28 24 Odotettu tulos :is Testattava luokka: Token Testattava metodi: setlemma(string) Parametrit : be Testauksen tavoite: Testata onnistuuko perusmuodon asettaminen Odotettu tulos :Perusmuoto on be Testattava luokka: Token Testattava metodi: getlemma() Parametrit : Testauksen tavoite: Testata palauttaako getlemma() oikein Odotettu tulos :be Testattava luokka: Token Testattava metodi: addtag(string) Parametrit : &NH Testauksen tavoite: Testata onnistuuko tägin lisääminen. Odotettu tulos :containstag(&nh) palauttaa true,containstag(v) palautta false Testattava luokka: Token Testattava metodi: addtag(string) Parametrit : V Testauksen tavoite: Testata onnistuuko tägin lisäminen Odotettu tulos :containstag(&nh) palauttaa true,containstag(v) palautta true ThreadException ThreadException tarjoaa tavan välittää säikeen suorituken aikana tapahtunut poikkeus metodin kutsujalle. *****************************************************+ Testataan ThreadException luokkaaa.luodaan yksi exception, jota testataan. Testit eivät ole riippumattomia toisistaan, vaan ne täytyy suorittaa järjestyksessä. ***************************************************** Testattava luokka: ThreadException Testattava metodi: ThreadException() Parametrit : Testauksen tavoite: Testata konstruktoria. Odotettu tulos :getexception() palautaa null. Testattava luokka: ThreadException Testattava metodi: setexception(exception) Parametrit : new Exception() Testauksen tavoite: Testata poikkeuksen asettamista. Odotettu tulos :getexception() palautaa asetetun poikkeuksen.

Sisällön automaattinen moniluokittelu Toteutusdokumentti v0.6

Sisällön automaattinen moniluokittelu Toteutusdokumentti v0.6 Sisällön automaattinen moniluokittelu Toteutusdokumentti v0.6 Helsinki 29. marraskuuta 2002 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti Samo Marko Konttinen Tarmo Pellikka

Lisätiedot

Sisällön automaattinen moniluokittelu

Sisällön automaattinen moniluokittelu Sisällön automaattinen moniluokittelu Käyttöohje v0.2 Helsinki 3. joulukuuta 2002 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti samo Marko Konttinen Tarmo Pellikka Pia

Lisätiedot

Sisällön automaattinen moniluokittelu Suunnitteludokumentti v1.01

Sisällön automaattinen moniluokittelu Suunnitteludokumentti v1.01 Sisällön automaattinen moniluokittelu Suunnitteludokumentti v1.01 Helsinki 4. marraskuuta 2002 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti samo Marko Konttinen Tarmo

Lisätiedot

Convergence of messaging

Convergence of messaging Convergence of messaging Testaussuunnitelma The Converge Group: Mikko Hiipakka Anssi Johansson Joni Karppinen Olli Pettay Timo Ranta-Ojala Tea Silander Helsinki 20. joulukuuta 2002 HELSINGIN YLIOPISTO

Lisätiedot

Lohtu-projekti. Testaussuunnitelma

Lohtu-projekti. Testaussuunnitelma Lohtu-projekti Testaussuunnitelma Versiohistoria: 1.0 19.2.2003 1. versio Mari 1.1 20.2.2003 Muutoksia Mari 1.2 25.2.2003 Katselmoinnissa esiin tulleet Mari muutokset 1.3 17.3.2003 2. syklissä tehtävät

Lisätiedot

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

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

Sisällön automaattinen moniluokittelu. Määrittelydokumentti Versio 1.2

Sisällön automaattinen moniluokittelu. Määrittelydokumentti Versio 1.2 Sisällön automaattinen moniluokittelu Määrittelydokumentti Versio 1.2 Helsingin yliopisto Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojektiryhmä 5. Sisällön automaattinen moniluokittelu (Samo)

Lisätiedot

4. Luokan testaus ja käyttö olion kautta 4.1

4. Luokan testaus ja käyttö olion kautta 4.1 4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään

Lisätiedot

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

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausraportti Orava Helsinki 5.5.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Juhani Bergström Peter

Lisätiedot

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006 TURUN YLIOPISTO DEMO III Informaatioteknologian laitos tehtävät Olio-ohjelmoinnin perusteet / Salo 15.2.2006 1. Tässä tehtävässä tarkastellaan erääntyviä laskuja. Lasku muodostaa oman luokkansa. Laskussa

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public) Tietorakenteet JAVA-OHJELMOINTI Osa 5: Tietorakenteita Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto Olioita ja tietoja voidaan organisoida määrämuotoisiksi tietorakenteiksi Hyödyllisiä

Lisätiedot

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

Lohtu-projekti. Testiraportti. Versiohistoria: syklin toteutuksen testit. 1. ajo Virve Lohtu-projekti Testiraportti Versiohistoria: 1.0 6.5.2003 2. syklin toteutuksen testit. 1. ajo Virve Helsinki 6. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja, Mari Muuronen, Seppo Pastila, Virve Taivaljärvi

Lisätiedot

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

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely

Lisätiedot

Listarakenne (ArrayList-luokka)

Listarakenne (ArrayList-luokka) Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen

Lisätiedot

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

Lisätiedot

T Testiraportti - integraatiotestaus

T Testiraportti - integraatiotestaus T-76.115 Testiraportti - integraatiotestaus 16. huhtikuuta 2002 Confuse 1 Tila Versio: 1.1 Tila: Päivitetty Jakelu: Julkinen Luotu: 19.03.2002 Jani Myyry Muutettu viimeksi: 16.04.2002 Jani Myyry Versiohistoria

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Mikä yhteyssuhde on?

Mikä yhteyssuhde on? 1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String

Lisätiedot

Testaussuunnitelma. Ohjelmistotuotantoprojekti XPerf. Helsingin yliopisto. Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Ohjelmistotuotantoprojekti XPerf. Helsingin yliopisto. Tietojenkäsittelytieteen laitos Helsingin yliopisto Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti XPerf Testaussuunnitelma Tommi Koivula Antti Levomäki Juha Mondolin Timo Suomela Versio 1.0 28. maaliskuuta 2003 Versiohistoria

Lisätiedot

T Testiraportti - järjestelmätestaus

T Testiraportti - järjestelmätestaus T-76.115 Testiraportti - järjestelmätestaus 18. huhtikuuta 2002 Confuse 1 Tila Versio: 1.0 Tila: Päivitetty Jakelu: Julkinen Luotu: 18.04.2002 Jani Myyry Muutettu viimeksi: 18.04.2002 Jani Myyry Versiohistoria

Lisätiedot

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja

Lisätiedot

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjelmiston testaus ja laatu. Testausmenetelmiä Ohjelmiston testaus ja laatu Testausmenetelmiä Testausmenetelmiä - 1 Testauksen menetelmien päälähestymistapoina ovat black-box testi testaaja ei voi tutkia lähdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa

Lisätiedot

58160 Ohjelmoinnin harjoitustyö

58160 Ohjelmoinnin harjoitustyö 58160 Ohjelmoinnin harjoitustyö Testaus 30.3.2009 Tuntiop. Sami Nikander sami.nikander@helsinki.fi 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 1 Testaus Ohjelman systemaattista tutkimista

Lisätiedot

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen Yksikkötestaus Kattava testaus Moduulitestaus Ohjelman testaus 1 Kattava testaus Testauksen perimmäinen tarkoitus on LÖYTÄÄ VIRHEITÄ Testaus pitäisi olla täydellinen: - Jokainen pyydetty arvo pitäisi testata

Lisätiedot

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri Testausraportti Oppimistavoitteiden hallintajärjestelmä harri Helsinki 13.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti

Lisätiedot

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

Luokan sisällä on lista

Luokan sisällä on lista 1 Luokan sisällä on lista Luokan sisällä lista Listan sisältävä luokka Konstruktorit get-metodi Lista muissa metodeissa addxx-metodi Yksinkertainen pääohjelma Kertauksen List-luokan metodeja 1 Luokan sisällä

Lisätiedot

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Tehtävä 1: Metodit, listat, alkuluvut (4p) Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ). Alkuluvut ovat lukuja, jotka ovat suurempia kuin yksi ja jotka ovat jaollisia

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Sisällys. 14. Poikkeukset. Johdanto. Johdanto Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla

Lisätiedot

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

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma PULSU Syksy 2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Heikki Manninen Noora Joensuu

Lisätiedot

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä keskustelualuetta simuloiva olioperustainen ohjelma (Simple Oope Board, S.O.B). Linkitetystä listasta perittyä omaa listaa käytetään muun muassa

Lisätiedot

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

TESTIRAPORTTI - XMLREADER-LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2) TESTIRAPORTTI - XMLREADER-LUOKKA Versio 1.0 (luonnos 2) Copyright Comptel Oyj i Sisällysluettelo 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin

Lisätiedot

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0 TESTIRAPORTTI - VYM JA KANTA Versio 1.0 i Sisällysluettelo 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI 3 2.1. Testauksen

Lisätiedot

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

Ohjelmointi 2 / 2010 Välikoe / 26.3

Ohjelmointi 2 / 2010 Välikoe / 26.3 Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään

Lisätiedot

9. Periytyminen Javassa 9.1

9. Periytyminen Javassa 9.1 9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.

Lisätiedot

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Graafinen käyttöliittymä lintujen rengastusjärjestelmään Graafinen käyttöliittymä lintujen rengastusjärjestelmään Testausdokumentti Versiohistoria: 0.1 26.03.2002 Ensimmäinen luonnos. Mari Jaakkola, Vesa Teikari Helsinki, 26. maaliskuuta 2002 Markus Päivinen

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät

Lisätiedot

14. Poikkeukset 14.1

14. Poikkeukset 14.1 14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla

Lisätiedot

Javan perusteita. Janne Käki

Javan perusteita. Janne Käki Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).

Lisätiedot

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. 1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

Lisätiedot

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan soveltamista List-luokan metodeja Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen 1 List-luokan metodeja List-luokan

Lisätiedot

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 TESTIRAPORTTI - XMLREADER LUOKKA i Sisällysluettelo 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI 3 2.1. Testauksen

Lisätiedot

9. Periytyminen Javassa 9.1

9. Periytyminen Javassa 9.1 9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.

Lisätiedot

Testausdokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausdokumentti NJC2 Helsinki 29.4.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli Jokinen

Lisätiedot

7. Oliot ja viitteet 7.1

7. Oliot ja viitteet 7.1 7. Oliot ja viitteet 7.1 Sisällys Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden sijoitus. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona. Viite metodin

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

T Testiraportti - integraatiotestaus

T Testiraportti - integraatiotestaus T-76.115 Testiraportti - integraatiotestaus 22. maaliskuuta 2002 Confuse 1 Tila Versio: 1.0 Tila: Päivitetty Jakelu: Julkinen Luotu: 19.03.2002 Jani Myyry Muutettu viimeksi: 22.03.2002 Jani Myyry Versiohistoria

Lisätiedot

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

Testaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Ohjelmistotuotantoprojekti Nero Helsinki 5.11.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä

Lisätiedot

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -

Lisätiedot

16. Javan omat luokat 16.1

16. Javan omat luokat 16.1 16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO

TAMPEREEN TEKNILLINEN YLIOPISTO TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 06.09.2005 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ

Lisätiedot

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

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria Sivu: 1 / 10 Testausdokumentti Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto Versiohistoria Versio Päivitykset 0.4 Lisätty mod_form.php -tiedostoon liittyvät testit 0.5 Lisätty johdanto 1.0 Dokumentti

Lisätiedot

Testaussuunnitelma NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma NJC2 Helsinki 31.3.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli

Lisätiedot

7. Näytölle tulostaminen 7.1

7. Näytölle tulostaminen 7.1 7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio

Lisätiedot

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä LUOKAN MÄÄRITTELY Luokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion muodostimet ja luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Olion kopioiminen

Lisätiedot

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

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma PUSU-ryhmä Helsinki 13.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Jussi Hynninen

Lisätiedot

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely 1 Ominaisuudet Kun tutkimme työasemapohjaisia sovelluksiamme, tarvitaan joskus tietoa: mikä on käyttöjärjestelmä mikä on käytössä oleva

Lisätiedot

Testaussuunnitelma Labra

Testaussuunnitelma Labra Testaussuunnitelma Labra Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Anssi Kapanen,

Lisätiedot

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002 JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä

Lisätiedot

Poikkeustenkäsittely

Poikkeustenkäsittely 1 Poikkeustenkäsittely Mitä poikkeustenkäsittely tarkoittaa? Poikkeuksen käsitteleminen Poikkeusluokkien hierarkia Poikkeuksen heittäminen 1 Mitä poikkeustenkäsittely tarkoittaa? Poikkeus (Exception) on

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma. Välikoe / 20.3 Vastaa neljään (4) tehtävään. Jos vastaat 5:een, 4 huonointa arvostellaan. Kunkin tehtävän vastaus eri konseptille. 1. Pöytätesti Pöytätestaa seuraava ohjelma. Tutki ohjelman toimintaa pöytätestillä

Lisätiedot

Harjoitus 5 (viikko 48)

Harjoitus 5 (viikko 48) Moni tämän harjoituksen tehtävistä liittyy joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Harjoitustyö edistyy sitä paremmin, mitä enemmän tehtäviä ratkaiset. Mikäli tehtävissä on jotain

Lisätiedot

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä Versiohistoria: Versio: Pvm: Laatijat: Muutokset: 0.1 2006 12 09 Jani Eränen Alustava DOKUMENTIN TILA: Alustava Valmis Tarkastettu

Lisätiedot

Testausdokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausdokumentti NJC2 Helsinki 26.4.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli Jokinen

Lisätiedot

14. Poikkeukset 14.1

14. Poikkeukset 14.1 14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.

Lisätiedot

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Sisällys. 14. Poikkeukset. Johdanto. Johdanto Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.

Lisätiedot

Harjoitustyön testaus. Juha Taina

Harjoitustyön testaus. Juha Taina Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida

Lisätiedot

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1 Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1 Jani Heikkinen Jukka Larja Kim Nylund Liia Sarjakoski 30. marraskuuta 2004 1 Sisältö 1 Sisään- ja uloskirjautuminen 3 1.1 Testitapaus F1-TC1................................

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien

Lisätiedot

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

Testaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Asdf Helsinki 22.2.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Kuisma Sami Louhio

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

Lisätiedot

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 6. Metodit 6.1 Sisällys Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 Oliot viestivät metodeja kutsuen Olio-ohjelmoinnissa ohjelma

Lisätiedot

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

Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Määrittelydokumentti NJC2 Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli

Lisätiedot

Ohjelmointi 2, välikoe

Ohjelmointi 2, välikoe Ohjelmointi 2, välikoe 21.3.2014 Vastaa neljään tehtävään kuudesta siten, että jokainen tehtävä tulee omalle konseptilleen. Mikäli vastaat useampaan kuin neljään tehtävään, pisteiden laskussa huomioidaan

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap Tietorakenneluokkia ja -rajapintoja Java tarjoaa laajan kokoelman tietorakennerajapintoja ja - luokkia. Aiemmin

Lisätiedot

20. Javan omat luokat 20.1

20. Javan omat luokat 20.1 20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

812341A Olio-ohjelmointi Peruskäsitteet jatkoa 812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka

Lisätiedot

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

HAME PostGIS-tietokanta

HAME PostGIS-tietokanta HAME PostGIS-tietokanta Harmonisoidut maakuntakaavat e-palveluiksi (HAME) VSL 10.12.2019 HAME-hankkeelle maakuntakaavoja varten rakennettu PostGIS-serveri sijaitsee Lounaistiedon AWS (Amazon Web Service)

Lisätiedot

Semantic Web - Metadata Editor

Semantic Web - Metadata Editor Semantic Web - Metadata Editor Ohjelmistotuotantoprojekti Ohjelmistotuotantoryhmä 1, Meedio Mikko Apiola (M.A) Ari Inkovaara (A.I) Miikka Junnila (M.J) Justus Karekallas (J.K) Pekko Parikka (P.P) Helsinki

Lisätiedot