johdanto_testaukseen..
Transcription
johdanto_testaukseen..
Ohjelmistotestaus Johdanto ohjelmistotestaukseen Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY "Beware of bugs in the above code; I have only proved it correct, not tried it." Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 1 Sisältö • • • • • • Mitä testaus on ? Mitä arvoa testaus tuottaa ? Testauksen prosessi. Testauksen kokonaiskuva. Testauksen käsitteitä. Näkökulmia testaukseen. Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Mitä testaus on (poimittu alan kirjallisuudesta) • “Testing is the process of demonstrating that defects are not present in the application that was developed.” • “Testing is the activity or process which shows or demonstrates that a program or system performs all intended functions correctly.” • “Testing is the activity of establishing the necessary “confidence” that a program or system does what it is supposed to do, based on the set of requirements that the user has specified.” Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 2 Mitä testaus oikeasti on ? • Meyers: Testaus on prosessi jossa ohjelmaa suoritetaan tarkoituksena löytää siitä virheitä. • Kaner: Testaus on tutkimus jolla saadaan laatuun liittyvää tietoa testauksen kohteesta. • Hetzel: Testaus on ohjelman laadun mittaamista. Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Mitä testaus on ? • Testaus on systemaattista virheiden etsimistä - ei satunnaista kokeilua – Tämä ei tarkoita että testaus on aina rutiininomainen prosessi • Testauksen tarkoitus on osoittaa että ohjelmassa on virhe – Testaus ei voi koskaan osoittaa virheettömyyttä – "Program testing can be used to show the presence of bugs, but never to show their absence!" - Edsger Dijkstra - • Mitä enemmän ja mitä vakavampia virheitä löytyy, sitä onnistuneempi testaus on ! Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 3 Testauksen systemaattisuudesta ? (Hutcheson, Software Testing Fundamentals) • Kaksi esimerkkiä testauksen systemaattisuuden vaikutuksesta päätöksentekoon testauksen perusteella. Esimerkki 1 • Business manager: “So you tested it, is it ready to go to production?” • Tester: “Yes, I tested it. It’s ready to go.” • Business manager: Well, what did you test?” • Tester: “I tested it.” Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Testauksen systemaattisuudesta ? (Hutcheson, Software Testing Fundamentals) Esimerkki 2 • “We have tested 67% of the test inventory. The test we ran represent the most important test as determined by our risk analysis. The bug find rates and the severity composition of the found bugs were within the expected range.” • “There are currently no open severity 1 issues and the last found was three weeks ago. Fixes for the last severity 2 issues have been regression tested. Overall the system seems to be stable.” • “The load testing has been concluded. The system failed at 90% load. System engineers say that they understand the problem and will fix it in three months. The projected peak load should only be at 75% by then which is safe.” • “Our recommendation is to ship the system as planned.” Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 4 Testauksen Perusajatus 1) 4) 2) 5) 3) Ohjelmistotestaus -09 6) © Antero Järvi, Tuomas Mäkilä It-laitos / TY Selitys edelliselle kuvalle 1) Vaatimukset ovat lähtökohta sekä järjestelmän toteutukselle että testaukselle 2) Vaatimuksista johdetaan spesifikaatioita joiden perusteella laaditaan testitapaukset 3) System Under Test (SUT) eli testattavan ohjelmiston osan rajaus tärkeä osa testauksen suunnittelua 4) Testitapauksien onnistunut valinta on ratkaisevaa, tavoite kattaa järjestelmän käyttäytyminen riski- ja kustannusperusteisesti 5) Ajurit ovat joskus yksinkertaisia, joskus suurin osa koko testauksen työmäärästä 6) Bugien havaitseminen perustuu aina vertailuun halutun ja todellisen käyttäytymisen välillä. Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 5 Sisältö • • • • • • Mitä testaus on ? Mitä arvoa testaus tuottaa ? Testauksen prosessi. Testauksen kokonaiskuva. Testauksen käsitteitä. Näkökulmia testaukseen. Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Testauksen tuottaman arvon ydin Testaus tuottaa tuotteen laatuun liittyvää informaatiota projektin/yrityksen sidosryhmille: tuotteen todellinen tila. • Jotta tuotettu informaatio olisi “hintansa väärttiä” pitää – ymmärtää kuka sitä käyttää ja mihin tarkoitukseen – kyetä tuottamaan se oikein, oikea-aikaisesti ja kustannustehokkaasti Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 6 Testauksella on monta ‘isäntää’ • Kehittäjä – Helppo kehitteävyys, nopea palaute työn laadusta. • Projektipäälikkö – Riippuvainen testauksen tuottamasta tiedosta tuotteen todellisesta valmiusasteesta ja tuotteen eri osien stabiliudesta • Tuotepäälikkö – Tuotealustojen ja komponenttien laatu, tuotestrategia • Tekninen tuki ja markkinointi – Valmistautuminen tuotteen heikkouksiin, niiden huomioiminen markkinoinnissa ja brandinhallinnassa • Liikkeenjohto – Yrityksen brandi, tuotejulkaisut, hinnoitteluvoima, tuotestrategia • Asiakas – Laadukas helppokäyttöinen sovellus Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Tesauksen tuottamaa arvoa • Löydetään tuotteesta ongelmia • Kyetään arvioimaan tuotteen virheiden tai luotettavuuden määrää • Kyetään estämään vihreiden syntyminen • Kyetään pitämään tuote kehityksen aikana laadukkaana ja helposti kehitettävänä • Kyetään poistamaan tuotteesta liiketoimintatason riskejä • Kyetään tuottamaan informaatiota toiminnna kehittämiseksi. Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 7 Mitä ongelmia testauksella etsitään? • Ohjelmisto ei tee jotain mitä tuotespesifikaation mukaan pitäisi • Ohjelmisto tekee jotain mitä tuotespesifikaation mukaan ei pitäisi • Ohjelmisto tekee jotain mitä tuotespesifikaatio ei mainitse • Ohjelmisto ei tee jotain mitä tuotespesifikaatio ei mainitse vaikka sen pitäisi • Ohjelmistoa on vaikea käyttää tai ymmärtää, se on hidas, tai testaajan mielestä siinä on vain jotain pielessä. Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Sisältö • • • • • • Mitä testaus on ? Mitä arvoa testaus tuottaa ? Testauksen prosessi. Testauksen kokonaiskuva. Testauksen käsitteitä. Näkökulmia testaukseen. Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 8 Oy Ohjelmistokehitys Ab Liikkeenjohto Tuotelinjat Projektit VaatimusAnalyysi määrittely Markkinointi SuunKäyttöönIntegrointi Testaus Ylläpito nittelu otto After Sales Myynti Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Perinteinen virhekustannusmalli Vesiputousmainen kehitys Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 9 Oy Ohjelmistokehitys Ab Testauksen kytkeytyminen Liikkeenjohto Tuotelinjat Projektit Kehitysprosessi Testausprosessi Laadun varmistus Ohjelmistotestaus -09 Toimitus Myynti © Antero Järvi, Tuomas Mäkilä Markkinointi After Sales It-laitos / TY Nykyaikainen ohjelmistokehitys? Rational Unified Process, Lähde: ibm.com Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 10 Virhekustannus Virheen kustannuksen aikariippuvuus Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Ketterä ohjelmistokehitys • Vastine perinteisen ohjelmistokehityksen kankeuteen – Agile Manifesto: http://www.agilemanifesto.org/ • Keskeistä testauksen kannatlta – Kaikkea ei suunnitella ennakkoon, varaudutaan muutoksiin – Kehitettävä tuote pidetään (on pidettävä!) koko ajan laadukkaana, muuten kehitys pysähtyy – Testauksen kaikki tasot mukana koko ajan • Extreme Programming, SCRUM • Vähän työtuotteita, vähän mahdollisuuksia virheisiin? Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 11 Ketterä kustannusmalli Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Ei yhtä oikeaa tapaa • Testausprosessi, tapa organisoida testaus ja sen tavoitteet ovat erilaiset eri yrityksissä ja hankkeissa. • Erityisesti suunnitelmaohjatun ja ketterän kehittämisen testausprosessit ovat lähtökohdiltaan jo erilaiset. • Kehitys ja testausprosessi ovat vahvassa vuorovaikutuksessa keskenään. Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 12 Sisältö • • • • • • Mitä testaus on ? Mitä arvoa testaus tuottaa ? Testauksen prosessi. Testauksen kokonaiskuva. Testauksen käsitteitä. Näkökulmia testaukseen. Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Testauksen kokonaiskuva • Ohjelmistotestaus käsittää suuren kirjon erilaisia tekniikoita, menetelmiä, työkaluja, ja toimintatapoja. • Testaus tyypillisesti nivoutuu lähes kaikkeen muuhun toimintaan ohjelmistokehityksessä. • Testauksen perimmäinen tavoite vaihtelee suuresti ja on hankkeesta, tuottesta ja yrityksestä riippuvainen. • Yleispätevää reseptiä hyvään ohjelmistotestaukseen ei ole olemassa. • Testaukseen pitää suhtautua tilanneriippuvasti – Menetelmät jotka toimivat hyvin yhdessä tilanteessa ovat tehottomia toisessa – “Mitä” (tekniikat, työkalut, strategiat...) riippuen “kuka, missä, milloin, miksi, entä jos ...” Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 13 Testauksen koulukuntia (by Bret Pettichord) • Testauksen vaikeaselkoista kenttää selittää osin se että testausta on kehitetty ja sovellettu monista eri näkökulmasta • B. Pettichord on löytänyt neljä eri koulukuntaa – – – – Analyyttinen Tuotantolaitos Laatuajattelu Kontekstiohjattu • Testauksen ‘opit’ eri koulukunnista ovat usein ristiriitaisia, mutta osin myös toisiaan komplementoivia • Koulukuntiin jako auttaa ymmärtämään eri menetelmiä ja etenkin mihin tavoitteeseen niillä on alunperin pyritty • Menetelmien sovellettavuuden rajat Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Analyyttinen koulukunta • Testaus nähdään tieteellisenä/matemaattisena haasteena • Ongelmat teknisiä, esimerkiksi – Miten syöte-tulos avaruutta partitiodaan ekvivalenssiluokkiin testausmielessä? – Miten testauksen kattavuutta arvioidaan? • Avainkysymys: Mitä tekniikoita käytetään? • Seurauksia – Vaaditaan tarkat ja yksityiskohtaiset spesifikaatiot – Testauksessa verifioidaan että ohjelmisto täyttää mitä spesifikaatioissa määritellään. Mikään muu ei ole testausta. • Akateeminen näkemys, turvallisuuskriittiset sovellukset Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 14 Tuotantolaitos -koulukunta • Testaus nähdään yhtenä vaiheena ohjelmistojen tuotantokoneistossa • Testauksen tehtävä on mitata tuotteen valmistumista • Tunnuspiirteitä: testauksen V-malli, vaatimusten jäljitettävys • Tärkeät kysymykset – Miten tuotanto ja testaus sen osana järjestetään ja miten sitä hallitaan? – Testauksen kustannustehokkuus. – Miten työn valmistumista ja tuotteen laatua kyetään mittaamaan? • Seuraukset – Testaus erillinen toiminto kehityksestä, best practice ajattelu – Projektisuunnittelu korostunutta, muutokset jäykkiä • Teollisuudessa suurissa hankkeissa Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Laatuajattelun koulukunta • Ajattelun lähtökohta: ohjelmiston laatu syntyy kurinalaisella prosessilla – Testaus testaa prosessin toimivuutta tuotteen laadun kautta – Testaajat toimivat ‘laatupoliiseina’ ja valvovat että kehittäjät toimivat prosessin mukaan – Tarvittaessa laatua parannetaan prosessia kehittämällä • Avainkysymys: onko prosessi hyvä ja käytetäänkö sitä kurinalaisesti? • Seuraukset – Testauksen fokus prosesseissa, ei tuotteen laadussa. – Testauksen ja muun kehittämisen yhteispeli vaikeaa • Suuret yritykset, laatustandardien pakottamaa Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 15 Kontekstiohjautunut koulukunta • Ohjelmistoja tekevät ihmiset ja tämä luo kontekstin testaukselle • Testaus tuottaa tietoa projektin käyttöön • Testauksella löydetään bugeja, ja bugi on mitä tahansa mikä häiritsee jotain osapuolta (stakeholder) • Testaus on monipuolista osaamista vaativa ‘älyllinen’ toiminto • Avainkysymys: Mikä testaus tuottaa juuri nyt eniten lisarvoa projektissa ? • Taidot tärkeämpiä kuin ‘best practicet’ • Markkinavetoiset ohjelmistot. • Ketterä testaus - asiakaslähtöinen variantti tästä, vai oma koulukunta? Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Mitä työvaiheita testaukseen kuuluu? 1/2 • Testaussuunnitelman laatiminen – Testausstrategian, -lähestymistapojen ja –ympäristön suunnittelu ja dokumentointi – Suunnitelma toimii pohjana testauksen organisoinnille ja johtamiselle • Testitapausten laadinta – Testitapaukset laaditaan testaussuunnitelman ja ohjelmiston määrittelyiden pohjalta – Pyrkimyksenä testien riittävä kattavuus ja testauksen keskittyminen oikeisiin asioihin • Testausympäristöjen luonti – Tarvittavien laitteiden ja ohjelmistojen asentaminen – Saattaa viedä paljonkin resursseja, testilabrat Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 16 Mitä työvaiheita testaukseen kuuluu? 2/2 • Testauksen suorittaminen – Eri testaustekniikoiden soveltaminen – Sisältää luovan elementin huolimatta ennakkomäärittelystä – Testausautomaatio • Tulosten tarkastelu ja raportointi – Tulokset tulee saada oikea-aikaisesti, oikeille kehittäjille – Bugien seuranta vähentää turhaa työtä – Raportointi- ja seurantatyökalut Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Testaajan missiot • Yksi tapa katsoa ohjelmistotestauksen kokonaisuutta on testaajan ammattiprofiilin sisältö • Testaajalla voi hankkeessa olla mm. seuraavia missioita: – – – – – Löytää tärkeimmät bugit nopeasti Yleinen tuotteen laatuarviointi Tuotteen sertifiointi jonkun laatustandardin suhteen Varmistaa että testausprosessi täyttää laatustandardin vaatimukset Auttaa kehittäjiä ohjelmiston suunnittelussa mm. testattavuuden suhteen – Auttaa vaatimusmärittelyssä testattavuuden ja paremman tuotelaadun suhteen – Kehittää tuotetta ylläpidon kustannusten näkökulmasta – ... • Lisäksi testauksen tukitehtäviä kuten testausympäristöjen rakentamista ja ylläpitoa Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 17 Sisältö • • • • • • Mitä testaus on ? Mitä arvoa testaus tuottaa ? Testauksen prosessi. Testauksen kokonaiskuva. Testauksen käsitteitä. Näkökulmia testaukseen. Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Laadun käsite • Laatu on subjektiivinen käsite, joka tulee määritellä tapauskohtaisesti – Laadukas ohjelmisto voi tarkoittaa käyttäjälle toimintavarmuutta, helppokäyttöisyyttä, monipuolista toiminnallisuutta, ... – Kehittäjälle laadukas ohjelmisto saattaa merkitä jotain aivan muuta • Laadun mittaaminen tulee kuitenkin olla mahdollisimman objektiivista • Ns. laatujärjestelmät kuvaavat prosessin, jolla pyritään vakioimaan laatu määritellylle tasolle Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 18 Ohjelmistojen laatu • Ohjelmistojen laadulla voi tarkoittaa – – – – Sopivuutta käyttötarkoitukseen Spesifikaatioiden mukaista toimintaa Erinomaisuuden astetta Oikea-aikaista toimitusta • Laatumallit auttavat määrittelemään mittareita laadun toteamiseen • Kiinteät laatumallit – McCallin ja Boehmin laatumallit – ISO 9126 –standardi • Itsemääritelty laatumalli auttaa ottamaan omat kehitystarpeet tarpeet huomioon Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY McCallin laatumalli Use Factor Criteria Usability Product Operation Efficiency Product Revision Maintainability Testability Product Transition Reusability Self-descriptiveness ... Flexibility ... Reliability Consistency Metrics Correctness ... Integrity Portability Interoperability Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 19 Quality Assurance l. laadunvarmistus: testausta vai prosessia ? • QA on testausta ? – Testaus nähdään kehittämisestä erillisenä toimintona, ulkoisena laatukontrollina – Suurin osa QA pestillä olevista työntekijöistä käytännössä testaavat • QA on prosessia ? – CMMI, IEEE näkemys QA:sta – Laatua aikaansaadaan prosessilla joka pakottaa kurinalaiseen kehittämiseen ja testaamiseen – Johtaa usein vesiputousmaiseen korkean tason elinkaarimalliin Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Kolmas vaihtoehto: QA osa kehittämistä • QA koko kehitystiimin vastuulla – Laatua ei ole delegoitu yhdelle ryhmälle tai henkilölle – Kaikki vastuussa jatkuvasta laadun tekemisestä ja laatuasioiden esiin nostamisesta • Testaus integroitu kaikilla tasoilla kehittämistyöhön • Laatutason määrittää lopulta asiakas, ei prosessistandardit • Ketterässä kehittämisessä (agile) yleinen tapa suhtautua QA:han Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 20 Bugi, mikä se sitten on ? • Bugien terminologia on vakiintumatonta; tällä kurssilla käytetään seuraavaa (suositeltavaa) tulkintaa • Bugi (bug) syntyy kun ihminen tekee virheen jossain kehityksen toiminnossa ja virhe (error) päätyy johonkin välituotteeseen • Niin kauan kuin virhe pysyy tuotteessa, se voi aiheuttaa uusia bugeja • Virhe voi aiheuttaa vian (fault) toiminnassa joka pysyy huomaamattomana kunnes se aiheuttaa häiriön (failure), joko testauksessa tai käytössä Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Sisältö • • • • • • Mitä testaus on ? Mitä arvoa testaus tuottaa ? Testauksen prosessi. Testauksen kokonaiskuva. Testauksen käsitteitä. Näkökulmia testaukseen. Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 21 Työnjako • Toteuttaja vs. testaaja – Mitä toteuttajat testaavat itse, mitä ulkopuoliset testaajat? – Miten työnjako käytännössä tehdään, miten työt nivotaan yhteen? – Kehitysprosessi vs. testausprosessi • Testaaja vs. asiakas – Mitä kumpikin testaa? – Miten testaaja suhtautuu ominaisuuksiin joita tietää asiakkaan testaavan? – Miten määritellään sopimuksessa riittävä laatu / valmiusaste? Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Verifiointi ja validointi • Verifioinnilla varmistetaan että jokin välituote, yleensä ohjelma, on spesifikaationsa mukainen – “Are we doing the job right?” – Oleellinen kehittämisen tukena • Validointi varmistaa että tuote vastaa käyttäjän vaatimuksia – “Are we doing the right job?” – Oleellinen vaatimusmäärittelyn tukena • Testauksella tehdään kumpaakin, ero termien välillä on merkittävä Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 22 Testaustyyppejä staattinen vs. dynaaminen • Staattinen testaus – Analysoidaan mitä tahansa välituotetta tarkoituksena löytää siitä virheitä – Erilaisia katselmointi ym. tekniikoita – Aikainen virheiden löytyminen mahdollista • Dynaaminen testaus – Suoritetaan ohjelmaa tarkoituksena löytää virheitä – Löytää virheitä vasta toteutuksesta, siis myöhäisessä vaiheessa • Täydentävät toisiaan, löytävät eri virheitä • Staattinen testaus yleensä liian pienellä painolla käytössä Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Testaustyyppejä white-box vs. black-box • Black-box testaus – Testausta tehdään puhtaasti ohjelman halutun käyttäytymisen perusteella – Testitapaukset valitaan spesifikaatioiden perusteella, itse testattavasta järjestelmästä ei tiedetä mitään • White-box testaus – Testauksen suunnittelussa käytetään hyväksi testattavan järjestelmän rakennetta – Mitä testataan, mitä ei testata, miten arvioidaan testauksen riittävyyttä • Molemmat tarpeellisia, löytävät erilaisia virheitä Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 23 Testaustyyppejä Toiminnallinen vs. ei-toiminnallinen • Toiminnallinen testaus – Testataan yksittäisiä toimintoja tai suurempia piirteitä – Monentasoista: yksikkötestauksesta hyväksyntätestaukseen – Usein selkeää todeta toiminnallisuuden virheellisyys • Ei-toiminnallinen testaus – Testataan ohjelmiston laadullisia ominaisuuksia, esim. käytettävyys, luotettavuus, suorituskyky – Järjestelmätestausta pääosin – Vaikea testata ja vaikea selkeästi todeta testin tulos – Usein erittäin tärkeää hankkeessa Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Vaikuttavuus ja tehokkuus • Vaikuttavuus – Tehdään oikeita asioita: testataan soveltuvilla tekniikoilla, kohdennetaan testaus oikeisiin tuoteen osiin, tuotetaan tarvittavaa informaatiota – Riskiperustainen lähtökohta • Tehokkuus – Testauksen kustannustehokuus – Hyvät työkalut, oikea automatisointi, järkevä työn organisointi – Hyvä suunnittelu ja toteutus lähtökohtana Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 24 Mistä tiedät onko testaus vaikuttavaa? Korkea Testauksen vaikuttavuus Löytyy paljon virheitä Matala Löytyy virheitä Löytyy vähän virheitä Tuotteen laatu Korkea Ei löydy virheitä Matala Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY Suunnittelu ja tekeminen • Suunnittelu – – – – – Testauksen tavoitteet liiketoiminnassa Testausstrategia Projektin testaussuunnitelma Yksityiskohtaiset testaussuunnitelmat Testitapaukset • Tekeminen – – – – – Testiympäristöt ja -työkalut Testiaineistot Testien suoritus Tulosten raportointi Automatisointi Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 25 Testaustyyppejä Uudet ominaisuudet vs. uudelleentestaus • Uudet ominaisuudet – – – – Paino vaikuttavuudessa Nopea laatupalaute Virheiden nopea poisto järjestelmästä Luovaa mielenkiintoista työtä • Uudelleentestaus – – – – – Paino kustannustehokkuudessa Automatisointi Muutoskitkan minimointi Nopean kehitysrytmin mahdollistaminen Toteutus rutiinia Ohjelmistotestaus -09 © Antero Järvi, Tuomas Mäkilä It-laitos / TY 26