1 / 11

Testauksen tutkimustulokset

Testauksen tutkimustulokset. Marko Jäntti mjantti@cs.uku.fi. Sisältö. 1. Johdanto 2. Testausjulkaisut 3. Testauksen tutkimusalueita 4. Testauskokeilu. Johdanto.

Download Presentation

Testauksen tutkimustulokset

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Testauksen tutkimustulokset Marko Jäntti mjantti@cs.uku.fi

  2. Sisältö 1. Johdanto 2. Testausjulkaisut 3. Testauksen tutkimusalueita 4. Testauskokeilu

  3. Johdanto • PlugIT-projektin yhtenä tavoitteena oli kehittää yhteistyöyritysten toimintaperiaatteita ja yhteisiä pelisääntöjä ja ratkaisuja ohjelmistotuotantoon, laadunvarmistukseen ja testaukseen. • Projektin puitteissa valmistui useita pro gradu -tutkielmia, tieteellisiä artikkeleita ja raportteja. • Testaukseen liittyvät julkaisut löytyvät Teho-osaprojektin www-sivuilta: http://www.cs.uku.fi/research/Teho/julkaisut.html • Testauspäivän (Software Testing Day 25.11.2003) seminaarin esitysmateriaali on saatavissa www-osoitteesta: http://www.cs.uku.fi/research/Teho/testingday/ • Testausprosessin hallinta • Testauksen automatisointi • Komponenttipohjainen testaus • Virheidenhallinta

  4. Testausjulkaisut • Testaukseen liittyvät pro gradu -tutkielmat ja erikoistyöt: • Ohjelmiston testauksen automatisointi (Pohjolainen 2003) • Testitapausten suunnittelu UML-mallinnuksen avulla (Jäntti 2003) • Olio-ohjelmien testaus (Partanen 2003) • Ohjelmistojen testaus ja virheenjäljitys (Virkanen 2002) • Software Testing Tools, erikoistyö (Pohjolainen 2002)

  5. Testausjulkaisut • Testausta käsittelevät artikkelit ja selvitykset • Avointen integrointiratkaisujen hyödyntäminen, toteuttaminen ja testaus (Mykkänen ym. 2004) • Selvitys regressiotestauksessa käytettävien testitapausten valinnasta (Holopainen 2004) • UML-based Testing - A Case Study (Jäntti, Toroi 2004) • Testing component-based systems - the integrator viewpoint (Toroi ym. 2004) • Avointen ohjelmistorajapintojen sertifiointimenettely (Toroi ym. 2004) • Komponenttisysteemien testaus (Toroi ym. 2004) • Testing business component systems (Toroi ym. 2003) • How to test software -raportti (Toroi ym. 2002)

  6. Ohjelmistojen testaus ja virheenjäljitys • Ohjelmistojen testaus sisältää • Staattisen testauksen, jossa ohjelmakoodia ei suoriteta (tarkastukset, koodin läpikäynti, pariohjelmointi) • Dynaamisen testauksen, jossa ohjelmaa arvioidaan sen suorituksen aikana • Virheenjäljityksessä käytettävät menetelmät: • Mustalaatikko-menetelmät (Ekvivalenssiositus, raja-arvotestaus) • Lasilaatikko-menetelmät (Silmukkatestaus, lausekattavuus) • Virheenjäljityksen työkalut: • Staattiset virheenjäljitystyökalut: esim. kääntäjä, joka ilmoittaa ohjelmakoodin kääntämisvaiheessa havaituista virheistä • Dynaamiset virheenjäljitystyökalut: virheitä etsitään ohjelmaa tai sen osaa suorittamalla, esim. Borland C++ Builderin debugger

  7. Komponenttipohjaisten järjestelmien testaus • Komponenttipohjaiset järjestelmät on toteutettu usein oliokielillä • Olio-ohjelmien testauksen ongelmakohdat: • Kapselointi aiheuttaa testaukseen havainnoimisongelman: Olion tilan muutosten tarkkailua varten joudutaan usein lisäämään testimetodeita • Periytymisen testaaminen: luokka perii yläluokalta piirteitä tai voi itse muokata perittyjä piirteitä ja lisätä uusia piirteitä. Kaikki perityt piirteet on testattava!! • Olioiden välinen viestinvälitys • Testausta varten joudutaan rakentamaan ajureita (drivers) ja tynkämoduleita (stubs) • Komponenttipohjaisessa sovelluskehityksessä rajapintojen testauksen merkitys korostuu

  8. Komponenttipohjaisten järjestelmien testaus • Testausmallin perustana voidaan käyttää määrittelyvaiheen dokumentteja ja UML-kaavioita: • Aktiviteettikaaviot • Käyttötapauskaaviot • Tilakaaviot • Komponentin/olion tilojen testauksessa voidaan käyttää UML-tilakaavioita ja tilasiirtymätauluja. Tilamuutos voi tapahtua 4 eri tavalla: • Olion tila voi muuttua uuteen hyväksyttyyn tilaan • Olion tila voi jäädä entiselleen • Olion tila voi muuttua määrittämättömään tilaan, mikä on virhe • Olion tila voi muuttua määritettyyn, mutta ei-hyväksyttyyn tilaan, mikä on myös virhe.

  9. Kuva: Tili-luokan tilakaavio

  10. Testauskokeilu (syksy 2002) • Testauskokeilun tavoitteena oli kokeilla UML-testausmallia käytännössä. • Testauksen kohteena oli terveydenhuollon tietojärjestelmä X. • Testauskokeilun toteuttamisvaiheet • Tutustuminen sovelluksen käyttöohjeeseen • UML-mallien luominen (käyttötapaus-, aktiviteetti- ja tilakaaviot) • Testitapausten (mustalaatikko) luominen • Testitapausten parametrien luominen ekvivalenssiluokkien avulla • Testitapausten suorittaminen • Testauksen tuloksena ohjelmistosta löydettiin pari vakavaa ajonaikaista virhettä ja useita pienempiä korjauskohteita - > Ohjelmistotoimittaja korjasi virheet seuraavassa versiossa. • Yhteenveto: Ohjelmistotoimittajan tulee testata ohjelmistot huolellisesti, jotta asiakkaan tai loppukäyttäjän testaustyö olisi helpompaa.

  11. Kiitos!! Lisätietoja: mjantti@cs.uku.fi

More Related