Osassa testejä tarvitaan (testi)tietokantaa testien suorittamiseen. Testejä varten käytettiin ilmaista HSQLDB Java tietokantaa (http://hsqldb.org/).

Samankaltaiset tiedostot
Lohtu-projekti. Testaussuunnitelma

Lohdutus - tietokantadokumentti

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

INTINU13A6 Java sovellukset

Tietokantojen hallinta

Hallintaliittymän käyttöohje

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

Formaalit menetelmät: Kirjaston formalisointi Z-kuvauskielellä

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

Käyttöohje. AssariXP. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

NORDEAN WEB SERVICES YHTEYDEN KÄYTTÖÖNOTTO

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

PELAAJAPROFIILI Mobiilisovellus

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

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

Autentikoivan lähtevän postin palvelimen asetukset

Meeting Plannerin käyttöohje

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

Nettisivujen Päivitysohje

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Maali Esiehdot Toimijat Testitapauksen suoritus ja hyväksytyt lopputilat. Käyttäjä. Käyttäjä. Käyttäjä

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

JUnit ja EasyMock (TilaustenKäsittely)

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testausraportti Smartmeeting opponointi

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

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

BaseMidlet. KÄYTTÖOHJE v. 1.00

EASY Tiedostopalvelin - mobiilin käyttöopas

LoCCaM. LoCCaM Cam laitteiston ohjaaminen. Dimag Ky dimag.fi

EASY Tiedostopalvelin - mobiilin käyttöopas

Vehmaan kunta. Wordpress käyttöopas. Betta Digital Oy

Käyttäjähallintapalvelun REST-rajapinnat

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Osallistavan suunnittelun kyselytyökalu

SUOMEN PANKIN RAPORTOINTIPALVELUN KÄYTTÖOHJE. Maksutaseen kuukausikysely ulkomaisista rahoitussaamisista ja -veloista (BOPM)

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

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

T Testiraportti - järjestelmätestaus

Opettajan pikaopas Opintojaksopalaute-järjestelmään

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I2

Päivitetyn jäsenrekisterin käyttöohje

ASIAKASRAPORTOINNIN OHJE

Jäsenrekisterin käyttöohje

COTOOL dokumentaatio Testausdokumentit

Hakemistojen sisällöt säilötään linkitetyille listalle.

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

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

Testausdokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

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

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

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

BlueCommerce Käyttöohje

COTOOL dokumentaatio Testitapaukset

Kuvien siirto-ohjelman käyttöohje Huom! Tämä ohjelmisto on käytössä vain yrityksillä, joilla ei ole käytössä Java Runtime 1.4 -sovellusta.

Selvitysraportti. MySQL serverin asennus Windows ympäristöön

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

JOVISION IP-KAMERA Käyttöohje

Informaatiotekniikan kehitysyksikkö

Opponointitestaus VYM -> LiKe

HAME PostGIS-tietokanta

5. Klikkaa avautuvan ikkunan oikeasta yläkulmasta käyttäjätunnustasi ja valitse Luo pikakuvake

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

Testivetoinen ohjelmistokehitys

Lyseopaneeli 2.0. Käyttäjän opas

Asiointipalvelun ohje

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

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

Sonera Yrityssähköposti. Outlook 2013 lataus ja asennus

PRINTER DRIVER PÄÄKÄYTTÄJÄN OPAS

Convergence of messaging

TYÖNTEKIJÄN KÄYTTÖOHJEET - SOKU

Testausdokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

Wordpresspikaopas. Viivamedia

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

Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi

Testitapaukset - Siirtoprotokolla

Netti-Moppi oppimisympäristön oppilaan ohjekirja 0.1

1 Johdanto. 2 Kirjautuminen. Sisällysluettelo. Kanakoirakerho - websivujen ylläpito

Arena-koulutus Sisäänkirjautuminen ja omat sivut. Noora Muurimäki Outi Syväniemi Leila Virta

Visma Business AddOn Factoring-laskuaineisto. Käyttäjän käsikirja

Paytrail lisäosa WooCommerce alustalle (c) Webbisivut.org

Yrjö Määttänen Kokemuksia SuLVInetin käytön aloituksen

Ohjelmoinnin perusteet Y Python

Seuraavat tasot sisältävät alueita ja pisteitä samassa tasossa. o Asemakaavat o Kaavayksiköt o Kiinteistöt

OP-POHJOLAN WEB SERVICES YHTEYDEN KÄYTTÖÖNOTTO

Selaimen kautta käytettävällä PaikkaOpin kartta-alustalla PaikkaOppi Mobiililla

24h Admin V / 24h_Admin_v100.pdf 1/9

KYMP Webmail -palvelu

HRKello. HRSuunti Oy Pyhän Katariinan tie 7 Y-tunnus: Puhelin: KAARINA ALV rek.

Netikka verkkotila - käyttöohje

Sidonnaisuuspalvelun käyttöönotto

JAKELUPISTE KÄYTTÖOHJE 2/6

ViLLE Mobile Käyttöohje

Sähköisen äänestyksen pilotti

Ensimmäisessä vaiheessa ladataan KGU tietokanta Hallitse tietokantoja toiminnon avulla.

Transkriptio:

Testausdokumentti Testaus on suoritettu käyttäen automatisoituja testejä (junit). Tomcat ympäristöä (Servlet containeria) simuloi servlet testeissä MockRunner kirjasto. Riippuvuudet muihin luokkaan poistavat mock oliot muodostettiin ja niiden käyttöä seurattiin mockito kirjaston avulla. Osa testeistä edellyttävät erillisen testitietokannan olevan käynnissä. Testeissä tarvittavat lisäkirjastot ovat listattuna kohdassa "Tarvittavat lisäkirjastot testien ajoon" Testitietokanta Osassa testejä tarvitaan (testi)tietokantaa testien suorittamiseen. Testejä varten käytettiin ilmaista HSQLDB Java tietokantaa (http://hsqldb.org/). Testien käyttämän tietokannan asetukset määritellään /src/test/ java/hibernatefortesting.cfg.xml tiedostoon ja ne ovat oletuksena HSQLDB tietokannan kanssa suoraan toimivat. Asetuksiin on määritelty testitietokannan scheman poisto ja luonti joka testin alussa (hbm2ddl.auto on asetettu arvoon "create-drop"), eli testitietokanta nollataan joka (tietokantaa käyttävän) testin alussa. Testejä varten tulee testitietokanta käynnistää manuaalisesti (HSQLDB:n kohdalla purkaa edellä mainitulta sivuilta ladatun asennuspaketin ja ajaa muodostuneen ".../lib/" hakemiston alla komennon "java -cp hsqldb.jar org.hsqldb.server"). Testitietokanta-aineisto Testien käyttämä testitietokanta alustetaan testien alussa niiden tarvitsemilla tietokannan sisällöllä. Testikannan alustus tapahtuu DatabaseTestHelper luokan avulla. Testitietokannan alustusaineisto on määritelty omissa.xml tiedostoissaan, joissa yksi tiedosto vastaa yhtä taulua (Yhdessä määritys xml:ssä voi olla halutessa myös usean eri taulun alustustiedot määriteltyinä). Käytetyt.xml määrittelytiedostot ovat käytetyn dbunit apukirjaston tarvitsemassa muodossa. Määritytiedostoihin liittyy käytetyn tietokannan scheman määritystiedosto lohdutusdatabaseschemafordbunit.dtd. Testitietokannan tietojen alustustiedostot sijaitsevat hakemistossa "/src/test/resources/ dbunitdatasetsfortests/".

Apuluokat testien ajoon Testien ajoon ja tarvittavien testitietokantamääritysten ja alustusten teon apuna käytetään kolmea apuluokkaa. Apuluokat sijaitsevat lohdutus.test.hibernate paketissa. DatabaseTestHelper.java Luokka tarjoaa metodit tietokannan alustukseen dbunit kirjaston avulla. Luokkan metodiin on kovakoodattu testiaineiston alustukseen käytettyjen määritystiedostojen hakemisto GenerateDBUnitDatabaseSchemaDTDfile.java Muodostaa testitietokannan schema määrityksen DatabaseTestHelper.java luokalle Luokkan metodiin on kovakoodattu testiaineiston alustukseen käytettyjen määritystiedostojen hakemisto, johon scema määritystiedosto muodostuu Muodostettava schema tiedosto on nimeltään lohdutusdatabaseschemafordbunit.dtd Tarvittava lohdutusdatabaseschemafordbunit.dtd tulee muodostaa (ajaa luokka) jos tietokannan schema muuttuu. Schema määritykset voi tehdä myös käsin lohdutusdatabaseschemafordbunit.dtd tiedostoon. TestHibernateUtil.java Hibernaten singleton luokka joka alustaa Hibernaten testejä varten. Luokan käyttämä asetustiedosto on hibernatefortesting.cfg.xml ja tiedoston nimi kovakoodattu luokkaan. hibernatefortesting.cfg.xml asetustiedostoon määritellään käytetyn testitietokannna yhteysasetukset POJO -luokkien yksikkötestaus POJO luokissa (Taulukko 1) on pääasiallisesti vain yksinkertaisia GET- ja SET- metodeja tietojen asettamiseen ja hakemiseen luokasta. POJO -luokista testattiin pääasiassa vain niiden toimintan hibernaten kanssa (Hibernate tallentaa PJO luokkia kantaan). Luokista testattiin seuraavat toiminteet liittyen hibernateen: 1. Luokan tietojen tallennus kantaan Tarvittavat muuttujat tallentuvat kantaan (Hibenate mapping määritykset oikein) null arvoja ei voi tallentaa kantaan NOT NULL määrityksillä oleviin sarakkeisiin, tallennusyritys aiheuttaa poikkeuksen. Uniikkien arvojen tallennus kantaan tuplana epäonnistuu, aiheuttaen poikkueksen 2. Luokan tietojen lataaminen kannasta Kannasta lataus onnistuu luokan muuttujien sisältäessä odotetut arvot latauksen jälkeen 3. Luokan lataaminen kannasta, tietojen muuttaaminenm tallentaminen kantaan takaisin Kannasta ladatun objektin muuttujiin tehdyt muutokset päivittyvät ja ovat latauksen jälkeen myös odotetut. POJO Luokka Testiluokat Testiluokan kuvaus

Customer.java Cycle.Java Message.Java CustomerClassHibernateMappingTest.java CycleClassHibernateMappingTest.java MessageClassHibernateMappingTest.java Project.java ProjectClassTest.java Metodien yksikkötesti ProjectType.java User.java WorkHour.java WorkType.java ProjectHibernateMappingTest.java ProjectTypeClassHibernateMappingTest.java ProjectTypeClassTest.java UserClassHibernateMappingTest.java WorkHourClassHibernateMappingTest.java WorkTypeClassHibernateMappingTest.java WorkTypeClassTest.java WorkTypeSet.java WorkTypeSetClassHibernateMappingTest.java WorkTypeSetClassTest.java Metodien yksikkötesti (equals -metodi) Metodien yksikkötesti (equals -metodi) Metodien yksikkötesti (equals -metodi) FnService -luokkien yksikkötestaus Seuraaville FNService luokille suoritettiin metodien yksikkötestit eri tavoitteilla yhdessä riippuvuuksien (tietokantaan) poistavien mock -olioden Käytety mock olio asetettiin palautavaksi tarvittavat oikeantyyppiset arvot sekä mock olioista tarkistettiin, että tarvittavia olion metodeja kutsuttiin odotetusti toiminnon toteuttamiseen. Poikkeuksena osittain testattu UserService luokka käyttää myös tietokantaa UserDBServicen

kautta testeissä. Testatut FNServicet: MessageBoardService UserService (Testattu vain osittain) WorkTypeService WorkTypeSetService Seuraavia FNService -luokkia ei testattu (Muutakuin käytännössä toimivassa sovelluksessa): CustomerService ProjectService ProjectTypeService WorkHourService DBService -luokkien yksikkötestaus Seuraaville DBService luokille suoritettiin metodien yksikkötestit eri tavoitteilla yhdessä testikannan (testiaineiston) kanssa: MessageBoardDBService UserDBService WorkHourViewDBService WorkTypeDBService WorkTypeSetDBService Seuraavia DBService luokkia ei testattu (Muutakuin käytännössä toimivassa sovelluksessa): CustomerDBService ProjectDBService ProjectTypeDBService WorkHourDBService Util -luokkien yksikkötestaus Util luokille suoritettiin niiden metodien yksikkötestit. Seuraavat Util luokat testattiin EmailValidatorTest PhonenumberValidatorTest Selection (Luokan odotettu toiminta testattiin AddProjectServlet -testissä, jossa AddProjectServlet asiakaslistojen (Selection objekteja käyttävä lista) muodostus testattiin eri tilanteissa ja odotettiin haluttua listaa odotetuilla valinnoilla) Seuraavia luokkia ei testattu ComparatorFactory DateUtil HibernateUtil MD5 md5passwordgenerator ObjectValidator

Tomcat filter -luokkien yksikkötestaus AuthenticationFilter -luokka AuthenticationFilter luokan toiminta testattiin tekemällä erityyppisiä testi httprequest pyyntöjä DummyServlet:lle. Ennen DummyServletille pääsyä tulleet pyynnöt kulkevat AuthenticationFilterin kautta. Testitapaukset Ei kirjautunut käyttäjä ei pääse filterin läpi kohdesivulle (kirjautumisen vaatimaan url osoitteeseen) Kirjautumista ei tapahdu väärällä tunnus ja salasana yhdisteellä Kirjautuminen onnistuu oikealla tunnus ja salasana parilla Jo kirjautunut käyttäjä pääsee haluamalleen sivulle (GET ja POST pyynnöt) HTTP Sessioon asetettu väärä käyttäjän id (ei olemassa oleva käyttäjä) kirjautuminen nollataan (heitetään ulos) Uloskirjautuminen nollaa kirjautumisen SessionFilter -luokka SessionFilter luokalle ei ole testejä. Tomcat servlet -luokkien (näkymien) yksikkötestaus Servlet testeissä testattiin että annetuilla http requestin parametreillä ja eri käyttäjäoikeuksilla saadaan haluttu näkymä näkyviin, toiminto suoritettua tai ohjaus toiselle sivulle tapahtuu. Servlet luokkien riippuvuudet toisiin luokkiin poistettiin käyttäen mock olioita varsinaisten riippuvuusolioiden sijaan. Käytetyistä mock olioista testattiin, että niistä kutsuttiin odotettuja metodeja näkymän muodostamiseen tai tarkistusten tekeen tai että mitään niiden metodeja ei ole kutsuttu. Mock olion metodeille pystyi asettamaan haluttuja palautusarvoja, jolloin ne toimivat ulospäin kuten haluttu. Käytetyt mock oliot olivat pääasiassa eri service luokkien olioita, joiden testaus on toteutettu eri luokissa. Varsinaisen näkymän muodostumiseen liittyen testattiin Freemarker templatelle muodostettu templatemodel, josta tarkistettiin että se sisältää templaten tarvitsemat muuttujat näkymän muodostamista varten. Lopullinen varmuus näkymän muodostumisesta saatiin tarkistamalla, että varsinaista sivun tulostusmetodia, jossa muodostettu templatemodel ja Freemarker template yhdistetään lopulliseksi sivuksi, kutsutaan. Tomcat ympäristöä (Servlet containeria) testeissä simuloi MockRunner kirjasto. Mock oliot muodostettiin ja niiden käyttöä seurattiin mockito kirjaston avulla.

Lisäysservlettien testaus Järjestelmään entiteettien lisäämisen toteuttavat alla listatut servletit testattiin testitapaukset lisäysservleteille -listalla kuvatuilla testitapauksilla. Poikkeuksena wizard tyylisen lisäyksen toteuttava AddProjectServlet on kuvattu eri osiossa. Lisäysservletit AddCustomerServlet.java AddProjectTypeServlet.java AddUser.java AddWorkTypeServlet.java AddWorkTypeSetServlet Testitapaukset lisäysservleteille Ei admin käyttäjä ohjataan virhesivulle Validi pyyntö sivulle ilman lisäparametrejä näyttää entiteetin lisäyssivun Validi lisäyspyyntö jossa annetuissa entiteetin tiedoissa tai varsinaisessa entiteetin lisäämisessä kantaan tapahtuu virhe ohjataan takaisin lisäyssivulle Validi lisäyspyyntö jossa annetut entiteetin tiedot ja lisäys onnistuu ohjataan kaikkien entiteettien listaussivulle lisäys informaation kera AddWorkTypeSetServlet -servletistä testattiin myös getworktypeselectionlist -metodin toiminnallisuus. AddProjectServlet.java -näkymän testaus (testaddprojectservlet.java) Testitapaukset Ei admin käyttäjä ohjataan virhesivulle Admin käyttäjä saa projektin lisäyssivun näkyviin Sivusiirtymät (next, previous, summary -napit) tarkistavat lähtösivun vaiheen lomakkeen tiedot ennen toiselle projektin lisäysvaihesivulle siirtymistä sekä tarkistus että kohdesivu on odotettu mille siirtymä tapahtuu. Sivusiirtymäyritys jos lisäysvaiheen lomakkeella on virheellisiä tietoja tai lisäys epäonnistuu yhteenvetosivulta palaa takaisin alkuperäiselle sivulle virheilmoituksen kera (Ei päästä toiseen vaiheeseen, ilmoittaa jos varsinainen lisäys epäonnistuu yhteenvetosivulta save napin painamisen jälkeen) Onnistunut uuden projektin lisäys ohjaa lisäyksen jälkeen automaattisesti kaikkien projektien listaussivulle onnistuneen lisäys ilmoituksen kera Näkymät varsinaisesti tulostavaa metodia kutsutaan odotetusti

Muokkausservlettien testaus Järjestelmään entiteettien muokkauksen toteuttavat alla listatut servletit testattiin testitapaukset muokkausservleteille -listalla kuvatuilla tapauksilla. Muokkausservletit EditCustomerServlet EditProjectBasicInfoServlet EditProjectCustomersServlet EditProjectInstructorsServlet EditProjectParticipantsServlet EditProjectTypeServlet EditWorkTypeServlet EditWorkTypeSetServlet Testitapaukset muokkausservleteille Ei admintason käyttäjä ohjataan virhesivulle (ei pääse muokkausnäkymään tai tekemään mahdollista entiteetin poistoa) Jos parametrinä annettulla editoitavan entiteetin id:llä ei löydy entiteettiä tai id ei ole oikeaa muotoa ohjataan kaikkien entiteettien listaussivulle virheviestin kera Pyyntö muokkaussivulle ilman muita parametrejä kuin entiteetin id näyttää muokkausnäkymän entiteetin tiedoilla Muokattujen tietojen päivitys ohjataan takaisin muokkausnäkymään virheviestin kera jos annetut tiedot ovat olleet virheellisiä tai päivitys tietokantaan epäonnistuu Muokattujen tietojen päivitys sallituilla tiedoilla onnistuu ja käyttäjä ohjataan kaikkien entiteettien listaussivulle onnistunut päivitys -ilmoituksen kera Lisäksi poiston sallivilla muokkausservleteillä testattiin seuraavat tapaukset Poistopyyntö olemattomalle id:lle tai jos id annettu väärän muotoisena ohjataan entiteetin muokkaussivulle Onnistuneen poiston jälkeen käyttäjä ohjataan kaikkien entiteettien listausnäkymään EditOwnInfoServlet luokalle tehtiin seuraavat testit Kirjautumaton käyttäjä ohjataan virhesivulle kirjautunut käyttäjä pääsee omien tietojensa editointisivulle Tietojen tallennus vääräällä salasanalla ei onnistu vaan ohjataan takaisin editointisivulle virheviestin kera Tietojen tallennus oikealla salasanalla onnistuu ja onnistuneesta tallennuksesta ilmoitetaan viestillä Listausservlettien testatus Järjestelmään entiteettien lsitauksen toteuttavat alla listatut servletit testattiin testitapaukset listausservleteille -listalla kuvatuilla tapauksilla. Listaussivut siis vain listaavat kaikki järjestelmän tietyt entiteetit, josta entiteettejä voi klikata muokattavaksi tai muuten päästä johonkin tiettyyn entiteettiin liittyvän näkymään. Pääasiassa näkymistä pääsi vain muokkaamaan listattuja

entiteetteetien tietoja. Jotkit sivut jaottelivat listatut entiteetit pariin tai useampaan listaan. Listausservletit AllCustomersListServlet AllEndedProjectsListServlet AllProjectsListServlet AllProjectTypesListServlet AllWorkTypeSetsListServlet AllWorkTypesListServlet Testatustapaukset listausservleteille Riittämättömät oikeidet omaava käyttäjä ohjataan virhesivulle Näkymään tarvittavat listat muodostetaan (Tarvittavia listat (tietokannasta) muodostavia metodeja kutsutaan) Muut servletit Alla on listattuna loput erityyppisiä näkymiä muodostavat servletit sekä testitapaukset niille. ErrorPageServlet Virheviestin näyttävä näkymä näytetään sekä POST että GET requesteilla Attribuuttina annettu virheviesti näytetään näkymässä tai oletusviesti, jos virheviestiä ei ole. LoginServlet Kirjautumislomake näytetään tyhjänä ensimmäisellä näkymän kutsukerralla (POST ja GET) Virheellisen kirjautumisyrityksen jälkeen kirjautumislomakkella näytetään edellisen yrityskerran tunnus tunnuksen paikalla (POST ja GET) MainServlet MainServlet toimii pohjaluokkana kaikille muille servleteille tarjoten yleisiä servletin muodostamiseen ja lomakkeiden käsittelyyn tarvitta metodeja eli ei muodosta itse mitään tiettyä näkymää vaan käytetään kaikkien näkymien muodostamisessa. Testitapaukset isintidinstringidlist metodin toiminta yksikkötestinä getnewtemplatemodel metodin toiminta yksikkötestinä ManageWorkHoursServlet Parametrinä annettavan projekti id:n puuttuessa tai sen ollessa ei sallittua muotoa tai jos pyytävä käyttäjä ei ole projektin jäsen tullee pyynnön ohjautua virhesivulle virheilmoituksen kera Projektin jäsen käyttäjä pääsee tuntikirjausnäkymään Tuntikirjauksen lisäys valideilla tiedoilla onnistuu

Tuntikirjauksen lisäys ei sallituilla tiedoilla tai puutteellisilla tiedoilla johtaa virheilmoituksen näyttämiseen tuntikirjaussivulla Vain omien tuntikirjausten poisto onnistuu MessageBoardServlet Ainoastaan projektin jäsen tai ohjaaja näkee ilmoitustaulunäkymän, muut ohjataan virhesivulle Ainoastaan projektin jäsen tai ohjaaja näkee vanhojen viestien ilmoitustaulunäkymän, muut ohjataan virhesivulle Uuden viestin lisäys virheellisillä tiedoilla näyttää virheilmoituksen ilmoitustaulusivulla Uuden viestin lisäys valideilla tiedoilla onnistuu ProjectInfoServlet Pyytö ohjataan virhesivulle jos projektia ei löydy parametrinä annetulla id:llä tai id oli väärän muotoinen (syntaksi) Aktiivisen projektin tiedot projektiin kuuluvien henkilöiden oikeilla nimillä näkee vain projektiin kuuluvat henkilöt ja admin tason käyttäjä Tutkija näkee vain päättyneet projektit Projektiin kuulumaton käyttäjä näkee päättyneen projektin tiedot missä projektin jäsenten ja asiakkaan oikeita nimiä ei näytetä ja tarvittavat tiedot haetaan eri luokista näkymää varten (mock objecktit) Seuraavista servleteistä tarkistettiin vain että kirjautunut käyttäjä pääsee näkemään näkymän ja että äkymän varsinaisesti tulostavaa metodia kutsutaan odotetusti WelcomeServlet WorkHourViewOfActiveProjectsServlet WorkHourViewOfOneProjectServlet Tässä tarkistettiin lisäksi että annettu projekti id oli sallittua muotoa Tarvittavat lisäkirjastot testien ajoon HSLQDB (1.8.1) Testitietokanta+jdbc ajuri kannalle http://hsqldb.org/ /lib/hsqldb.jar jdbc-ajuri.jar Käytetyn testitietokannan ajuri JUnit (4.7) junit yksikkötesteille http://sourceforge.net/projects/junit/files/junit/ /junit-4.7.jar DbUnit (2.4.6) Kantaa käyttävät testit asettavat kannan alkutilan tämän avulla. http://www.dbunit.org/ /dbunit-2.4.6.jar Mockrunner (0.4.1)

Servlet ja Filter testejä varten http://mockrunner.sourceforge.net/ /lib/jdk1.6/jee5/mockrunner.jar JDom (1.1.1) MockRunner kirjasto vaatii tämän http://www.jdom.org/ /build/jdom.jar jsp-api.jar MockRunner kirjasto vaatii tämän db.cs.helsinki.fi:ltä /usr/local/jakarta-tomcat-5.5.7/common/lib/ hakemistosta /jsp-api.jar Jakarta ORO MockRunner kirjasto vaatii tämän (Servlet testit) http://jakarta.apache.org/oro/index.html /jakarta-oro-2.0.8.jar mockito 1.8.0 Servlet testit tarvitsevat riippuvuuksien poistoon http://code.google.com/p/mockito/ /mockito-all-1.8.0.jar