JATKUVA INTEGROINTI JAVA ENTERPRISE -KEHITYKSEN APUNA

Koko: px
Aloita esitys sivulta:

Download "JATKUVA INTEGROINTI JAVA ENTERPRISE -KEHITYKSEN APUNA"

Transkriptio

1 JATKUVA INTEGROINTI JAVA ENTERPRISE -KEHITYKSEN APUNA Joni Mustaniemi Opinnäytetyö Marraskuu 2013 Tietojenkäsittely

2 TIIVISTELMÄ Tampereen ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma Ohjelmistotuotannon suuntautumisvaihtoehto MUSTANIEMI, JONI: Jatkuva integrointi Java Enterprise -kehityksen apuna Opinnäytetyö 30 sivua Marraskuu 2013 Opinnäytetyö käsittelee ketterän ohjelmistokehityksen menetelmiä ja jatkuvan integraation prosesseja. Tämän työn tavoitteena oli luoda toimeksiantajan tiimin käyttöön toimiva jatkuvan integraation järjestelmä tiimin projekteja varten. Jatkuvan integraation järjestelmä on ollut toimeksiantajan testikäytössä. Järjestelmä on kehitetty Javaympäristön työkaluille. Yrityksen projekteissa käytetään apuna Maven- sekä Anttyökaluja, mutta tämän työn tulosten testaamista varten ainoastaan Maven-työkalujen käyttöä on tutkittu. Työn lähtökohtana oli saada automatisoitua tiimin ohjelmistoprosessien testausta ja testausten raportointia. Koska projekteja on useita ja projektien lähtökohtana käytetään samaa ohjelmarunkoa, rungon muutosten vaikuttaminen muihin projekteihin voidaan huomata jatkuvan integraation järjestelmän avulla mahdollisimman aikaisessa vaiheessa kehitysprosessia. Näin saadaan vähennettyä virheiden siirtymistä muihin projekteihin sekä voidaan seurata koko tiimin tasolla ohjelmiston laatua. Opinnäytetyön ensimmäisen vaiheen tavoite oli luoda yritykselle käyttöön jatkuvan integraation prosessi ja etsiä siihen soveltuvat työkalut useiden vaihtoehtojen perusteella. Tutkimusten perusteella valittiin tiimille esiteltäväksi kaksi ohjelmistoa. Valinnan perusteella on asennettu ja konfiguroitu järjestelmä ja järjestelmä annettiin toimeksiantajan testattavaksi. Käytännön osuuden tuloksena syntyneeseen järjestelmään on automatisoitu Java Enterprise -kehitysprojekteja testausten tuloksia varten. Järjestelmän tulosten perusteella arvioidaan järjestelmän hyödyt tiimin prosessien tukemiseksi. Jatkuvan integraation järjestelmän prosessien luominen ei ainoastaan antanut tiimille jatkuvan integraation järjestelmää, vaan se myös vaikutti tiimin testausmenetelmien uudelleen suunnitteluun ja työskentelytapaan. Suunnittelutyöstä on annettu toiselle opiskelijalle aihe opinnäytetyöhön. Asiasanat: jatkuva integraatio, ketterä ohjelmistokehitys, atlassian bamboo, Jenkins

3 ABSTRACT Tampereen ammattikorkeakoulu Tampere University of Applied Sciences Bachelor of Business Administration (BBA) MUSTANIEMI, JONI: How continuous integration system aid Java Enterprise software development Bachelor's thesis 30 pages November 2013 This thesis describes agile software development methodologies and continuous integration processes. The aim of this work was to create a functioning continuous integration system for the client team s projects. The system was tested by the client. The system was developed for Java development tools and environment. The projects of the team are built with Maven and Ant tools, but only Maven development tools were used and studied here. The main point was to create automated software testing processes and test reporting tools for the team. Because there are a number of projects developed by the team and the same project base is used in multiple projects, changes to the base are tested and checked to see if they affect other projects and errors can be caught at the earliest point possible by a continuous integration system. This will reduce errors in other projects and improve software quality throughout the entire team. In the first phase of this research, the objective was to create a continuous integration process and to find appropriate tools for it. The selected tools were presented to the team. The selected software was installed and configured and the system was tested by the client. The creation of the continuous integration processes not only gave the team a continuous integration system, but it also affected the team's testing method discussion and test methods re-design. A further study on the result of the test re-design work was subsequently started by another student. Key words: continuous integration, atlassian bamboo, Jenkins, agile software development

4 4 SISÄLLYS 1 JOHDANTO TOIMEKSIANTAJA KETTERÄT MENETELMÄT Yleistä Ketterän ohjelmistokehityksen menetelmät Extreme programming Scrum Crystal Feature Driven Development (FDD) Test Driven Development (TDD) Ketterä ohjelmistokehitys ja jatkuva integraatio JATKUVA INTEGRAATIO Yleistä Käyttöön ehdotetut ohjelmat Bamboo Jenkins Jatkuvan integraation järjestelmän valinta YMPÄRISTÖ Testausmenetelmissä käytettävät tekniikat Yksikkötestaaminen ja JUnit Käyttöliittymätestaaminen ja Selenium Suorituskykytestaaminen ja JMeter Daily-build, Maven ja Weblogic Muuta huomioitavaa Ympäristön asennus Unix-palvelimen asennus Oracle Database Express Edition Oracle Weblogic Server Jenkins Jenkinsin muokkaus yrityksen tarpeisiin Jenkinsin konfigurointi Tehtävien luonti Jenkinsissä YHTEENVETO LÄHTEET... 29

5 5 1 JOHDANTO Ohjelmistotestauksen tärkeys ohjelmistoprojekteissa on ollut aina korkealla prioriteettilistalla, etenkin tänä päivänä kun puhutaan ketterästä ohjelmistokehityksestä. Iteraatioita kehityksessä on useita päivittäin ja lähdekoodia integroidaan useita kertoja versionhallintaan. Ohjelmistojen manuaalinen testaaminen vie kuitenkin ohjelmistokehittäjiltä paljon aikaa, jonka voisi käyttää itse projektin kehittämiseen. Jatkuvan integroinnin hienous ohjelmistoprojekteissa on, että järjestelmän avulla voidaan automatisoida testausprosesseja tehtäväksi päivittäin tai jokaisen koodin integraation yhteydessä, jolloin saadaan välittömästi tietoa järjestelmän toiminnasta sekä sen rikkoutumisen aiheuttaneesta päivityksestä. Projektiin on ennalta valittu vertailtavaksi kaksi jatkuvan integroinnin työkalua. Ensimmäiseksi ohjelmistoksi on valittu Atlassianin Bamboo -ohjelmisto, joka on maksullinen. Atlassian on hyvin tunnettu muistakin ohjelmistoistaan, kuten esimerkiksi JIRA tai Confluence. Toisena ohjelmistona vertailussa käytetään maksutonta avoimen lähdekoodin ohjelmistoa nimeltään Jenkins. Jenkins on Hudsonista haarautunut ohjelmisto, jolla on hyvin aktiivinen käyttäjäkunta. Hudsonia kehitettiin Sun Microsystemillä, joka on nykyinen Oracle. Pääkehittäjä sekä suurin osa kehitystiimistä lähtivät Oraclelta ja alkoivat kehittää Hudsonia Jenkins nimellä. Myöhemmin Oracle luovutti Hudsonin Eclipse Foundationille. Bamboo ja Jenkins tukevat Java Enterprise -ohjelmointikieltä ja tämän työn toimeksiantajan ohjelmistoprojekteissa käytettäviä menetelmiä, kuten esimerkiksi Maven kääntötyökalulla ohjelmiston kääntämistä. Tämän työn tarkoituksena on luoda toimiva ja helppokäyttöinen testausjärjestelmä toimeksiantajan Java Enterprise -ohjelmistoprojekteja varten sekä käydä läpi miten ketterät menetelmät sekä jatkuva integraatio liittyvät toisiinsa ohjelmistokehityksessä. Työn tekijän tavoitteena on oppia jatkuvan integraation työkalujen käyttöönoton suunnittelemista, toteuttamista sekä käyttämistä..

6 6 2 TOIMEKSIANTAJA CGI on maailman viidenneksi suurin itsenäinen IT- sekä liiketoimintaprosessien palvelutalo. CGI:n ja Logican yhdistymisen jälkeen syyskuussa 2012, yrityksessä työskentelee ammattilaista 40 eri maassa. Se takaa paremman tavoitettavuuden, lisää palvelumahdollisuuksia sekä asiantuntemusta CGI:n asiakkaille ympäri Amerikkaa, Eurooppaa sekä Aasiaa. CGI tuottaa korkeatasoista liiketoiminta sekä IT-konsultointia. Palveluina on tuottaa järjestelmäintegrointia sekä liiketoimintatoimintojen ja ITtoimintojen hallintaa. Yritys keskittyy finanssi-, hallitus-, terveydenhuolto-, jälleenmyynti-, jakelu-, valmistus-, tietoliikenne-, julkisten-, öljy- sekä kaasupalveluiden tuottamiseen. (CGI, 2013.)

7 7 3 KETTERÄT MENETELMÄT 3.1 Yleistä Ketterän menetelmän käytännöt lisäävät projekteissa joustavuutta. Ne tuovat projekteihin parempaa laatua, vähemmän asiakirjojen kirjoittamista ja nopeampaa saavutettavuutta markkinoille. Myös yhteistyö on joustavampaa asiakkaiden kanssa. Perinteinen ohjelmistokehitys nojaa voimakkaasti suunnitteluun ohjelmistoprojektien kehityksen alkuvaiheessa. Projektien vastuuhenkilöiden näkökulma ohjelmistokehityksessä oli aikaisemmin se, että saamalla mahdollisimman aikaisessa vaiheessa projektiin liittyvät tarkemmat tiedot, voitiin tehdä projektin kulun suunnittelu, laskea projektin kulut sekä resurssien käytöt etukäteen tarkasti. Myöhemmin tulleet muutokset ohjelmistoon aiheuttavat takaisiniskuja projektille sekä kasvattivat sen kuluja. Ketterän ohjelmistosuunnittelun tarkoitus on luoda laadukkaampaa ohjelmistoa lyhyemmässä ajassa. (Ahmed, 2010.) Kuvassa 1 on ketterän menetelmän prosessikaavio. Kuva 1. Ketterän menetelmän prosessi (Mountain Goat Software 2013.) Yleisiä menetelmiä ketterässä ohjelmistokehityksessä ovat Extreme Programming, Scrum, Chrystal Clear, Feature Driven Development (FDD) ja Test Driven Development (TDD). Kaikki edellä mainitut menetelmät toimivat eri tavalla verrattuna perinteiseen ohjelmistokehitykseen ja helpottavat organisaatioita vastaamaan digitaalisen talouden haasteisiin. (Ahmed, 2010.)

8 8 3.2 Ketterän ohjelmistokehityksen menetelmät Extreme programming Extreme programming -menetelmää käytettiin projektissa ensimmäisen kerran vuonna Menetelmä on todistettu toimivaksi hyvin usean erikokoisen yrityksen toimesta ympäri maailmaa. Extreme programming on menestynyt menetelmä, koska se korostaa asiakastyytyväisyyttä. Sen sijaan, että toimitettaisiin kaikki mahdolliset muutokset yhtenä päivänä tulevaisuudessa, voidaan menetelmässä toimittaa ohjelmistoa silloin kuin sitä tarvitaan. Menetelmä oikeuttaa sovelluskehittäjät vastaamaan asiakkaan muutosvaatimuksiin huolellisesti, jopa projektin myöhäisissä vaiheissa. (Extreme Programming 2009.) Extreme programming eli lyhennettynä XP on eniten käytetty menetelmä ketterässä ohjelmistokehityksessä. Se sisältää pariohjelmointia, laajamittaista koodin tarkastelua, yksikkötestaamista, selkeää ja yksinkertaista ohjelmistokoodia ja koodin refaktorointia. Menetelmässä projektin hierarkiaa pyritään tasoittamaan. Projektin sykliä on kuvattu kuvassa 2. Menetelmässä pyritään tuottamaan ominaisuus vasta, kun sitä ohjelmistossa tarvitaan. Projektin dokumentaation vaatimuksiin tehdään usein muutoksia ja ohjelmiston asiakasrajapintaan ollaan jatkuvasti yhteydessä. (Ahmed, 2010.) Kuva 2. Extreme programming -menetelmän prosessin kuvaus (Extreme progamming 2009.)

9 Scrum Scrum on iteratiivinen ketterän ohjelmistokehityksen tekniikka. Nimi Scrum on johdettu strategiasta, jota on käytetty rugby-urheilulajissa. Rugbyssä scrum tarkoittaa strategiaa, jossa palloa liikutellaan edestakaisin kentällä joukkuetovereiden kesken tavoitteena saada palloa kuljetettua kentällä eteenpäin. Scrum-kehys parantaa tiimin kommunikointia sekä maksimoi yhteistyötä tiimin henkilöiden kanssa. Tärkeintä Scrumissa on tuottavuuden maksimointi. Parasta Scrumissa on, että se skaalautuu yrityksessä yhdestä projektista koko organisaation käytännöksi. Scrumia voidaan käyttää niin pienissä kuin isoissakin projekteissa. Pienemmissä projekteissa luodaan Scrum-tiimejä, mutta isommissa projekteissa voidaan projektia varten luoda pienempiä osaprojektitiimejä. (Ahmed, 2010.) Crystal Crystal on yksi kevyimmistä ketterän ohjelmistokehityksen menetelmistä. Siihen kuuluu sellaisia ketterän ohjelmistokehityksen menetelmiä kuin Crystal Clear, Crystal Yellow ja Cryrstal Orange. Crystal menetelmäperhe osoittaa, että jokainen erillinen projekti voi vaatia hieman muokattuja käytäntöjä. Muutamia tärkeimpiä avaintekijöitä menetelmässä on tiimityöskentely, kommunikointi ja yksinkertaisuus. Projekteissa pyritään mukauttamaan työskentelyä usein muuttuvaan ja kohentuvaan projektiin. Crystalin toimintatavan mukaisesti ohjelmistoa tehdään iteratiivisesti. Kehityksessä pyritään kannustamaan aikaiseen ja usein toimitettavaan ohjelmistoon. Toimitettavaan ohjelmistoon toivotaan korkeaa käyttäjäastetta, sopeutumiskykyä ja pyritään poistamaan turhaa byrokratiaa ja häiriötekijöitä. (VersionOne 2013.) Feature Driven Development (FDD) Feature Driven Development eli ominaisuuslähtöinen kehittäminen sisältää viisi vaihetta. Ensimmäiset kolme vaihetta sisältävät ohjelmiston sekä dokumentaation rungon tekemisen ja valmistelun. Tässä vaiheessa listataan ohjelmiston tarkemmat ominaisuudet. Loput kaksi vaihetta sisältävät tarkempien ominaisuuksien kehittämistä lyhyissä iteraa-

10 tioissa. Ominaisuuslistalta tehdään ensin prioriteetiltaan tärkeimmät ominaisuudet. Jokainen ominaisuus kehitetään sekä julkaistaan. (Ahmed, 2010.) 10 FDD on mallilähtöinen ja lyhyen iteraation prosessi. Prosessi alkaa luomalla ohjelmistomallin kokonaisuuskuva. Tämän jälkeen jatketaan kahden viikon sykleissä, joissa toteutetaan ominaisuus yksi kerrallaan. Ominaisuudet ovat yleensä pieniä kokonaisuuksia, jotka ovat niin sanotusti hyödyllisiä asiakkaan silmille. Loput prosessit sitoutuvat projektin ominaisuuksien toimittamiseen. Ominaisuuslähtöinen kehittäminen määrittelee, että ohjelmisto käännetään usein. Toisin kuin muut ketterän ohjelmistokehityksen menetelmät, FDD:tä kuvaa tarkemmin todella lyhyet vaiheet työssä, jotka ovat saatu aikaan erikseen jokaista ominaisuutta kohden. (VersionOne 2013.) Test Driven Development (TDD) Test Driven development on testilähtöistä ohjelmistokehittämistä. Ohjelmistoa lähdetään kehittämään luomalla testit ohjelmistolle ja vasta sen jälkeen aloitetaan ohjelmiston kehittäminen pienissä iteraatioissa testien perusteella. Jokaisen iteraation tulee läpäistä aikaisemmin luotujen testien ajo. Projektin päätteeksi tiimin ohjelmistokehittäjät refaktoroivat koodia muutosten mukaisesti. (Ahmed, 2010.) 3.3 Ketterä ohjelmistokehitys ja jatkuva integraatio Perinteinen ohjelmistokehitys ei kerro kuinka usein ja säännöllisesti projektin koodia tulee iteroida. Ohjelmistokehittäjät voivat työstää itsenäisesti tunteja, päiviä tai jopa viikkoja samaa ohjelmakoodia ilman, että ohjelmoija tajuaa kuinka monta konfliktia tai ohjelmointivirhettä he voivat aiheuttaa ohjelmistoprojektissa. Koska ketterät tiimit luovat vakaata koodia jokaisessa iteraatiossa, huomaavat he kuinka heidän työtään on normaalisti hidastanut pitkät ohjelmistosyklit. Pitkien ohjelmistosyklien päätteeksi huomataan, kuinka muutokset ovat hidastaneet ohjelmistoa ja kehittäjät joutuvat käyttämään aikaa virheellisen toiminnan aiheuttajan etsimiseen. Mitä enemmän ohjelmistokehittäjiä on jakamassa koodia, sitä vaikeampaa virheellisen toiminnan etsiminen on. Tähän tarkoitukseen ketterät ohjelmistotiimit ottavat jatkuvan integraation järjestelmät käyttöönsä. (VersionOne, 2013.) Kuvassa 3 nähdään, kuinka menetelmät nivoutuvat toisiinsa.

11 11 Kuva 3. Ketterät menetelmät ja jatkuva integraatio (Developer works, 2012.) Jatkuva integraatio auttaa onnistuneeseen järjestelmän kääntämiseen useita kertoja päivässä työkaluilla kuten Jenkins, Bamboo tai CruiseControl. Järjestelmät käyttävät esimerkiksi Ant-, Maven- tai muita lähdekoodityökaluja ohjelman kääntämiseen. Ketterät kehitystiimit normaalisti konfiguroivat jatkuvan integraation palvelun sisältämään automaattista lähdekoodin kääntämistä, yksikkötestaamista ja lähdekoodin kontrollointia integraatioissa. Oikeastaan jatkuva integraation tarkoittaa, että ohjelmiston kääntäminen melkein aina onnistuu puhtaasti. (VersionOne 2013.) Yksi tärkeimmistä jatkuvan integraation säännöistä on, että ohjelmistokehittäjät eivät koskaan jätä mitään päivän päätteeksi integroimatta versionhallintaan. Jatkuvan integraation järjestelmän käännös ei tulisi koskaan olla yötä rikkinäisessä tilassa. Tämä pakottaa joidenkin tehtävien järjestelmälliseen suunnitteluun ohjelmointitiimeissä. Tiimeissä henkilö, joka rikkoo käännöksen versionhallintaan tallentaessa, joutuu myös korjaamaan tekemänsä virheen. Tämä on luonnollinen kannustin lähdekoodin järjestelmälliseen tarkastamiseen ja testaamiseen päivän edetessä. (VersionOne 2013.)

12 12 4 JATKUVA INTEGRAATIO 4.1 Yleistä Ohjelmistokehittäjinä olemme kiinnostuneita luomaan parhaan mahdollisen sovelluksen asiakkaillemme pienimmällä mahdollisella työmäärällä. Sovellusten tullessa monimutkaisemmiksi ja koska niissä on enemmän liikkuvia osia, on sovellusten kehittämisestä tullut vaikeampaa kehittyneistä kehitystyökaluista huolimatta. (Kawalerowicz, 2011.) Kuvassa 4 on kuvattu jatkuvan integraation prosessin toimintaa. Kuva 4. Jatkuva integraatio (MSDN, 2013) Jatkuva integrointi (Continuous Integration) on ohjelmistokehityksen toimintatapa, jossa tiimien henkilöt voivat integroida heidän töitään useasti. Normaalisti jokainen henkilö integroi omaa työtään päivittäin, mistä seuraa useat integraatiot joka päivä. Jokainen integraatio varmistetaan kääntämällä ohjelma automaattisesti. Integraatioon kuuluu myös testien automaattinen ajo, joka huomaa virheet mahdollisimman nopeasti. Näin saadaan ohjelmistokehitykseen sellainen toimintatapa, joka johtaa huomattavaan integraation ongelmien vähentymiseen sekä mahdollistaa tiimien keskittymisen tuottamaan yhtenäisempää ohjelmakoodia nopeammin. (Fowler, 2006.)

13 13 Kysymys kuuluukin, tarvitseeko jokainen muutos ohjelmistokoodissa kääntää ja testata? Vastaus on kyllä. Kuten toimintatavan nimestäkin voi päätellä (jatkuva/continuous), paras mahdollinen tyyli on kääntää ohjelmistokoodi jokaisen muutoksen yhteydessä. Tämä on jatkuvan integraation perimmäinen ajatus. Tästä ei tule välttämättä aloittaa ohjelmiston kehitysprojekteissa. Yksi tapa tehdä, on aloittaa hankkimalla viimeisimmät muutokset ja kääntää. Tämän jälkeen luodaan testit, jotka ajetaan kerran päivässä. Tätä voidaan kutsua niin sanotusti daily build nimellä. Tämän jälkeen kun saadaan daily build ajettua päivittäin, voidaan lisätä muutama kääntö ja testaus joka päivälle. Tämä ei vie aikaa, käännöksistä tulee jatkuvaa ja eri käännöksiin voidaan laittaa erilaisia tehtäviä ajettavaksi. Tärkein tavoite kuitenkin on saada jokainen muutos testattua. Näin saadaan vähennettyä ohjelmistokehityksen riskejä, joita voivat olla esimerkiksi aikataulussa pysyminen tai ohjelmakoodin virheet. (Kawalerowicz, 2011.) 4.2 Käyttöön ehdotetut ohjelmat Bamboo Perustiedot Bamboo on Atlassianin tarjoama jatkuvan integroinnin työkalu. Atlassian on tullut tutuksi myös JIRA- sekä Confluence-työkaluista. Bamboon käyttäminen yrityskäytössä on maksullista. Hinta määräytyy ajettavien töiden määrän mukaan. Bamboo tukee useita ohjelmointikielen kääntötyökaluja, joita ovat esimerkiksi Ant, Maven ja make. (Bamboo, 2013.) Hyödyt Helppo asennus ja yksinkertainen käyttöliittymä (Kuva 5) tehtävien luonti Asetusten muokkaaminen on helppoa ja järjestelmä skaalautuva Integroituu helposti erilaisiin ohjelmointikäyttöliittymiin kuten Eclipse tai intellij IDEA Tukee Subversionia Jira integraatio Kolmannen osapuolen lisäosia asennettavissa

14 14 Kuva 5. Bamboo (Bamboo, 2013) Jenkins Perustiedot Jenkins on Javalla kirjoitettu avoimen lähdekoodin työkalu jatkuvaan integrointiin. Projekti on haarautunut Hudsonista, joka on Oraclen ylläpitämä. Työkalulla seurataan erilaisia toistuvia töitä, kuten ohjelmistojen kääntämistä ja testaamista. Lisäksi Jenkinsillä voidaan myös seurata muita ohjelman ulkopuolisia ajoja. (Jenkins, 2013.) Hyödyt Avoin lähdekoodi, joten voidaan kustomoida omaan käyttöön Ei lisenssimaksuja Helppokäyttöinen graafinen käyttöliittymä, jolla konfiguroida. Kuvassa 6 Jenkinsin etusivu. Asennuspaketti yksi.war -tiedosto, jonka voi helposti asentaa Weblogiciin. Yli 400 erilaista liitännäistä, jotka helpottavat testausta ja integrointia. Tukee myös muita ohjelmointikieliä. Aktiivinen yhteisö ja projektia päivitetään aktiivisesti Tukee Subversion-versionhallintajärjestelmä

15 15 Kuva 6. Jenkins Jatkuvan integraation järjestelmän valinta Projektin edetessä valitsimme jatkuvan integraation järjestelmäksi Jenkinsin. Projektin alkuvaiheessa vertailimme Bamboota sekä Hudsonia, josta Jenkins on haarautunut omaksi järjestelmäksi. Vaihdoimme Hudsonin Jenkinsiin, koska Jenkinsiä kehitetään aktiivisemmin kuin Hudsonia. Jenkins valittiin projektin järjestelmäksi, koska järjestelmän luominen ei aiheuttanut muita kuluja kuin työtunnit. Kulujen lisäksi valintaan vaikutti se, että Jenkinsissä voidaan myös ajaa.net-sovelluksia. Tulevaisuudessa tilanteen vaatiessa voidaan miettiä, kuinka saadaan Jenkinsiin liitettyä Windows slave. Windows slave on windows ympäristö, jossa voidaan ajaa sitä vaativia ohjelmistoja ja testejä. Toinen vaihtoehto on asentaa koko järjestelmän pohjaksi Windows-käyttöjärjestelmä. Tällä hetkellä tärkeintä on päästä testaamaan Java Enterprise -projekteja.

16 16 5 YMPÄRISTÖ 5.1 Testausmenetelmissä käytettävät tekniikat Nykyään moni ohjelma on kirjoitettu internet-sovellukseksi, jota voidaan ajaa internetselaimella. Tällaisten ohjelmistojen testauksen tehokkuus vaihtelee erilaisten yritysten ja yhteisöjen välillä. Ketteriä menetelmiä, kuten Scrumia, käytettäessä säännöllisestä testauksesta on tullut paljon tärkeämpää. Automaattisesta testauksesta on paljon hyötyä säännöllisessä testauksessa. Pääasiallisesti tärkein hyöty on testien uudelleen ajettavuus sekä siinä kuinka nopeasti testit voidaan ajaa. (SeleniumHQ 2013.) Yksikkötestaaminen ja JUnit JUnit on testaukseen tarkoitettu Java-kirjasto, josta on tullut testausstandardi Javaohjelmoinnin yksikkötestaamiseen. Kirjaston avulla voidaan tehdä testejä, joita voidaan ajaa ilman, että koko ohjelma täytyy kääntää. (Junit, 2013.) Yksikkötestaamisen tarkoitus on se, että käyttäjällä on mahdollisuus testata metodeja yksi kerrallaan ja varmistua, että koodin refaktorointi tai lisäpiirteet eivät riko ohjelmiston toimintoja tai muita alitoimintoja. Jos esimerkiksi on muutamia toisistaan riippuvaisia luokkia, täytyy niiden toiminta varmistaa vielä muutosten jälkeen. Yksikkötestaaminen antaa työkalut, joilla varmistaa etteivät muutokset hajota järjestelmää. Usein yksikkötestit suoritetaan projekteissa ennen ohjelman kääntämistä ja kääntämistä ei aloiteta, ellei yksikkötestien suoritus mene läpi onnistuneesti. Tästä syystä JUnit testit eivät ainoastaan tee ohjelmistosta vakaampaa, vaan se myös säästää paljon aikaa. (Instant Eclipse Application Testing How-To, 2013.) Käyttöliittymätestaaminen ja Selenium Selenium on yksi eniten käytettyjä avoimen lähdekoodin ratkaisuista käyttöliittymätestauksessa. Selenium automatisoi selaimen toimintaa. Tällä testausmenetelmällä voidaan testata käyttöliittymän toimintaa erilaisilla automatisoiduilla testeillä, joita ajetaan se-

17 17 laimella. Selenium tukee käytetyimpiä internet-selaimia ja osa selainten tekijöistä on ottanut tai ottamassa sitä osaksi selaimen perustoimintoja. Lisäksi Selenium on osana erilaisia automatisoituja selaintyökaluja, ohjelmointirajapintoja ja komponenttikirjastoja (framework). Käyttöliittymän testaus Seleniumilla tuo huomattavia etuja pitkällä tähtäimellä ohjelmistokehityksessä. Etuja ovat jatkuva regressiotestaus, nopea palaute ohjelmistokehittäjille koodin integraatioiden yhteydessä sekä inhimillisten mokien vähenemisen, koska testaus tapahtuu automatisoidusti ohjelmallisesti eikä ohjelmoijien toimesta manuaalisesti. (SeleniumHQ, 2013.) Suorituskykytestaaminen ja JMeter JMeter on Apachen ylläpitämä Javalla kirjoitettu avoimen lähdekoodin ohjelma, joka on tarkoitettu suorituskyvyn testaamiseen. Ohjelma on alun perin tehty web-sovellusten testausta varten, mutta nykyään sitä voidaan käyttää myös muihin tarkoituksiin. Apachen JMeteriä voidaan käyttää sekä staattisten että dynaamisten resurssien testaamisessa. Staattisia resursseja ovat esimerkiksi tiedostot, servletit, erilaiset scriptit sekä Java-objektit ja dynaamisia tietokannat ja tietokantakyselyt. Ohjelmalla voidaan simuloida sovelluksen rasitustilanteita ja tehdä suorituskykyanalyysejä. JMeterillä voidaan tehdä myös graafisia analyysejä suorituskyvystä sekä testata serverin käyttäytymistä suuren yhtäaikaisen rasituksen alaisena. (Jmeter, 2013.) Daily-build, Maven ja Weblogic Daily buildilla tarkoitetaan ohjelman viimeisimmän version päivittäistä kääntämistä ja asentamista testiympäristöön. Näin saadaan helposti selville, että kaikki tarvittavat paketit ja muut vaatimukset ovat käytettävissä ohjelman kääntämistä varten. Koska ohjelma päivitetään ja asennetaan päivittäin, on mahdollista testata viimeisintä ohjelmistoa testiympäristössä ja näin saada nopeasti palautetta ohjelman toimivuudesta. Lisäksi päivittäisen ajon seurauksena löydetään nopeasti sellaiset uudet virheet koodissa, jotka ovat seurausta viimeisimmästä koodin järjestelmäintegroinnista.

18 18 Tässä projektissa daily build käännetään Maven-työkalulla. Sillä alustetaan tietokanta alkuperäiskuntoon sekä asennetaan päivittäin ohjelman ajoon vaaditut insert-lauseet kantaan. Lisäksi Mavenilla käännetään viimeisimmät ohjelmakoodit toimivaksi paketiksi, joka asennetaan Weblogicin testiympäristöön Jenkinsin Weblogic deployer - lisäosalla. Ajon päätteeksi käynnistetään käyttöliittymätestit (Selenium), jotta saadaan regressiotestit ja muut järjestelmäanalyysit suoritettua viimeisimmällä toimivalla kokoonpanolla Muuta huomioitavaa Edellä mainittujen testausmenetelmien lisäksi Jenkins-ohjelma on hyödyllinen tuotantopalvelimien toiminnan testauksessa. Ohjelma tekee tuotantopalvelimille kyselyjä tietyin väliajoin, jolloin vastausten perusteella voidaan päätellä, onko palvelu pystyssä vai ei. Jos palvelu ei ole käynnissä, lähettää Jenkins ilmoituksen palvelun poissaolosta tietyille ennalta määrätyille henkilöille, jotka voivat ottaa asian käsittelyynsä. 5.2 Ympäristön asennus Selvitysten jälkeen tähän projektiin valittiin käytettäväksi Jenkins kehittäjäyhteisön aktiivisuuden sekä avoimen lähdekoodin ansiosta. Jenkinsiin on mahdollista asentaa monia hyödyllisiä yhteisön tekemiä lisäosia. Lisäksi lisenssien puolesta ohjelma on ilmaiseksi käytettävissä myös kaupallisessa käytössä. Jenkinsiä varten tarvitsee asentaa palvelin. Projektia varten on otettu käyttöön perus pöytäkonemallinen tietokone. Tätä varten serverikoneeseen asennetaan Fedoran Linuxkäyttöjärjestelmän uusin versio. Opinnäytetyön käytännön osuuden alkaessa uusin versio on 17. Lisäksi ympäristö vaatii Oraclen tietokantapalveluiden asentamisen sekä Weblogicin web-sovellusten ajoon.

19 Unix-palvelimen asennus Projektin käyttöalustaksi valittiin Fedora, joka on Red Hatin sponsoroima, mutta yhteisön ylläpitämä Linuxiin perustuva käyttöjärjestelmä. Valitsimme sen alustaksi, koska Fedora on yhteensopiva Oraclen tuotteiden kanssa. Oraclelta löytyy ohjelmista valmiit asennuspaketit Fedoran paketinhallintajärjestelmän muodossa (rpm), kuten Oracle Database Express Edition -tietokannasta ja Oracle Weblogic Serveristä (web ohjelmien alustasta). Fedorasta asennetaan normaali asennus, johon kuuluu myös graafinen työpöytä, jonka esimerkiksi Selenium vaatii ajaakseen testit internet-selaimella. Käyttöjärjestelmän asennuksen jälkeen järjestelmään asennetaan vaadittu Java JDK. Järjestelmän asennusajankohtana käytössä on Java SE:n 6 versio. Lisäksi perusasennuksen jälkeen tulee poistaa Fedoran SELinux käytöstä, joka on Fedorassa käytettävä tietoturvaohjelma, asettamalla /etc/selinux/config tiedostoon selinux=disabled. SELinuxin poistaminen käytöstä ei haittaa järjestelmän tietoturvaa, koska järjestelmä on yrityksen intranetissä, johon ulkoverkosta ei ole oikeuksia. SELinux poistetaan käytöstä, koska oletusasetuksilla se estää tarvittavien prosessien ajon serverillä Oracle Database Express Edition Tietokantaohjelmistona käytetään Oraclen Database Express Editionia. Tietokannan asennustyökalu asentaa molemmat sekä serveri- että asiakasohjelmiston komponentit yhdessä asennuspaketissa. Asennustyökalu löytyy Oraclen sivuilta. Asennuspaketti on ilmainen, mutta vaatii rekisteröitymisen Oraclen sivustolle. Tietokantaohjelmistosta on vain 64-bittinen versio Linux-käyttöjärjestelmälle. Asennuspaketin latauksen valmistuttua paketti puretaan tarvittavalla ohjelmistolla, joka osaa purkaa zip-tiedoston. Purkamisen valmistuttua kohdekansioon on ilmestynyt rpm-tiedosto, joka ajetaan rpm -ivh oracle-xe-xxx.rpm (xxx = versionumero ja arkkitehtuuri) -komennolla. Ruudulla näkyy paketin asennuksen eteneminen. Asennuksen jälkeen ajetaan /etc/init.d/oracle-xe configure, jolla säädetään tarvittavat asetukset kantayhteyksille. Jos Oracle Database Express Editionin asetuksia tarvitsee myöhemmin muuttaa, voidaan näin tehdä ajamalla kyseinen komento uudelleen. Tämän lisäksi käteviä komentoja esimerkiksi mahdollisissa ongelmatilanteissa ovat /etc/init.d/oracle-xe + start/stop komennot, joilla kannan voi sammuttaa ja käynnistää uudelleen.

20 20 Asetukset HTTP port 8080 Oracle listener 1521 Sys käyttäjän salasana Automaattinen käynnistys haluamasi salasana Kyllä Oracle Weblogic Server Weblogicin asennus onnistuu vaivattomasti Fedoraan. Asennusta varten Oraclen sivuilta tulee ladata 64-bittinen jar-tiedosto. Paketti asennetaan järjestelmään antamalla Linuxin terminaaliin seuraava komento: java jar wls[versionumero]_generic.jar Asennuksessa valittiin asennustyypiksi Typical, joka asentaa WebLogic Server -komponentin oletusasetuksilla. Asennuksen jälkeen luodaan WebLogiciin domain oletusasetuksilla. Ainoastaan Javan valinnassa vaihdetaan WebLogic käyttämään Oraclen Javaa JRockitin sijaan Jenkins Jenkinsin asentaminen on Fedoralle yksinkertaista. Fedorassa voidaan käyttää Jenkinsin RedHat distribuutioille tarkoitettua pakettivarastoa, josta löytyy asentamiseen tarvittavat asennuspaketit. Pakettivarasto lisätään Fedoraan suorittamalla seuraavat komennot Linuxin terminaalissa: sudo wget O /etc/yum.repos.d/jenkins.repo sudo rpm import

21 Pakettivaraston asentamisen jälkeen Jenkins voidaan asentaa yksinkertaisesti käyttämällä seuraavaa komentoa: 21 sudo yum install jenkins Jenkinsin asentaminen kestää vain muutaman minuutin, jonka jälkeen asennuksen onnistumisen ja Jenkinsin päälläolo voidaan tarkistaa suorittamalla seuraava komento: sudo service jenkins status Jos Jenkins on käynnissä, asennettua jatkuvan integraation järjestelmää voidaan testata halutussa selaimessa. Käynnistämällä selain ja laittamalla osoiterivin osoitteeksi avautuu Jenkinsin hallintasivu. 5.3 Jenkinsin muokkaus yrityksen tarpeisiin Jenkinsin konfigurointi Tässä tapauksessa jatkuvan integraation järjestelmä on lokaalissa yritysverkossa ja järjestelmään pääsee kuka tahansa kiinni. Järjestelmästä halutaan estää tärkeät muokkausominaisuudet muilta kuin halutuilta käyttäjiltä. Oletuksena Jenkinsin asennuksessa kaikilla käyttäjillä on oikeus selata ja muokata sen asetuksia sekä luoda uusia tehtäviä. Muilla kuin järjestelmän ylläpitäjillä on oikeudet vain tarkastella tehtäviä Jenkinsissä. Järjestelmä tukee unix-käyttäjätunnusten käyttämistä, joten tässä tapauksessa käytetään unix-palvelimelle luotuja tunnuksia. Asetus löytyy Jenkinsin asetuksista kohdasta: Manage Jenkins -> Configure Global Security. Aukeavasta ikkunasta kohtaan Security Realm valitaan Unix user/group database ja Authorisation kohtaan Logged-in users can do anything. Muita konfiguraatioita ei tarvitse tehdä.

22 Tehtävien luonti Jenkinsissä Jenkinsiä voidaan käyttää erilaisissa ohjelmankäännöstapauksissa. Ohjelmalla voidaan suorittaa jatkuvia, virallisia ja niin sanotusti nightly build käännöksiä projektin koodista, riippuen millainen tarve käännökselle on. Esimerkiksi jokaisen ohjelmistosuunnittelijan tuodessa muutoksia versionhallintaan, järjestelmällä ajetaan jatkuvaa käännöstä jokaisen tuonnin yhteydessä. Toisaalta kerran päivässä ajettava nightly build ajetaan esimerkiksi keskiyöllä koko edellisen päivän kehitystyön tuotoksista, jonka jälkeen testien onnistuessa luodaan projektista uusi käännöspaketti eli war-paketti. Paketti otetaan käyttöön Weblogicin palvelussa. Asennuspaketin asennuksen jälkeen voidaan käydä testaamassa tuotantoa vastaavassa ympäristössä esimerkiksi Seleniumilla tehdyillä testeillä ohjelmiston regressiota. Regressiotestauksella testataan, toimiiko ohjelmisto edelleen samalla tavalla kuin aikaisemmin on määritelty. Projektin loppuvaiheessa tai ennen tuotantoasennuksia voidaan tehdä myös virallisia käännöksiä. Näin varmistetaan, että kaikki toimii halutulla tavalla ennen paketin tuotantoon viemistä. Jos virallinen käännös menee testeineen läpi, voidaan paketti viedä tuotantoon. Tehtävien luonti onnistuu Jenkinsin käyttöliittymän yläosasta painamalla New Job. Seuraavaksi valitaan Build a free-style software project. Tätä toimintoa käyttämällä voidaan ohjelman käännöksen lisäksi hallinnoida versionhallintaa ja muita yhtäaikaisia tehtäviä. Esimerkiksi versionhallinnan avulla voidaan päätellä mikä tai kuka ohjelmiston rikkoi. Tällä sivulla valitaan Jenkinsin tehtävälle nimi. Tähän kannattaa laittaa jokin projektia kuvaava nimi kuten projektin nimi ja mitä tehtävä tekee esimerkiksi Projektinnimi-daily-build. Tehtävien kannalta testausprosessien suorittaminen kannattaa tehdä yhdistämällä useampi tehtävä. Esimerkki mallista voi olla versionhallinta, ohjelman kääntö, testikannan luonti, testien ajo ja testidatan poistaminen. Jokainen edellisen esimerkin kohta on oma tehtävänsä. Tehtävän nimen ja tyypin valinnan jälkeen avautuu tarkemmat tehtävän asetukset sivu. Tehtävän tarpeesta riippuen tälle sivulle asetetaan tehtävältä vaaditut asetukset. Koska tässä ei ole yksiselitteistä tapaa asettaa asetuksia, käydään seuraavaksi kohta kohdalta läpi mitä kukin asetus tekee.

23 23 Ensimmäiseksi käydään läpi kuvassa 7 olevat kohdat. Kaksi ensimmäistä kohtaa selittävät itsensä. Project name -kohdassa on edellisellä sivulla annettu projektin nimi. Tätä voidaan vielä tässä vaiheessa muuttaa, jos edellisellä sivulla tuli esimerkiksi kirjoitusvirheitä. Description-kenttään voidaan kirjoittaa lyhyt kuvaus tehtävästä ja teksti tulee näkyviin tehtäväsivulle, kun tehtävää valitaan tehtäväluettelosta. Discard Old builds -valinnalla voidaan rajoittaa kuinka monta tehtävän suoritusta tallennetaan järjestelmään. Tässä voidaan määritellä kuinka monta päivää tai tehtävän ajoa tallennetaan. Jos järjestelmässä on rajallisesti tilaa ja useita projekteja testattavana, tehtävien lopullinen koko on useita gigatavuja ja kasvaa kokoajan, koska vanhoja raportteja ei poisteta. Tässä projektissa tehtävien lokeja määriteltiin pidettäväksi maksimissaan 50 kappaletta palvelimen rajallisen tilan takia. Kuva 7. Jenkinsin asetukset - yleiset asetukset Tämän tutkimuksen kannalta seuraavista kolmesta valinnasta Disable Build -valinta on tärkeä. Tällä voidaan keskeyttää tämän prosessin ajo väliaikaisesti kunnes valinta otetaan pois käytöstä. Tämä ominaisuus on kätevä, kun tiedetään entuudestaan jonkin asian rikkovan prosessin. Esimerkkejä tällaisista tapahtumista voi olla versionhallinnan toimimattomuus tai isot päivitykset lähdekoodiin lyhyen ajan sisällä. Tapahtumista voidaan päätellä etukäteen, että prosessi hajoaa tai ilmoittaa virheestä. Kahteen muuhun valintaa ei tässä oteta kantaa. Asetusten oikealla puolella olevasta nuolesta saa lisää tietoa mitä kukin asetus tekee ja mahdollisesti ohjeita mitä kohtaan tulisi asettaa.

24 24 Seuraavaksi käsitellään kuvassa 8 näkyvät asetukset. Ensimmäisellä valinnalla (Quiet period) voidaan viivästyttää tehtävän aloitusta joitakin sekunteja. Tämä on kätevä asetus tilanteissa, joissa edellisen tehtävän prosessissa on jotain suorituksia, jotka vaikuttavat myös tähän tehtävään. Esimerkkitilanne voisi olla paketin asennus Weblogiciin ja halutaan varmistaa, että asennus ehtii valmistua ennen kuin esimerkiksi Selenium testit ajetaan. Retry count -valinnalla voidaan määrittää, kuinka monta kertaa Jenkins yrittää hakea päivityksiä versionhallinnasta ennen kuin luovuttaa ja ilmoittaa virheestä. Kahdella seuraavalla valinnalla (block build when upstream/downstream project is running) voidaan estää tehtävän ajo kunnes tähän projektiin tarvittavat tehtävät ovat vapautuneet muista suoritettavista tehtävistä. Use custom workspacella voidaan vähentää tehtävien vaatimaa kovalevytilaa. Yhdellä tehtävällä voidaan hakea versionhallinnasta tarvittavat lähdekoodit samaan kansioon ja muissa projektiin liittyvissä tehtävissä voidaan käyttää samaa projektin kansiota. Kansiolle voidaan antaa myös oma nimi. Tämä on tarkoitettu Jenkinsissä näyttämiseen siten, että ei näytetä kansion järjestelmän polkua vaan käyttäjän antamaa nimeä. Kuva 8. Jenkinsin asetukset projektiasetukset Kuvassa 9 määritellään projektin versiohallinnan asetukset. Toimeksiantajan tiimin projektissa käytetään Subversionia, joten määritellyt asetukset ovat Subversionversionhallintaohjelmistolle. Repository URL kohtaan laitetaan polku kokonaisena eli domain ja kohdekansio. Muihin asetuksiin ei tarvitse koskea, koska oletusasetukset ovat oikeat.

25 25 Kuva 9. Jenkinsin asetukset versionhallinta Kuvassa 10 valitaan asetukset, jotka aiheuttavat projektin käännöksen. Tehtävä voidaan käynnistää, kun toinen tehtävä valmistuu. Tehtävän suoritus voidaan myös käynnistää etähallintana esimerkiksi skripteillä. Lisäksi voidaan kääntää ajoitetusti tai kuvan tapauksessa tehdään kyselyitä versionhallintaan, jos versionhallintaan ei ole tullut muutoksia, niin tulevia tehtäviä ei ajeta. Ajastuksissa käytetään cron tyylisiä ajastuksia muutamilla pienillä muutoksilla. Ajastuksessa käytetään viittä eri arvoa tabulaattorilla tai välilyönnillä eroteltuna. Taulukossa 1 on määritelty jokaisen arvon tieto. Esimerkiksi tieto H/10 * * * * tarkoittaa, että tehtävä suoritetaan 10 minuutin välein. Ajastuksiin voidaan myös käyttää TAULUKKO 1. Cron asteriksimerkkien selitykset ensimmäisestä alkaen. Minuutti Tunnissa oleva minuutti (0-59) Tunti Päivässä oleva tunti (0-23) Päivä Kuukauden päivä (1-31) Kuukausi Kuukausi (1-12) Viikonpäivä Viikonpäivä (0-7), 0 ja 7 tarkoittaa sunnuntaita

26 26 Kuva 10. Jenkinsin asetukset - käännöksen laukaisijat Seuraavassa kohdassa määritellään käännösasetukset. Kuvassa 11 on käytetty mallina Maven-työkalua. Komento projektin käännökseen on mvn clean install. Lisäksi Postbuild actions -kohdassa voidaan määritellä mitä tapahtuu tehtävän valmistumisen jälkeen. Tehtävän epäonnistumisesta voidaan asettaa lähetettäväksi sähköposti tietyille käyttäjille. Tämän lisäksi asennuksen jälkeisiin prosesseihin määritellään mitä tehtäviä suoritetaan, jos tehtävä onnistuu. Tässä kohdassa voidaan myös asettaa Javadocdokumentit julkaistavaksi. Vaikka projektit ovat määritelty ja ajastettu suoritettavaksi tietyin väliajoin, voidaan tehtävä myös suorittaa manuaalisesti tehtävälistan lopussa olevasta kellon näköisestä kuvakkeesta. Kuva 11. Jenkinsin asetukset - kääntäminen

27 27 6 YHTEENVETO Tässä opinnäytetyössä tutkittiin ketterän ohjelmistokehityksen menetelmiä ja jatkuvan integraation menetelmiä sekä toteutettiin toimeksiantajalle toimiva jatkuvan integraation järjestelmä. Tarkoituksena oli vähentää ohjelmistosuunnittelijoiden testaukseen käytettyä aikaa ja automatisoida testien ajoa. Näin huomataan ohjelmiston muuttuessa mahdollisimman nopeasti ohjelmistovirheet. Projektin aikana myös tuli esille keskustelua, kuinka ohjelmistotestausta tulisi kehittää kehitystiimin tarpeisiin. Tämän opinnäytetyön lisäksi on toinen opinnäytetyö, jonka tarkoituksena on selvittää erilaisten testausmenetelmien käyttöä tarkemmin, luoda testitapauksia sekä yhdistää testitapaukset jatkuvan integraation järjestelmiin. Koska testausmenetelmien testitapausten tuottaminen ei ehtinyt toteutua tämän projektin puitteissa, ei konkreettista ja kokonaisvaltaista hyötyä ehditty saamaan projektin aikana. Tarkoituksena on kuitenkin ylläpitää järjestelmää tulevien projektien osalta, jotta saadaan selviä tuloksia järjestelmän hyödyistä sekä kannattavuudesta. Ketterä ohjelmistokehitys ja jatkuvan integraatio ovat luontevasti liitoksissa toisiinsa. Usein muuttuvien määrittelyjen ja asiakkaan vaatimusten perusteella ohjelmistoa tulisi voida testata ketterästi. Tutkittaessa ketterien ohjelmistokehityksen menetelmiä, jokaisen menetelmän perusperiaate oli sama. Ideana on pystyä mukautumaan nopeasti asiakkaan vaatimuksiin ja ohjelmistokehitysprojektin elinkaaren aikana lyhyiden pyrähdysten (sprint) kautta saada valmiita kokonaisuuksia valmiiksi. Projektin vaiheet on pilkottu tarpeeksi pieniin osiin, jotta kehittäjien ei tarvitse tehdä useita päiviä kehitystyötä olematta ollenkaan yhteyksissä muuhun kehitystiimiin. Jatkuvan integraation järjestelmän kokoaminen opinnäytetyötä varten onnistui kohtalaisesti. Ohjelmiston ja käyttöjärjestelmän asentaminen oli suoraviivaista. Internetistä löytyi paljon työtä helpottavaa dokumentointia ja keskustelupalstoilta vastaavien ongelmien kanssa painivia henkilöitä. Projektin kannalta vaadittavien testien puutteet vaikeuttivat tulosten analysointia. Jo olemassa olevien testien (yksikkötestit) osalta saimme kiinni joitakin virheitä heti, kun versionhallintaan saimme uutta päivitystä käyttäjiltä. Kuitenkin yksikkötestit ovat vain pieni osa testaamista, joten selvää johtopäätelmää tästä ei voitu tehdä.

28 28 Jenkinsin valinta projektiin oli hyvä, koska ohjelmisto on vaatimuksiltaan kevyt. Se on mahdollista myös asentaa pilvipalveluun myöhemmin, jos palvelusta saadaan tulosten valossa hyötyä. Jenkinsiä päivitetään aktiivisesti ja ohjelmistoon löytyy käteviä lisäosia testauksen avuksi, kuten esimerkiksi koodin kattavuutta esittävä lisäosa. Lisäksi Jenkinsin ollessa avointa lähdekoodia, ei ohjelmiston ja järjestelmän käyttöönottoon vaadita suuria panostuksia rahallisesti. Markkinoilta löytyy myös muitakin maksullisia sekä ilmaisia ohjelmistoja. Jokaisen jatkuvan integraation järjestelmää suunnittelevan kannattaa tutkia vaihtoehtojaan ja vaatimuksiaan, joiden perusteella valitsee ohjelmiston.

29 29 LÄHTEET Ahmed, A Agile Software Development: Impact on Productivity and Quality. Viitattu Bamboo. Luettu Berg, A Jenkins Continuous Integration Cookbook. Birmingham, UK: Packt Publishing Ltd. Developer works: Continuous integration in agile development Luettu Extreme Programming: A gentle introduction Luettu Fowler, M Continuous Integration. Luettu Hudson. Luettu JMeter Luettu JUnit Luettu Kawalerowicz, M. & Berntson, C Continuous Integration in.net. Shelter Island, NY, USA: Manning Publications.

30 30 Mountain Goat Software. Luettu MSDN: Continuous integration using TFS on the cloud Luettu Oracle. Luettu SeleniumHQ. Luettu Spektor, A Instant Eclipse Application Testing How-to. Birmingham, UK: Packt Publishing Ltd. VersionOne. Luettu

Työkalut ohjelmistokehityksen tukena

Työkalut ohjelmistokehityksen tukena 1 Työkalut ohjelmistokehityksen tukena Johdanto 2 Työkaluja eli ohjelmistotyötä tukevia ohjelmistoja käytetään ohjelmistoalan yrityksissä nykypäivänä paljon. Työkalut auttavat ohjelmistoalan ihmisiä suunnittelemaan

Lisätiedot

Tapahtuipa Testaajalle...

Tapahtuipa Testaajalle... Tapahtuipa Testaajalle... - eli testaus tosielämässä 09.10.2007 Juhani Snellman Qentinel Oy 2007 Agenda Minä ja mistä tulen Testauksen konteksti Tapauksia tosielämästä ja työkaluja 2 Minä Juhani Snellman

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

LINUX-HARJOITUS, MYSQL

LINUX-HARJOITUS, MYSQL LINUX-HARJOITUS, MYSQL Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

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

Selvitysraportti. MySQL serverin asennus Windows ympäristöön Selvitysraportti MySQL serverin asennus Windows ympäristöön IIO30200 / Jouni Huotari Arto Sorsa / F3900 CREATIVE COMMONS LISENSOITU http://creativecommons.org/licenses/by-nc-sa/1.0/fi/ 26.4.2010 1 SISÄLTÖ

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 SISÄLLYS 1 JOHDANTO 3 2 WWW-PALVELIMEN TOIMINTA 4 3 OMINAISUUDET

Lisätiedot

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TEHTÄVÄ 2: Symantec Endpoint Protection Manager, SEPM keskitetyn tietoturva hallintaohjelmiston asennus, sekä vaadittavien palveluiden/roolien käyttöönottaminen

Lisätiedot

Javan asennus ja ohjeita ongelmatilanteisiin

Javan asennus ja ohjeita ongelmatilanteisiin Javan asennus ja ohjeita ongelmatilanteisiin Javaa tarvitaan Fivaldin Sovellusikkunan alaisiin sovelluksiin, jotka käyttävät Oracle Forms -tekniikkaa. Visma Fivaldin osalta suosittelemme aina käyttämään

Lisätiedot

Tutkittua tietoa. Tutkittua tietoa 1

Tutkittua tietoa. Tutkittua tietoa 1 Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.

Lisätiedot

Visma Avendon asennusohje

Visma Avendon asennusohje Visma Avendon asennusohje 1 Versio 5.21 On tärkeää, että käytössäsi on aina uusin toimittamamme versio ohjelmistosta. Asentamalla viimeisimmän version saat käyttöösi ohjelman tuoreimmat ominaisuudet ja

Lisätiedot

Coolselector Asennusohje

Coolselector Asennusohje MAKING MODERN LIVING POSSIBLE Coolselector Asennusohje Täydellinen valinta on vain muutaman klikkauksen päässä www.danfoss.fi/kylma Yleiset vaatimukset Windows XP asennus Windows 7 asennus Asennuksen poisto

Lisätiedot

erasmartcardkortinlukijaohjelmiston

erasmartcardkortinlukijaohjelmiston erasmartcardkortinlukijaohjelmiston asennusohje Sisällysluettelo 1. erasmartcard... 2 2. erasmartcard-ohjelmiston normaali asennus... 3 2.1. Ennen asennusta... 3 2.2. Asennus... 3 3. Muut asennustavat...

Lisätiedot

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Tietokannan hallinta-opintojakson selvitysraportti Huhtikuu 2010 Mediatekniikka ICT/Teknologia Tämän teosteoksen käyttöoikeutta koskee Creative

Lisätiedot

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0 Toukokuu 2014 1 (11) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0 Päivitysohje Toukokuu 2014 2 (11) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku...

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

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

PÄIVITÄ TIETOKONEESI

PÄIVITÄ TIETOKONEESI PÄIVITÄ TIETOKONEESI SAMPOLAN KIRJASTO TIETOTORI Sammonkatu 2 33540 Tampere 040 800 7816 tietotori.sampola@tampere.fi PÄIVITÄ TIETOKONEESI 2(16) Sisällys 1. Mihin päivityksiä tarvitaan?... 3 1.1. Windowsin

Lisätiedot

Aditro Tikon ostolaskujen käsittely versio 6.2.0

Aditro Tikon ostolaskujen käsittely versio 6.2.0 Lokakuu 2012 1 (9) Aditro versio 6.2.0 Päivitysohje Lokakuu 2012 2 (9) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku... 3 1.2. Aditro Pankkipalvelut yhteensopiva

Lisätiedot

erasmartcard-kortinlukijaohjelmiston asennusohje (mpollux jää toiseksi kortinlukijaohjelmistoksi)

erasmartcard-kortinlukijaohjelmiston asennusohje (mpollux jää toiseksi kortinlukijaohjelmistoksi) erasmartcard-kortinlukijaohjelmiston asennusohje (mpollux jää toiseksi kortinlukijaohjelmistoksi) Sisällysluettelo 1 erasmartcard 3 2 erasmartcard-ohjelmiston normaali asennus 4 2.1 Ennen asennusta 4 2.2

Lisätiedot

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Se edullisempi tietokanta Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Rasmus Johansson rasmus.johansson@microsoft.com Ratkaisumyyntipäällikkö (Sovellusalusta) Microsoft Oy Miten

Lisätiedot

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Toukokuu 2012 1 (14) Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Asennusohje Toukokuu 2012 2 (14) Sisällysluettelo 1. Vaatimukset palvelimelle... 3 1.1..NET Framework 4.0... 3 1.2. Palvelimen Internet

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0 Toukokuu 2013 1 (10) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0 Päivitysohje Copyright Aditro 2013 Toukokuu 2013 2 (10) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten

Lisätiedot

ZENworks Application Virtualization 11

ZENworks Application Virtualization 11 ZENworks Application Virtualization 11 ZENworks / perinteinen asennus ZENworks virtualisointi Ei erillistä asennusta Ei vaadita erilisiä oikeuksia Oletusasetukset mukana Eri versiot samanaikaisesti Sama

Lisätiedot

Comet pysäköintimittarin asennus ja kytkeminen tietokoneeseesi (Windows XP) USB-kaapelilla.

Comet pysäköintimittarin asennus ja kytkeminen tietokoneeseesi (Windows XP) USB-kaapelilla. Comet pysäköintimittarin asennus ja kytkeminen tietokoneeseesi (Windows XP) USB-kaapelilla. HUOM! TÄMÄ OHJE ON COMET LAITTEEN ENSIMMÄISTÄ ASENNUSKERTAA VARTEN. Ladataksesi rahaa Comet pysäköintimittariisi

Lisätiedot

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Onnistunut SAP-projekti laadunvarmistuksen keinoin Onnistunut SAP-projekti laadunvarmistuksen keinoin 07.10.2010 Patrick Qvick Sisällys 1. Qentinel 2. Laadukas ohjelmisto täyttää sille asetetut tarpeet 3. SAP -projektin kriittisiä menestystekijöitä 4.

Lisätiedot

SQL Server 2008 asennus

SQL Server 2008 asennus SQL Server 2008 asennus 1. Yleistä... 3 2. Edellytykset... 3 3. SQL Server 2008 Express asennus... 4 4. Yhteystiedot... 6 2/6 1. YLEISTÄ Tässä ohjeessa käydään vaiheittain Microsoft SQL Server 2008 tietokantaohjelmiston

Lisätiedot

UCOT-Sovellusprojekti. Asennusohje

UCOT-Sovellusprojekti. Asennusohje UCOT-Sovellusprojekti Asennusohje Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 1.00 Julkinen 15. joulukuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä

Lisätiedot

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010 SQLite selvitysraportti Juha Veijonen, Ari Laukkanen, Matti Eronen Maaliskuu 2010 Opinnäytetyö Kuukausi Vuosi 1 SISÄLTÖ 1. YLEISTÄ SQLITE:STA... 2 2. HISTORIA... 2 3. SQLITEN KÄYTTÖ... 3 3.1 SQLiten asennus

Lisätiedot

Site Data Manager Käyttöohje

Site Data Manager Käyttöohje Site Data Manager Käyttöohje Sisällysluettelo Sivu Mikä on SDM 2 SDM asennus 2 Ohjelman käyttö 3 Päävalikko 4 Varmuuskopion tekeminen 5 Täydellisen palautuksen tekeminen 6 Osittaisen palautuksen tekeminen

Lisätiedot

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011 1 Joonas Ruotsalainen GIT PIKAOPAS Tutkielma 2011 2 SISÄLTÖ 1. JOHDANTO... 3 2. ASENTAMINEN... 4 3. KÄYTTÖ... 4 3.1 Perusasetukset... 4 3.2 Git:n ottaminen käyttöön projektissa... 5 3.3 Tiedostojen lisääminen

Lisätiedot

Lakki. Lisää ot sik k o osoit t am alla. Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010

Lakki. Lisää ot sik k o osoit t am alla. Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010 Lakki Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy vierailuluentosarja OTM kurssi 2010 2.luento: ohjelmistokehityksen päivärutiinit Lisää ot sik k o osoit t am alla Siitä vain reunasta Miten

Lisätiedot

L models. Käyttöohje. Ryhmä Rajoitteiset

L models. Käyttöohje. Ryhmä Rajoitteiset Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1

Lisätiedot

Visma GATEWAY INSTALLER. asennusopas

Visma GATEWAY INSTALLER. asennusopas Visma GATEWAY INSTALLER asennusopas 1 Sisällys Tietoa dokumentista...3 Tuetut käyttöjärjestelmät...3 GATEWAY INSTALLER sovelluksen itselatausohjelma...3 GATEWAY INSTALLER sovelluksen suorittaminen...4

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

Projektityö

Projektityö Projektityö 20.9.2013 Esimerkki ohjelmistokehitysprosessista (työkalujen käytön näkökulmasta) Wiki, esimerkkinä https://projectwiki.sis.uta.fi Subversion-versionhallinta Redmine-projektinhallinta Balsamiq

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

Viestit-palvelun viranomaisliittymän ohjelmointiohje. Java-esimerkki

Viestit-palvelun viranomaisliittymän ohjelmointiohje. Java-esimerkki Viestit-palvelun viranomaisliittymän ohjelmointiohje Java-esimerkki V.01 OHJELMOINTIOHJE V 0.1 2 (8) DOKUMENTINHALLINTA Omistaja Laatinut Lasse Pynnönen, VRK Valtori/VIA Tarkastanut Hyväksynyt VERSION

Lisätiedot

Pedacode Pikaopas. Web Service asiakasohjelman luominen

Pedacode Pikaopas. Web Service asiakasohjelman luominen Pedacode Pikaopas Web Service asiakasohjelman luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, Netbeans-työkalulla luodaan valmista olemassa olevaa Web Service palvelua käyttävä asiakasohjelma. Opas

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

Työasemien hallinta Microsoft System Center Configuration Manager 2007. Jarno Mäki Head of Training Operations M.Eng, MCT, MCSE:Security, MCTS

Työasemien hallinta Microsoft System Center Configuration Manager 2007. Jarno Mäki Head of Training Operations M.Eng, MCT, MCSE:Security, MCTS Työasemien hallinta Microsoft System Center Configuration Jarno Mäki Head of Training Operations M.Eng, MCT, MCSE:Security, MCTS IT Education Center Agenda Yleistä työasemien hallinnasta Työasemien hallinta

Lisätiedot

Jouko Nielsen. Ubuntu Linux

Jouko Nielsen. Ubuntu Linux Jouko Nielsen Ubuntu Linux 19.4.2017 SISÄLLYS 1 UBUNTU... 3 2 LUETTELO VERSIOISTA... 4 3 OMINAISUUDET... 4 4 ASENNUS... 5 5 UBUNTU SERVER... 9 LÄHTEET... 10 3 1 UBUNTU Ubuntu on debian pohjainen Linux

Lisätiedot

Linuxissa uusi elämä 1

Linuxissa uusi elämä 1 17.06.19 Linuxissa uusi elämä 1 Linux on hyvä vaihtoehto Windowsille Uusiin tai vanhempiin tietokoneisiin Miksi käyttäisin Linuxia Tekniikan Maailman Linux vinkki Siirtyisinkö Linuxiin? 17.06.19 Linuxissa

Lisätiedot

SQL Buddy JAMK Labranet Wiki

SQL Buddy JAMK Labranet Wiki Page 1 of 9 SQL Buddy JAMK Labranet Wiki Sisällysluettelo Yleistä SQL Buddy:sta kotisivu :http://sqlbuddy.com/ SQL Buddy on kevyt hallintatyökalu MySQL-tietokannalle. Järjestelmävaatimukset Serverin vaatimukset

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

Site Data Manager Käyttöohje

Site Data Manager Käyttöohje Site Data Manager Käyttöohje Sisällysluettelo Sivu Mikä on SDM 2 SDM asennus 2 Ohjelman käyttö 3 Päävalikko 4 Varmuuskopion tekeminen 5 Täydellisen palautuksen tekeminen 6 Osittaisen palautuksen tekeminen

Lisätiedot

Scrumin käyttö ketterässä sovelluskehityksessä

Scrumin käyttö ketterässä sovelluskehityksessä Scrumin käyttö ketterässä sovelluskehityksessä 9.4.2008 Janne Kuha Manager, Java Services Descom Oy Janne Kuha Manager, Java Services janne.kuha@descom.fi Kuka? Descom Oy:llä, sitä ennen Wanadu Inc., Mountain

Lisätiedot

Simulaattorin asennus- ja käyttöohje

Simulaattorin asennus- ja käyttöohje Linux ja Windows XP Versio Päiväys Muokkaaja Kuvaus 0.2 16.2.2006 Mikko Halttunen Katselmoinin jälkeen 0.1 13.2.2006 Mikko Halttunen Alustava versio Sisällysluettelo 1 Johdanto... 3 2 Simulaattorin asennus...

Lisätiedot

Autentikoivan lähtevän postin palvelimen asetukset

Autentikoivan lähtevän postin palvelimen asetukset Autentikoivan lähtevän postin palvelimen asetukset - Avaa Työkalut valikko ja valitse Tilien asetukset - Valitse vasemman reunan lokerosta Lähtevän postin palvelin (SM - Valitse listasta palvelin, jonka

Lisätiedot

Käyttöohje Planeetta Internet Oy 3.8.2011

Käyttöohje Planeetta Internet Oy 3.8.2011 Käyttöohje Planeetta Internet Oy 3.8.2011 PLANEETTA TIEDOSTOPALVELIN KÄYTTÖOHJE 3.8.2011 1 (25) Sisällysluettelo Sisällysluettelo... 1 Planeetta Tiedostopalvelin... 2 Yleistä tietoa palvelusta... 2 Palvelun

Lisätiedot

Onnistunut ohjelmistoprojekti

Onnistunut ohjelmistoprojekti Onnistunut ohjelmistoprojekti 2.12.2008 Hermanni Hyytiälä Reaktor Innovations Oy Agenda Yritysesittely Keinoja onnistuneeseen ohjelmistoprojektiin Ihmiset Menetelmät Käytännöt ja työkalut Tulevaisuuden

Lisätiedot

Aditro Tikon ostolaskujen käsittely versio SP1

Aditro Tikon ostolaskujen käsittely versio SP1 Toukokuu 2012 1 (8) Aditro versio 6.1.2 SP1 Päivitysohje Toukokuu 2012 2 (8) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku... 3 1.2. Application Pool Identity...

Lisätiedot

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE: 15.03.

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE: 15.03. EMVHost Online SUBJECT: COMPANY: COMMENTS: AUTHOR: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT NETS OY EMVHost Online Client sovelluksen käyttöohje NETS OY DATE: 15.03.2011 VERSION: 1.0 1 SISÄLLYS SISÄLLYS...

Lisätiedot

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen Enigmail-opas Enigmail on Mozilla Thunderbird ja Mozilla Seamonkey -ohjelmille tehty liitännäinen GPG-salausohjelmiston käyttöä varten. Sitä käytetään etenkin Thunderbirdin kanssa sähköpostin salaamiseen

Lisätiedot

Pedacode Pikaopas. Web-sovelluksen luominen

Pedacode Pikaopas. Web-sovelluksen luominen Pedacode Pikaopas Web-sovelluksen luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Netbeans-työkalulla luodaan uusi yksinkertainen web-sovellus ja testataan sen toiminta. Opas kattaa kaiken aiheeseen

Lisätiedot

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

Sonera Yrityssähköposti. Outlook 2013 lataus ja asennus Sonera Yrityssähköposti. Outlook 2013 lataus ja asennus Sisältö 1/14 Sonera Yrityssähköpostin käyttöönotto Outlook 2013 -sovelluksella SISÄLLYS Outlook 2013 asennuspaketin lataus... 2 Outlook 2013 asennus...

Lisätiedot

Poista tietokoneessasi olevat Javat ja asenna uusin Java-ohjelma

Poista tietokoneessasi olevat Javat ja asenna uusin Java-ohjelma Poista tietokoneessasi olevat Javat ja asenna uusin Java-ohjelma Jos käytät verkkopankkia kotikoneeltasi, toimi tämän ohjeen mukaan. Jos käytät verkkopankkia työpaikkasi tietokoneelta, anna tämä ohje työpaikan

Lisätiedot

Kuinka helpottaa suurten projektien tuskaa pilvipalveluilla?

Kuinka helpottaa suurten projektien tuskaa pilvipalveluilla? Kuinka helpottaa suurten projektien tuskaa pilvipalveluilla? Sytyke-risteily 2013 Otso Kivekäs 4.9.2013 Codento Suomalainen ohjelmistotoimittaja Hansel-sopimustoimittaja AWS Solution Provider Eucalyptus

Lisätiedot

Poista tietokoneessa olevat Java ja asenna uusin Java-ohjelma

Poista tietokoneessa olevat Java ja asenna uusin Java-ohjelma Poista tietokoneessa olevat Java ja asenna uusin Java-ohjelma Jos käytät verkkopankkia kotikoneeltasi, toimi näiden ohjeiden mukaan. Jos käytät verkkopankkia työpaikkasi tietokoneelta, anna ohjeet työpaikan

Lisätiedot

Lyhyt johdatus ketterään testaukseen

Lyhyt johdatus ketterään testaukseen TTY:n Testauspäivät, Tampere 15.8.2006 Lyhyt johdatus ketterään testaukseen eli Ketterän ohjelmistokehityksen laatukäytäntöjä Juha Itkonen SoberIT Teknillinen korkeakoulu Juha.Itkonen@tkk.fi Ketterä ohjelmistokehitys

Lisätiedot

CLOUDBACKUP TSM varmistusohjelmiston asennus

CLOUDBACKUP TSM varmistusohjelmiston asennus Luottamuksellinen JAVERDEL OY CLOUDBACKUP TSM varmistusohjelmiston asennus Copyright 2 (9) SISÄLLYSLUETTELO 1 ASENNUSOHJE WINDOWS KÄYTTÖJÄRJESTELMÄLLÄ VARUSTETTUIHIN LAITTEISIIN... 3 1.1 Yleistä... 3 1.2

Lisätiedot

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0 Julkaisutiedot McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0 McAfee epolicy Orchestrator -ohjelmiston kanssa käytettäväksi Sisällys Tietoja tästä julkaisusta Uudet toiminnot Parannukset Ratkaistut

Lisätiedot

Lync Online. Järjestelmänvalvojan perusopas

Lync Online. Järjestelmänvalvojan perusopas Järjestelmänvalvojan perusopas Sisällysluettelo Johdanto... 3 Kohdeyleisö... 3 Dokumentin sijainti... 3 Erityiset tiedot... 3 1. Lync Onlinen lataaminen ja asentaminen... 4 2. Määritä ulkoinen tietoliikenne...

Lisätiedot

Webpalvelin muistitikulle - Ohje

Webpalvelin muistitikulle - Ohje - Ohje Jari Sarja jari.sarja @ 2017 Creative Commons Nimeä-JaaSamoin 4.0 Kansainvälinen SISÄLLYSLUETTELO 1 Johdanto... 3 1.1 Miksi asennus muistitikulle?... 3 2 Webpalvelimen asennus... 4 3 Käyttöliittymä...

Lisätiedot

Ennen varmenteen asennusta varmista seuraavat asiat:

Ennen varmenteen asennusta varmista seuraavat asiat: NAPPULA-VARMENTEEN ASENNUSOHJE 1/17 Suosittelemme käyttämään Nappulaa uusimmalla versiolla Firefox- tai Chrome- tai Applen laitteissa Safariselaimesta. Tästä dokumentista löydät varmenteen asennusohjeet

Lisätiedot

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

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan Aram Abdulla Hassan Windows Server 2012 asentaminen ja käyttö 1 Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan Hyper-V ohjelma. Riipu minkälaista Serveria yritämme

Lisätiedot

Viljo-Praktiikka ja Kirjanpito -ohjelman versio 3.05 asennusohje uudet käyttäjät

Viljo-Praktiikka ja Kirjanpito -ohjelman versio 3.05 asennusohje uudet käyttäjät 1 Viljo-Praktiikka ja Kirjanpito -ohjelman versio 3.05 asennusohje uudet käyttäjät Uuden version asennuksessa on kaksi vaihetta: 1. SQL Server 2005 Express version asennus 2. Viljo 3.05 Praktiikka- ja

Lisätiedot

Avoin lähdekoodi hankinnoissa Juha Yrjölä

Avoin lähdekoodi hankinnoissa Juha Yrjölä Avoin lähdekoodi hankinnoissa 9.6.2016 Juha Yrjölä Mitä on avoin lähdekoodi? 1. Lähdekoodi tulee jakaa ohjelmiston mukana tai antaa saataville joko ilmaiseksi tai korkeintaan luovuttamiskulujen hinnalla.

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

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

PÄIVITÄ TIETOKONEESI

PÄIVITÄ TIETOKONEESI PÄIVITÄ TIETOKONEESI HERVANNAN TIETOTORI Insinöörinkatu 38 33721 Tampere 040 800 7805 tietotori.hervanta@tampere.fi PÄIVITÄ TIETOKONEESI 2(17) Sisällys 1. Mihin päivityksiä tarvitaan?... 3 1.1. Windowsin

Lisätiedot

Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy

Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy Opiskelijoiden OneDriveohje Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy Ohjeen nimi Opiskelijoiden OneDrive-ohje Vastuuhenkilö Mari Jokiniemi

Lisätiedot

Febdok 6.0 paikallisversion asennus OHJEISTUS

Febdok 6.0 paikallisversion asennus OHJEISTUS Febdok 6.0 paikallisversion asennus OHJEISTUS Sisällys 1 YLEISTÄ 1 2 ASENNUKSEN VALMISTELUT 2 2.1 VARMUUSKOPIOT 2 2.2 ASENNUSTIEDOSTON LATAUS, WWW.FEBDOK.FI 2 2.3 ASENNUSTIEDOSTON LATAUS, FEBDOK:IN SISÄINEN

Lisätiedot

Ohjelmistoprojekteista. Datanomiopiskelijat 2.vuosi

Ohjelmistoprojekteista. Datanomiopiskelijat 2.vuosi Ohjelmistoprojekteista Datanomiopiskelijat 2.vuosi Yleistä projekteista Projekti on selkeästi asetettuihin tavoitteisiin pyrkivä, ajallisesti rajattu kertaluonteinen hanke, jonka toteuttamisesta vastaa

Lisätiedot

Käyttöoppaasi. F-SECURE PSB E-MAIL AND SERVER SECURITY http://fi.yourpdfguides.com/dref/2859688

Käyttöoppaasi. F-SECURE PSB E-MAIL AND SERVER SECURITY http://fi.yourpdfguides.com/dref/2859688 Voit lukea suosituksia käyttäjän oppaista, teknisistä ohjeista tai asennusohjeista tuotteelle F-SECURE PSB E-MAIL AND SERVER SECURITY. Löydät kysymyksiisi vastaukset käyttöoppaasta ( tiedot, ohjearvot,

Lisätiedot

Ohjelmistotekniikka - Luento 2

Ohjelmistotekniikka - Luento 2 Ohjelmistotekniikka - Luento 2 Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento 2: Prosessimallit

Lisätiedot

Test-Driven Development

Test-Driven Development Test-Driven Development Ohjelmistotuotanto syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole

Lisätiedot

Finnish Value Pack Asennusohje Vianova Systems Finland Oy Versio 18.10 12.4.2011

Finnish Value Pack Asennusohje Vianova Systems Finland Oy Versio 18.10 12.4.2011 Finnish Value Pack Asennusohje Vianova Systems Finland Oy Versio 18.10 12.4.2011 2(6) 1. Käyttöoikeudet ja asennusvaatimukset 2. Asennus Novapoint Finnish Value Pack 18.10 sovellusten asennus vaatii järjestelmänvalvojan

Lisätiedot

Menetelmäraportti - Konfiguraationhallinta

Menetelmäraportti - Konfiguraationhallinta Menetelmäraportti - Konfiguraationhallinta Päiväys Tekijä 22.03.02 Ville Vaittinen Sisällysluettelo 1. Johdanto... 3 1.1 Tärkeimmät lyhenteet... 3 2. Konfiguraationhallinnan tärkeimmät välineet... 4 2.1

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

Lumon tuotekirjaston asennusohje. Asennus- ja rekisteröintiohje

Lumon tuotekirjaston asennusohje. Asennus- ja rekisteröintiohje Lumon tuotekirjaston asennusohje Asennus- ja rekisteröintiohje 1. Sisältö 1. Asennuspaketin lataaminen 4 2. Zip-tiedoston purkaminen ja sovelluksen asentaminen 4 3. Sovelluksen rekisteröiminen 7 4. Sisällön

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

Maventa Connector Käyttöohje

Maventa Connector Käyttöohje Maventa Connector Käyttöohje 17.4.2015 Sisällys 1. Esittely... 2 1.1. Käytön edellytykset... 2 1.2. Tuetut aineistomuodot... 2 2. Asennustiedosto... 3 2.1. Sisäänkirjautuminen... 7 3. Asetuksien määrittäminen...

Lisätiedot

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento

Lisätiedot

Visma Nova. Visma Nova ASP käyttö ja ohjeet

Visma Nova. Visma Nova ASP käyttö ja ohjeet Visma Nova Visma Nova ASP käyttö ja ohjeet Oppaan päiväys: 2.2.2012. Helpdesk: http://www.visma.fi/asiakassivut/helpdesk/ Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai

Lisätiedot

Tiedostojen lataaminen netistä ja asentaminen

Tiedostojen lataaminen netistä ja asentaminen s. 1/5 Tiedostojen lataaminen netistä ja asentaminen Yleistä Internetissä on paljon hyödyllisiä ilmaisohjelmia, jotka voi ladata ja asentaa omalle koneelle. Osa ohjelmista löytyy suomenkielisiltä sivuilta,

Lisätiedot

HP ProBook 430 G5 kannettavien käyttöönotto

HP ProBook 430 G5 kannettavien käyttöönotto HP ProBook 430 G5 kannettavien käyttöönotto Windows 10:n asennus, päivitysten tarkistus ja Abitti-asetukset Kytke tietokone verkkovirtaan ennen koneen käynnistämistä! Windows 10 Home käyttöjärjestelmän

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Kristopher Vuorela UBUNTUN ASENNUS JA ALKEET 206101312 Linux järjestelmät Lukukausi: Kevät 2015 Työ valmistui: 15.04.2015

Lisätiedot

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun. StorageIT 2006 varmuuskopiointiohjelman asennusohje. Hyvä asiakkaamme! Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun. Ennen asennuksen aloittamista Varmista, että

Lisätiedot

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ aaro.leikari@hotmail.com TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ 25.01.2016 SISÄLLYS 1. Käyttöjärjestelmän asentaminen... 1 1.1 Windowsin asettamia laitteistovaatimuksia... 1 1.2 Windowsin asentaminen...

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

SISÄLLYS 1 YLEISTÄ VERSIOT Tukiaika Variaatiot OHJELMISTO Paketinhallinta Komentorivisyntaksi

SISÄLLYS 1 YLEISTÄ VERSIOT Tukiaika Variaatiot OHJELMISTO Paketinhallinta Komentorivisyntaksi Niko Junnila (1501883 TI15SPELI) Ubuntu Seminaarikooste Linux-järjestelmät Marraskuu 2016 SISÄLLYS 1 YLEISTÄ... 3 2 VERSIOT... 3 2.1 Tukiaika... 3 2.2 Variaatiot... 4 3 OHJELMISTO...4 3.1 Paketinhallinta...4

Lisätiedot

Java Runtime -ohjelmiston asentaminen

Java Runtime -ohjelmiston asentaminen Java Runtime -ohjelmiston asentaminen Windows Vista, Internet Explorer 7 - Suomenkielinen Huomaa! Asennuksen vaiheet voivat poiketa tästä ohjeistuksesta, johtuen esim. käyttämässäsi tietokoneessa olevasta

Lisätiedot

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)

Lisätiedot

CTRL+F Android-sovellus

CTRL+F Android-sovellus CTRL+F Android-sovellus Vili-Robert Hietala Opinnäytteen raportointi Sähköosasto Toukokuu 2015 KUVAILULEHTI 14.04.2015 Tekijä(t) Vili-Robert Hietala Työn laji Opinnäytteen raportointi Sivumäärä 7 Luottamuksellisuus

Lisätiedot

Skannaaminen RightFaxiin. Pääkäyttäjän opas

Skannaaminen RightFaxiin. Pääkäyttäjän opas Skannaaminen RightFaxiin Pääkäyttäjän opas Toukokuu 2016 www.lexmark.com Sisällys 2 Sisällys Yleiskuvaus...3 Käyttöönottovalmiuden tarkistusluettelo...4 Sovelluksen asetusten määrittäminen...5 Sovelluksen

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU. Ubuntu. Yukun Zhou

KYMENLAAKSON AMMATTIKORKEAKOULU. Ubuntu. Yukun Zhou KYMENLAAKSON AMMATTIKORKEAKOULU Ubuntu Yukun Zhou 2014 Yukun Zhou Harjoitustyö 1 SISÄLLYSLUETTELO 1. YLEISTÄ... 2 2. JULKAISUT... 3 3. SUOSIO... 4 4. ASENNUS... 4 5. TURVALLISUUS... 4 6. PAKETTIENHALLINTA...

Lisätiedot

WINE API ja Virtualisointiohjelmistot

WINE API ja Virtualisointiohjelmistot WINE API ja Virtualisointiohjelmistot Yleistä Winestä Ohjelmisto, joka mahdollistaa Windows -pohjaisten ohjelmien käytön kuissa käyttöjärjestelmissä Toimii yhteensopivuuskerroksena ohjelman ja käyttöjärjestelmän

Lisätiedot