CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016



Samankaltaiset tiedostot
Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure

Tapahtuipa Testaajalle...

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Ohjelmistotestaus -09

Kuopio Testausraportti Asiakkaat-osakokonaisuus

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

T Testiraportti - järjestelmätestaus

Kuopio Testausraportti Kalenterimoduulin integraatio

58160 Ohjelmoinnin harjoitustyö

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

Työkalut ohjelmistokehityksen tukena

Ohjelmistojen mallintaminen. Luento 11, 7.12.

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana

T Testiraportti - integraatiotestaus

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Convergence of messaging

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Onnistunut Vaatimuspohjainen Testaus

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

OHJELMISTOTEKNIIKKA LABORATORIOHARJOITUKSEN OHJEET

Vakuutusyhtiöiden testausinfo

Lohtu-projekti. Testaussuunnitelma

Automaattinen yksikkötestaus

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

Harjoitustyön testaus. Juha Taina

UCOT-Sovellusprojekti. Testausraportti

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

TESTIRAPORTTI - JÄRJESTELMÄ, PORTAL Virtuaaliyhteisöjen muodostaminen Versio 1.0

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

Ohjelmiston toteutussuunnitelma

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausprosessin vaatimukset. 2. Testausprosessi (Artikkelit) Vesiputousmallin ongelmia. V-mallin neljä osavaihetta. Testausprosessimalli V-malli

T Testiraportti - integraatiotestaus

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

S11-09 Control System for an. Autonomous Household Robot Platform

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Testaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza

Ohjelmistotestauksen perusteita II

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio

Sopisiko testiautomaatio yritykseesi juuri nyt? Testiautomaation soveltuvuuden arviointiopas

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Ohjelmistotuotteen hallinnasta

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmointi 1 / syksy /20: IDE

TESTIRAPORTTI - XMLREADER-LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2)

@Tampereen Testauspäivät ( )

Laadunvarmistusdokumentti

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

Testaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Harjoituskoe Vastaukset. ISTQB Ketterä testaaja 2015 Perustason sertifikaattisisällön laajennus

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

Testauksen suunnittelu. Faculty of Science 30 April

TIE Ohjelmistojen suunnittelu

Project-TOP QUALITY GATE

11. PALAVERIN PÖYTÄKIRJA. Jyväskylän Yliopisto Tietotekniikan laitos CONCEPT-projekti Paikka ja aika

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

Dynaaminen analyysi I

Testitapausten suunnittelu

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Lohtu-projekti. Testiraportti. Versiohistoria: syklin toteutuksen testit. 1. ajo Virve

Testataanko huomenna?

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Testausraportti v.1.3

Dynaaminen analyysi III

statbeatmobile PROJECT REVIEW iteration 1

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe LU. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T3

Kuopio. Testitapausluettelo: Projektit-osakokonaisuus

Ohjelmiston testaussuunnitelma

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

Onnistunut SAP-projekti laadunvarmistuksen keinoin

C++ Ohjelmoijan käsikirja. Johdanto

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

Menetelmäraportti - Konfiguraationhallinta

T SEPA - STAATTISET MENETELMÄT Tuomas Tolvanen, 55382U Timo Töyry, 58578B

T SEPA päiväkirja

Advanced Test Automation for Complex Software-Intensive Systems

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

Transkriptio:

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) Prototyypit Käytettävyystestaus A/B Raja-arvoanalyysit Tutkiva testaaminen Ad Hoc, Savutestit Mallipohjainen testaus Suorituskyky

TESTAUKSEN TYÖKALUT CT60A4150 Ohjelmistotestauksen perusteet

T YÖKALUISTA YLEISESTI Kuten 1. luennolla sanottiin, tällä kurssilla keskitytään puhumaan testauksen organisoinnista ja yleisestä tekemisestä. Työkalut, menetelmät, tavat vaihtelee yritysten välillä. Ei järkevää esim. alkaa käymään jotain Bugzillatyökalun asentamista ja lomakkeiden täyttämistä luennoilla läpi. Lisätietoa työkaluista prujussa.

RE: TESTAUKSEN TYÖKALUISTA (OTANTA 31 YRIT YSTÄ) Testitapausten hallinta 15 Yksikkötestaus 12 Testausautomaatio 9 Suorituskykytestaus 8 Virhetietokanta Testauksen suunnittelu 7 7 Laadunvalvonta 6 Muut 10

ERILAISIA T YÖKALUT YYPPEJÄ Millä työkaluilla testausta sitten tehdään? Suurin osa ohjelmistojen testauksesta tehdään täysin samoilla työvälineillä kuin itse ohjelmistokehitys. Poislukien jotkin toimialakohtaiset työvälineet, kuten protokollayhteensopivuuksien tarkastamiseen tarkoitetut testerit. Testaajien tärkeimmät työkalut ovat kehitysympäristö, sekä kommunikointivälineet joilla ilmoittaa havaituista ongelmista eteenpäin. Erilaisia nimenomaan testausta varten kehiteltyjä työkaluja: Testausautomaatiotyökalut Vikatietokannat Tyngät (stub), tynkägeneraattorit Analysaattorit, debuggerit Dokumenttipohjat, dokumentointityökalut Testausympäristöjen tukityökalut

ERILAISIA T YÖKALUT YYPPEJÄ Katsotaan mitä esimerkiksi TMMi-malli sanoo erilaisista testaustyökaluista. Sivu 71 Tai vaikka SWEBOK, jonka mallissa työkaluistakin mainitaan. Sivut 13-14

SWEBOKIN T YÖKALUT Testiympäristöt, testipedit Testigeneraattorit Kaappaus/Toistotyökalut Testioraakkelit/vertailutyökalut Kattavuudenarviointi ja kattavuuden määrittely Jäljittimet Regressiotestaustyökalut Luotettavuuden arvioinnin työvälineet

T YÖKALUT YYPPEJÄ Unohtamatta testauksen hallinnan välineitä: Projektinhallintatyökalut/ Laadunvalvontatyökalut Katselmoinnit, arvioinnit, tarkastukset Tiketti-järjestelmät Viestintävälineet

KEHITYSYMPÄRISTÖ TESTAUKSEN TYÖKALUNA Kehitysympäristöllä tarkoitetaan siis samaa työkalua, kuin millä itse ohjelman kehitys on tehty. Esimerkiksi vaikkapa Eclipse, Visual Studio tai Netbeans. Miksei tietysti IDLEkin. Esimerkiksi yksikkötestaus ja staattinen testaus (katselmoinnit, arvioinnit) tehdään monesti työvälineillä jotka ovat täysin samoja kuin ne, joilla kehittäjät tekevät itse komponentteja. Esimerkiksi xunit, joka on tavallinen yksikkötestauksen ohjelmistokehys. xunit-kehys noudattaa aina samaa rakenteellista kaavaa, ja se on saataville useimmille kaupallisessa käytössä oleville ohjelmointikielille. Tavalliset editoritoiminnot; syntaksin täydennys, väritykset, muotoilut jne. oikeasti vähentävät virheitä.

TESTAUSAUTOMAATIO Testausautomaation työkalut ovat monissa organisaatioissa täysin itse rakennettuja testaustyökaluja. Joissain kehitysympäristöissä tulee mukana jonkin tarkkuustason automaatiota yksikkötestien ajamiseen. Testausautomaatio jossa käytetään nauhoitettuja toimintoja on tähän normaalisti olemassa erilliset nauhoitus- ja toistotyökalut. Jos rahaa, HP, IBM Rational ja Microsoft tarjoavat omia ratkaisujaan; Myös avoimen lähdekoodin FitNesse tai Robot Framework

TIETOKANTAT YÖKALUT Vikatietokanta on paikka, jonne jokainen kehittäjä, koekäyttäjä tai testaaja voi raportoida löytämänsä virheet. Tästä tietokannasta tiedot voidaan kerätä talteen testauksen etenemisen seuraamista varten tai suunniteltaessa seuraavaan ohjelmistoversioon tehtäviä korjauksia. Mittarit, ohjaamiseen tarvittavat tukitiedot Ticket-pohjainen tehtävänjako myös tavallinen ominaisuus. Esimerkkityökaluja: Mantis Bug Tracker Esimerkkidemo https://www.mantisbt.org/bugs/my_view_page.php Bugzilla Launchpad

ANALYSAATTORIT Yleisnimi erilaisille työvälineille, joilla voidaan seurata mitä ohjelma ja sen käyttöympäristö tarkalleen tekee. Tai valvoa että ohjelmointikäytäntöjä on noudatettu, tai että järjestelmään ei yritetä lisätä kommentoimatonta koodia. Tai analysoida lähdekoodin kompleksisuusastetta, testitapausten kattavuutta, rinnakkaisten prosessien deadlockeja, käsin hallitun muistinvarauksen toimivuutta

TESTIPEDIT, TESTAUSYMPÄRISTÖT, EMULAATTORIT Ohjelmia ei testata käyttöympäristössä. Ympäristö, joka simuloi käyttöympäristöä tai emuloi rautaa johon ohjelma tarkoitus laittaa. Tavallisesti testipedin ideana mahdollistaa tiedon kerääminen samalla kun testataan. Valvotut ja hallittavissa olevat olosuhteet. Ideaaliympäristö tai kontrolloidulla tavalla mukaan tuotua epävarmuutta. Muistikorttivirheet, rautatason ongelmat, nettiyhteyden katkeamiset jne.

DOKUMENTTIPOHJAT, TIETOKANTAPALVELUT Milloin testi on suoritettu, mille ohjelman versionumerolle, ja kenen toimesta. Miten testin tehnyt henkilö on mahdollista tavoittaa? Mitä laitteita testauksessa käytettiin, mitä kehitysympäristön ja mahdollisten lisäkirjastojen versionumeroita, miten laitteet oli kytketty toisiinsa? Miten testattava ohjelma oli alustettu tai valmisteltu testitapausta varten? Mitä syötteitä testattiin, mitä työvaiheita testausta tehdessä tehtiin? Mitä testatuilla syötteillä tapahtui, onnistuiko kaikki testatut tapaukset? Mitkä testitapaukset epäonnistuivat, mitä niissä tapahtui, sisältäen kaikki virheilmoitukset ja kuvankaappaukset jotka testauksen aikana ilmenivät? Jätettiinkö jotain kokeilematta, ja jos jätettiin niin mitä ja miksi? Esimerkki siitä mitä dokumentit voivat sisältää.

KATSELMOINNIT Ohjelma-arvioinnit tarkastukset ja koodikatselmoinnit ovat testauksen hallinnassa tapahtumia, joiden yhteydessä tarkastetaan että Ohjelman komponentit on rakennettu oikein ohjelmointikielen näkökulmasta järkeviä ratkaisuja käyttäen siten, että koodin yleinen rakenne vastaa yleisesti hyväksyttyjä ja sovittuja ohjelmointikäytäntöjä (coding convention). Yksittäisten komponenttien tai koodikokonaisuuksien katselmoinnin lisäksi voidaan katselmoida myös Vaatimuksia Käyttöliittymän toimintaa Ohjelman toimintaa yleisemmällä tasolla. Yleisesti kaikilla arvioinneilla, tarkastuksilla ja katselmoinneilla pyritään madaltamaan ohjelman kehittämiseen liittyviä riskejä. Varmistetaan, että kaikki kehitystyötä tekevät tahot toimivat sovitulla tavalla, seuraavat ohjeita ja ymmärtävät mitä ovat tekemässä.

TESTAUKSEN JOHTAMISEN T YÖKALUT Mitkä testitapaukset on toteutettu? Miten toteutetut testitapaukset ovat onnistuneet? Miten paljon virheitä rakennettavan järjestelmän uusimmassa versiossa on? Minkä tyyppisiä tai miten vakavia uusimmassa versiossa olevat virheet ovat? Kuka hoitaa mitäkin testitapausta, miten paljon työtehtäviä projektin eri testaajilla on?

MUUT VÄLINEET Monesti yksinkertaisin projektin onnistumisen mahdollistava asia kuitenkin unohtuu, ihmisten välinen kommunikaatio. Viestintävälineet, kuten sähköposti, puhelin tai pikaviestipalvelu kuten Skype, WhatsApp tai vaikkapa kestoklassikko IRC. Testaus on työtehtävä, jossa testaustyön ammattilaiset läpikäyvät muiden toteuttamia ohjelmia, ja tämän vuoksi olisikin tärkeää, että testaajat pystyvät tarvittaessa keskustelemaan ohjelmassa olevista toiminnoista tai ongelmista itse ohjelman tehneen henkilön kanssa. Tapauksissa joissa ohjelmaan sisällytetään kehitystiimin ulkopuolella tehtyjä komponentteja, nousevat viestintävälineet erityisen tärkeään arvoon. Esimerkiksi kehitystiimin kaikkien jäsenten ei ole pakko olla jatkuvasti samoissa toimitiloissa, jos ryhmän sisällä voidaan vaihtaa ajatuksia, pieniä yksityiskohtia koskevaa tietoa tai mielipiteitä helposti. Kommunikointi on testauksen tärkein työkalu.

MITÄ TÄSTÄ LUENNOSTA PITÄÄ MUISTAA? Testaajan työkalut eivät aina poikkea kehittäjän työkaluista. Testauksen omat työkalut tavallisesti automatisointia, vikatiedonhallintaa, datan keräämistä tai erikoistyökaluja. Kommunikointi on testauksen tärkein työkalu.

PERIODIN VAIHTUESSA

RE: SISÄLTÖ Testauksen työvaiheet Testaustasot Tavallisimmat testausmenetelmät Testauksen työkalut Tavallisimmat testauksen dokumentit Testaus organisaation toimintana Testaustoiminnan kehittäminen Testauksen prosessit Testaus käytännössä

KURSSI ON NY T PUOLIVÄLISSÄ! Luennot jatkuvat normaalisti Harjoituksissa siirrytään ohjelmointityöstä suunnittelutyöhön. 1. Harjoitustyön deadline lähestyy.