Ohjelmistotekniikka ja projektinhallinta, 4 op

Slides:



Advertisements
Samankaltaiset esitykset
Osaamisen ja sivistyksen parhaaksi Ammatillisen peruskoulutuksen valtionavustushankkeet Tuija Laukkanen
Advertisements

Testaus ja testausympäristöt
Tietopaketti Big Datasta
Ohjelmistokehitys Viikko 2 Mika Salo Pekka Valtonen Asmo Voutilainen
Testaus ja testausympäristöt
Tiedonhaku Internetistä PODCASTING Katarina Andersson TU08se
Nopein, helpoin, tuottavin tie 3D-maailmaan..  Käytön ja oppimisen helppoutta  Työskentelyn nopeutta  Suunnittelun joustavuutta ⇓ Lisää tuottavuutta.
JavaScript (c) Irja & Reino Aarinen, 2007
Oodin versiot, havaittujen virheiden korjaus sekä kehitysehdotusten eteneminen Laura Vuorinen Kehittämisosasto / Opiskelijarekisteri.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestauksen raportointiohje Testitapauksen raportointi Havainnon raportointi.
Suunnitelma ohjelmiston testaukseen
Tietojärjestelmät ja Systeemisuunnittelu
Käytettävyystestaus GenMetrics projektissa Jonas Alam
Mallintarkistus ja sen soveltaminen PLC toimilohko-ohjelmien verifioinnissa AS Automaatio- ja systeemitekniikan projektityöt – loppuesitys Markus.
4. Opiskelijan osaamisen arviointi työpaikoilla
4. Vaatimusten hallinta Ohjelmistotuotantoprosessin tavoitteena
Tekijät: Pekka Ala-Honkola, Mika Immonen
LIIKUTTAVAN HYVÄ HENKILÖKUNTA Hämeenlinna
Tietokannan suunnittelu
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestauksen testausohjeet Yleisohjeet testaukseen Havaintoraportin täyttäminen.
Ohjelmiston testaus ja laatu
Projektikatselmus Publicum Teknillinen korkeakoulu Publicum-ryhmä.
Verkkopankin käytettävyys
@ Leena Lahtinen Helia OHJELMOINTITAITO ICT02D 12 OP.
Korkeakoulujen ja opetusministeriön yhteinen tietohallintohanke, jota CSC koordinoi RAkenteellisen KEhittämisen Tukena TIetohallinto RAKETTI-XDW Käsitemäärittely,
Testaus Tiptopissa draft Mats Lindstedt, Mika Rintala.
(Joskus puhutaan myös komponenttitestauksesta.) Pienin kokonaisuus, joka on järkevä testata erikseen. ● Perinteisesti yksittäinen aliohjelma. ● Olio-ohjelmien.
T Personal SE assignment Project progress tracking and control.
Ohjelmistotekniikka - Tenttiin valmistautumisesta Kevät 2003 Hanna-Kaisa Lammi LTY/Tite.
Internet-projekti - MUM2TM Heikki Hietala Jukka Mutikainen TIKO – Malmi
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
Pro gradu -tutkielmat ohjelmistotestauksesta
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestitapausten kuvausohje.
 Tutkimuksemme kantavana ajatuksena on uskomus siitä, että yhdistämällä matematiikan opetus johonkin konkreettiseen asiaan saavutetaan syvällisempää.
Jatkuvan parantamisen Jp-taulu
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
Kuinka tehdä blogi o365:ssä
JHS:N SUOSITUKSET VAATIMUSMÄÄRITTELYLLE SEPPO RÄSÄNEN SAVONIA-AMMATTIKORKEAKOULU TERVEYSALA, KUOPIO Ohjelmistotekniikka ja projektinhallinta,
Testauksen tutkimustulokset Marko Jäntti
Esitutkimus (tarvekartoitus)
UMF I Luento 7. Viime kerralta Lue II.5 ja II.6. Lause II.5.1 tapauksessa f(x,y) = (x, sin(y)) ja g(x, y) = (cos(x), y). Voit lähettää epäselvistä kohdista.
HAJAUTTAMISEN IDEAA SEPPO RÄSÄNEN SAVONIA-AMMATTIKORKEAKOULU TERVEYSALA, KUOPIO Ohjelmistotekniikka ja projektinhallinta, 4 op.
Kulttuurisemiotiikkaa Harri Veivo Oulun yliopisto Lokakuu
T Loppudemo Kaffetauko eAuction
C 1. Testaus on ”sarja toimintoja” Itse asiassa, testaus on vuorovaikutusta, jota rytmittää ohjelmiston arviointi. Vaikka on hyödyllistä tunnistaa sarja.
Uudelleenkäyttö. Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim.
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ä.
”Pieni haaste” (Myers 1979, mukailtu) Olkoon testattavana aliohjelma (tai metodi), joka on määritelty seuraavasti: ● Parametreinä annetaan kolme kokonaislukua,
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Älykkäiden käyttöliittymien käytettävyysvaatimukset Rami Annala T Käyttöliittymien ja käytettävyyden seminaari, Syksy 2002: Kontekstiherkkyydestä.
Vaatimustenhallinta.
T Henkilökohtainen SE harjoitus
T Personal SE Assignment Pauli Aho Personal SE Assignment Valittu aihe ja menetelmä Käytettävyystestaus (usability testing) ISO :
Visual Basic -ohjelmointi
TUME II / TILASTOLLINEN OSUUS DATAN LAATU SEPPO RÄSÄNEN SAVONIA-AMK TERVEYSALA KUOPIO KEVÄT TYTUT21.
Tik Tietojenkäsittelyopin ohjelmatyö Palautuspalaveri 3 Projektin esittely lyhyesti Projektin arviointi –projektin tila –suunnitelmat P1-vaiheelle.
LAATUJOHTAMINEN TENTTI 1. Määrittele seuraavat käsitteet:
Ohjelmistotekniikka kevät 2003 CASE-välineet. Ohjelmistotekniikka kevät 2003 Mitä ovat CASE-välineet? Computer Aided Software Engineering Tietokoneavusteinen.
PC-liitäntä AtMega32:lle Viestin lähetys / vastaanotto Sekä laitteen konfigurointi.
Ohjausrakenteet Määräävät ohjelmakoodin suoritusjärjestyksen Ehtolause if – else on muotoa if (lauseke) lause1 else lause2 Jos lauseke on tosi, niin suoritetaan.
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
Ohjelmistotekniikka kevät 2003 Ohjelmistotekniikan määritelmä Ohjelmistotekniikka (Software Engineering) tarkoittaa pätevien insinööriperiaatteiden vakiinnuttamista.
Projektityö Lähe: Projektityömateriaali BB:n sivulla.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
1.0 TE DiplomityöEsitelmä/ / JT Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olio- orientoituneeseen ohjelmointiin Jukka.
18. Testaus.
Esityksen transkriptio:

Ohjelmistotekniikka ja projektinhallinta, 4 op OHJELMISTON Testaus ja laatu Seppo Räsänen Savonia-ammattikorkeakoulu Terveysala, kuopio 18.8.2008

Ohjelmiston testaus ja laatu… Testaus on systemaattinen lähestymistapa ohjelmistoissa esiintyvien virheiden löytämiseksi ohjelmaa suorittamalla. Testattaessa pyritään luomaan kattavia testitapausjoukkoja ja löytämään menetelmiä, joilla ohjelmissa esiintyvät virheet saadaan selvitettyä taloudellisesti ja ohjelman toiminta mahdollisimman luotettavaksi. Ohjelmien testauksen kokonaisuuden hallintaan on tehty erilaisia apuvälineitä: testaustyökaluja ja testausprosessin hallintaohjelmistoja. Testauksen tarkoituksena periaatteessa on osoittaa, että ohjelma toimii tai toisin päin, että ohjelma ei toimi, kuten sen pitäisi.

Ohjelmiston testaus ja laatu… Testausta suoritettaessa on hyväksyttävä se tosiasia, että kaikkia ohjelmistossa esiintyviä virheitä ei kyetä saamaan esiin, johtuen ohjelmistojen laajuudesta ja suorituspolkujen moninaisuudesta. Ohjelman toiminta voidaan todistaa oikeelliseksi vain äärimmäisen triviaaleissa tapauksissa. Kysymyksiä Toimiiko ohjelma väärin suhteessa määrittelyynsä? Toimiiko ohjelma eri ympäristöissä? Tekeekö ohjelma sitä, mitä sen pitäisi? Tekeekö ohjelma sitä mitä sen ei pitäisi tehdä?

Ohjelmiston testaus ja laatu… virhe Havaittu eroavaisuus ohjelmiston toiminnassa ja sille tuotetuissa määrityksissä. Virheet voidaan jakaa kääntäjän kannalta katsoen käännöksenaikaisiin (syntaksinen virhe), ajon-aikaisiin (semanttinen virhe) ja loogisiin virheisiin. Testauksen vaihemallin mukaan virheet voidaan jakaa virheelliseen vaatimusten määrittelyyn, suunnitteluvirheisiin ja ohjelmointivirheisiin verifiointi Tarkoittaa ohjelman oikeellisuuden ja oikean toiminnan todentamista. validointi Tarkoittaa varmennusta, että toteutettava järjestelmä vastaa loppukäyttäjän tarpeita

Ohjelmiston testaus ja laatu… virheidenpoisto l. debuggaus Prosessi, jonka tarkoituksena on löytää ja poistaa virheiden syitä ja aiheuttajia ohjelmakoodista. staattinen testaus Ohjelmiston testausta ilman, että ohjelmakoodia suoritetaan. Koodin analysointi voidaan suorittaa joko käsin tai automaattisesti staattisen analyysin työkalulla. Menettelyllä pyritään löytämään tutkittavasta ohjelmakoodista loogisia-, suunnittelu- ja koodausvirheitä. Ohjelmakoodin tarkastelu manuaalisesti tapahtuu koodin tarkastuksessa (inspection), katselmuksessa (review) ja läpikäyntitilaisuuksissa (walkthrough) tai ohjelmoijan itse suorittamissa pöytätestauksissa (desk checking)

Ohjelmiston testaus ja laatu… esimerkkejä staattisesta testauksesta funktiokutsussa parametrien tyypit parametrien käyttö (esim. parametrien väärä lukumäärä) funktion paluuarvon tyyppi samannimiset muuttujat/muuttujan uudelleen määrittely onko ohjelmakoodia, jota ei suoriteta koskaan käytetäänkö esiteltyä muuttujaa onko muuttujaa esitelty ennen käyttöä käytetäänkö esiteltyä funktiota muuttujaan sijoitettavan arvon tyyppi osoittimien ja indeksien käyttö (esim. viittaukset määriteltyjen rajojen ulkopuolelle)

Ohjelmiston testaus ja laatu… dynaaminen testaus Komponentin tai ohjelmiston testausta itse ohjelman tai sen osan suorituksen aikana ja perusteella Apuvälineinä olevat dynaamiset virheenjäljitysohjelmat, kuten debuggerit testattavuus Ohjelmiston testattavuudella mitataan ohjelmiston kykyä paljastaa omat virheensä ohjelmakoodissa, komponenteissa tai vaatimuksissa

Ohjelmiston testaus ja laatu… Testi tapausten tuottaminen testitapaukset testaus Testi tapausten ajo testausvaiheiden tehtävät virheet / virheen oireet Virheen paikan- taminen virheen poistaminen debuggaus Virheen korjaus Korjausten testaus

Ohjelmiston testaus ja laatu… täydellinen testaus vaatii kaikkien ohjelmarivien ja kaikkien eri toimintojen kombinaatioiden testaamisen  vie aikaa ja on kallista  mahdotonta testaus on vaihtokauppaa luotettavuus vs. kustannukset & aikataulu testauksessa ”silmä näkee, mitä se haluaa”  miten tehdään ja kuka tekee luotettavaa testausta ohjelman tekijä ei saisi olla ainoa testaaja systeemin tehnyt ryhmä ei saisi olla ainoa testaajaryhmä testistä saatavat tulokset tulee tutkia tarkkaan, jotta ei jää huomaamatta virheitä testitapauksissa tulee olla kelvollisia ja kelvottomia syötteitä ”ei riitä, että ohjelma tekee sitä, mitä sen pitääkin tehdä. Se ei saa tehdä sitä, mitä sen ei pitäisikään tehdä” testaukselle varattava aikaa, jotta dokumentointi ja korjaus onnistuu

Ohjelmiston testaus ja laatu… Katselmointi Vaatimus-, määrittely- ja suunnitteludokumenttien teon jälkeen katselmukset Katselmuskäytäntö kuvataan projektisuunnitelmassa tai projektitasoisessa testaussuunnitelmassa (mitä, kuka, milloin ja miten?) Testauksen kannalta oleellisia ovat määrittely- ja suunnitteludokumenttien sekä testaussuunnitelman ja testitapausten katselmoinnit katselmuspalaveri puheenjohtaja ja sihteeri pysytään asiassa tarkastuslistojen käyttö lisää tehokkuutta päätökset kirjataan ylös (hyväksyminen, ehdollinen hyväksyminen (havaitut virheet korjattava), uusintakatselmus Kestää enintään 2 tuntia

Ohjelmiston testaus ja laatu… Onnistunut testaus vaatii Testausmenetelmien ja –välineiden asiantuntemuksen Selkeät tavoitteet Testaussuunnitteluun panostamisen Tarvittavien henkilöresurssien olemassa olon Testausprojektin tuloksien seurannan ja toteuttamisen Testausprojektin hyvän vaiheistuksen ja välietapit Sovittujen pelisääntöjen tiedottamisen Suunnitellun ja toimivan muutos- ja virhehallinnan

Ohjelmiston testaus ja laatu… Testausmenetelmiä… black-box testi testaaja ei voi tutkia lähdekoodia  testaus perustuu sovellukselle suunnitteluvaiheessa tehtyihin määrityksiin ja laadittuihin ohjeisiin menetelmän käyttö edellyttää ohjelman suunnittelussa tehdyiltä määrittelyiltä täsmällisyyttä ja oikeaa toteutusta. testattavalle sovellukselle annetaan haluttu syöte, jonka jälkeen sovelluksen toimintaa tutkitaan sen tuottaman tulosteen perusteella. testaus käyttöliittymän kautta testaajana ei mielellään tekijä tai sovelluksen tuntija, vaan täysin ulkopuolinen henkilö  testitapaukset todennäköisesti paljastavampia toimintopolut, kaikkien toimintopolkujen täydellinen läpikäynti

Ohjelmiston testaus ja laatu… white-box (l. glass-box l clear box l. structural) testi testi perustuu lähdekoodin ja toiminnallisen määrittelyn olemassaoloon testitapaukset suunnitellaan lähdekoodin toiminnallisuuden perusteella testaajalla tietoa järjestelmän sisäisestä rakenteesta pyrkimys mahdollisimman kattaviin testituloksiin mahdollisimman täydelliseen lausekattavuuteen = testitapauksien tulisi käydä jokainen järjestelmän sisäisen rakenteen haara läpi Cs = Se / St * 100% missä Cs on lausekattavuus prosentteina, Se on suorittujen lauseiden määrä testitapauksessa, St on suoritettavien lauseiden kokonaismäärä testauskohteita ovat ohjelman ohjausrakenteet ja niiden kombinaatiot lauseet, lausekattavuus: kaikki lauseet suoritettava vähintään kerran silmukat, jokaiselle silmukalle suoritetaan testi, jossa toisto suoritetaan: nolla kertaa yhden kerran maksimiarvo kertaa jokin arvo väliltä 0 – maksimi kertaa suorituspolut, kaikki suorituspolut tulee suorittaa kerran

Ohjelmiston testaus ja laatu… grey-box testi (gray-box am.) yhdistelmä white box ja black box testeistä testitapaukset luodaan ohjelmakoodi ja toiminnallisuus tuntien toiminnallisesti orientoitunut, hyödyntää koodia ja toteutusratkaisujen tuntemusta varmentaa, paikkaa, täydentää edellisiä testejä hyviä testitapauksia ovat esim: rakenteelliset raja-arvot alivuoto ylivuoto nollalla jaot pyöristykset alku, loppu (esim. kuukausi) jne…

Ohjelmiston testaus ja laatu… Testauksen dokumentointi yleistestaus- suunnitelma moduulitestaus- suunnitelmat testitapausten kuvaus testausraportti testilogi testi ympäristön luonti testin suoritus

Ohjelmiston testaus ja laatu… Käytettävyystestaus… Käytettävyys on osa tuotteen laatuominaisuutta Käytettävyys on mittari, jolla mitataan tuotteen käytön tuottavuutta, tehokkuutta ja miellyttävyyttä. Nämä arvioidaan aina suhteessa käyttäjiin sekä työhön ja käyttöympäristöön, joille ja joihin tuote on tarkoitettu. (ISO 9241-11 -standardi) Tuottavuus - tehtävät tulevat tehdyksi täydellisesti ja virheettömästi. Tehokkuus - paljonko resursseja tuotteen käytössä tarvitaan henkilöinä, rahana ja aikana. Miellyttävyys - kuinka miellyttävä tuotetta on käyttäjien mielestä käyttää.

Ohjelmiston testaus ja laatu… Jakob Nielsen antaa käytettävyydelle seuraavat viisi laatukomponenttia: Opittavuus:Kuinka helppoa käyttäjien on tehdä tuotteen avulla perusasiat ensimmäisellä käyttökerralla? Tehokkuus: Kun asia on opittu, kuinka nopeasti käyttäjät pystyvät tekemään tehtävät? Muistettavuus: Kun käyttäjät palaavat tuotteen ääreen oltuaan käyttämättä sitä jonkin aikaa, kuinka kauan heiltä menee saman tuottavuuden saavuttamiseen uudelleen? Virheettömyys:Kuinka paljon käyttäjät tekevät virheitä, kuinka vakavia ne ovat ja kuinka helppoa niistä on toipua? Miellyttävyys: Kuinka miellyttävä tuote on käyttää? Hyödyllisyys: Kuinka hyvin tuote sopii työhön, johon se on tarkoitettu?

Ohjelmiston testaus ja laatu… Muita käytettävyyteen liitettyjä ominaisuuksia ovat mm: johdonmukaisuus, hallittavuus, tehtäviin sopiva esitystapa, pieni muistettavien asioiden määrä ja joustavuus (johdettavissa tehokkuudesta) Käytettävyys-käsitteellä on joukko rinnakkaiskäsitteitä: Palvelevuus: Aiemmin käytettävyys, esimerkiksi onko verkko toiminnassa 24 tuntia vuorokaudessa Houkuttelevuus: Tuote houkuttelee ostamaan, käyttämään. Esimerkiksi Webissä tämä tarkoittaa sitä, että käyttäjä selaa etusivua syvemmälle. Helppokäyttöisyys: Suunnitteluperiaate, jonka mukaan käyttäjä saavuttaa tavoitteensa tehokkaasti on hän millä osaamistasolla tahansa. Esteettömyys: Kaikki pystyvät käyttämään tuotetta mukaan lukien vammaiset ja ikääntyvät käyttäjät. Käyttökokemus: Käyttöön liittyvät tunneaspektit.

Ohjelmiston testaus ja laatu… Testivaiheet suunnitellaan yleensä käytettävyystesti päämäärät, osallistujat, tehtävien valinnat, käytettävyysmittari, testitiimin valmistelu, pilotin valmistelu suunnitellaan todellinen käyttötilanne kaikkia toimintoja ei voi testata, testataan kohdat joissa voi olla ongelmia ja/tai kohdat jotka ovat sovelluksen kannalta tärkeitä/oleellisia tehdään pilottitestaus  korjataan tarvittavat kohdat tulevasta testistä valitaan koekäyttäjät, jotka tekevät lopullisen testin koekäyttäjät tekevät tehtävän mukaisia toimintoja, nauhoitus testikäyttäjät kuvaavat koko ajan omaa toimintaansa testin jälkeen kerätty tieto (esim. videointi, äänittäminen, testaajien raportit) analysoidaan määritellään käyttöliittymässä olevat ongelmat korjataan tarvittavat kohdat

Ohjelmiston testaus ja laatu… Kysymyksiä Kommentteja