Ohjelmistojen testaus tekniikat, työkalut ja prosessit. Mika Katara Ohjelmistotekniikan laitos Tampereen teknillinen yliopisto
|
|
- Pauliina Halonen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Ohjelmistojen testaus tekniikat, työkalut ja prosessit Mika Katara Ohjelmistotekniikan laitos Tampereen teknillinen yliopisto Vaatimukset? Riskit Testaus Mika Katara: Ohjelmistojen testaus, Alkusanat Nämä luentokalvot ovat syntyneet vuosien aikana, jolloin Ohjelmistojen testaus -kurssi on järjestetty TTY:llä uudistetussa muodossaan. Lähteinä on pääasiassa käytetty tämän kalvosarjan lopussa listattuja kirjoja, Maaret Pyhäjärven ja Erkki Pöyhösen koulutusmateriaaleja sekä Helsingin yliopiston vastaavan kurssin luentomateriaalia. Muihin lähteisiin viitataan kalvoissa tarpeen mukaan. Haluan kiittää niitä lukuisia ihmisiä, mukaan lukien kurssin henkilökunta ja opiskelijat, jotka ovat tätä materiaalia valmistellessani antaneet rakentavaa palautetta. Lisää palautetta otetaan ilomielin vastaan. Tampereella Mika Katara, Kol. 2:2-3 Mika Katara: Ohjelmistojen testaus,
2 Kurssin tavoitteet Kurssin tavoitteena on oppia perusasiat ohjelmistojen testaamisesta ja luoda hyvä pohja lisätietojen hankkimiselle Edistyneempiä aiheita käydä läpi tarpeen mukaan Luentojen avulla pyritään luomaan laajaa kuvaa testauksesta, johon kuuluu paljon muutakin kuin vain testien suunnittelua ja niiden ajamista Harjoitustyössä tarkoitus on oppia käytännön tekemisen kautta Kurssin näkökulma pyrkii myös olemaan siinä mielessä avara, että eri sidosryhmien tarpeisiin kiinnitetään huomiota unohtamatta esim. testaustiimin johtajaa ja tuotteen loppukäyttäjää Mika Katara: Ohjelmistojen testaus, Vaikka valmis DI ei itse tekisikään testausta, tulee asia vastaan kaikenlaisissa ohjelmistokehitykseen liittyvissä työtehtävissä, sekä myyjän että ostajan roolissa, ja kaikilla organisaation tasoilla Jossain tapauksissa DI voi olla ainoa henkilö koko organisaatiossa, jolla on jotain tietämystä asiasta Hyvässä organisaatiossa löytyy osaajia, jotka osaavat oman alueensa työtehtävät hyvin, mutta ymmärtävät myös mitä muualla tapahtuu Yksikkötestausta tekevät yleensä enemmän teknisesti orientoituneet ihmiset ja järjestelmätestausta taas enemmän loppukäyttäjiä lähellä olevat henkilöt Mika Katara: Ohjelmistojen testaus,
3 Kurssin lähestymistapa testaukseen Lähestymme testausta objektiivisesti ja korostamme erilaisia menetelmiä, työkaluja sekä spesifikaatioita, jotka sanelevat sen, mitä vastaan ohjelmaa testataan Tämä on usein käytännössä testaajan näkökulma testaukseen Tarkastelemme testausta osana ohjelmistotuotantoprosessia, joka määrittelee sen, missä vaiheessa mitäkin testataan Yksinkertaisuuden vuoksi on joitakin todellisuuden rikkaita yksityiskohtia on häivytetty, jotta näkisimme metsän puilta Testaus liittyy läheisesti myös projektinhallintaan, mikä tarkoittaa sitä, että ihmis- ja resurssilähtöinen (aikataulut, raha yms.) ajattelukyky on tärkeää Jälkimmäistä ovat enemmän projektin johdon näkökulmia Mika Katara: Ohjelmistojen testaus, Mitä tällä kurssilla ei kateta? Tiettyjen sovellusalueiden erityispiirteet Sulautetut, turvallisuuskriittiset, SOA, yms. Testauksen hallinnointi laajoissa ja hajautetuissa projekteissa Organisointi, roolit ja tiimien toiminta Yksittäiset projektitoiminnan mallit ja käytännöt Eräät testityypit kuten käytettävyystestaus, lokalisointi, yms. Testityökalujen kirjo Mika Katara: Ohjelmistojen testaus,
4 Sisällys 1. Johdanto 2. Testitapaukset 3. Testaus osana ohjelmistoprosessia 3.1 Testauksen V-malli 3.2 Yksikkötestaus 3.3 Integrointitestaus 3.4 Järjestelmätestaus 3.5 Hyväksymistestaus 3.6 Tarvitaanko kaikkia testausvaiheita? 3.7 Milloin siirtyä vaiheesta toiseen? 3.8 Dokumentoinnista 3.9 Seuranta 4. Dynaamisen testauksen tekniikat 4.1 Tekniikat Hyödynnetäänkö ohjelman koodia vai ei? 4.2 Tekniikat Kuka testaa? 4.3 Tekniikat Mitä ohjelman osaa testataan? 4.4 Tekniikat Minkä tyyppisiä ongelmia etsitään? 4.5 Tekniikat Mitä pitää tehdä? 4.6 Tekniikat Mistä tiedetään onnistuiko testiajo vai ei? 5. Bugiraportoinnista 6. Ohjelmistojen mittaaminen 6.1 Kattavuusmitat Mika Katara: Ohjelmistojen testaus, Mutkikkuusmitat 6.3 Virheiden kylväminen 7. Ketterä testaus 8. Automaatio ja työkalut 8.1 Testiautomaatio kokonaisuutena 8.2 TTCN UML ja testaus 8.4 Mallipohjainen testaus 9. Olio-ohjelmien testaaminen 10. Tietoturvan testaaminen 11. Staattisen testauksen tekniikat 11.1 Tarkastus 11.2 Katselmus 11.3 Läpikäynti 11.4 Ohjelman staattinen analyysi 12. Testausprosessin parantaminen 12.1 ISO-sertifiointi 12.2 CMM 12.3 TPI 13. Kurssin loppukaneetti Kirjallisuutta Mika Katara: Ohjelmistojen testaus,
5 Testaus-aiheisia verkkosivuja Erityisesti ns. kontekstiohjattu-koulukunta on kunnostautunut tuottamalla paljon vapaasti käytettävissä olevaa materiaalia verkkoon Googlettaa voi vaikka nimillä Cem Kaner, James Bach ja Bret Pettichord Opetusmateriaalia löytyy myös osoitteesta Myös on vierailemisen arvoinen sivusto Suomenkielistä sivuja löytyy ainakin osoitteista Mika Katara: Ohjelmistojen testaus, Johdanto Aloitetaan kurssi määrittelemällä, mitä olemme opiskelemassa. Mikäli testaamme osoittaaksemme järjestelmän virheettömyyden, kannattaa suunnitella sellaisia testitapauksia, joiden voi kuvitella toimivan oikein. Näin tekemällä saadaan helposti tuhlattua resursseja saavuttamatta mitään. Mutta miten tavoitteet sitten pitäisi asettaa? Mika Katara: Ohjelmistojen testaus,
6 Eräitä näkökulmia siihen, mitä testaus on: Testaus on prosessi, jossa ohjelmaa suoritetaan tarkoituksena löytää siitä virheitä (Myers) Testaus on ohjelmiston laadun mittaamista (Hetzel) Oleellinen osa testausta on siihen liittyvän dokumentaation, työkalujen yms. (testware) käyttäminen ja ylläpito (Craig&Jaskiel) Testaus on tekninen tutkimus, joka tehdään laatuun liittyvän tiedon paljastamiseksi testauksen kohteena olevasta tuotteesta (Kaner) Testaus on ohjelmien rikkomista (Whittaker) Mika Katara: Ohjelmistojen testaus, Valitettavasti testaus ei voi osoittaa ohjelmiston virheettömyyttä Testaus ei myöskään sinällään paranna ohjelmiston laatua, se vain mittaa sitä Testaus ei ole ensisijaisesti sen varmistamista, että ohjelma toimii niin kuin sen pitäisi Toimivuuden varmistaminen ei ole hyvä lähtökohta testitapausten suunnittelulle, sillä ihminen näkee helposti vain sen mitä haluaa nähdä Parempi lähtökohta on: onnistunut testiajo on sellainen, joka aiheuttaa häiriön ohjelman toiminnassa Mika Katara: Ohjelmistojen testaus,
7 Tällaisen testiajon seurauksena voidaan testattavasta kohteesta löytää virhe, jonka poistaminen vasta parantaa laatua Testaajan oletus: ohjelmassa on aina virheitä, jotka vain odottavat löytymistään Testataan, jotta voidaan osoittaa, että Ohjelma tekee, mitä sen ei pitäisi Ohjelma ei tee, mitä sen pitäisi Ohjelma toimii tavalla, jota määrittely ei mainitse Ehkä sen pitäisi mainita? Ohjelmisto on hankala ymmärtää, vaikeakäyttöinen, hidas tai toimii käyttäjän mielestä väärin Mika Katara: Ohjelmistojen testaus, Testauksessa yritetään yleensä löytää häiriöitä ohjelman toiminnassa Häiriöiden syiden tutkiminen johtaa vikojen löytämiseen ja luokitteluun, sekä virheiden korjaamiseen Tätä kautta ohjelmiston laatu paranee (Perinteiseen) testausprosessiin voidaan katsoa kuuluvan ainakin seuraavat työvaiheet: Testauksen suunnittelu Testitapausten luominen Testitapausten ajaminen Testiajojen tulosten arvioiminen ja raportointi Mika Katara: Ohjelmistojen testaus,
8 Koska aina tulee kiire, tavoitteena on määritellä käytettävä prosessi siten, että sitä ei ruveta kiertämään asetettujen tavoitteiden saavuttamiseksi Usein testauksen työmäärät aliarvioidaan vielä pahemmin kuin muiden vaiheiden Ja kun tulee kiire, kumpi joustaa: koodaus vai testaus? Mika Katara: Ohjelmistojen testaus, Käytännönläheinen esimerkki siitä, miksi kaikkea ei voida testata: long add(int i, int j) { } Jos int-tyyppi vastaisi 16-bittistä kokonaislukua, ja funktio tuottaisi samoilla syötteillä aina saman tuloksen, on mahdollisia testitapauksia jopa 2 16 x 2 16 = kpl Jos ajatellaan yhden testitapauksen ajamiseen kuluvan viitisen sekuntia, kuluisi kyseisen funktion testaukseen noin 680 vuotta 680 testaajaa selviytyisi rinnakkaistetusta tehtävästä yhdessä vuodessa mikäli työskentelisivät kellon ympäri Mika Katara: Ohjelmistojen testaus,
9 Entä auttaisiko automaatio? Mikäli yhden testin ajoaika saataisiin pudotettua esim. yhteen sadastuhannesosaan, kestäisi koko funktion testaus enää vain pari päivää ilman rinnakkaisuuden hyödyntämistä Valitettavasti tosielämän testikohteet ovat monimutkaisempi kuin ko. funktio, joten automaatiollakaan ei pitkälle pötkitä Esim. jokaisen int-tyyppisen parametrin lisääminen kasvattaa funktion testitapausten määrän kertaiseksi Realistisen ohjelman testitapausten määrä kasvaa hyvin nopeasti liian suureksi Mikäli joku väittää testaavansa kaiken, kannattaa kyseenalaistaa tämä väite Mika Katara: Ohjelmistojen testaus, Jos esimerkiksi 1960-luvulla uuden lentokoneen vaatimuksista 10% koski ohjelmistoa, niin 2000-luvulla luku voi olla 80% Myös vaatimusten kokonaismäärä kasvaa koko ajan Lisäksi ohjelmiston mutkikkuus kasvaa vielä nopeammin kuin sen koko Vaikka historiatietoa testauksen vaatimista työmääristä olisikin käytettävissä, on vaikea arvioida sitä, paljonko ohjelmiston koon kasvaminen niihin vaikuttaa Mika Katara: Ohjelmistojen testaus,
10 Testauksen neljä koulukuntaa (Pettichordin ja Kanerin mukaan) Analyyttinen Tunnusmerkit: tekniset aspektit, täsmälliset menetelmät, mallintaminen Rutiini Tunnusmerkit: edistymisen mittaaminen, kustannukset ja standardit, automaatio, ulkoistaminen Laatu Tunnusmerkit: prosessit, standardit, kehittäjien valvonta ja projektien etenemisen hallinta Kontekstiohjattu Tunnusmerkit: ihmiset, sidosryhmille kaikkien tärkeimpien virheiden löytäminen, tutkiva testaus Mika Katara: Ohjelmistojen testaus, Analyyttinen kuva testauksesta Tehtävänä maksimoida kolmen ympyrän leikkauksen pinta-ala [Jorgensen 02]: Spesifioitu käyttäytyminen Ohjelman toteutettu käyttäytyminen Testaus on ohjelmistotiedettä Testattu käyttäytyminen Mika Katara: Ohjelmistojen testaus,
11 Rutiinikäsitys testaamisesta Ohjelmistokehitys on liukuhihnatyötä ja testaus on liukuhihnan se osa, joka varmistaa, että vaatimukset tulee täytettyä Testaus on hallittu prosessi Mika Katara: Ohjelmistojen testaus, Laatukoulun käsitys testaamisesta Testauksen tehtävä on pitää kehittäjät kurissa; testaus varjelee käyttäjiä huonolta softalta Testaus on laadun varmistamista Mika Katara: Ohjelmistojen testaus,
12 Kontekstiohjatun koulukunnan näkemys asiaan Testaajat ovat älykkäitä ihmisiä, jotka tuottavat tärkeää tietoa tärkeistä asioista Testaus on kehityksen yksi haara Mika Katara: Ohjelmistojen testaus, Miksi testataan? Cem Kaner (What is a Good Test Case? STAR East 2003) luettelee seuraavia syitä: Virheiden löytäminen Löydettyjen virheiden määrän maksimointi tärkeintä määrä, ei virheiden tyyppi tai sijainti Ohjelmiston ennenaikaisen toimituksen estäminen Autetaan johtajia tekemään päätös sen suhteen, onko ohjelmisto valmis toimitettavaksi vai ei Teknisen tuen kustannusten minimointi Arvioidaan, noudattaako toteutus spesifikaatioita Arvioidaan, noudattaako toteutus määräyksiä esim. viranomaisten taholta Mika Katara: Ohjelmistojen testaus,
13 Varmistetaan yhteensopivuus muiden järjestelmien kanssa Varmistetaan oikeellisuus mahdotonta testauksella, mutta esim. jäljellä olevien virheiden määrää voidaan kyllä arvioida Minimoidaan turvallisuuteen liittyvät riskit Yritetään löytää tapoja käyttää ohjelmaa virheistä huolimatta yleensä tavoitteena on näiden käyttötapojen dokumentointi Arvioidaan laatua laatu on luonteeltaan usein moniulotteinen Mika Katara: Ohjelmistojen testaus, Varmistetaan laatua mahdotonta testauksella, mutta testaus voi tuottaa tärkeää tietoa, jonka avulla voidaan kyllä tehdä parempaa laatua luottamus järjestelmää kohtaan toivottavasti kuitenkin kasvaa testauksen ansiosta Mika Katara: Ohjelmistojen testaus,
14 Testauksen kansanperinnettä Kaikissa ohjelmistokehityksen vaiheissa tehdään virheitä Mikäli virheitä halutaan välttää, täytyy välttää ihmisiä Mitä aikaisemmin virheet löydetään, sen parempi Mika Katara: Ohjelmistojen testaus, Pahimmassa tapauksessa viat ilmenevät vasta kun järjestelmä on jo toimitettu: Therac-25-röntgenhoitokone antoi liian suuria säteilyannoksia johtaen kuuden ihmisen kuolemaan ESA:n Ariane 5 raketin epäonnistunut laukaisu aiheutti noin seitsemän miljardin dollarin kustannukset Viallisten Pentium-suorittimien vaihtaminen maksoi Intelille yli 400 miljoonaa dollaria Kolmasosa USA:n puhelinverkosta on mykistynyt kahdesti (AT&T ja DCS) Ohjelmistovirheiden vuotuiset kustannukset USA:ssa arviolta n. 0,6% BKT:sta, eli n. $60 miljardia (The Economic Impacts of Inadequate Infrastructure for Software Testing, 2002) Tilanne tuskin sen parempi Euroopassa Mika Katara: Ohjelmistojen testaus,
15 Huolellisesti tehdyssä ohjelmassa on arviolta noin viisi virhettä jokaista tuhatta koodiriviä kohti Windows XP:ssä oli koodia ilmeisesti n. 45 miljoonaa riviä, jolloin siinä on arviolta ainakin virhettä Vistassa oli n. 60 miljoonaa riviä koodia Onneksi Windows osaa päivittää itsensä verkosta automaattisesti! Huom! Microsoftilla on 1:1 suhteessa kehittäjiä ja testaajia Käsi sydämellä: osaisiko joku tehdä saman homman paremmin kuin Microsoft? Mika Katara: Ohjelmistojen testaus, Asenneongelma vai oikeasti koiran virka? Onko koodaaminen kivempaa kuin testaaminen? riippuu keneltä kysyy Jos et osaa kehittää joudut testaamaan? jos et osaa testata joudut koodaamaan? Testaajat tuovat aina vain huonoja uutisia olisiko parempi, että asiakkaat toisivat ne? Ohjelmoijat eivät pidä testaajista koska nämä löytävät virheitä heidän ohjelmistaan entä jos virheet löytää toinen koodari? Mika Katara: Ohjelmistojen testaus,
16 Asiakkaiden reklamaatiot kääntävät katseet testaajiin, mutta kehut suunnataan yleensä kehittäjille? kuka ne virheet alun perin teki? Onko testaajien tehtävä päättää, koska tuote on valmis toimitettavaksi asiakkaalle? julkaisen, enpäs julkaise, julkaisen, enpäs julkaise Mika Katara: Ohjelmistojen testaus, Käytännössä testaajalta vaaditaan enemmän kuin koodaajalta Tarvitaan kokonaiskäsitystä ongelmakentästä ja testikohteen arkkitehtuurista Usein tarvitaan salapoliisin taitoja testien tulosten analysointiin Kuinka testata ohjelmaa, josta ei ole olemassa ainuttakaan dokumenttia tai käyttöohjetta? tämä ei ole niin harvinainen tilanne kuin saattaisi olettaa Testikoodi on usein organisaation kannalta yhtä arvokasta kuin varsinainen sovelluksen koodi (automaattiset) regressiotestit mahdollistavat ohjelmiston ylläpidon ja laajentamisen sekä myös ketterän reagoimisen vaatimusten muuttumiseen Mika Katara: Ohjelmistojen testaus,
17 Kumpi on organisaation kannalta pahempi tilanne: ei vielä valmista tuotetta vai valmis tuote, joka pilaa maineen? Fakta 1: testaaminen yhdessä virheiden etsimisen ja korjaamisen kanssa kuluttavat enemmän ohjelmistoprojektin resursseja kuin koodaus Mistä johtuu testauksen aliarvostus? Fakta 2: virheetön softa on kilpailuetu siinä missä käytettävyys tai suorituskyky Mika Katara: Ohjelmistojen testaus, Liian voimakas rajanveto testaajien ja kehittäjien välillä ei kuitenkaan hyödytä lopulta ketään Ohjelmistokehitys on tiimityötä sanan varsinaisessa merkityksessä Vaikka kaikkien testaajien ei tarvitsikaan osata ohjelmoida, on ohjelmointitaidoista yleensä todellista hyötyä On hyvä tietää millaisiin virheisiin kehittäjät sortuvat Testiautomaation kehittäminen on softankehitystä Toisaalta, vähemmän teknisesti orientoituneet testaajat voivat ymmärtää paremmin loppukäyttäjien tarpeita Mika Katara: Ohjelmistojen testaus,
18 Mitä testaukselta voi vaatia? Ei voi vaatia Kaikkien virheiden löytämistä Laadun varmistusta Julkistamisen ajankohdan päättämistä Voi vaatia Tiedon hankkimista hyödyntää testaajia muuhunkin kuin vain virheiden paljastamiseen Kokonaiskäsitystä kehitettävästä järjestelmästä Toimivaa kommunikaatiota bugien myyminen kehittäjille Mika Katara: Ohjelmistojen testaus, Keskeisiä termejä Virhe (error, mistake) on ohjelmassa oleva poikkeama spesifikaatiosta Vika (fault, defect) voi aiheutua, kun virheellinen kohta suoritetaan tai kun pitäisi suorittaa jotain, mitä ei olekaan toteutettu Häiriö (failure) on järjestelmän ulkoisessa toiminnassa näkyvä tapahtuma, joka johtuu viasta Vika ei välttämättä näy järjestelmän toiminnassa ts. kaikki viat eivät johda häiriöön Bugi (bug) voi tarkoittaa mitä tahansa edellisistä Huom! Näitä termejä käytetään hyvin epäjohdonmukaisesti Mika Katara: Ohjelmistojen testaus,
19 Dynaamisessa testauksessa ohjelmaa ajetaan sopivilla syötteillä Staattisessa testauksessa ei ohjelmaa suoriteta vaan yritetään löytää virheitä tutkimalla esim. sen dokumentaatiota tai lähdekoodia Dokumentaatio on softaa, joten sitä pitää testata Joidenkin mielestä tämä ei ole testausta sanan varsinaisessa merkityksessä Spesifikaatio kertoo, miten jonkin pitäisi tai ei pitäisi toimia Esim. vaatimusmäärittely on spesifikaatio toiminnalliselle määrittelylle, joka taas on spesifikaatio suunnittelulle, joka on spesifikaatio toteutukselle Mika Katara: Ohjelmistojen testaus, Testitapaus kuvaa syötteet, joilla testikohde pyritään saattamaan häiriötilaan Testijoukko, testitapausjakso (test suite) on joukko (loogisesti yhteenkuuluvia) testitapauksia Testiympäristö tarkoittaa sitä laitteisto- ja ohjelmistoympäristöä, minkä kanssa testikohde on tekemisissä, mukaan lukien rajapinnat, tyngät ja ajurit Testiympäristön määrittelyllä pyritään välttämään kyllä se ainakin eilen toimi mun PC:ssä tyyppiset ongelmat virheitä metsästettäessä Mika Katara: Ohjelmistojen testaus,
20 Testwareen kuuluvat kaikki dokumentit ja tuotteet, jotka luodaan testausta varten kuten esim. testitapaukset ja testisuunnitelmat [Craig&Jaskiel 02] Validointi pyrkii varmistamaan, että olemme tekemässä oikeaa tuotetta Verifiointi pyrkii varmistamaan, että olemme tekemässä tuotetta oikein Joidenkin formalistien mielestä vain ns. formaali verifiointi on oikeaa verifiointia, testauksella kun ei voida osoittaa virheettömyyttä Mika Katara: Ohjelmistojen testaus, Testausstrategia on sotasuunnitelma, joka määrittelee testauksen laajuuden ja syvyyden, mitä testikohteen riskejä pyritään kattamaan testausprojektin aikana ja mitä ei Rakkaalla lapsella on monta nimeä: yhdestä ja samasta testausvaiheesta voidaan puhua esim. yksikkö-, moduuli- tai komponenttitestauksena SUT, system under test IUT: implementation under test, DUT: device under test, jne. Termejä funktio ja metodi käytetään tällä kurssilla vaihtelevasti tarkoittamaan samaa asiaa Mikäli tarkoituksena on korostaa oliotestauksen erityispiirteitä, pyritään käyttämään termiä metodi Mika Katara: Ohjelmistojen testaus,
21 Positiivinen testaus yrittää varmistaa sen, että testattava järjestelmä tekee mitä sen pitäisi tehdä suorittamalla happy case -tyyppisiä, usein vaatimuksista johdettuja testitapauksia Negatiivinen testaus testaa niitä asioita, jotka voitaisiin lukea unhappy case -kategoriaan kuuluviksi; tilanteita, joista vaatimukset eivät yleensä sano mitään (tai vain hyvin ylimalkaisesti), virhetilanteita, yms., joilla yritetään rikkoa testikohde Mika Katara: Ohjelmistojen testaus, Testitapauksiin pohjautuvat testaus Dynaaminen testaus on testitapausten suunnittelua ja luomista sekä niiden ajamista ja tulosten analysointia. Koska testitapaukset sanelevat sen, mitä virheitä löydetään, kannattaa niiden laatuun panostaa. Mutta mistä hyvin määritelty testitapaus oikeastaan koostuu? Mika Katara: Ohjelmistojen testaus,
22 Ennen testitapausten miettimistä pitää keksiä syy niiden olemassaololle Syyksi ei riitä se, että pomo käski varmistaa, että järjestelmä toimii oikein Tunnistetaan ne tilanteet ja asiat, joista pitäisi hankkia laatuun liittyvää tietoa Näiden miettimisessä vaatimusdokumentista, käyttäjien tarinoista (user story) yms. on paljon hyötyä Täytyy kuitenkin muistaa myös negatiisen testauksen näkökulma Joskus testaajan täytyy tukeutua pelkästään omaan ammattitaitoonsa, jos ei ole käytettävissä mitään kättä pidempää Mika Katara: Ohjelmistojen testaus, Hyvien testitapausten keksiminen on yleensä hankalaa Huonot testitapaukset voivat antaa ohjelmiston laadusta liian ruusuisen kuvan Se, että ohjelma näyttää toimivan niin kuin sen pitäisi, saattaa johtua vain siitä, että testitapaukset on valittu huonosti Liiketoiminnan kannalta hyvät testitapaukset voivat olla jopa arvokkaampia kuin itse testikohteen lähdekoodi Tyypillisesti 20% testitapauksista testaa normaalia toimintaa (positiivinen testaus) ja 80% epänormaalia toimintaa kuten virhetilanteita yms. (negatiivinen testaus) Koska testien ajaminen voi kestää huomattavan kauan, pyritään niiden määrää minimoimaan Mika Katara: Ohjelmistojen testaus,
23 Minimointia voi tehdä suunnittelemalla testitapauksia, jotka kattavat mahdollisimman monta tutkittavaa tilannetta Yksi testitapaus voi siis kattaa useamman kuin yhden tilanteen, mutta tämä voi toisaalta hankaloittaa testitulosten analysointia Testitapaukseen suoritus jakaantuu yleensä neljään vaiheeseen: Alustus: testikohde valmistetaan testitapauksen suorittamiselle Allokoidaan resurssit, alustetaan tietokannat yms. Ajaminen: suoritetaan yksi testitapaus testikohteella Tuloksen evaluointi: verrataan järjestelmän ulostuloja testitapauksen odottamiin tuloksiin ja annetaan tuomio Puhdistus: vapautetaan alustuksessa varatut resurssit Mika Katara: Ohjelmistojen testaus, Tilanteesta riippuen testiajojen kestosta tulee tai ei tule projektin pullonkaula Testitapausten määrän minimointi voi olla ensiarvoisen tärkeää Nopeutusta voi yrittää saavuttaa myös automatisoimalla ainakin osan testiajoista vaikka automatisointiin jouduttaisiin satsaamaan paljon resursseja, kannattaa se yleensä tilanteissa, joissa samoja testitapauksia ajetaan useamman kerran kuten esim. regressiotestauksessa (esitellään myöhemmin) automatisointi voi myös vapauttaa aikaa mm. parempien testitapausten suunnitteluun Mika Katara: Ohjelmistojen testaus,
24 Testitapauksen sisältö: Yksilöivä identiteetti Tyyppi Tarkoitus, esim. vaatimus tai käyttötapaus, johon testitapaus liittyy Esiehdot Syötteet Odotetut tulokset Jälkiehdot Ajohistoria (jos halutaan sisällyttää): aikaleima testin tulos, joka kertoo, vastasivatko tulokset odotuksia versioinformaatio testaaja Mika Katara: Ohjelmistojen testaus, Esimerkki testitapauksesta: Identiteetti: TT0001 Tyyppi: Toiminnallisuustesti Tarkoitus: Testataan pankkiautomaatin saldokysely-toimintoa, vaatimus VT0203 Esiehdot: Kortti on syötetty automaattiin, tilillä on 100 rahaa Syötteet: Painetaan saldokyselynäppäintä Odotettu tulokset: Automaatti näyttää ruudulla summan 100 Jälkiehdot: Automaatti palaa takaisin päävalikkoon 4,5 5,5 s kuluttua Ajohistoria: aikaleima: klo testin tulos: Tulokset olivat odotetut versioinformaatio: Automaatin ohjelmistoversio 1.78 ja laitteistoversio 5.6 testaaja: Mika Katara Mika Katara: Ohjelmistojen testaus,
25 testitapauksen elinkaari (abstraktio): ei määritelty määritelty virhe testitapauksessa, joka korjataan ilmeni häiriö ei ajettu ei häiriötä ajossa Mika Katara: Ohjelmistojen testaus,
Ohjelmistojen testaus
Ohjelmistojen testaus Mika Katara, Matti Vuori ja Antti Jääskeläinen Tampereen teknillinen yliopisto, Tietotekniikan laitos 25.8.2014 Ohjelmistojen testaus, 2014 1(507) Mitä testaus on? Erilaisia näkökulmia
LisätiedotOhjelmistojen 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ätiedot58160 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ätiedotTIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori
TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 14.9.2015 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut
LisätiedotTestauksen 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ätiedotTestaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille
1(23) Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille Matti Vuori, Tampereen teknillinen yliopisto 30.10.2012 Sisällysluettelo 1/2 Esityksen tarkoitus 4 Laatu on tärkeää, ei
LisätiedotTestaaminen 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ätiedotTestaussuunnitelma. 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ätiedotT Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1
T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tästä dokumentista ilmenee T1-vaiheessa suoritettu testaus, sen tulokset ja poikkeamat testisuunnitelmasta. Päivämäärä 1.12.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi
LisätiedotTIE-21200 Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori
TIE-21200 Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4 Antti Jääskeläinen Matti Vuori Vaiheet 3 & 4: Järjestelmätestaus 28.10.2013 2 Päämäärä jedit-ohjelmointieditorin järjestelmätestaus
LisätiedotTIE-21200 Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori
TIE-21200 Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4 Antti Jääskeläinen Matti Vuori Vaiheet 3 & 4: Järjestelmätestaus 27.10.2014 2 Päämäärä jedit-ohjelmointieditorin järjestelmätestaus
LisätiedotHarjoitustyö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ätiedotOhjelmistotestaus -09
Ohjelmistotestaus Testaustyökalut- ja automaatio Testaustyökalut ja -automaatio Testaustyökaluilla tuetaan testaustyötä sen eri vaiheissa Oikea työkalu oikeaan tarkoitukseen Testausautomaatio perustuu
LisätiedotOnnistunut 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ätiedotOhjelmiston 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ätiedotTestaustyö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ätiedotAutomaattinen 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ätiedotTIE Ohjelmistojen testaus 2016 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori
TIE-21201 Ohjelmistojen testaus 2016 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 20.9.2016 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut
LisätiedotKäyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä
www.niksula.cs.hut.fi/~jjkankaa// Testauksen loppuraportti v. 1.0 Päivitetty 23.4.2001 klo 19:05 Mikko Viljainen 2 (14) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite 1.0
LisätiedotOhjelmiston 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ätiedotTestausprosessin vaatimukset. 2. Testausprosessi (Artikkelit) Vesiputousmallin ongelmia. V-mallin neljä osavaihetta. Testausprosessimalli V-malli
2. ausprosessi (Artikkelit) Nykyisin useimpien prosessimallien lähtökohta on, että testaus on oleellinen osa ohjelmistotuotantoprosessia. Itse asiassa huolellinen testaus vie helposti 50% tai enemmän käytettävistä
LisätiedotTestaus 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ätiedotTestausdokumentti. 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ätiedotOhjelmistojen virheistä
Ohjelmistojen virheistä Muutama sana ohjelmistojen virheistä mistä niitä syntyy? Matti Vuori, www.mattivuori.net 2013-09-02 1(8) Sisällysluettelo Ohjelmistojen virheitä: varautumattomuus ongelmiin 3 Ohjelmistojen
LisätiedotOnnistunut 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ätiedotLiite 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ätiedotTietojä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ätiedotTestauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori
Testauksen tuki nopealle tuotekehitykselle Antti Jääskeläinen Matti Vuori Mitä on nopeus? 11.11.2014 2 Jatkuva nopeus Läpäisyaste, throughput Saadaan valmiiksi tasaiseen, nopeaan tahtiin uusia tuotteita
LisätiedotDynaaminen 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ätiedotHyväksymistestauksen tarkistuslista järjestelmän hankkijalle
Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle Tarkistuslista on suunniteltu käytettäväksi hyväksymistestauksen suunnittelussa, valmiuksien arvioinnissa ja katselmoinnissa.tämä tarkistuslista
LisätiedotOhjelmistotuotanto s
Laadunvarmistustekniikoita Ohjelmistotuotanto 1 testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä tarkastukset (inspections, reviews) asiantuntijoiden suorittamia dokumentin (voi olla
LisätiedotKONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen
KONEAUTOMAATION LAATU JA TURVALLISUUS 4.6.2015 Marko Varpunen TLJ ja automaatio Rautatie, metro, teollisuus-laitokset, kaivoskoneet, vesi, n. 90 henkeä Mikkeli Turvallisuusjohtaminen konsultointi riskienarviointi
Lisätiedotkä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ätiedotTik-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ätiedotKuopio Testausraportti Asiakkaat-osakokonaisuus
Kuopio Testausraportti Asiakkaat-osakokonaisuus Kuopio, testausraportti, 25.3.2002 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 11.2.2002 Matti Peltomäki Ensimmäinen versio 0.9 11.2.2002 Matti Peltomäki
LisätiedotLaadunvarmistustekniikat
Laadunvarmistustekniikat Ohjelmistojen laadunvarmistustekniikoita: testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä tarkastukset (inspections, reviews) asiantuntijoiden suorittamia
LisätiedotMihin kaikkeen voit törmätä testauspäällikön saappaissa?
Mihin kaikkeen voit törmätä testauspäällikön saappaissa? Arto Stenberg Copyright Kuntien Tiera Oy Kuntien Tiera Copyright Kuntien Tiera Oy Tieran toiminta perustuu osaamisverkoston rakentamiseen, mikä
LisätiedotOhjelmien automaattisen verifioinnin reunamailla
Ohjelmien automaattisen verifioinnin reunamailla Antti Siirtola Tietotekniikan laitos, Perustieteiden korkeakoulu, Aalto-yliopisto, antti.siirtola@aalto.fi Suomalainen Tiedeakatemia, Nuorten akatemiaklubi,
LisätiedotCT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016
CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016 VIIME KERRALLA MENETELMIÄ Musta laatikko Valkea laatikko Harmaa laatikko Regressio Automaatio Rasitus (kuormitus)
LisätiedotCT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015
CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015 HALLINNOLLISET ASIAT CT60A4150 Ohjelmistotestauksen perusteet OPPIMISTAVOITTEET Kurssin suoritettuaan opiskelija tuntee
LisätiedotTOIMINNALLINEN MÄÄRITTELY MS
TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa
LisätiedotTapahtuipa 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ätiedotConvergence 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ätiedotTestaussuunnitelma 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ätiedotKontrollipolkujen 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ätiedotDynaaminen 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ätiedotOhjelmistotekniikan 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ätiedotT 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ätiedotDynaaminen 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ätiedotOhjelmistotekniikka - 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ätiedotTestiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt
Testiautomaatio tietovarastossa Automaattisen regressiotestauksen periaate ja hyödyt Sisältö 2 Testaus kiinteänä osana DW-toteutusta Regressiotestauksen merkitys Robot Framework Automatisoitu DW:n regressiotestaus:
LisätiedotOhjelmistotestauksen perusteita II
Ohjelmistotestauksen perusteita II Luento 2 Antti-Pekka Tuovinen 14 March 2013 1 Luennon oppimistavoitteet Testausprosessin perustoiminnot Testauksen psykologiaa Testauksen seitsemän periaatetta 14 March
LisätiedotUCOT-Sovellusprojekti. Testausraportti
UCOT-Sovellusprojekti Testausraportti Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 0.02 Julkinen 11. lokakuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä
LisätiedotTestauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg
Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg Symbio lyhyesti Innovatiivinen tuotekehitys- ja testauskumppani Juuret Suomessa, perustettu 1997 Laadukkaat ohjelmistotoimitukset
LisätiedotUudelleenkäytön jako kahteen
Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta
LisätiedotMihin kaikkeen voit törmätä testauspäällikön saappaissa?
Mihin kaikkeen voit törmätä testauspäällikön saappaissa? Arto Stenberg Copyright Kuntien Tiera Oy Kuntien Tiera Copyright Kuntien Tiera Oy Tiera on vuonna 2010 perustettu yli 200:n kuntatoimijan omistama
LisätiedotSEPA 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ätiedotTestaussuunnitelma. 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ätiedotOhjelmistotuotanto 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ätiedot12. Testausprosessin parantaminen
12. Testausprosessin parantaminen Seuraavaksi käsitellään testausprosessin mittaamista ja kehittämistä. Ideana on parantaa tuotteiden laatua parantamalla prosessia, joka ne tuottaa. Mika Katara: Ohjelmistojen
LisätiedotTestaussuunnitelma Labra
Testaussuunnitelma Labra Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Anssi Kapanen,
LisätiedotOhjelmistotekniikka - 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ätiedotTestaussuunnitelma. 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ätiedotSisäänrakennettu tietosuoja ja ohjelmistokehitys
Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology
LisätiedotTutkittua 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ätiedotCT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015
CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015 NOPEA KERTAUS TESTAUS HYVIN LYHYESTI Miten normaali testaajan arki ohjelmistoprojektissa sitten rullaa? Käytännössä
LisätiedotAgenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi
1. Luento: Sulautetut Järjestelmät Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu
LisätiedotTARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI
TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI Vesa Tenhunen Tarkastusmenettelyt Keino etsiä puutteita ohjelmakoodeista, dokumenteista ym. ohjelmistoprosessissa syntyvästä materiaalista Voidaan käyttää kaikissa
LisätiedotTestaus elinkaaressa
Testaus elinkaaressa Järjestelmätestaus Järjestelmätestaus Tarkoittaa koko järjestemän laajuuteen kohdistuvaa testausta, koko järjestelmän toiminnan näkökulmasta Järjestelmän ei tarvitse olla valmis vaan
LisätiedotAdvanced Test Automation for Complex Software-Intensive Systems
Advanced Test Automation for Complex Software-Intensive Systems Aiheena monimutkaisten ohjelmistovaltaisten järjestelmien testauksen automatisointi Mistä on kyse? ITEA2-puiteohjelman projekti: 2011-2014
LisätiedotTestausraportti. Oppimistavoitteiden hallintajärjestelmä harri
Testausraportti Oppimistavoitteiden hallintajärjestelmä harri Helsinki 13.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
LisätiedotTestausoppeja toimialavaihdoksesta
Testausoppeja toimialavaihdoksesta Maaret Pyhäjärvi Email: Gsm: 040-8233777 Erkki Pöyhönen & Maaret Pyhäjärvi Nimeä Attribution (Finland) http://creativecommons.org/licenses/by/1.0/fi/
LisätiedotMikä sitten on kallista? Milloin raha on viisaasti käytetty? Miten kallis määritellään toimintopistelaskennan näkökulmasta?
Mikä sitten on kallista? Milloin raha on viisaasti käytetty? Miten kallis määritellään toimintopistelaskennan näkökulmasta? ICT hyödyttämään liiketoimintaa siis oikeesti ja vähän äkkiä Mikko Paalasmaa,
LisätiedotCT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015
CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015 EDELLISELLÄ KERRALLA TAPAHTUNUTTA Täydellinen testaus on mahdotonta. Testataan, koska virheiden löytyminen ajoissa
LisätiedotSimulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen
Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä Simo Tauriainen www.ponsse.com 25.8.2011 Ponsse-konserni Ponsse Oyj on tavaralajimenetelmän metsäkoneiden myyntiin, tuotantoon, huoltoon ja
LisätiedotSisäänrakennettu tietosuoja ja ohjelmistokehitys
Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 8. kesäkuuta, 2018 Agenda Ohjelmistokehitys Ohjelmistokehitys vs. konsultointi Vaatimukset Tietosuoja Tietosuoja ohjelmistokehityksessä kiteytettynä
LisätiedotVerifioinnin 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ätiedotT Testiraportti - integraatiotestaus
T-76.115 Testiraportti - integraatiotestaus 16. huhtikuuta 2002 Confuse 1 Tila Versio: 1.1 Tila: Päivitetty Jakelu: Julkinen Luotu: 19.03.2002 Jani Myyry Muutettu viimeksi: 16.04.2002 Jani Myyry Versiohistoria
LisätiedotTestaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza
Testaussuunnitelma Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma Versio 1.0 Ehdotus Laatija Raine Kauppinen VERSIOHISTORIA Versionotyyppi Versio- Päiväys Tekijä
LisätiedotKehittää 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ätiedotJohdantoluento. Ohjelmien ylläpito
Johdantoluento Ylläpito-termin termin määrittely Ylläpito ohjelmistotuotannon vaiheena Evoluutio-termin määrittely Muita kurssin aiheeseen liittyviä termejä TTY Ohjelmistotekniikka 1 Ohjelmien ylläpito
LisätiedotTestataanko huomenna?
Testataanko huomenna? Qentinel Group 2014 Esko Hannula 03.06.2014 Ohjelmistokriisistä testauskriisiin 1985: Ohjelmistot ovat huonolaatuisia ja aina myöhässä Jonkun pitäisi testata, ehkäpä noiden huonoimpien
LisätiedotOnnistunut 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ätiedotOhjelmistotuotantoprojekti
Ohjelmistotuotantoprojekti Ryhmä Muppett TESTAUSDOKUMENTTI Helsinki 5.8.2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti, kesä 2008 Projekti: Muutos- ja korjauspyyntöjen
Lisätiedot@Tampereen Testauspäivät (2012-06)
@Tampereen Testauspäivät (2012-06) Testausodotukset räätälöityjen järjestelmien projekteissa Maaret Pyhäjärvi, testausasiantuntija Twitter: maaretp Testausvastaava @ Granlund Oy Yrittäjä
LisätiedotTarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen
Tarjolla tänää: Ohjelmiston toteutuksesta JOT2007 CRC-kortit Testilähtöinen kehittäminen Uudelleenrakentaminen Voisiko ohjelmointi olla sittenkin suunnittelua? Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit
LisätiedotTestaussuunnitelma. 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ätiedotTestaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana
Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana Muutamia ajatuksia siitä, miten testaus pärjää lama-ajan säästötalkoissa. Laman patologioita ja mahdollisuuksia. Säästämisen strategioita.
LisätiedotS11-09 Control System for an. Autonomous Household Robot Platform
S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on
LisätiedotTurvakriittisen projektin menetelmät ja työkalut
Turvakriittisen projektin menetelmät ja työkalut 1. Vaatimushallinta Vaatimushallintaan kohdistuu turvaluokitelluissa projekteissa paljon odotuksia. Etenkin jäljitettävyys vaatimuksiin, testaukseen ja
LisätiedotMenetelmä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ätiedotKatselmoinnin määritelmä. Katselmoinnit osa 1. ja vielä ajatuksia katselmoinneista. Katselmointi. Katselmointi, katselmus (review) IEEE Std
Katselmoinnin määritelmä Katselmoinnit osa 1 Sami Kollanus 1.12.2006, katselmus (review) IEEE Std 1028-1988 Ohjelmiston osien tai projektin tilan arviointi (evaluation), jonka tarkoitus on tunnistaa tuotosten
LisätiedotAutomaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure
Automaattinen regressiotestaus ilman testitapauksia Pekka Aho, VTT Matias Suarez, F-Secure 2 Mitä on regressiotestaus ja miksi sitä tehdään? Kun ohjelmistoon tehdään muutoksia kehityksen tai ylläpidon
LisätiedotDynaaminen 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ätiedotTestauspäällikön tarinoita Arto Stenberg
Testauspäällikön tarinoita Arto Stenberg 2.12.2013 A software foundry that helps companies create breakthrough product innovations. We help our clients to: 1. Create new products 2. Scale out their product
LisätiedotLuku 8 Rakennusvaihe. Detailed Design. Programming. Moduulisuunnittelu. Ohjelmointi
Luku 8 Rakennusvaihe Moduulisuunnittelu Detailed Design Programming Ohjelmointi Teknisen Complete suunnittelun Technical viimeistely Design Suunnittelukatselmuksen Design Perform suorittaminen Review Yhteisen
LisätiedotOhjelmiston 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ätiedotKatselmoinnit. review) Katselmoinnit (review( Mitä ovat katselmoinnit? Katselmoinnin määritelmä (IEEE 1988)
Katselmoinnit Johdatus ohjelmistotekniikkaan Sami Kollanus 19.10.2004 Katselmoinnin määritelmä (IEEE 1988) An evaluation of software element(s) or projects status to ascertain discrepancies from planned
LisätiedotOhjelmistotestaus -09
Ohjelmistotestaus Johdanto ohjelmistotestaukseen "Beware of bugs in the above code; I have only proved it correct, not tried it." 1 Sisältö Mitä testaus on? Mitä arvoa testaus tuottaa? Testauksen prosessi.
Lisätiedot