Ohjelmistotekniikka - Luento 10 Jouni Lappalainen

Koko: px
Aloita esitys sivulta:

Download "Ohjelmistotekniikka - Luento 10 Jouni Lappalainen"

Transkriptio

1 Ohjelmistotekniikka - Luento 10 Jouni Lappalainen Luku 19: Oliosuuntautuneiden sovellusten testaus - oliotestauksen testaustasot - oliotestauksen ominaispiirteitä ja testausmenetelmiä - luokkatason testausmenetelmät Luku 20: Web sovellusten testaus - Web sovelluksen testausprosessi - Web sovelluksen testaustapoja - sisällön, navigoinnin ja konfiguraation testaus Luku 21: Formaali mallintaminen ja verifiointi - matemaattisen notaation soveltaminen formaaliin spesifiointiin - OCL kieli - puhdastilamenetelmä

2 Pohdiskelun aiheita Di Lucca ja Fasolino esittelevät paperin luvussa 7.2 Websovelluksen testaustapoja, joilla pyritään varmistamaan, että sovellus vastaa sekä ei-toiminnallisia että toiminnallisia vaatimuksia. Millaiset testaustavat sopivat ei-toiminnallisille vaatimuksille ja miten Web-sovellusten erityispiirteet näkyvät näissä testaustavoissa. Miten Web-sovellusten toiminnallisuuden testaus eroaa perinteisten ohjelmistojen testauksesta? Di Lucca G., Fasolino A., Web Application Testing, Engineering_Mendes_C07WebTest.pdf

3 OOT testaustasot Luokkatestaus vastaa yksikkötestausta luokan operaatiot testataan luokan tilakäyttäytyminen testataan Integrointitestauksessa kolme strategiaa säieperustainen testaus - integroidaan luokat, joita tarvitaan käsittelemään jonkin syöte tai tapahtuma käyttöpohjainen testaus - integroidaan luokat, joita tarvitaan jokin käyttötapauksen mukaiseen toimintaan ryväspohjainen testaus - integroidaan luokat, joita tarvitaan toteuttamaan haluttu yhteistyö Järjestelmätestaus ja validointitestaus kuten perinteisessä testauksessa 3

4 Olioperustainen testaus Aloitetaan arvioimalla (tarkastamalla) OOA ja OOD mallien oikeellisuutta (syntaksi & semantiikka) ja yhdenmukaisuutta tutkimalla CRC korteilla kuvatut luokkien vastuut ja yhteistyö muiden luokkien kanssa Muutokset testausstrategiassa yksikkö-käsite laajenee kapseloinnin tuloksena integrointi kohdistuu luokkiin ja niiden suoritukseen säikeessä, käyttöskenaarion tai yhteistyön (ryväs) rajaamana validointi käyttää perinteisiä mustalaatikko-menetelmiä 4

5 Oliotestauksen ominaispiirteet Luokkatestaus ja luokkahierarkia Testataan luokan jokainen metodi (ja konstruktori) Testataan metodien vaikutukset luokan tilaan (attribuutteihin) tarvitaan omia (built-in) metodeja, joilla saadaan tila näkyville Periytyminen ei tee tarpeettomaksi kaikkien johdettujen luokkien läpikotaista testausta. luokan muuttuessa joudutaan testaamaan kaikki ko. luokkaa käyttävät sovellukset sekä luokasta perityt aliluokat aliluokkaan tehty muutos aiheuttaa perittyjen operaatioiden testaustarpeen. 5

6 Olioperustaiset testausmenetelmät Vikapohjainen testaus Perustuu olettamuksiin todennäköisistä vioista (faults) tutkiva (exploratory) testaus Analyysi- ja suunnittelutason kuvaukset antavat vihjeitä todennäköisistä vioista Skenaarioperustainen testien suunnittelu Skenaarioperustainen testaus keskittyy käyttäjän tekemiseen. Tämä tarkoittaa käyttötapauksista poimittujen tehtävien käyttämistä testien perustana. 6

7 Luokkatason testausmenetelmät Satunnainen testaus tunnistetaan luokalle sopivat operaatiot määritellään rajoitukset niiden käytölle (esim. järjestys) tunnistetaan pienin riittävä testisekvenssi (_) operaatiot, jotka määrittelevät luokan minimin elinhistorian generoi vaihteleva joukko satunnaisia (käypiä) testisekvenssejä laajennetaan luokan elinhistoriaa Account luokka: open(), setup(), deposit(), withdraw(), balance(), summarize(), creditlimit(), close() 7

8 Luokkatason testausmenetelmät Ositus(partitio)testaus vähentää testitapausten määrää aivan kuten ekvivalenssiositus perinteisessä testauksessa tilaperustainen ositus (tilaa muuttavat/ei-muuttavat) valitaan testioperaatioita, jotka muuttavat luokan tilaa, esim. Account luokka: deposit(), withdraw() attribuuttiperustainen ositus (attribuuttia käyttävät/ muuttavat) valitaan testioperaatioita, jotka käyttävät attribuutteja, esim. Account luokka: attribuutit balance, creditlimit kategoriaperustainen ositus valitaan testioperaatioita, jotka suorittavat toimintoja, esim. Account luokka: initialization (open(), setup()), computational (deposit(), withdraw()), termination (close()) operaatiot 8

9 20. Web-sovellusten testaus Web-sovelluksen suunnitteluaktiviteetit Käyttöliittymän suunnittelu Graafinen suunnittelu Sisällön suunnittelu Navigoinnin suunnittelu Arkkitehtuurisuunnittelu Komponenttisuunnittelu 9

10 Web-sovelluksen ympäristön vaikutus virheiden etsimiseen Nguyen 2000 Koska Web-sovelluksen testauksessa löydetään ensin virheitä asiakaspuolelta, kehittäjä/testaaja näkee virheen oireet - ei itse virhettä. Koska Web-sovellus on toteutettu eri konfiguraatioina eri ympäristöissä, voi olla vaikeaa tuottaa uudelleen tilanne, jossa virhe havaittiin. Vaikka jotkut virheet johtuvat virheellisestä suunnittelusta tai ohjelmoinnista, monet virheet voidaan jäljittää konfiguraatioon. Koska Web-sovellukset rakennetaan asiakas/palvelin arkkitehtuurille, virheen paikallistaminen voi olla vaikeaa (asiakas/palvelin/verkko). Jotkut virheet johtuvat staattisesta toimintaympäristöstä (konfiguraatio, jossa testataan), toiset dynaamisesta (suoritusaikaiset resurssit). 10

11 Sisällön testaus (syntaksi, semantiikka, tietokanta) Käyttäjä Käyttöliittymän suunnittelu Graafinen suunnittelu Sisällön suunnittelu Navigoinnin suunnittelu Käyttöliittymän Sisällön testaus (käytettävyys) testaus Navigoinnin testaus Komponenttitason testaus (toimintojen testaus, esim. polkutestaus) Web-sovelluksen testausprosessi Integrointitestaus Arkkitehtuurisuunnittelu Konfiguraation testaus (asiakas/palvelin) Komponenttisuunnittelu Suorituskykytestaus Turvallisuustestaus Teknologia 11

12 Sisällön testaus Kolme tärkeää tavoitetta syntaksivirheiden paljastaminen tekstidokumenteista, ja kaavioista (kirjoitusvirheet, sääntöjen rikkomiset) semanttisten virheiden paljastaminen (puutteet tiedon tarkkuudessa ja täydellisyydessä, tarjotaanko mahdollisuuksia väärinkäyttäjille) virheiden paljastaminen loppukäyttäjälle esitettävän sisällön rakenteesta ja organisoinnista (kuvat, kuvaukset) Katselmointi tärkeässä roolissa Myös dynaamisten sivujen testaus yhteys tietokantaan (tasoarkkitehtuuri) käyttäjän pyynnöt SQL lauseiksi 12

13 Web-sovelluksen testaustapoja /Di Lucca, Fasolino 2006 Suorituskykytestaus (performance testing) Varmistetaan tietyt järjestelmän ominaisuudet, kuten vasteaika, palveluaste (kriittisiä Web sovelluksissa) Kuormitustestaus (load testing) Piikkitestaus (stress testing) Yhteensopivuustestaus (compatibility testing) Järjestelmää testataan (vaatimusten mukaan) ennalta määritellyllä kuormalla. Mitataan kykyä selviytyä kuormasta minimikokoonpanolla. Testaan kykyä selviytyä yli sovittujen rajojen menevästä kuormasta (myös elpyä romahduksesta). Testataan sovelluksen toimivuutta erilaisilla palvelinalustoilla tai selaimilla

14 Web-sovelluksen testaustapoja /Di Lucca, Fasolino 2006 Käytettävyystestaus (usability testing) Käyttöön saamisen testaus (accessibility testing) Turvallisuustestaus (security testing) Varmistutaan sovelluksen helppokäyttöisyydestä, oikean muotoisesta sisällön esittämisestä, viestien, kehoitteiden ja komentojen selvyydestä. Käytettävyys on kriittinen tekijä Web-sovelluksissa. (Navigoinnista seuraavalla sivulla) Käytettävyystestauksen alalaji, varmistutaan että sisältö saadaan näkyviin, vaikka selain ei tukisi grafiikkaa tai skriptejä. Varmistaudutaan, että luvattomat käyttäjät eivät pääse käyttämään sovellusta. Web-sovellukset ovat haavoittuvampia kuin perinteiset (johtuu käyttäjämääristä, toteutuksen monista vaihtoehdoista)

15 Navigoinnin testaus / Splaine & Jaskiel 2001 Seuraavat navigointimekanismit tulisi testata Linkit sisäiset ja ulkoiset (toisiin sovelluksiin) Uudelleenohjaukset kun sivu on poistettu tai nimeä muutettu Kirjanmerkit (bookmarks) varmistetaan järkevä nimiehdotus Kehykset (frames) ja kehysjoukot kehysjoukot voivat muodostaa sisäkkäisiä rakenteita, näiden testauksessa tulisi keskittyä esim. navigoinnin, layoutin ja latauksen keston testaukseen

16 Navigoinnin testaus / Splaine & Jaskiel 2001 Seuraavat navigointimekanismit tulisi testata... Sivun uudelleenorganisointi myös web sivut rapistuvat ajan myötä, kannattaa vertailla kilpailijoiden sivuihin Sivukartat kaikki (ja vain ne) tärkeät sivut löytyvät ja esitetään sopivassa järjestyksessä Sisäiset hakukoneet hakukoneiden avulla käyttäjä paikallistaa halutun tiedon laajoissa web sovelluksissa testataan hakukoneen nopeutta, tulosten lajittelua ja selviämistä vääränmuotoisista syötteistä

17 Konfiguraation testaus Ei tavoitella kaikkien mahdollisten konfiguraatioiden testausta, mutta testataan joukko mahdollisista Palvelinpuolen testausta (esim.) onko Web-sovellus yhteensopiva palvelimen käyttöjärjestelmän kanssa toimiiko tiedostojen ja hakemistojen päivitys virheettömästi sallivatko tietoturvamekanismit Web-sovelluksen tehokkaan käytön onko Web-sovellusta testattu myös hajautetussa konfiguraatiossa, jos sellaista käytetään Asiakaspuolen testausta testattavat konfiguraatiot kerätään sovittamalla yhteen komponentteja laitteisto: CPU, keskusmuisti, talletusmedia,... käyttöjärjestelmä: Linux, OS X, Windows,... selain: IE, Firefox, Safari,... käyttöliittymäkomponentit: Active X, Java applets,... laajennukset: QuickTime, RealPlayer,... yhteydet: kaapeli, ADSL/DSL modeemi,...

18 Luku 21: Formaali mallintaminen ja verifiointi Mitä ongelmia on perinteisissä spesifikaatioissa? ristiriitaisuudet (contradictions) epäselvyydet (ambiguities) epämääräisyys (vagueness) epätäydellisyys (incompleteness) abstraktiotasojen sekavuus (mixed levels of abstraction) Formaaleilla spesifikaatioilla pyritään eroon luonnollisen kielen ja graafisen esitystavan aiheuttamista epätäsmällisyyksistä. Siirrytään joukko-opin ja logiikka-notaation käyttöön sekä matemaattiseen todistukseen. 18

19 Formaalit spesifiointikielet Formaali spesifiointikieli koostuu yleensä kolmesta osasta syntaksista, joka määrittelee kuvaustavan (notaation) spesifikaation esittämiselle semantiikasta, joka määrittelee käytettävät oliot (universe of objects) järjestelmän kuvaamiselle joukosta yhteyksiä, jotka määrittelevät olioiden käytön säännöt halutun spesifikaation muodostamiselle Formaalin spesifiointikielen syntaksi perustuu joukkoteoriaan ja predikaattikalkyyliin. Spesifiointikielen semantiikalla kuvataan järjestelmän vaatimukset. 19

20 Object Constraint Language (OCL) Formaali kuvaustapa, jonka avulla käyttäjät voivat tarkentaa UML kuvauksia (luokka, tila ja aktiviteettikaavioita). Kielellä on logiikan ja diskreetin matematiikan kuvausvoima. OCL kielen suunnittelijat päättivät, että OCL lauseissa käytetään vain ASCII merkkejä (eikä perinteistä matemaattista notaatiota) OCL kielen lausekkeissa (rajoituksissa) operaattorit toimivat olioiden kanssa. OCL mahdollistaa kyselyjen kirjoittamisen, samankaltaisesti kuten SQL-kielellä. 20

21 BlockHandler using UML Block * elements 1 BlockSet * number * * blockqueue free * used {ordered} allblocks {subset} {subset} BlockHandler addblock() removeblock() Pressman

22 BlockHandler määrittelyt OCL kielellä Invarianttien käyttö (predikaatti, joka on voimassa kiinnitetyn luokan (BlockHandler) kaikissa esiintymissä) Jokainen lohko merkitään käytetyksi tai käyttämättömäksi. context BlockHandler inv: (self.used->intersection(self.free)) ->isempty() Kaikki jonossa olevat lohkot ovat nyt käytössä olevia lohkoja. context BlockHandler inv: blockqueue->forall(ablockset used->includesall(ablockset )) Käytettyjen ja käyttämättömien lohkojen kokoelmat muodostavat kaikkien lohkojen kokoelman. context BlockHandler inv: allblocks = used->union(free) Käyttämättämien lohkojen kokoelmassa ei ole samoja lohkonumeroja. context BlockHandler inv: free->isunique(ablock ablock.number) Käytettyjen lohkojen kokoelmassa ei ole samoja lohkonumeroja. context BlockHandler inv: used->isunique(ablock ablock.number) free used-lohkot eivät löydy free-lohkoista kaikki jonossa olevat lohkot (ablockset) löytyvät used-lohkoista Block allblocks used elements BlockHandler BlockSet blockqueue Pressman

23 Cleanroom menetelmä Cleanroom menetelmän periaatteet määriteltiin 1970/80 lukujen vaihteessa Nimi Cleanroom (puhdastila) on lainattu puolijohdeteollisuudesta Vaikka ihminen on erehtyväinen, ohjelmistovirheet voidaan välttää (Mills 1991) Harlan Mills sovitti matematiikka ja tilastotiedettä ohjelmistotekniikkaan toiminnallinen todentaminen (functional verification) testimateriaalin tarkka suunnittelu (tilastomatematiikan käyttö)

24 Esimerkkiprojekteja 1987 IBM Flight Control: Helicopter Avionics System Component 33 KLOC (Jovial) Häiriöaste 2.3 virhettä/kloc, valmistui etuajassa 1989 NASA Satellite Control Project I 40 KLOC (Fortran) Häiriöaste 4.5 virhettä/kloc, 80% parannus tuottavuudessa 1989 NASA Satellite Control Projects II & III 170 KLOC (Fortran) Häiriöaste 4.2 virhettä/kloc 1993 IBM LAN software first increment 4.8 KLOC (C) Häiriöaste 0.8 virhettä/kloc Tyypillinen tulos on alle 6 virhettä 1000 koodiriviä kohden ensimmäisessä testausvaiheessa (menetelmässä ei tehdä yksikkötestausta)

25 Cleanroom - ongelmia Vaatii paljon koulutusta IBM kertoo menetelmän käytöstä noin 450 henkilön laboratoriossa 150 osallistui päivän koulutukseen 300 osallistui lyhyempään koulutukseen kokonaisuudessaan laboratorio investoi koulutukseen 7-8 henkilötyövuotta spesifikaatioiden kirjoitus vei myös suunniteltua enemmän aikaa (6 viikkoa -> 12 viikkoa)

26 Asiakas Vaatimusanalyysi Toiminnallinen spesifikaatio Käyttöspesifikaatio Spesifikaatioiden evaluointi Toteutusvaiheiden suunnittelu Suunnittelu, toteutus, todentaminen Käytön mallinnus ja testien suunnittelu Tuoteversioiden evaluointi Tilastollinen testaus ja laadunvarmistus = ohjelmistokehitysryhmän työtä = laadunvarmistusryhmän työtä = yhteiset tehtävät

27 Cleanroom tekniikat Asteittainen kehittäminen Funktioperustainen määrittely, suunnittelu ja todentaminen mustalaatikko (black box) syöte + syötehistoria -> palaute (S, SH) -> (R) tilalaatikko (state box) syöte + vanha tilatieto = palaute + uusi tilatieto (S, OS) -> (R, NS) lasilaatikko (clear box) clear box -> black boxes (S, OS) -> (R, NS) by procedures P

28 CB BB SB CB BB 1.1 BB CB BB 1 BB 1.2 BB BB 1.3 BB 1.n Pressman

29 Cleanroom tekniikat... Oikeellisuuden varmentaminen jokainen laatikko varmennetaan kukin ohjelmoija todentaa (verifioi) oman koodinsa julkaisun oikeellisuus todennetaan myös katselmoinneissa Tilastollinen testaus käyttömalli (usage model) kuvaa ohjelmiston käyttäytymisen testitapaukset laaditaan käyttömallin avulla määritellään MTTF (Mean Time To Failure) tavoitearvot

30 [set w to minimum of z and absolute value of x] [set w to minimum of z and absolute value of x] DO = [set y to absolute = value of x] [set w to minimum of z and y] END [set w to minimum of z and absolute value of x] DO [set y to absolute value of x] IF x < 0 THEN y := -x ELSE y := x END [set w to minimum of z and y] IF y < z THEN w := y ELSE w := z END Asteittainen tarkentaminen ja todentaminen clear box esityksessä

31 SAFEHOME off away stay alarm check fire away stay instant bypass not ready armed power max test bypass instant code chime ready * 0 # panic ohjauspaneli ilmaisee toimijalle järjestelmän tilan: - not ready ilmoitus tarkoittaa, että huoneiston jokin ovi tai ikkuna on auki toimija käyttää näppäimistöä antaakseen nelinumeroisen salasanan - jos salasana on väärä, järjestelmä ilmoittaa piippaamalla, jos oikea, odottaa jatkotoimia toimija asettaa järjestelmän käyttöön stay (talon ulkopuolen tunnistimet) tai away (kaikki tunnistimet) näppäimillä

32 Käyttäjän tekemä valinta A (arm/disalarm) Z (zone set) Q (query) T (test) P (panic alarm) Käytön todennäköinen hajonta 50 % 15 % 15 % 15 % 5 % Hajontaasteikko Testi Satunnaisluvut Testitapaukset A A A Z A T Z P A Q T Q T A Z A A A A A P T A Q Testitapausten tilastollinen valinta

33 Syötteet Syöte Kuvaus viite vaatimukseen nro S Set Laitteen aktivointi 2 T Trip Signaali tunnistimelta 1 B BadDigit Väärä merkki osana 7 koodia C Clear Koodin nollaus 7 G GoodDigit Oikea merkki osana 5,6 koodia Palautteet Palaute Kuvaus viite vaatimukseen nro Light on Set näppäimeen valo 3 Light off Set näppäimen valo pois 6 Alarm on Hälytysääni aktivoituu 4 Alarm off Hälytysääni katkeaa 5 33

34 Software not invoked Alarm G C Alarm and 1_OK G C Alarm and 2_OK S T C B B B Ready Alarm and Entry Error G G B C T T T Entry Error B 1_OK G 2_OK G Software terminated C C Turvahälyttimen käyttömalli

35 Pohdiskelun aiheita Di Lucca ja Fasolino esittelevät paperin luvussa 7.2 Websovelluksen testaustapoja, joilla pyritään varmistamaan, että sovellus vastaa sekä ei-toiminnallisia että toiminnallisia vaatimuksia. Millaiset testaustavat sopivat ei-toiminnallisille vaatimuksille ja miten Web-sovellusten erityispiirteet näkyvät näissä testaustavoissa. Miten Web-sovellusten toiminnallisuuden testaus eroaa perinteisten ohjelmistojen testauksesta? Di Lucca G., Fasolino A., Web Application Testing, Engineering_Mendes_C07WebTest.pdf

36 Harjoitustehtävät: viikko 7 1. Tarkastele funktiota laske_joulukuun_palkka Työntekijöiden kuukausipalkat vaihtelevat välillä euroa. Oletetaan myös, että työntekijä on voinut olla yrityksen palveluksessa 0 50 vuotta. Joulukuun palkkaan lisätään joulubonus, joka määritellään seuraavasti: Työntekijä saa 50% bonuksen (50% kuukausipalkasta), jos on ollut yrityksessä kolme vuotta tai enemmän. Jos on ollut yrityksessä yli viisi vuotta, bonus on 75% ja yli kahdeksan vuotta yritystä palvelleille bonus on 100%. Funktio määritellään kahden parametrin avulla seuraavasti: double laske_ joulukuun _palkka ( double kk_palkka, // henkilön kuukausipalkka int palvelusaika, // henkilön palvelusaika yrityksessä) a. Tee funktion parametreille testiaineisto käyttäen luennoilla esiteltyä ekvivalenssiositusta, jossa määritellään ekvivalenssiluokat sekä käyville että ei-käyville syöttöarvoille. Tee myös taulukkoesitys, josta näkee parametrien arvot ja lopputuloksen eri testiarvoilla. 36

37 Harjoitustehtävät: viikko 7 1. b. Toteuta laske_ joulukuun _palkka funktio Java (tai C) ohjelmana. Piirrä myös lohkokaavio ja määrittele syklomaattinen kompleksisuus ja tarvittavien testitapausten lkm. Määrittele polut, joiden avulla saadaan polkukattavuus 100%:ksi ja laadi näille testitapaukset. 2. Olet kehittämässä Web-pohjaista apteekkiohjelmistoa NurkkaApteekki.com, joka on tarkoitettu ikäihmisten käyttöön. Käyttäjän täytyy tunnistautua verkkopankin tunnuksilla. Sen jälkeen käyttäjä näkee, millaisia reseptejä, milloin ja kenen toimesta hänelle on määrätty. Ohjelmistolla on yhteys tietokantaan ja uusien lääkemääräyksien ja vanhojen määräyksien yhteisvaikutus arvioidaan. Jos huomataan vaarallinen yhteisvaikutus, tästä ilmoitetaan käyttäjälle. Millaisia testejä tällaiselle ohjelmistolle tulisi suunnitella. Riittää että kerrot sanallisesti testeistä, ei tarvitse suunnitella testiaineistoa. 37

Ohjelmistotekniikka - Luento 4

Ohjelmistotekniikka - Luento 4 Ohjelmistotekniikka - Luento 4 Luku 19: Oliosuuntautuneiden sovellusten testaus - oliotestauksen testaustasot - oliotestauksen ominaispiirteitä ja testausmenetelmiä - luokkatason testausmenetelmät Luku

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

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

Lisätiedot

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

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

Lisätiedot

Lohtu-projekti. Testaussuunnitelma

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

Lisätiedot

Harjoitustyön testaus. Juha Taina

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

Lisätiedot

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

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

Lisätiedot

Convergence of messaging

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

Lisätiedot

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

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

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

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

Lisätiedot

Kontrollipolkujen määrä

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

Lisätiedot

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II 7. Verifiointi ja validointi Verifiointi ja validointi (V&V) on ohjelmistotuotannon työvaihe, missä varmistetaan, että ohjelmisto täyttää sille asetetut implisiittiset ja eksplisiittiset vaatimukset ja

Lisätiedot

Dynaaminen analyysi IV

Dynaaminen analyysi IV Dynaaminen analyysi IV Luento 9 Antti-Pekka Tuovinen 16 April 2013 1 Tavoitteet Kokemusperäinen testitapausten suunnittelu Yhteenvetoa suunnittelutekniikoista 16 April 2013 2 1 Testitapausten kokemusperäinen

Lisätiedot

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen 23 April 2018 1 Tavoitteet Kokemusperäinen testitapausten suunnittelu Yhteenvetoa suunnittelutekniikoista 23 April 2018 2 Testitapausten kokemusperäinen

Lisätiedot

Dynaaminen analyysi I

Dynaaminen analyysi I Dynaaminen analyysi I Luento 6 Antti-Pekka Tuovinen 4 April 2013 1 Tavoitteet Testitapausten suunnittelun ja suorituksen perusteet Black-Box testitapausten suunnittelu Ekvivalenssiluokat Raja-arvo (reuna-arvo)

Lisätiedot

Ohjelmiston testaus ja laatu. Testaustasot

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

Lisätiedot

Ohjelmiston testaus ja laatu. Testausmenetelmiä

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

Lisätiedot

Testaussuunnitelma Labra

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

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science Testaustyökalut Luento 11 Antti-Pekka Tuovinen 25 April 2013 1 Tavoitteet Työkalutyyppejä Testauksen hallinta Testien määrittely Staattinen analyysi Dynaaminen testaus 25 April 2013 2 1 Työkalut ja testaus

Lisätiedot

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

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

Lisätiedot

Harjoitustehtävät: Ohjelmistotekniikka syksy 2015 (harjoitustyöraportin deadline 23.12.2015) Harjoitus 1:

Harjoitustehtävät: Ohjelmistotekniikka syksy 2015 (harjoitustyöraportin deadline 23.12.2015) Harjoitus 1: 1 Harjoitustehtävät: Ohjelmistotekniikka syksy 2015 (harjoitustyöraportin deadline 23.12.2015) Harjoitus 1: 1. Lue paperit McConnell S., and Tripp L., Professional Software Engineering: Fact or Fiction,

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

Ohjelmistotekniikka - Luento 9 Jouni Lappalainen

Ohjelmistotekniikka - Luento 9 Jouni Lappalainen Ohjelmistotekniikka - Luento 9 Jouni Lappalainen Luku 17: Testausstrategiat V-malli ja vaiheet yksikkö- ja integrointitestaus validointitestaus järjestelmätestaus debuggaus Luku 18: Perinteisten sovellusten

Lisätiedot

Dynaaminen analyysi II

Dynaaminen analyysi II Dynaaminen analyysi II Luento 7 Antti-Pekka Tuovinen 9 April 2013 1 Tavoitteet Black-box testitapausten suunnittelutekniikat II Tilamallien käyttö Syys-seurausverkot ja päätöstaulut Käyttötapaukset Yhteenveto

Lisätiedot

Ohjelmistotekniikka - Luento 10

Ohjelmistotekniikka - Luento 10 Ohjelmistotekniikka - Luento 10 Luku 17: Testausstrategiat V-malli ja vaiheet yksikkö- ja integrointitestaus validointitestaus järjestelmätestaus debuggaus Luku 18: Perinteisten sovellusten testaus testattavuus

Lisätiedot

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

Hakemistojen sisällöt säilötään linkitetyille listalle. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ

Lisätiedot

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland Epäonnistuminen ei ole vaikeaa Approximately 40% of mission-critical mainframe projects

Lisätiedot

Ohjelmistotekniikka - Luento 10 Jouni Lappalainen

Ohjelmistotekniikka - Luento 10 Jouni Lappalainen Ohjelmistotekniikka - Luento 10 Jouni Lappalainen Luku 17: Testausstrategiat V-malli ja vaiheet yksikkö- ja integrointitestaus validointitestaus järjestelmätestaus debuggaus Luku 18: Perinteisten sovellusten

Lisätiedot

Ohjelmistotekniikka - Luento 3

Ohjelmistotekniikka - Luento 3 Ohjelmistotekniikka - Luento 3 Luku 17: Testausstrategiat V-malli ja vaiheet yksikkö- ja integrointitestaus validointitestaus järjestelmätestaus debuggaus Luku 18: Perinteisten sovellusten testaus testattavuus

Lisätiedot

UML-kielen formalisointi Object-Z:lla

UML-kielen formalisointi Object-Z:lla UML-kielen formalisointi Object-Z:lla Kalvot ja seminaarityö WWW:ssä: http://users.jyu.fi/~minurmin/opiskelu/form/ UML UML == Unified Modelling Language. OMG:n standardoima kieli ohjelmistojärjestelmien,

Lisätiedot

Testaaminen ohjelmiston kehitysprosessin aikana

Testaaminen ohjelmiston kehitysprosessin aikana Testaaminen ohjelmiston kehitysprosessin aikana 04.02.2004 http://cs.joensuu.fi/tsoft/ Sisällys 1. Johdanto 2. Yksikkö- ja integrointitestaus 3. Järjestelmätestaus 4. Hyväksymistestaus http://cs.joensuu.fi/tsoft/

Lisätiedot

Laadunvarmistustekniikat

Laadunvarmistustekniikat Laadunvarmistustekniikat Ohjelmistojen laadunvarmistustekniikoita: testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä tarkastukset (inspections, reviews) asiantuntijoiden suorittamia

Lisätiedot

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta 582101 - Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta 1 Toteutuksesta ja testauksesta Suunnitteluprosessista Tarkan tason luokkasuunnittelu Siirtyminen UML-kaavioista Java-toteutukseen

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja

Lisätiedot

Ohjelmistotuotanto s

Ohjelmistotuotanto s Laadunvarmistustekniikoita Ohjelmistotuotanto 1 testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä tarkastukset (inspections, reviews) asiantuntijoiden suorittamia dokumentin (voi olla

Lisätiedot

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

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

Lisätiedot

Harjoitustehtävät: Ohjelmistotekniikka kevät 2015 (harjoitustyöraportin deadline 8.3.2014) (Kalenteri-)Viikko 3:

Harjoitustehtävät: Ohjelmistotekniikka kevät 2015 (harjoitustyöraportin deadline 8.3.2014) (Kalenteri-)Viikko 3: 1 Harjoitustehtävät: Ohjelmistotekniikka kevät 2015 (harjoitustyöraportin deadline 8.3.2014) (Kalenteri-)Viikko 3: 1. Lue paperit McConnell S., and Tripp L., Professional Software Engineering: Fact or

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan

Lisätiedot

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

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

Lisätiedot

Ohjelmistotekniikan menetelmät, UML

Ohjelmistotekniikan menetelmät, UML 582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka

Lisätiedot

Harjoitus 3 (viikko 39)

Harjoitus 3 (viikko 39) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Vältä liian pitkiä rivejä. Ohjelmointitehtävien

Lisätiedot

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Ohjelmien automaattisen verifioinnin reunamailla

Ohjelmien automaattisen verifioinnin reunamailla Ohjelmien automaattisen verifioinnin reunamailla Antti Siirtola Tietotekniikan laitos, Perustieteiden korkeakoulu, Aalto-yliopisto, antti.siirtola@aalto.fi Suomalainen Tiedeakatemia, Nuorten akatemiaklubi,

Lisätiedot

Ohjelmistotuotantoprojekti

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

Lisätiedot

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

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

Lisätiedot

7. Verifiointi ja validointi

7. Verifiointi ja validointi 7. Verifiointi ja validointi Verifiointi ja validointi (V&V) on ohjelmistotuotannon työvaihe, missä varmistetaan, että ohjelmisto täyttää sille asetetut implisiittiset ja eksplisiittiset vaatimukset ja

Lisätiedot

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen 23 April 2018 1 Tavoitteet Yleiskuva seuraavista aiheista Testauksen organisointi Testaussuunnittelma Testauksen kustannukset Testausstrategia

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

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

1 Tehtävän kuvaus ja analysointi

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

Lisätiedot

Järjestelmätestauksen vaatimukset. 6. Järjestelmätestaus (B, 14) Järjestelmätestauksen korkean tason testausstrategia

Järjestelmätestauksen vaatimukset. 6. Järjestelmätestaus (B, 14) Järjestelmätestauksen korkean tason testausstrategia . Järjestelmätestaus (B, ) Järjestelmätestaus (system testing) tehdään integrointitestauksen jälkeen. Siinä järjestelmää testataan kokonaisuutena, johon kuuluvat ohjelmiston lisäksi laitteisto ja järjestelmän

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Harjoitustehtävät ja ratkaisut viikolle 48

Harjoitustehtävät ja ratkaisut viikolle 48 Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin

Lisätiedot

Hieman lisää malleista ja niiden hyödyntämisestä

Hieman lisää malleista ja niiden hyödyntämisestä Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

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

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

Harjoitustehtävät: Ohjelmistotekniikka syksy 2018 (harjoitustyöraportin deadline ) Harjoitus 1:

Harjoitustehtävät: Ohjelmistotekniikka syksy 2018 (harjoitustyöraportin deadline ) Harjoitus 1: 1 Harjoitustehtävät: Ohjelmistotekniikka syksy 2018 (harjoitustyöraportin deadline 31.10.2018) Harjoitus 1: 1. Lue paperit McConnell S., and Tripp L., Professional Software Engineering: Fact or Fiction,

Lisätiedot

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

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

Lisätiedot

ITK130 Ohjelmistojen luonne

ITK130 Ohjelmistojen luonne ITK130 Ohjelmistojen luonne Luennon sisältö Ohjelmistotekniikka ja vaatimukset Ohjelmistotuote Ei-toiminnallisten vaatimusten luokittelu Sisäiset ja ulkoiset vaatimukset Oikeellisuus Luotettavuus Kestävyys

Lisätiedot

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

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

Lisätiedot

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu HELIA 1 (14) Luento 7 Käyttöliittymäolio... 2 Olioajattelun perusteet... 3 Tavoitteet... 3 Peruskäsitteet... 4 Olio / Olioinstanssi / Olion esiintymä... 4 Ominaisuudet... 4 Toiminnot... 4 Olioluokka /

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

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

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

UML- mallinnus: Tilakaavio

UML- mallinnus: Tilakaavio UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio

Lisätiedot

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

Onnistunut Vaatimuspohjainen Testaus

Onnistunut Vaatimuspohjainen Testaus Onnistunut Vaatimuspohjainen Testaus Kari Alho Solution Architect Nohau Solutions, Finland Sisältö Mitä on vaatimuspohjainen testaus? Vaatimusten ymmärtämisen haasteet Testitapausten generointi Työkalujen

Lisätiedot

58160 Ohjelmoinnin harjoitustyö

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

Lisätiedot

Ohjelmistojen mallintaminen

Ohjelmistojen mallintaminen Ohjelmistojen mallintaminen - Mallit - Ohjelmiston kuvaaminen malleilla 31.10.2008 Harri Laine 1 Malli: abstraktio jostain kohteesta Abstrahointi: asian ilmaiseminen tavalla, joka tuo esiin tietystä näkökulmasta

Lisätiedot

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

582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus 582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! eli... Hyvä kaava sanoo enemmän kuin,... tuhat riviä koodia!... sata riviä tekstiä!... kymmenen diagrammia! YLEISTÄ FORMAALEISTA

Lisätiedot

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

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

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

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

Työpöytävirtualisointi

Työpöytävirtualisointi Työpöytävirtualisointi VMware View LIPO - SAMK Liiketoiminta ja kulttuuri Pori Liiketalouden, matkailun, tietojenkäsittelyn, viestinnän ja yrittäjyyden ja liiketoimintaosaamisen koulutusta. Käyttäjiä noin

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

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

Lisätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa Java-kielen perusteet Teoria ja ohjelmointitehtävät Java-kielen perusteet 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN 10 JAVA-KIELEN PERUSTEET 10 OPISKELUN ALOITTAMINEN

Lisätiedot

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotekniikan menetelmät, kesä 2008 582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO

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

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

Lisätiedot

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

Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testausraportti Smartmeeting opponointi Testausraportti Smartmeeting opponointi Sisällysluettelo 1. Johdanto...3 2. Testitapaukset Smartmeeting...4 2.1 Yritä kirjautua järjestelmään väärällä salasanalla...4 2.2 Lisää uusi käyttäjä...4 2.3 Lisää

Lisätiedot

Ohjelmistojen testaus

Ohjelmistojen testaus Ohjelmistojen testaus Juha Taina 1. Perusteet (P&Y:1-4) Kurinalainen insinöörityö sisältää suunnittelun ja rakentamisen lisäksi välttämättä tehtäviä, joiden tarkoitus on tunnistaa ja poistaa keskeneräisestä

Lisätiedot

käyttötapaukset mod. testaus

käyttötapaukset mod. testaus käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)

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

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

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

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

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

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen 5.11.2015

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen 5.11.2015 Testausautomaation mahdollisuudet käyttöliittymän testauksessa Anssi Pekkarinen 5.11.2015 Agenda Kustannustehokkaan testausautomaation tekemiseen vaikuttavat tekijät Käyttöliittymätestauksen haasteet Uudet

Lisätiedot