Semantic Web - Metadata Editor

Koko: px
Aloita esitys sivulta:

Download "Semantic Web - Metadata Editor"

Transkriptio

1 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 30. elokuuta 2002 Testausdokumentti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

2 Versiohistoria i Versio Päivämäärä Laatija Komentti Pekko Parikka Dokumentin runko Justus Karekallas Lopullinen versio

3 Sisältö ii 1 Johdanto (P.P.) Testatun ohjelmiston kuvaus Testausdokumentin suhde testaussuunnitelmaan Miksi testaus tehty siinä laajudessa kuin se on? Kuinka ohjelma olisi voitu testata, jos aikaa olisi ollut enemmän Moduulitestaus (J.K.) Ohjain (M.A.) MDEController-luokka MDEException-luokka XML-käsittelijä (A.I.) XMLHandler White box -testaus Black box -testaus XMLElement White box -testaus Black box -testaus RDF-käsittelijä (M.A.) MDEClass MDEProperty MDEOntologyHandler MDEInstanceHandler MDEQueryHandler

4 iii 5 Tiedostonkäsittelijä (J.K.) XmlCardIdentifier-luokka White box-testaus Black box -testaus MDEJoint-luokka White box-testaus Black box -testaus MDEXmlFile-luokka White box-testaus Black box -testaus MDEJointFile-luokka White box-testaus Black box -testaus MDEFileHandler-luokka White box-testaus Black box -testaus XMLFileHandler-luokka Käyttöliittymämoduuli (M.J.) 18 7 Integrointitestaus (J.K.) Ohjain ja tiedostonkäsittelijä (J.K) Testiluokka 1 (FHControllerIntegrationTest1) Testiluokka 2 (FHControllerIntegrationTest2) Testiluokka 3 (FHControllerIntegrationTest3) Testiluokka 4 (FHControllerIntegrationTest4)

5 8 Validointitestaus (Meedio) 22 iv 9 Suorituskyky (Meedio) Tiedossa olevat virheet (Meedio) Yhteenveto(Meedio) Viittaukset lähteisiin (P.P.) 26

6 1 Johdanto (P.P.) 1 Tässä dokumentissa on tarkoitus kuvata kuinka Meedio-ohjelmisto on testattu. Testausta on pyritty tekemään jatkuvasti, jotta ei tarvitsisi lopuksi testata kerralla isoa ohjelmaa. Eri osajärjestelmien tekijät ovat testanneet itse omia koodejansa white-box menetelmällä toteutuksen kanssa samanaikaisesti. Virheet on korjattu löydettäessä. Ohjelmistolle on tehty myös moduulitestausta black-box menetelmällä käyttäen JUnit testikehystä. Tässä testauksessa testaajana on ollut eri henkilö kuin moduulin tekijä. Yksittäisten moduulien testauksen lisäksi tehtiin integrointitestausta ja validointitestausta, joissa testataan eri osajärjestelmien toimintaa yhdessä ja tarkistetaan määriteltyjen ominaisuuksien toteutuminen. Validointitestaus on tehty käyttäen käyttötapauksia, joilla on pyritty kattamaan kaikki määritellyt toiminnot. Sekä moduulitestausta että integrointitestausta ei kumpaakaan ole ehditty testaamaan suunnitellulla kattavuudella johtuen aikataulun niukkuudesta. Moduulitestauksen ja integrointitestauksen arvoaluetestaus tehtiin molemmat pääosin käyttöliittymän avulla integroitaessa käyttöliittymää ohjaimeen. Koko järjestelmälle ei huolellista integrointitestausta ole ehditty tekemään, mutta osajärjestelmät on kyllä pyritty testaamaan. 1.1 Testatun ohjelmiston kuvaus Testattava ohjelmisto on Meedio metadataeditori, jolla luodaan instansseja RDF(S) muotoisesta ontologiasta, eli tehdään RDF-muotoista semanttista luokittelua. Ohjelmalla luetaan XML-muotoista esinedataa, joka on tuotettu museoiden esinetietokannasta. Tuosta XML-datasta luodaan esine-instansseja. Ohjelmisto on tuotettu Java-ohjelmointikielellä ja se toimii sekä Windows että Linux ympäristöissä ja Netscape Navigator sekä Internet Explorer selaimilla. Ohjelmisto tuotetaan Finnish Museums Online (FMO) projektille Helsingin yliopiston tietojenkäsittelytie-

7 2 teen laitoksen ohjelmistotuotantoprojekteissa Testausdokumentin suhde testaussuunnitelmaan Testaussuunnitelmassa kuvataan kuinka ohjelmisto tullaan testaamaan ja mitkä ohjelmiston osat testataan. Aikataulun niukkuuden vuoksi ja työn laajuuden vuoksi testaussuunnitelmaa ei ole täysin voitu noudattaa. Testaussuunnitelmassa esitetyistä osajärjestelmistä XML-käsittelijä ja tiedostonkäsittelijä ovat testattu kokonaan. Käyttöliittymää on testattu paljon lukuisissa eri yhteyksissä, joten käyttöliittymää ei ole erikseen tarvinnut testata. Käyttöliittymän testauksen yhteydessä on myös muita ohjelman osajärjestelmiä testattu, esimerkiksi RDF-käsittelijän testaaminen on suoritettu pääasiallisesti käyttöliittymän avulla. Myös ohjaimen testaus on suurimmalta osalta tehty käyttöliittymän avulla. Ohjaimelle ei ole tehty erillistä yksikkötestausta, sillä ei ole ollut mielekästä tehdä kaikista ohjaimen alla olevista alijärjestelmistä tynkäversioita ohjaimen yksikköterstaamista varten. Ohjaimen testaus on siis suoritettu suoraan integrointitestauksen yhteydessä. 1.3 Miksi testaus tehty siinä laajudessa kuin se on? Ajanpuutteesta johtuen ohjelmaa ei saatu testattua niin laajasti ja huolellisesti kuin olisi haluttu. Ohjelmiston testaamiselle jäi erittäin vähän aikaa projektin lopussa johtuen toteutusvaiheen viivästymisestä. Jotta mahdollisimman paljon virheitä olisi löydetty mahdollisimman lyhyessä ajassa, on käyttöliittymällä tehty erilaisia käyttötapaustestejä melko paljon. Tämä menetelmä oli tehokkaampi paljastamaan virheitä kuin huolellisen moduulitestauksen. Näin on myös pyritty varmistumaan siitä, ettei järjestelmään mahdollisesti jäävät virheet haittaisi kohtuuttomasti loppukäyttäjää. Käyttöliittymäl-

8 lä testaamisella pyrittiin myös varmistumaan siitä, että ohjelmisto toimii oikein suurimmassa osaa normaalikäyttötapauksia Kuinka ohjelma olisi voitu testata, jos aikaa olisi ollut enemmän Jos aikaa olisi ollut käytössä runsaasti, olisi ohjelma voitu testata ohjelmistotuotantokurssilla esitetyllä kunnollisella hyvällä testausstrategialla, johon kuuluu erilliset moduulitestaus, integrointitestaus ja validointitestaus. Ohjelmiston kaikki osajärjestelmien luokat, paitsi käyttöliittymän, olisi voinut testata huolellisella yksikkötestauksella. Integrointitestauksessa olisi voitu käyttää järjestelmällisesti bottom-up-testausta, jossa oltaisiin edetty alhaalta ylöspäin. Eli ensin olisi integroitu ohjain ja tiedostonkäsittelijä, sitten ohjain ja xml-käsittelijä sekä lopuksi ohjain ja rdf-käsittelijä. Nyt meidän piti integroida kaikkia näitä osajärjestelmiä yhtä aikaa, jonka tähden ei voitu tehdä kunnollista laajaa integrointitestausta kullekin osajärjestelmälle. 2 Moduulitestaus (J.K.) Moduulitestauksessa pyrittiin varmistamaan ohjelman eri osajärjestelmien toiminta omina yksikköinään. Osajärjestelmien yhteistoiminnan testaus on tehty integrointitestauksen yhteydessä. Moduulitestaus on jaettu kahteen osaan. Ensimmäisessä osassa on testattu jokaisen ohjelmiston osajärjestelmän yksittäisten luokkien toimintaa. Testaus on suoritettu White box -menetelmää käyttäen ja sen on suorittanut kyseessä olleen luokan toteuttaja. Toisessa moduulitestauksen osassa on testattu osajärjestelmän toimintaa, kun kaikki sen luokat ovat valmiit ja White box-testatut. Tarkoituksena on ollut osajärjestelmän luokkien yhteistoiminnan testaaminen Black box -menetelmällä. Kaikkia ohjelman luokkia ei ehdit-

9 4 ty testata black box-menetelmää käyttäen, joten testaamatta jääneiden luokkien toimintaa on testattu integrointitestauksen yhteydessä. Black box -menetelmällä testattiin ainoastaan xml-käsittelijä sekä tiedostonkäsittelijä. Black box -testaus suoritettiin JUnit-testausympäristössä ja White box- testaus suoritettiin normaaleina Javan testiluokkina. 2.1 Ohjain (M.A.) Ohjaimeen kuuluu yksi luokka, jonka välityksellä käyttöliittymämoduli kommunikoi järjestelmän muiden osioiden kanssa. Tämän luokan nimi on MDEController. Kaiken toiminnan keskittäminen ohjaimen hallintaan mahdollistaa käyttöliittymän vaihtamisen järjestelmään mahdollisimman vaivattomasti. Kommunikointi käyttöliittymän ja ohjaimen välillä noudattaa suurin piirtein asiakaspalvelin-mallin mukaista rakennetta. Järjestelmä on siis helposti muutettavissa myös niin, että käyttöliittymä kutsuu ohjainta tietoliikenneyhteyden yli MDEController-luokka Luokan tarkoitus on toimia järjestelmässä muiden osioiden ohjaimena. Ohjaimen kutsumisesta vastaa pääasiassa käyttöliittymä. Ohjaimen metodit ovat varsin yksinkertaisia, ja useimmat välittävät vain kutsun siitä vastaavalle järjestelmän osalle. Kaikki luokan metodit on todettu toimiviksi perusteellisilla testauksilla sekä erillisten testiohjelmien, että käyttöliittymän avulla. Ajanpuutteen vuoksi ei varsinaisia testiluokkia ja/tai Junit-testausta ehditty suorittaa.

10 MDEException-luokka MDEException-luokka säilöö tiedon yksittäisestä järjestelmässä tapahtuneesta poikkeustilanteesta. Luokka on erittäin yksinkertainen, eikä sisällä varsinaisesti mitään toiminnallisuutta. Luokan toimivuus on varmennettu erillisen testiohjelman avulla. Ajanpuutteen vuoksi ei varsinaisia testiluokkia ja/tai Junit-testausta ehditty suorittaa. 3 XML-käsittelijä (A.I.) XML-käsittelijän tehtävänä on huolehtia XML-dokumenttien käsittelystä metadataeditorissa. XML-käsittelijä koostuu kahdesta luokasta XMLHandler ja XM- LElement. 3.1 XMLHandler Luokan tehtävänä on validoida annettu XML-Skeeman ilmentymä ja muodostaa annetusta XML-kortista XMLElement-olioita White box -testaus Luokka on testattu ohjelmistotuotantoprojekti WWWMUSEOn XML-datalla, jonka validoinnissa on käytetty kyseistä dataa varten luotuja XML-Skeemoja. Kun testaus suoritettiin, niin MDEController-luokka ei vielä ollut valmis. Tämän takia kofiguraatiotietojen lukemiseen on käytetty XMLFileHandleria. Tämä ei kuitenkaan vaikuttanut testin suorittamisen onnistumiseen. Testaus suoritettiin antamalla erilaisia XML-ilmentymiä ja -skeemoja luokalle.

11 6 Testauksessa ei löydetty virheitä ja luokka toimi kuten oli suunniteltu Black box -testaus Testaus toteutettiin Junit-testausympäristössä. Luokasta testattiin konstruktori, parse()-metodi, validate()-metodi sekä getelements()-metodi. Näistä parse()-metodi suorittaa yksittäisen xml-kortin parsinnan, validate()-metodi tarkistaa xml-tiedoston kelvollisuuden ja getelements()-metodi palauttaa xml-korteista tehdyt XMLElementoliot linkitettynä listana. Muita metodeja ei erikseen testattu, koska niitä käytetään sax-parserin kautta. Testauksessa ei löydetty virheitä. 3.2 XMLElement XMLElement-luokan tarkoitus on säilöä yksittäisen XML-elementin tietoja White box -testaus Luokan konstruktori ja kaikki sen metodit on testattu. Koska luokka on aksessoreita setattribute() ja getattributes() lukuunottamatta toteutettu JavaBean -oliomallin mukaisesti, kaikki set- ja get-metodit ovat hyvin yksinkertaisia. Tämän takia testauksessa on riittänyt yksi testiajo, jolla on varmistettu konstruktorin ja aksessoreiden toiminnan oikeellisuus Black box -testaus Black box-testauksessa käytettiin Junit-testausympäristöä. Testaus toteutettiin luomalla luokka MDEXmlFileTest, johon kaikki testit laadittiin. Testi suoritettiin ai-

12 noastaan kelvollisilla arvoilla, koska XMLElement-luokan aksessorit saa parametreinaan ainoastaan String-arvoja. Testauksessa ei havaittu virheitä. 7 4 RDF-käsittelijä (M.A.) RDF-käsittelijän tehtävänä on käsitellä RDF(s)-muotoista ontologiaa ja tuottaa sen mukaista RDF- tietoa. RDF-käsittelijä tarjoaa toiminnot joilla saadaan järjestelmän tarvitsemat tiedot ontologiasta esille, toiminnot RDF-instanssien käsittelyyn sekä instanssikyselyn tekemiselle RDF-tietokantaan. RDF-käsittelijä koostuu seuraavista luokista: MDEOntologyHandler (vastaa RDF(s)-muotoisen ontologian käsittelystä), MDEInstanceHandler (vastaa instanssien käsittelystä), MDEQueryHandler (vastaa instanssikyselyn tekemisestä rdf-tietokantaan), MDEClass (pitää sisällään tiedot yhdestä RDF-luokasta), MDEProperty (pitää sisällään tiedot yhdestä RDF-luokan ominaisuudesta). 4.1 MDEClass Luokan tarkoitus on säilyttää tietoa yksittäisestä RDF-luokasta (ja siitä luotavasta instanssista). Luokan konstruktori ja kaikki sen metodit on testattu. Luokka on varsin yksinkertainen, eikä sisällä varsinaisesti mitään toiminnallisuutta, ainoastaan set- ja get- tyyppisiä metodeita. Tämän takia testauksessa on riittänyt yksi testiajo, jolla on varmistettu konstruktorin ja aksessoreiden toiminnan oikeellisuus. Tämä testimetodi on kommentoituna MDEClass.java-lähdekooditiedostossa.

13 8 4.2 MDEProperty MDEProperty-luokan tarkoitus on säilyttää tietoa yksittäisestä RDF-luokan ominaisuudesta. Luokkaa käytetään tiedonvälitykseen järjestelmän RDF-osion, ohjaimen ja käyttöliittymän välillä. Järjestelmä varastoi MDEProperty-luokan olioita MDEClass-luokan properties-vektoriin. Luokan konstruktori ja kaikki sen metodit on testattu. Luokka on varsin yksinkertainen, eikä sisällä varsinaisesti mitään toiminnallisuutta, ainoastaan set- ja get- tyyppisiä metodeita. Tämän takia testauksessa on riittänyt yksi testiajo, jolla on varmistettu konstruktorin ja aksessoreiden toiminnan oikeellisuus. Tämä testimetodi on kommentoituna MDEProperty.java-lähdekooditiedostossa. 4.3 MDEOntologyHandler MDEOntologyHandler-luokka vastaa RDF(S)-muotoisen ontologian lukemisesta. Järjestelmässä MDEController-luokka kutsuu MDEOntologyHandler-luokan metodeja saadakseen tietoja ontologiasta. Luokan toiminta on testattu Protege2000-ohjelmalla luodulla "museoesineet.rdfsontologialla, sekä "tekstiiliontologia.rdfs-ontologialla. Molemmat näistä tiedostoista löytyvät ohjelman CD-ROM-levyltä. Kaikkien ontologiaan kohdistuvien operaatioiden toimivuus on varmistettu näiden ontologiatiedostojen kanssa perusteellisella testauksella sekä erillisten testiohjelmien, että käyttöliittymän avulla. Ajanpuutteen vuoksi ei varsinaisia testiluokkia ja/tai Junit-testausta ehditty suorittaa.

14 9 4.4 MDEInstanceHandler MDEInstanceHandler-luokka vastaa RDF-instansseja sisältävän tiedoston käsittelystä. Järjestelmässä MDEControllor-luokka kutsuu MDEInstanceHandler-luokan metodeja halutessaan lukea, tai kirjoittaa RDF-instansseja. Luokan toiminta on testattu Protege2000-ohjelmalla luodulla "museoesineet.rdfinstanssitiedostolla, sekä "tekstiiliontologia.rdf-instanssitiedostolla. Molemmat näistä tiedostoista löytyvät ohjelman CD-ROM-levyltä. Lisäksi on ajettu testejä, joissa luokalla kirjoitetaan tyhjään tiedostoon instansseja jotka on myöhemmin luettu luokan metodeilla uudelleen. Kaikkien operaatioiden (instanssien lukeminen, korvaaminen, poistaminen, lisääminen) on todettu toimiviksi perusteellisilla testauksilla sekä erillisten testiohjelmien, että käyttöliittymän avulla. Ajanpuutteen vuoksi ei varsinaisia testiluokkia ja/tai Junit-testausta ehditty suorittaa. 4.5 MDEQueryHandler Luokan tarkoitus on huolehtia instanssikyselyiden suorituksesta. RDFQueryHandlerluokan kutsuminen on järjestelmässä MDEController-luokan tehtävä. Luokan toiminta on testattu ajamalla erikseen laaditulla ohjelmalla "tekstiiliontologia.rdf-instanssitiedosto rdf-tietokantaan, ja suorittamalla luokalla tähän kantaan kyselyjä. Tietokantahaun toimivuus on testattu lukuisten testien avulla sekä erillisten testiohjelmien, että käyttöliittymän avulla. Ajanpuutteen vuoksi ei varsinaisia testiluokkia ja/tai Junit-testausta ehditty suorittaa.

15 5 Tiedostonkäsittelijä (J.K.) 10 Tiedostonkäsittelijän testaus on toteutettu käyttämällä Whitebox-menetelmää heti luokan valmistuttua. Blackbox- menetelmää on käytetty, kun kaikki luokat ovat valmistuneet ja testattu Whitebox-menetelmällä. Whitebox-testauksella on tutkittu luokan konstruktorien ja aksessorien toimintaa kaikilla mahdollisilla suorituspoluilla ja erilaisilla syötteillä. Luokista löytyneet virheet on korjattu välittömästi niiden havaitsemisen jälkeen. 5.1 XmlCardIdentifier-luokka Luokka on testattu sekä white box-testauksella että black box testauksella. White box-testauksen suoritti luokan tekijä, Justus Karekallas, ja black box-testauksesta vastasi Ari Inkovaara. Black box-testaus suoritettiin käyttäen Junit-testausympäristöä White box-testaus XmlCardIdentifier-luokan avulla on tarkoitus yksilöidä xml-kortit niin, että ne voidaan erottaa toisistaan yksikäsitteisesti. Luokan avulla kortille annetaan idtunnus, otsikko ja tilatieto. Lisäksi kortista luotu rdf-olion osoite tallennetaan XmlCardIdentifier-olioon. White box-testauksessa on testattu em. ominaisuuksia tallentavien ja hakevien toimintojen toimivuutta kaikilla suorituspoluilla. Luokka käsittelee vain Stringarvoja, joten vääriä arvoja ovat kaikki muut arvot paitsi String-arvot. Tästä syystä luokkaa ei olla testattu muilla kuin String-arvoilla. Testauksessa on keskitytty tutkimaan vain luokan konstruktorien ja aksessorien toimintaa. Testauksessa on testattu molempien konstruktorien toiminta luomalla yksi olio sekä parametrittomalla että parametrillisella konstruktorilla. Näitä kahta oliota

16 on sitten käytetty aksessorien testaamiseen. Kummallakin luodulla oliolla on testattu kaikkien aksessorien toimintaa. 11 Testauksen avulla todettiin alunperin suunniteltu kaksiparametrinen konstruktori tarpeettomaksi ja se poistettiin. Lisäksi luokkaan lisättiin kortin otsikkoa käsittelevät aksessorit ja kortin tilan String-muodossa tulostava aksessori. Testauksessa ei löydetty virheitä ja luokka toimi kuten oli suunniteltu Black box -testaus Testaus toteutettiin Junit-testausympäristössä. Luokan molemmat kostruktorit ja kaikki set- ja get-akssessorit testattiin. Testauksessa havaittin, että aksessorin getcardstate(string id) parametri id on turha. Muilta osin luokka havaittiin toimivaksi. 5.2 MDEJoint-luokka Luokka on testattu sekä white box-testauksella että black box testauksella. White box-testauksen suoritti luokan tekijä, Justus Karekallas, ja black box-testauksesta vastasi Ari Inkovaara. Black box-testaus tehtiin käyttäen Junit- testausympäristöä White box-testaus MDEJoint-luokka on tarkoitettu liitettyjen ominaisuuksien tiedoston perusteella luotavien olioiden käsittelyyn. Sen avulla luetaan liitettyjen ominaisuuksien tiedosto ja muodostetaan sen perusteella MDEJoint-olioita, jotka kuvaavat kyseisiä ominaisuuksia järjestelmän sisällä. Luokka käsittelee vain String-arvoisia muuttujia, joten luokka on testattu vain

17 12 käyttämällä String-arvoja. Kaikki muut arvot ovat virheellisiä syötteitä. Tämän vuoksi testaamisessa on keskitytty vain luokan konstruktorien ja aksessorien toiminnan testaamiseen. Luokasta on testattu molempien konstruktorien toiminta luomalla kaksi oliota, yksi kummallakin konstruktorilla. Kyseisiä olioita käyttämällä on testattu kaikkien aksessorien toiminta. Testauksen perusteella todettiin luokan toimivan suunnitellusti, eikä virheitä löydetty Black box -testaus Testaus toteutettiin Junit-testausympäristössä. Luokan molemmat konstruktorit sekä kaikki aksessorit lukuunottamatta tostring() -aksessoria testattiin. Testauksessa ei havaittu virheitä. 5.3 MDEXmlFile-luokka Luokka on testattu sekä white box-testauksella että black box testauksella. White box-testauksen suoritti luokan tekijä, Justus Karekallas, ja black box-testauksesta vastasi Ari Inkovaara. Black box-testaus tehtiin käyttäen Junit- testausympäristöä White box-testaus MDEXmlFile-luokan avulla luodaan tiedosto-olioita järjestelmän käyttöön. Luokka säilyttää tietoja xml-korteista, rdf-tiedostoista sekäxml-kortteja sisältävistä tiedostoista. Luokka tarjoaa välineet kyseisten tiedostojen tallentamiseen ja käsitte-

18 13 lyyn. Testaamisessa keskityttiin vain luokan toiminnan tutkimiseen oikeilla syötteillä, jotta saataisiin luokka toimimaan suunnitellusti. Luokasta testattiin kaikki konstruktorit ja aksessorit. Testauksessa havaittiin melko paljon virheitä ennenkuin luokka saatiin toimimaan suunnitellulla tavalla. Eniten ongelmia tuotti tiedostojen hakemistopolkujen käyttäminen sekä xml-korttien käsitteleminen. Myös tiedostojen tallentamisessa oli jonkin verran ongelmia. Havaittuja virheitä: Virheelliset hakupolut tiedostoja avattaessa ja tallentaessa. Tiedostojen käsittelyssä oli aluksi suuria hankaluuksia, koska ei ymmärretty kunnolla Javan tapaa käsitellä tiedostojen hakupolkuja. Ongelmat johtuivat siitä, että aluksi käytettiin tiedostojen luomisessa ja avaamisessa File-luokan konstruktoria File(String, String) väärin. Virhe syntyi, kun ensimmäiseksi parametriksi annettiin luokassa vakiona määritelty hakupolku ja toisena parametrina annettiin tallennettavan tiedoston koko hakupolku tiedoston nimineen. Seurauksena oli se, että hakupolkuun tuli tiedostoa edeltävät hakemistot kahteen kertaan. Esim. systemfiles/xmlfiles/systemfiles/xmlfiles/yodata.xml. Tilanne saatiin korjattu, kun ymmärrettiin antaa toiseksi parametriksi vain pelkkä tiedostonnimi. Xml-kortin virheellinen lukeminen ja tulostaminen Xml-kortteja lukeva aksessori ei aluksi osannut lukea kortteja oikein. Yksittäisen kortin lukemisen ja tulostamisen sijaan aksessori luki koko xml-tiedoston ja tulosti sen sisältämät kortit. Vika johtui siitä, että kyseinen aksessori ei osannut tehdä eroa korttien välillä, koska korttien alun ja lopun ilmoittavien kenttien tulkinta oli virheellistä. Virhe korjattiin siten, että parametrina annettiin myös kortin alun ja lopun kertovien kenttien nimet.

19 14 Xml-korttien tietojen virheellinen lukeminen ja asettaminen Xml-tiedoston läpikäyvä metodi luki aluksi korttien id-tunnisteen väärin siten, että joka tunnisteesta jäi viimeinen numero pois. Tästä seurasi se, että kortit tallennettiin väärillä id-tunnistetiedoilla. Siitä puolestaan oli seurauksena se, kyseisillä id-tiedoilla varustettuja kortteja ei löydetty xml-tiedostosta. Virhe korjattiin muuttamalla metodi siten, että korttien id-tunnisteiden lukeminen tehtiin oikein. Tyhjän rdf-tiedoston luominen Tyhjän rdf-ilmentymine tallentamiseen tarkoitetun tiedoston luominen ei onnistunut, koska Javassa ei tyhjän tiedoston luominen näytä olevan mahdollista. Ongelma korjattiin luomalla tiedosto, johon oli kirjoitettu yksi rivi Black box -testaus Testaus toteutettiin Junit-testausympäristössä. Luokan molemmat konstruktorit sekä kaikki aksessorit testattiin. Testauksessa ei havaittu virheitä. 5.4 MDEJointFile-luokka Luokka on testattu sekä white box-testauksella että black box testauksella. White box-testauksen suoritti luokan tekijä, Justus Karekallas, ja black box-testauksesta vastasi Ari Inkovaara. Blackbox-testaus tehtiin käyttäen Junit- testausympäristöä White box-testaus MDEJoinFile-luokka on tarkoitettu välineeksi, jolla liitettyjen ominaisuuksien tiedosto voidaan muokata järjestelmän käyttöön.

20 15 Luokan testauksessa on keskitytty vain sen tarjoamien välineiden toiminnan testaukseen, jotta luokka saataisiin toimimaan halutulla tavalla. Luokkaa on testattu vain kelvollisilla syötteillä. Luokassa on toteutettu myös useita metodeja, joita ei ollut tarkoitus toteuttaa. Näitä metodeja ei ole testattu. Testauksessa ei havaittu isoja virheitä. Ainoa ongelma oli liitettyjen ominaisuuksien tiedoston muokkaamisessa, mutta ne ratkaistiin muuttamalla kyseisen tiedoston ulkoasua Black box -testaus Testaus toteutettiin Junit-testausympäristössä. Luokan konstruktori sekä kaikki aksessorit testattiin. Testauksessa ei havaittu virheitä. 5.5 MDEFileHandler-luokka White box-testaus Luokka on testattu sekä white box-testauksella että black box testauksella. White box-testauksen suoritti luokan tekijä, Justus Karekallas, ja black box-testauksesta vastasi Ari Inkovaara. Black box-testaus tehtiin käyttäen Junit- testausympäristöä. MDEFileHandler-luokka vastaa koko järjestelmän tiedostonkäsittelystä. Sen avulla järjestelmän muut osat pääsevät käyttämään tiedostoja. Luokan testauksessa on kiinnitetty huomiota ainoastaan luokan tarjoamienpalvelujen toimivuuden tutkimiseen. Luokan toimivuutta ei ole testattu virheellisillä syötteillä.

21 16 Testauksessa havaittiin useita virheitä, joiden ansiosta koko tiedostonkäsittelijän toiminta oli puutteellista ja virheellistä. Tiedostojen tallennuksessa ja avaamisessa oli vikaa eikä MDEFileHandler-olioiden luominenkaan aluksi sujunut suunnitellusti. Tiedostojen kopioimisessa järjestelmän käyttöön oli vaikeuksia eikä xmlkorttien lukeminenkaan toiminut. Havaittuja virheitä: Olioiden luominen Luokasta puuttui aluksi parametriton konstruktori, mikä aiheutti sen, että tiedostojen avaaminen järjestelmän ulkopuolelta oli mahdotonta. Ongelma korjattiin tekemällä luokkaan parametriton konstruktori, joka ainoastaan avasi konfiguraatiotiedoston ja liitettyjen ominaisuuksien tiedoston. Aluksi oli myös tarkoitus, että MDEFileHandler-olioita voitaisiin luoda siten, että annetaan parametrina koko hakemistopolku, jonka päässä sijaitsee avattava xmltiedosto. Tarkoituksena oli se, että voitaisiin konstruoida olio suoraan järjestelmän ulkopuolisesta xml-tiedostosta. Tämä aiheutti kuitenkin ongelmia siksi, että konstruktorissa piti tarkistaa oliko kyseinen tiedosto jo järjestelmän hakemistossa. Testauksessa todettiin, että on parempi, jos olioita luodaan vain järjestelmän hakemistossa olevista tiedostoista. Tiedostojen tallentamatta jättäminen Luokassa esiintyi sellainen virhe, että avattaessa uutta xml-tiedostoa, unohdettiin tallentaa aiemmin käsitellyt tiedostot. Tiedostoihin tehdyt muutokset eivät siis jääneet voimaan. Virhe korjattiin lisäämällä kaikkiin tiedostoja avaaviin aksessoreihin rivit, jotka tallentavat edelliset tiedostot ennen uuden tiedoston avaamista. Konfiguraatiotiedoston lukeminen

22 17 Konfiguraatiotiedostoa luettiin aluksi väärin. Konfiguraatiotiedostoa lukeva metodi ei löytänyt parametrina annettua kenttää tiedostosta eikä siksi palauttanut mitään. Virhe johtui siitä, että parametrina annettu kentän nimi tulkittiin väärin. Virhe korjattiin muokkaamalla tiedostoa lukeva metodi toimimaan oikein. Uuden xml-tiedoston kopioiminen järjestelmän käyttöön Uuden tiedoston kopioiminen aiheutti aluksi ongelmia, koska Javassa ei ole mahdollista suoraan kopioida tiedostoa sisältöineen hakemistosta toiseen. Kun kopioimista yritettiin, oli seurauksen uuden samalla nimellä varustetun tyhjän tiedoston luominen järjestelmän hakemistoon. Pulma ratkaistiin siten, että luotiin järjestelmän käyttöön uusi samanniminen tiedosto, johon alkuperäinen tiedosto kirjoitettiin rivi kerrallaan. XmlCardIdentifierin virheellinen tallennus XmlCardIdentifier-olioiden tallennuksessa oli sellainen virhe, että avattaessa uutta tiedostoa käsiteltäväksi edellinen identifier-olio tallentui niinkuin pitikin. Ongelmia syntyi, kun tallennettiin uutta identifier-oliota, sillä se tallentui edellisen identifierin tilalle. Virhe korjaantui, kun uuden MDEFileHandler-olion luomisen sijaan luotiinkin vain uusi MDEXmlFile-olio "vanhaan"mdefilehandler-olioon Black box -testaus Testaus toteutettiin Junit-testausympäristössä. Luokan konstruktori sekä kaikki aksessorit testattiin. Testauksen alkuvaiheessa havaittiin, että koko luokka ei edes käänny. Kääntymisongelma osoittautui pelkästään kirjoitusvirheeksi. Luokan sisältä yritettiin kutsua luokan MDEXmlFile aksessoria getcardidentifiers() väärällä nimellä. Muita virheitä ei havaittu.

23 XMLFileHandler-luokka XMLFileHandler-luokka on tarkoitettu helpottamaan xml-korttien läpikäymistä. Luokassa on vain kaksi aksessoria, joista toinen etsii xml-korttien id-tunnukset xml-tiedostosta ja toinen etsii halutulla id-tunnuksella varustetun xml-kortin. Luokka toteutettiin vasta aivan projektin lopussa, joten sen testaaminen suoritettiin integrointitestauksen yhteydessä. Luokasta löytyi integrointitestauksessa kaksi virhettä. Ensimmäinen virhe oli oikeastaan enemmän puute kuin virhe, koska luokan valmistuttua havaittiin, että xml-kortteja läpikäyvä aksessori ei etsinyt korttien otsikoita ollenkaan. Lisäksi aksessori palautti löytämänsä id-tunnukset String-taulukkona, vaikka tarkoituksena oli palauttaa XmlCardIdentifier- taulukko. Ongelma korjattiin lisäämällä aksessoriin kortin otsikon hakeva osio sekä osiot, jotka loivat uusia XmlCardIdentifierolioita ja sijoittivat ne palautettavaan taulukkoon. Toinen havaittu virhe oli yhden parametrin unohtuminen xml-kortin palauttavassa metodissa rivillä, jossa oli lause: trans.transform(new DOMSource(e), result). Puuttuva parametri oli uuden DOMSource-olion parametri e. 6 Käyttöliittymämoduuli (M.J.) Käyttöliittymän valmistuminen venyi odotettua myöhäisemmäksi, minkä vuoksi moduulitestaus jouduttiin jättäämään kokonaan väliin. Käyttöliittymän testaus on suoritettu kokonaisuudessaan integrointitestauksen yhteydessä. 7 Integrointitestaus (J.K.) Integrointitestauksen tarkoituksena on ollut testata järjestemän osajärjestelmien yhteistoimintaa. Testaus on suoritettu yhdistämällä muut osajärjestelmät yksi ker-

24 19 rallaan ohjaimeen käyttöliittymää lukuunottamatta. Käyttöliittymä on liitetty mukaan vasta, kun kaikki muut osajärjestelmät on saatu integroitua toimivaksi kokonaisuudeksi. Integrointitestaus on aloitettu ohjaimen ja tiedostonkäsittelijän yhdistämisellä. Tämän jälkeen testattiin ohjaimen ja xml-käsittelijän yhteistoimintaa. Lopuksi integroitiin rdf-käsittelijä ohjaimeen. Ennen käyttöliittymän mukaan ottamista testattiin vielä kaikkien muiden osajärjestelmien yhteistoimintaa. Viimeisessä vaiheessa liitettiin vielä käyttöliittymä muuhun järjestelmään. Koko integrointitestaus suoritettiin JUnit-testausympäristössä. Valitettavasti ajanpuutteen vuoksi ainoa dokumentoitu integrointitestauksen osa-alue on ohjaimen ja tiedostonkäsittelijän integrointi. Kaikkissa muissa integrointitestauksen vaiheissa ilmaantuneet virheet on korjattu sitä mukaa, kun niitä on löydetty. Minkäänlaista dokumentaatiota näistä virheistä ei ole laadittu. 7.1 Ohjain ja tiedostonkäsittelijä (J.K) Ohjaimen ja tiedostonkäsittelijän integrointitestaus suoritettiin Junit-ympäristössä. Testaus toteutettiin laatimalla testiluokkia, joissa testattiin jokaista ohjaimen ja tiedostonkäsittelijän välistä toimintoa. Toiminnot testattiin siten, että verrattiin ohjaimen ja tiedostonkäsittelijän saman toiminnon toteuttavien metodien toimintaa toisiinsa. Testi hyväksyttiin, jos testattavat metodit suorittivat toiminnon samalla tavalla annetuilla syötteillä. Testauksessa käytettiin neljää testiluokkaa, jotka erosivat toisistaan ainoastaan syötteinä annettujen arvojen osalta. Testiluokista kahdessa käytettiin kelvollisia arvoja ja kahdessa virheellisiä arvoja. Virheellisiä arvoja sisältävistä luokista toisessa käytettiin täysin vääriä arvoja ja toisessa osittain vääriä arvoja. Testauksessa havaittiin useita virheitä, jotka korjattiin välittömästi testauksen yhteydessä. Yhtä testiluokkaa testattiin, kunnes Junitin testausindikaattorit osoittivat kaikkien toimintojen sujuvan virheettömästi.

25 Testiluokka 1 (FHControllerIntegrationTest1) Testiluokassa käytettiin testimateriaalina yodata.xml-tiedostosta muokattua yodata1- tiedostoa. Havaitut virheet: 1) Xml-tiedoston poistamisen yhteydessä ei päivitetty sarjallistettuna oliona tallennettua lastfile-muuttujaa. Seurauksena oli se, että lastfile osoitti olematonta tiedostoa. Tilanne ratkaistiin siten, että valitaan käsittelyssä olevia tiedostojen nimiä säilövästä xmlfilesinuse-taulukosta ensimmäisessä alkiossa oleva tiedosto uudeksi lastfile-muuttujaksi. 2) Ohjain ja Tiedostonkäsittelijä eivät osanneet toimia oikein tilanteessa, jossa last- Filea ei ollut olemassa. Seurauksena oli NullPointerException. Tilanne ratkaistiin suorittamalla molempien luokkien openlastfile-metodeissa tarkistus, jossa tutkitaan viimeksi käsitellyn tiedoston olemassa oloa. 3) Xml-tiedoston poistamisen yhteydessä ei huomioitu sitä, että viimeisen tiedoston poistamisen jälkeen lastfile-muuttuja osoittaa edelleen poistettua tiedostoa. Avattaessa viimeksi käsiteltyä tiedostoa openlastfile-metodilla, tapahtui Null- PointerException, koska kyseistä tiedostoa ei ollut olemassa. Ongelma ratkaistiin siten, että viimeisen tiedoston poistamisen yhteydessä poistetaan myös sarjallistettuna oliona tallennettu lastfile-muuttuja. 4) Viimeisen xml-tiedostoja sisältävässä hakemistossa olevan tiedoston poistamisen jälkeen lastfile-tiedosto ei poistunut, vaikka olisi pitänyt. Ongelma johtui siitä, että hakemistossa oli piilotiedosto, jonka nimi asetettiin lastfile-muuttujan arvoksi. Kun lastfile seuraavalla kerralla avattiin, tapahtui NullPointerException. Ongelma korjattiin huomioimalla piilotiedostojen mahdollinen olemassaolo tiedostojen poistamisen yhteydessä.

26 Testiluokka 2 (FHControllerIntegrationTest2) Testiluokassa käytettiin testimateriaalina roskadataa.xml -tiedostoa, joka sisältää neljä xml-korttia. Testauksessa ei havaittu virheitä Testiluokka 3 (FHControllerIntegrationTest3) Testiluokassa käytettiin kaikkien toimintojen testaamisessa virheellisiä arvoja. Testimateriaalina käytettiin olematonta yodata10-tiedostoa. Havaitut virheet: 1) Avattaessa olematonta tiedostoa luodaan XmlCardIdentifier-taulukko, vaikka ei pitäisi. Lisäksi luodaan uusi rdf-instanssitiedosto, mitä ei myöskään saisi tapahtua. Vika johtui siitä, että MDEXmlFilen konstruktorissa ei oltu huomioitu sitä, että parametrina voidaan saada olematon tiedosto. Vika korjattiin lisäämällä asianmukaiset tarkistukset konstruktoriin Testiluokka 4 (FHControllerIntegrationTest4) Testiluokassa käytettiin toimintojen testaamisessa osittain virheellisiä arvoja. Testimateriaalina käytettiin yodata2-tiedostoa. Havaitut virheet: 1) MDEFileHandler-luokan metodit getfilenames ja getconfigurationinfo eivät reagoineet NullPointerException-poikkeuksiin. Tilanne korjattiin lisäämällä metodeihin tilanteen huomioiva try-catch -lause.

27 8 Validointitestaus (Meedio) 22 Validointitestaus on ajan puutteen vuoksi jätetty dokumentoimatta, mutta ohjelmalta vaadittujen ominaisuuksien toiminta on testattu ja ohjelman on havaittu toimivan halutulla tavalla. Testatut toiminnot: - RDF-skeeman sijaintitiedon luku konfiguraatiotiedostosta - Kortin alun ja lopun määrittelevä kenttä (esim. <Kortti>) Valmiissa versiossa ainoastaan kortin alun määrittelevä kenttä. - XML-skeeman sijaintitiedon luku konfiguraatiotiedostosta - Otsikkoattribuutti yksittäiselle kentälle Jätetty pois järjestelmästä - Kuvan sijainti levyjärjestelmässä-attribuutti - Osaa lukea XML-Skeeman - Osaa lukea XML-kortin tiedostosta - Osaa validoida XML-kortin skeeman mukaiseksi Jätetty pois järjestelmästä - Osaa antaa tarkat tiedot XML-kortista, ja sen tietojen oikeellisuudesta, siten että antaa tiedot kortin oikeellisuudesta - Konfiguraatiotiedostossa määritellyn RDF(S)- muotoisen ontologian lukeminen sisäiseen tietorakenteeseen

28 23 - Jena-oliomallin mukaisen rakenteen muodostaminen RDF(S)- ontologiasta - Jena-oliomallin mukaisen rakenteen välittäminen käyttöliittymälle - Osaa antaa käyttöliittymälle tiedot kohdan mukaisista luokista - XML-tiedoston tallennus - Valmiin kortin tallennus - Kuvan näyttäminen käyttäjälle käyttöliittymässä - Tiedoston sisältämien korttien näyttäminen havainnollisesti - Osaa tehdä XML-tiedostosta kopion järjestelmän käyttöön - Osaa lisätä / muuttaa kortin tilatiedot (käsitettelyssä / ei käsitelty / valmis) - Osaa lukea käsiteltävien XML-korttien ID-tiedot ja otsikot - Osaa tallentaa kortin - Osaa tallentaa tiedoston haluttuun paikkaan - Semanttisen kuvauksen tallennus XML-korttiin Ei tallenneta xml-korttiin

29 24 - XML-kortin tietojen havainnollinen näyttäminen - XML-kortin tietojen muokkaus Xml-tietoja ei muokata - XML-kortin virheellisten kenttien/attribuuttien korostus Jätetty pois - Ontologian esittäminen dynaamisena hierarkkisena listana - Semantiikan liittäminen XML-korttiin Jätetty pois. - Osaa tallentaa valmiit kortit haluttuun paikkaan - Kortin tallennus - Uusien instanssien vertaaminen olemassa oleviin instansseihin - Kyselyn suorittaminen Jena-rajapinnan yli RDF-tietokantaan - RDF-Skeematiedoston haku verkkoyhteyden yli Jätetty pois. - Osaa tuhota käsiteltävän XML-tiedoston 9 Suorituskyky (Meedio) Järjestelmän suorituskyvyn kuvaus.

30 10 Tiedossa olevat virheet (Meedio) 25 Ohjelmiston puutteellisesta testauksesta johtuen ohjelmaan on hyvin todennäköisesti jäänyt virheitä. Meedio-ryhmä on kuitenkin tietoinen ainoastaan seuraavista virheistä: 1) Instanssihaku onnistuu vain siirtymällä hakupuun oksalta seuraavalle tason oksalle. Useamman tason yli hakeminen ei onnistu. 2) Järjestelmä luo uuden tiedoston, vaikka xml-tiedosto ei ole validia ja se täytyy poistaa manuaalisesti käyttäjän toimesta. 3) Kun propertyn arvoksi on valittu luokka, niin hakupuu ei välttämättä aina häviä näkyvistä Internet Explorer-selaimessa. 11 Yhteenveto(Meedio) Ohjelmiston testaus on laadittuun suunnitelmaan nähden puuttellista. Alkuperäisen suunnitelman mukaista testausta ei käytännössä suoritettu ollenkaan, vaan jokainen testasi laatimansa luokat parhaaksi katsomallaan tavalla. Tämä tarkoittaa sitä, että saatuaan jonkin osa-alueen valmiiksi, kyseisen osa-alueen laatija testasi sen toimintaa korjaten samalla mahdolliset virheet. Kun osa-alue saatiin toimimaan halutulla tavalla, havaitut virheet ja toimenpiteet niiden korjaamiseksi dokumentoitiin, mutta minkäänlaista testaussuunnitelmassa mainittua jakoa tärkeysjärjestyksineen ja virheluokituksineen ei tehty. Testaussuunnitelman mukaan oli myös tarkoitus yksikkötestauksen yhteydessä testata laaditut luokat sekä white box -menetelmällä, että black box -menetelmällä. Suunnitelmaa noudatettiin kuitenkin ainoastaan white box -testauksen osalta. Black box -testausta käytettiin vain kahden osajärjestelmän testauksessa(xml-käsittelijä ja tiedostonkäsittelijä). Integrointitestauksen osalta suunnitelmaa ei myöskään noudatettu,

31 26 vaan testaus tehtiin sitä mukaa, kun osajärjestelmät valmistuivat. Integrointitestausta ei siis juurikaan suunniteltu tai dokumentoitu. Validointitestaus jouduttiin sivuuttamaan lähes kokonaan. Ohjelman toimintaa kyllä testattiin, mutta mitään dokumentaatiota ei tehty. Ohjelman suorituskyvyn ja vakauden testaamista ei ole suoritettu ollenkaan. Syy testauken kaoottisuuteen on selvä: ajanpuute. Ohjelmiston eri osajärjestelmien valmiiksi saaminen vaati niin paljon aikaa, että ohjelmiston suunnitelmallisesta testaamisesta oli pakko tinkiä, jotta saataisiin ohjelma valmiiksi määräaikaan mennessä. Kaikilla projektin jäsenillä oli niin kova kiire oman osa-alueensa toteuttamisessa, että kenellekään ei jäänyt aikaa kunnolla perehtyä systemaattiseen testaukseen ja testitulosten dokumentointiin. Puutteellisesta testauksesta ja dokumentoinnista huolimatta ohjelma näyttäisi toimivan suunnitellusti ja kaikki ensimmäisen prioriteetin toiminnot on saatu toteutettua. 12 Viittaukset lähteisiin (P.P.) Tässä luvussa kuvataan dokumentissa esiintyvät viittaukset eri tekniikoihin. - XML (Extensible Markup Language), lisätietoa: - XML-Skeema, lisätietoa: - RDF (Resource Description Framework), lisätietoa: - Java Server Pages, lisätietoa: - JSP+tag libraries, lisätietoa: - Jakarta Tomcat, lisätietoa: - Sax (Simple API for XML), lisätietoa:

32 27 - Apchen Xerces, lisätietoa: - Dom (Document object model), lisätietoa: - Jena, lisätietoa: - HTML (Hypertext Markup Language), lisätietoja: - CSS (Cascading Style Sheets), lisätietoja: - Java Applet, lisätietoja: - Java Servlet, lisätietoja:

Semantic Web - Metadata editor

Semantic Web - Metadata editor Semantic Web - Metadata editor Ohjelmistotuotantoprojekti, kesä 2002 Ohjelmistotuotantoryhmä 1, Meedio http://www.cs.helsinki.fi/group/meedio Mikko Apiola (M.A.) Ari Inkovaara (A.I.) Miikka Junnila (M.J.)

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

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

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

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

Semantic Web - Metadata editor

Semantic Web - Metadata editor Semantic Web - Metadata editor Ohjelmistotuotantoprojekti, kesä 2002 Ohjelmistotuotantoryhmä, Meedio http://www.cs.helsinki.fi/group/meedio Mikko Apiola (M.A.) Ari Inkovaara (A.I.) Miikka Junnila (M.J.)

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

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

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

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Koskelo Helsinki 16.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Tom Bertell Johan

Lisätiedot

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

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Testauksen loppuraportti v. 1.0 Päivitetty 23.4.2001 klo 19:05 Mikko Viljainen 2 (14) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite 1.0

Lisätiedot

Ohjelmistotuotantoprojekti

Ohjelmistotuotantoprojekti Ohjelmistotuotantoprojekti Ryhmä Muppett TESTAUSDOKUMENTTI Helsinki 5.8.2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti, kesä 2008 Projekti: Muutos- ja korjauspyyntöjen

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

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

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu TESTIRAPORTTI LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 1.1 Tila: hyväksytty Päivämäärä: 13.2.2001 Tekijä:

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

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

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3 AgilElephant SEPA Diary Petri Kalsi 55347A Heikki Salminen 51137K Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: PK&HS Sivu 1 / 7 Dokumenttihistoria Revisiohistoria Revision päiväys: 29.11.2004 Seuraavan

Lisätiedot

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Kuopio Testausraportti Asiakkaat-osakokonaisuus Kuopio Testausraportti Asiakkaat-osakokonaisuus Kuopio, testausraportti, 25.3.2002 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 11.2.2002 Matti Peltomäki Ensimmäinen versio 0.9 11.2.2002 Matti Peltomäki

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

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

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

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

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

Testaussuunnitelma. Opeapuri. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Opeapuri Helsinki 2.4.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Krister Eklund

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

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmiston testaus ja laatu. Testaustasot Ohjelmiston testaus ja laatu Testaustasot Testauksen vaihejako Tarpeet / sopimus Järjestelmätestaus Hyväksymiskoe Määrittely testauksen suunnittelu ja tulosten verifiointi Arkkitehtuurisuunnittelu Moduulisuunnittelu

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

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

Kuopio Testausraportti Kalenterimoduulin integraatio

Kuopio Testausraportti Kalenterimoduulin integraatio Kuopio Testausraportti Kalenterimoduulin integraatio Kuopio, testausraportti, 22.4.2002 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 22.4.2002 Matti Peltomäki Ensimmäinen versio 0.9 22.4.2002 Matti

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

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

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

UCOT-Sovellusprojekti. Testausraportti

UCOT-Sovellusprojekti. Testausraportti UCOT-Sovellusprojekti Testausraportti Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 0.02 Julkinen 11. lokakuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä

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

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

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

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy Kehitysohje ETL-työkalu Versio Pvm Tekijä Kuvaus 0.1 15.1.2005 Timo Sallinen Ensimmäinen versio 0.2 26.1.2005 Timo Sallinen Täydenetty pohjaa 0.3 06.02.2005 Mika Suvanto Pieniä täydennyksiä ja oikolukua

Lisätiedot

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

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } } Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.

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

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

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant AgilElephant Testausraportti I1 Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: Testausraportti Sivu 1 / 5 Dokumentti Historia Muutoshistoria Revision Numero Revision Päiväys Yhteenveto muutoksista Revision

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

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

T-76.5158 SEPA päiväkirja

T-76.5158 SEPA päiväkirja T-76.5158 SEPA päiväkirja Ryhmä 14 Automatisoitu yksikkötestaus Mikko Luukkonen, 60549T Lauri Helkkula, 62820H Matti Eerola, 60686A Versiohistoria Versio Pvm Tekijä(t) Kuvaus 0.3 25.11.2007 Luukkonen,

Lisätiedot

Opponointitestaus VYM -> LiKe 29.03.2001

Opponointitestaus VYM -> LiKe 29.03.2001 Opponointitestaus VYM -> LiKe 29.03.2001 Opponoinnin testitapaukset Opponoinnin testitapaukset on pääosin suoritettu loggautumalla sisään käyttäjällä Minna Reino, joka on I -käyttäjä After Sales-projektissa.

Lisätiedot

CSV - XML ohjelman käyttöohje

CSV - XML ohjelman käyttöohje CSV - XML ohjelman käyttöohje Käynnistä ohjelma CSC_Virta_Julkaisut_ToXMLConverter.exe CSV-XML muunnos tapahtuu etenemällä ohjelmassa järjestyksessä 1. -> 6. ylhäältä oikealle: Perustoimintoja voi suorittaa

Lisätiedot

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Käyttöohje Boa Open Access Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari Heikkinen

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

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

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

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

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0 TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN i Sisällysluettelo DUMENTIN VERSIOT 1 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI

Lisätiedot

Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio

Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Otus- projektinhallintatyökalu Käyttöohje Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Mari Tampere 9. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja,

Lisätiedot

Automaattinen yksikkötestaus

Automaattinen yksikkötestaus Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Automaattinen yksikkötestaus Ryhmä Rajoitteiset Versio Päivämäärä Tekijä

Lisätiedot

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

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1 T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tästä dokumentista ilmenee T1-vaiheessa suoritettu testaus, sen tulokset ja poikkeamat testisuunnitelmasta. Päivämäärä 1.12.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi

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

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

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita. Arkkitehtuurikuvaus Käytössä olevat java-luokat: Kansio: /WEB_INF/classes/ - käännetyt luokat Kansio: /WEB_INF/src/ - lähdekoodi custom_pojos: Kurssi.java Java-luokka, jonka sisältö vastaa tietokannassa

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Sukupuu -ohjelma. Ossi Väre (013759021) Joni Virtanen (013760641)

Sukupuu -ohjelma. Ossi Väre (013759021) Joni Virtanen (013760641) Sukupuu -ohjelma Ossi Väre (013759021) Joni Virtanen (013760641) 7.11.2011 1 Johdanto Toteutimme C -kielellä sukupuuohjelman, johon käyttäjä voi lisätä ja poistaa henkilöitä ja määrittää henkilöiden välisiä

Lisätiedot

XML -muotoisen raportin luonti

XML -muotoisen raportin luonti XML -muotoisen raportin luonti Anita Mäkinen-Jäntti 20/05/2014 1 SISÄLTÖ XML -tiedostojen kirjoitusmahdollisuudet Tagsettien käyttäminen Data -vaiheen käyttäminen Sähköinen siirtoliike ja XML - tiedoston

Lisätiedot

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

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2 Subversion-ohje Linux Traffic Control-käyttöliittymä Ryhmä paketti2 Helsinki 1.11.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti

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

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

Yhteenvetodokumentti. Halaan-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Yhteenvetodokumentti Halaan-ryhmä Helsinki 18.12.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Paula

Lisätiedot

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

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio Testiraportti 26.2.2006 1/5 - Noheva II Testiraportti Versio Päiväys Tekijä Kuvaus 1.0 26.2.2006 Tikkanen varsinainen versio 1 Yleistä Toteutusvaiheen 2 virallinen testaus on muodostunut automaattisista

Lisätiedot

Kuntokirjuri. Testausraportti. Miika Alonen Jarkko Laine Jesse Honkanen Veli Matti Huovinen Jani Jäntti. Versio 1.1 16.5.2008

Kuntokirjuri. Testausraportti. Miika Alonen Jarkko Laine Jesse Honkanen Veli Matti Huovinen Jani Jäntti. Versio 1.1 16.5.2008 Kuntokirjuri Testausraportti Miika Alonen Jarkko Laine Jesse Honkanen Veli Matti Huovinen Jani Jäntti Versio 1.1 16.5.2008 Jakelu: Asiakas Jukka Rantala Ohjaaja Erkki Pesonen Opponoiva ryhmä 1 Kuopion

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori

Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori Testitapaukset - Koordinaattieditori Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 3. Toiminnallisuuden testitapaukset...5 3.1 Uuden projektin avaaminen...5 3.2 vaa olemassaoleva projekti...6

Lisätiedot

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

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant AgilElephant SEPA Diary Petri Kalsi 55347A Heikki Salminen 51137K Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: PK&HS Sivu 1 / 7 Dokumenttihistoria Revisiohistoria Revision Numero Revision Päiväys

Lisätiedot

Testaussuunnitelma. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Testaussuunnitelma. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Testaussuunnitelma Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Helsinki 14.7.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

Kontrollipolkujen määrä

Kontrollipolkujen määrä Testaus Yleistä Testaus on suunnitelmallista virheiden etsimistä Tuotantoprosessissa ohjelmaan jää aina virheitä, käytettävistä menetelmistä huolimatta Hyvät menetelmät, kuten katselmoinnit pienentävät

Lisätiedot

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

Testaussuunnitelma. Karstula. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Karstula Helsinki 20.4.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Juha-Pekka Juutilainen

Lisätiedot

JUnit ja EasyMock (TilaustenKäsittely)

JUnit ja EasyMock (TilaustenKäsittely) OHJELMISTOJEN TESTAUS JA HALLINTA Syksy 2015 / Auvo Häkkinen JUnit ja EasyMock (TilaustenKäsittely) Tehtävässä tarvittava koodi löytyy osoitteella http://users.metropolia.fi/~hakka/oth/mockesimerkki.zip

Lisätiedot

OPI-Maksut - Käyttötapaukset

OPI-Maksut - Käyttötapaukset OPIMaksut Käyttötapaukset Toiminnallisuudet ja käyttötapaukset: maksupalvelutoiminnot Toimeksiannon lisääminen Palveluväylä toiminto: Toimeksiannon lisääminen Yleiskuvaus Palveluväylään sallitut asiointisovellukset

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

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

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development

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

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0 RockID-varastonhallintajärjestelmän käyttöohje v. 1.0 Yleistä Rockstar lukijakäyttöliittymä Tuotteiden lukeminen lähtevään tilaukseen Tilaukseen kuulumattomat tuotteet Tuotteiden lukeminen tilauksesta

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

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

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

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely Poikkeukset Poikkeuksella tarkoitetaan yllättävää ajonaikaista tilannetta, joka

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

COTOOL dokumentaatio Testausdokumentit

COTOOL dokumentaatio Testausdokumentit Table of Contents Testausraportti.............................................................................. 1 1 Tiivistelmä...............................................................................

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

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Projektiryhmä StanForD-XML Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen Rahoittajat Koskitukki Oy, Metsähallitus, Metsäliitto Osuuskunta, Pölkky Oy, Stora Enso Oyj, UPM- Kymmene Oyj, Vapo Timber Oy, Yksityismetsätalouden

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli. HTML & CSS Antti Koivisto HTML (HyperText Markup Language)! HTML on sivujen kuvauskieli.! Se ei ole ohjelmointikieli.! HTML on merkintäkieli, joka koostuu monista merkintä tägeistä ().! Voidaan

Lisätiedot

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

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

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

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 14.9.2015 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut

Lisätiedot

RYHTI 4.0 Huoltokirja käyttöohje

RYHTI 4.0 Huoltokirja käyttöohje RYHTI 4.0 Huoltokirja käyttöohje https://senaatti.ryhti.fi RYHTI - tuki Puh. 010 759 2300 (ma-pe 07.00-17.00) senaatti@granlund.fi Aloitussivu Prosessit, joihin käyttäjällä on kohteessa oikeus. Prosessivalikosta

Lisätiedot

Harjoitus 7: NCSS - Tilastollinen analyysi

Harjoitus 7: NCSS - Tilastollinen analyysi Harjoitus 7: NCSS - Tilastollinen analyysi Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tilastollinen testaus Testaukseen

Lisätiedot

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen CVS Versionhallintajärjestelmä Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen Käytetään komentoriviltä, myös graafisia käyttöliittymiä saatavilla CVS Kaikki tiedostot

Lisätiedot

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa: Testaus käsite Sekalaista asiaa Sami Kollanus 15.11.2006 Jos ajatellaan, että = V&V, voidaan erottaa: Staattinen Dynaaminen Toisaalta voidaan määritellä Myersin (1979) mukaan: Testaus on ohjelman suoritusta,

Lisätiedot