SYS48D Tietojärjestelmän kehittäminen (12 ov)

Slides:



Advertisements
Samankaltaiset esitykset
1. Missä vietät joulun useimmiten?. 2. Missä viettäisit joulun mieluiten?
Advertisements

Koostumussuhde Jukka Juslin © Jukka Juslin.
Pääkaupunkiseudun 8. luokkien palvelukyky Espoo, Tapiolan koulu Joulukuu 2013.
Hampuri, Saksa Löytää suunta, joka mahdollistaa Lions Clubs Internationalin saavuttavan sen täyden potentiaalin kansainvälisenä.
Testaus ja testausympäristöt
TESTAUS ”Paras mahdollinen työ.”
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestauksen raportointiohje Testitapauksen raportointi Havainnon raportointi.
Suunnitelma ohjelmiston testaukseen
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Java-perusteet Kari Kujansuu
Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestauksen testausohjeet Yleisohjeet testaukseen Havaintoraportin täyttäminen.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestaus – Kick-off.
Tekninen suunnit-telu
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
13. Pakkaukset.
Perusopetuksen huoltajat 2014 Generated on :04.
Lähipäivä T Business process development methods 1.
Ohjelmiston toteutus (teknisestä näkökulmasta)
Projektikatselmus Publicum Teknillinen korkeakoulu Publicum-ryhmä.
Ohjaustarvearvio ja ohjaustarve kartta/ Ryhmänohjaajan näkökulma
Performance testing of TETRA 1. SISÄLTÖ  TETRA standardointi  ICT- yrityksen toteutus  Testaus- prosessi  Motivaatio testaukseen  Vaiheet/ osa-prosessit.
Laskelma kuntien ja kuntayhtymien menoista v. 2012
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Toistolauseet
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
@ Leena Lahtinen Helia OHJELMOINTITAITO ICT02D 12 OP.
1 Senioreiden säästäminen ja maksutavat 2014 SENIOREIDEN SÄÄSTÄMINEN JA MAKSUTAVAT
Jatkuva Integraatio ohjelmistokehityksessä
(Joskus puhutaan myös komponenttitestauksesta.) Pienin kokonaisuus, joka on järkevä testata erikseen. ● Perinteisesti yksittäinen aliohjelma. ● Olio-ohjelmien.
I.R.O. Research Oy vee 10/2000 Mediakäyttö Käyttää vähintään kerran viikossa Tytöt ja pojat *) Kirjat (esim. romaanit, lasten- ja nuortenkirjat)
Työmarkkinatutkimus 2012 Yksityinen sektori
Väestö Vantaan osa-alueilla
Elinkeinopoliittinen mittaristo 2014
© Jukka Harju, Jukka Juslin Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 9 Poikkeuskäsittely.
Ohjelmistotekniikka - Tenttiin valmistautumisesta Kevät 2003 Hanna-Kaisa Lammi LTY/Tite.
1 Raha-asioiden suunnitteleminen ja nykyinen rahatilanne Senioritutkimus 2011.
Seinäjoki kisa A Tuomari: Tytti Lintenhofer ALO 12kyl, 4pys Kyl:
Maatalous, maaseutuyrittäminen rahavirrat 2008 ja 2007 Pohjois-Savo Jari Kauhanen MTK- Pohjois-Savo.
Workshop: Test-first approach Pietu Pohjalainen. Testaus perinteisesti Tarkoituksena löytää virheitä ohjelmasta mutta mikä on virhe? Sijoittuu tavallisesti.
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
Pro gradu -tutkielmat ohjelmistotestauksesta
1 © NOKIA 2000 testing PPT/ / Juha Kähkönen Kuvaukset prosessin vaiheen aikaisista hallintatavoista Tekninen määrittely Vaatimus- määrittely.
Eksponentiaalinen kasvaminen ja väheneminen
Maitotaito PIENEN VAUVAN PÄIVÄ Maitotaito.
Selainkäyttöliittymän tuotantoprosessi Klikkaamalla pääotsikoista tietosi karttuu. Sininen mökki toimii paluupainikkeena. Selainkäyttöliittymän tuotantoprosessi.
Projektikatselmus Publicum Teknillinen korkeakoulu Publicum-ryhmä.
Ohjelmistotekniikka ja projektinhallinta, 4 op
Testauksen tutkimustulokset Marko Jäntti
Metodit – Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin ”return;”-lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua.
Esitutkimus (tarvekartoitus)
1 Arkkitehtuuriin liittyvien kuvien teko Sekvenssikaavio Komponenttikaavio Luokkakaavio Ohjausryhmän palaveri Toimitussisällön tarkastelu Vaatimusten läpikäynti.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
T Loppudemo Kaffetauko eAuction
T Loppukatselmus OtaShop2 Halme, Inkinen, Karanko, Kosunen, Kärkkäinen, Larmo, Ojanen.
10. Abstrakti luokka Johdanto Abstrakti luokka (abstract class) poikkeaa konkreettisesta luokasta (ei-abstrakti luokka) siten, että siitä ei.
C 1. Testaus on ”sarja toimintoja” Itse asiassa, testaus on vuorovaikutusta, jota rytmittää ohjelmiston arviointi. Vaikka on hyödyllistä tunnistaa sarja.
Heuristinen arviointi Käyttöliittymäseminaari Jere Salonen.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestaus – Miksi ja miten?
Testaus Testaus Testauksella pyritään löytämään virheitä, jotka sitten korjataan. Yksittäinen testi on yleensä ohjelman suoritus (tietyillä.
Suomen Lääkäriliitto | Finnish Medical AssociationLääkärit Suomessa | Physicians in Finland Tilastotietoja lääkäreistä ja terveydenhuollosta 2014 Statistics.
1. Missä vietät joulun useimmiten?. 2. Missä viettäisit joulun mieluiten?
Laskelma kuntien ja kuntayhtymien menoista v. 2013
Tilastollisesti merkitsevä nousu Tilastollisesti merkitsevä lasku Edelliseen aineistoon KMT 2005 verrattuna* KMT Kevät06 puolivuosiaineisto KMT SYKSY05/KEVÄT06.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
Sähköpostin lähetys Java- ohjelmasta Jukka Juslin.
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
jew1 Systeemityön eteneminen opintojaksolla Ohjelmiston suunnittelutaito Opintojakson eteneminen.ppt.
Yksikkötestaus ● Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin.
18. Testaus.
13. Pakkaukset.
4. Luokan testaus ja käyttö olion kautta
Esityksen transkriptio:

SYS48D Tietojärjestelmän kehittäminen (12 ov) Testaus Jukka Juslin, Tapio Köppä Opettaja, HELIA 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 1

Opettaja Jukka Juslin (DI) Huone R2 1019 Puhelin 09 – 1489 0264 Vastaanottoaika: maanantaisin klo 8 – 9 @ R2 1019 Sähköposti: Jukka.Juslin@helia.fi 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 2

Testaus osana kokonaisuutta (RUP)   Työvaiheiden (Unified Process) tyypillinen kuormitus (Unified Process - kirja, sivu 335): 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 3

Testauksen sisäiset vaiheet Edellisessä kuvassa näimme mihin testaus yleensä sijoittuu ohjelmistoprojektissa Tämän lisäksi on tärkeää ymmärtää testauksen sisällä olevat vaiheet ja riippuvuus muista ohjelmistoprojektin osista Siitä seuraavassa kalvossa... 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 4

Testauksen V-malli (Vaatimus) Määrittely Järjestelmä- testaus suunnittelu Arkkitehtuuri- suunnittelu Integrointi- testaus ja tulosten verifiointi Moduuli- testaus Moduuli- suunnittelu Ohjelmointi Haikala, Märijärvi. Ohjelmistotuotanto 1996, 3. painos. Sivu 234. 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 5

RUP ja testaus RUP korostaa testausta yhtenä työvirtana (work flow), Perry sivu 295 - RUP:in idea testauksen(kin) suhteen on skaalautuvuus ja iteraatioittan edistyvä testaus – V-mallin mukaan tapahtuvia testaus V-tilanteita olisi N-kappaletta, eikä vain yhtä (kuten vesiputousmallissa) 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 6

Testaus osana tietojärjestelmän kehittämistä Testaus on osa tietojärjestelmän kehittämistä riippumatta siitä mitä kehitysprosessia käytetään (esim. RUP) Testit jaetaan aina ns. ”test caseihin” testattaviin käyttötapauksiin (testitapauksiin) Testitapaukset pitää dokumentoida konsistentisti ja tapaukset on valittava huolella kaikkien mahdollisten tapauksien joukosta Tietojärjestelmä osat ovat: Osaavat käyttäjät Tiedon tallennus Toimiva järjestelmä Toimiva rauta 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 7

Testaus kehittämisen eri vaiheissa Käyttöliittymän testaus: voidaan suorittaa joko manuaalisesti testaajan toimesta (myös kehittäjä voi olla testaaja) tai automaattisella ”testirobotilla” – esimerkiksi Rationalin ”robot” Käyttöönoton yhteydessä tehdään koko järjestelmän käyttöönottotestaus 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 8

Jukka Juslin & Tapio Köppä Testaussuunnitelma Jukka Juslin & Tapio Köppä 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 9

Yleistä Kuvataan yleisesti testauksen toteuttaminen: suunnittelukatselmus, loppukatselmus, modulitestaus, integrointitestaus ja järjestelmätestaus 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 10

Suunnittelukatselmus Tarkastetaan suunnittelukuvasto ja mahdollinen sijoittelumalli Kohteet: jäljitettävyys, ulkoinen ja sisäinen johdonmukaisuus (ristiriidattomuus), testattavuus, seuraavan työvaiheen mahdollistaminen, järjestelmän käytön ja ylläpidon mahdollistaminen sekä toimivuus 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 11

Suunnittelukatselmus – jatkuu Iterointi Hyväksymiskriteerit Virheiden jaottelu: ennen jatkoa / korjataan seuraavassa vaiheessa Mitä jatkotoimenpiteitä (virheiden korjaus seuraavassa vaiheessa) Miten dokumentoidaan ja raportoidaan Ketkä, milloin, miten toteutetaan? 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 12

Loppukatselmus Tarkastetaan toteutettu järjestelmä ja sen dokumentaatio: Edellisten katselmusten (dokumentaatio ja) raportointi Modulitestausten (dokumentaatio ja) raportointi Integrointitestausten (dokumentaatio ja) raportointi Järjestelmätestauksen (dokumentaatio ja) raportointi 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 13

Loppukatselmus – jatkuu Kohteet: Määritysten mukaisuus (validointi) sekä atk-järjestelmän osalta että muiltakin osin (vaatimukset, manuaalitoiminnot, koulutus, …) Jäljitettävyys, ulkoinen ja sisäinen johdonmukaisuus (ristiriidattomuus), käyttöönoton ja hyväksymistestauksen mahdollistaminen sekä järjestelmän käytön ja ylläpidon mahdollistaminen Toimivuus ja virheettömyys 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 14

Loppukatselmus – jatkuu Iterointi: Hyväksymiskriteerit Virheiden jaottelu: käytön estävät / ei käyttöä estävät Mitä jatkotoimenpiteitä (virheiden korjaus ylläpitona) 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 15

Loppukatselmus – jatkuu Miten dokumentoidaan ja raportoidaan Ketkä Milloin Miten toteutetaan 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 16

Testitapausten tekosuunnitelma Järjestelmä-, integrointi- ja mahdollisesti modulitestauksia varten Miten dokumentoidaan Ketkä Milloin (ja missä yhteydessä) Miten toteutetaan (ja miten testitapaukset tehdään) Testitapausten käyttö moduli-, integrointi- ja järjestelmätestauksissa 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 17

Modulitestaus Kohde: yksittäisten moduulien toimivuus ja virheettömyys (modulin toiminta ja määritysten mukaisuus) Miten dokumentoidaan ja raportoidaan Ketkä Milloin Miten toteutetaan 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 18

Modulitestaus - jatkuu Iterointi: Hyväksymiskriteerit Virheiden jaottelu: käytön estävät / ei käyttöä estävät Uusintatestit Mitä jatkotoimenpiteitä (jäljelle jäävien virheiden korjaus) Testitapausten teko: Musta-/lasilaatikko Toistettavuus (regressiomalli?) 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 19

Integrointitestaus Kohde: yksittäisistä moduleista muodostettujen kokonaisuuksien toimivuus ja virheettömyys (kokonaisuuden, esim. build, toiminta, modulien yhteistoiminta sekä määritysten mukaisuus) Miten dokumentoidaan ja raportoidaan Ketkä 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 20

Integrointitestaus - jatkuu Milloin Miten toteutetaan Iterointi Hyväksymiskriteerit Virheiden jaottelu: käytön estävät / ei käyttöä estävät Uusintatestit Mitä jatkotoimenpiteitä (jäljelle jäävien virheiden korjaus) 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 21

Integrointi Testitapausten teko - Mustalaatikko - Toistettavuus (regressiomalli?) 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 22

Järjestelmätestaus Kohde: toteutetun atk-järjestelmän toimivuus ja virheettömyys (määritysten mukaisuus) Miten dokumentoidaan ja raportoidaan Ketkä Milloin Miten toteutetaan 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 23

Järjestelmätestaus – jatkuu Iterointi Hyväksymiskriteerit Virheiden jaottelu: käytön estävät / ei käyttöä estävät Uusintatestit Mitä jatkotoimenpiteitä (jäljelle jäävien virheiden korjaus) 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 24

Järjestelmätestaus Testitapausten teko Mustalaatikko Toistettavuus (regressiomalli?) 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 25

Kehittämisprosessit Lähde:Valsta 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 26

Ohjelmistolaadun tekniset ulottuvuudet Jukka Juslin (DI) 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 27

Ohjelmistolaadun tekniset ulottuvuudet... Sopeutuvuus uusiin ympäristöihin Siirrettävyys Uudelleenkäytettävyys Yhteensopivuus Muuntautumiskyky Ylläpidettävyys Muunneltavuus Testattavuus 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 28

...Ohjelmistolaadun tekniset ulottuvuudet Toiminnalliset ominaisuudet Virheettömyys Luotettavuus Tehokkuus Tietoturvallisuus Käytettävyys Mittaaminen ?! Testattavia ?! 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 29

Laadunvarmistuksen menetelmiä Ohjelmistotekniset menetelmät ja työkalut Tekniset katselmukset ja tarkastukset Testaus Standardien noudattaminen Dokumentointi Muutosten hallinta Kattava mittaaminen Prosessin seuranta ja raportointi 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 30

Käsitteitä Virhe (defect) poikkeama määrityksistä (puute, väärä, ylimäärä) mikä tahansa käyttäjän tyytymättömyys virhe (error): ohjelmiston kehittäjän (ihmisen) tekemä virhe, aiheuttaa vian ohjelmakoodiin vika (defect, fault, bug): väärin toimiva ohjelmiston osa, saattaa aiheuttaa häiriön häiriö (failure): ulkoisesti havaittavissa oleva poikkeama toiminnassa verrattuna sen vaatimuksiin ja spesifikaatioon, tietojenkäsittelyn virheellinen tulos 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 31

Käsitteitä, jatkuu... Tarkastus/Katselmus/Esitestaus (Static testing) määrämuotoinen, menetelmällinen katselmus on tilaisuus, jossa etsitään virheitä yhden tai useamman kirjallisesti tai suullisesti esitetyn raportin pohjalta (tarkistuslista) 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 32

Käsitteitä, jatkuu... Testaus (Dynamic testing) järjestelmän tai sen osan tarkastus, jossa käytetään syöttötietoja ja jossa voidaan etukäteen määritysten perusteella päättää, mitä tulostietoja pitäisi saada osan toimittua voidaan todellisia tuloksia verrata oikeiksi tiedettyihin tuloksiin useimmiten toiminta tapahtuu tietokoneessa, mutta toimintaa voidaan myös matkia manuaalisesti 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 33

Käsitteitä, jatkuu... Testattavuus (Testability): missä määrin objektiivisella ja sopivalla testillä voidaan määrittää, onko jokin vaatimus toteutunut Jäljitettävyys (Auditability): missä määrin jokin ulkopuolinen voi jälkikäteen selvittää, miten jokin asia on tehty Todentaminen (Verification): lopputulosten arviointi virheettömyyden ja yhtäpitävyyden suhteen verrattuina alkutilanteeseen ja sovellettaviin standardeihin 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 34

Käsitteitä, jatkuu... Vahvistus (Validation): toteutusvaiheen lopputulosten vertailu määrittelyissä kuvattuihin järjestelmän vaatimuksiin 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 35

Testauksen konkretisointi Jukka Juslin ja John-Erik Wigström SYS48D 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 36

Olennaiset materiaalit testien konkretisoinnissa http://myy.helia.fi/~sys48d/Testaus/varasto_testaussuunnitelma.doc http://myy.helia.fi/~sys48d/Testaus/Testauslomake.doc http://myy.helia.fi/~sys48d/Testaus/TsArvio.htm 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 37

Testaustietokanta Talletettu tietämys mitä testejä on ajettu, milloin, kenen toimesta, milloin testin sisältöä on muutettu (missä tarkka testin kuvaus näkyy), mitä ohjelmistoversiota ja mitä ohjelmistoa vasten testin on ajettu ja mikä oli testin tulos (PASSED, FAILED) Voi olla yksinkertaisesti esimerkiksi MS Excel Sheet 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 38

Integrointitestaus Kohde: yksittäisistä moduleista muodostettujen kokonaisuuksien toimivuus ja virheettömyys (kokonaisuuden, esim. build, toiminta, modulien yhteistoiminta sekä määritysten mukaisuus) Miten dokumentoidaan ja raportoidaan? Ketkä? Milloin? Miten toteutetaan? Iterointi Hyväksymiskriteerit? Virheiden jaottelu: käytön estävät / ei käyttöä estävät Uusintatestit? Mitä jatkotoimenpiteitä (jäljelle jäävien virheiden korjaus) Testitapausten teko Mustalaatikko Toistettavuus (regressiomalli?) 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 39

Ylemmän tason testit Järjestelmän hyväksymistestaus Järjestelmätestaus Käyttöliittymän Use Case-testaus Luovutusvaiheessa tehtävä testaus 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 40

Modulitestaus käytännössä Voidaan suorittaa esimerkiksi JUnit:a hyväksikäyttäen JUnit on Javan de facto modulitestausstandardi Seuraavassa esittelemme JUnitin käyttöä käytännön testaukseen 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 41

Tarvittavat kirjastot 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 42

JUnit - aloitus Määrittele aliluokka junit.framework.TestCase:lle Määrittele yksi tai useampia public testXXX() metodeja Määrittele assertXXX() metodeja Testi epäonnistuu kun assertXXX() lauseke epäonnistuu 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 43

Simple Testcase package demo; import junit.framework.TestCase; public class VectorTest extends TestCase { private java.util.Vector testVector = null; protected void setUp() { // setup the fixture testVector = new java.util.Vector(); } protected void tearDown(){ testVector = null; public void testIsEmpty() { assertTrue("Vector is not empty", testVector.isEmpty()); public void testAddElement() { testVector.add(new Object()); assertEquals("Wrong size!", 1, testVector.size()); public static void main(String[] args){ junit.textui.TestRunner.run(VectorTest.class); 02/02/2004 Jukka Juslin ja Tapio Köppä – SYS48D, sivu 44