Lyhyt johdatus ketterään testaukseen



Samankaltaiset tiedostot
PROJEKTI- PÄÄLLIKÖSTÄ PRODUCT OWNERIKSI MEERI CEDERSTRÖM

Ketteryys kohtaa todellisuuden - kokemuksia ja ajatuksia laadunvarmistuksen näkökulmasta

Ville Isomöttönen. Agile. Jyväskylän Yliopisto Sivu 1 Tietotekniikan laitos

Ohjelmistoprosessit ja ohjelmistojen laatu kevät 2009

Tapahtuipa Testaajalle...

Tutkittua tietoa. Tutkittua tietoa 1

Agile. Jyväskylän Yliopisto Sivu 1 Tietotekniikan laitos

7. Iteratiivinen ohjelmistokehitys

Ketteryys pähkinänkuoressa. Kokopäivän Scrum-kurssin sisältö tislattuna ja tiivistettynä kolmeen varttiin

Onnistunut ohjelmistoprojekti

Scrumin käyttö ketterässä sovelluskehityksessä

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

10 Kohti ketterää ohjelmistokehitystä

Ketterä projektikulttuuri on avain menestykseen - valmennuksella kohti ketterää kulttuuria

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Johdatus ohjelmistotuotantoon

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

Ohjelmistotekniikka - Luento 2

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Testausta vai määrittelyä? Hyväksymistestaus ja jatkuva integraatio ketterässä ohjelmistokehityksessä

Siirtyminen ketterien menetelmien maailmaan! Maarit Laanti 24 October 2013!

ja -kehitysmenetelmistä Jyri Partanen, QA Manager Sulake Corporation

Ohjelmistotekniikka - Luento 3 Jouni Lappalainen

ONKO ORGANISAATIOSI KYPSÄ DEVOPSIIN?

Ohjelmistojen suunnittelu

Ohjelmistotekniikka - Luento 3

Tietohallinnon liiketoimintalähtöinen toiminnanohjaus IT-ERP

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Onnistunut ohjelmistoprojekti

OpenUP ohjelmistokehitysprosessi

Onnistunut SAP-projekti laadunvarmistuksen keinoin

- Unix v. 1986, Linux 1998, relaatiokannat 1987, C 1984 (FI ja SE tavutus 1986, telex->unix->uucp 1987 lähes 50 baud)

Data quality points. ICAR, Berlin,

Testauksen suunnittelu ja dokumentointi ketterässä testauksessa Tutkimustuloksia

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Ohjelmistoprojekteista. Datanomiopiskelijat 2.vuosi

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Johdatus ohjelmistotuotantoon

Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Windows Phone. Module Descriptions. Opiframe Oy puh Espoo

ITK130 Ohjelmistoprosessi

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

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

Ketterät menetelmät ja julkinen hankinta

Testataanko huomenna?

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

TESTAUSPROSESSIN ORGANISOINNIN KONSEPTIMALLI. Luonnos mukautuvalle referenssimallille

Kokonaisarkkitehtuurin omaksuminen: Mahdollisia ongelmakohtia ja tapoja päästä niiden yli

Ketterä vaatimustenhallinta

1. Liikkuvat määreet

Yrittäjäkasvatuksen polku - sivusto. Yksityiskohtainen suunnittelu Huhtikuu 2018

OHJELMISTOPROJEKTINHALLINNAN KEHITTÄMINEN SCRUM-MENETELMÄLLÄ

Kuka käyttää?

Projektityö

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Projektityö

Scrum is Not Enough. Scrum ei riitä. Ari Tanninen & Marko Taipale. Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.

Esikaupallisesti ratkaisu ongelmaan. Timo Valli 58. ebusiness Forum

Ketteryys kokeilemalla. Leo Malila Kehittämispäällikkö, Kela

T Ohjelmistotuotannon seminaari. Agile Processes. XP:n hyväksymistestit

Käyttäjäkeskeinen vaatimusmäärittelytyö ketterän käyttöliittymäsuunnittelun haasteena

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

Aikaansaava organisaatio ketteryys ja Lean salkunjohtamisen perustana, eri työmuodot yhteen sovitettuina

KOMPETENSSIT. Koulutus Opiskelija Tuuttori. Business Information Technologies. NQF, Taso 6 - edellyttävä osaaminen

Ohjelmistoposesseista

Innovation

Harjoitukset - muistutus

Projektin vaiheet

Testi- ja käytösvetoiset kehitysmenetelmät sovelluskehitysprojekteissa

Koekysymyksiä. Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistojen suorituskyky

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

ProAgria. Opportunities For Success

Testausoppeja toimialavaihdoksesta

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

Advanced Test Automation for Complex Software-Intensive Systems

Rotarypiiri 1420 Piiriapurahoista myönnettävät stipendit

Refecor Oy. Jyrki Portin. Sensoriverkot Massamarkkinoille Suunnittelun ja valmistuksen haasteita

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Kun scrum ei riitä - skaalaa ketterä tuotekehitys SAFe lla Nestori Syynimaa Sovelto Oyj

Avoimen lähdekoodin kehitysmallit

Specifica(on by Example Vaa(mukset ja testaus ke9erissä projekteissa. Marko Taipale

KOODAAKO PROJEKTIPÄÄLLIKKÖ?

TIEA4 Projektityö, 5-10 op.,

Digitaalinen haavoittuvuus MATINE Tampere

Ohjelmistotuotanto Kevät Matti Luukkainen. assistentteina: Verna Koskinen ja Santeri Horttanainen

Fingrid - Alkuperätakuujärjestelmä. Timo Honko, Vice President, liiketoimintajärjestelmät timo.honko@solita.fi

Ketterä projektinhallinta

TDD Käytännössä Todellinen työkalu vai lehmipoikien laukkaa? Harri Kulmala Solita Oy

Testauspäällikön tarinoita Arto Stenberg

Sisällysluettelo Table of contents

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Tietojärjestelmän kehittäminen syksy 2003

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Fujitsu SPICE Lite. Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat. Copyright 2010 FUJITSU

Johdatus ohjelmistotuotantoon

KETTERÄ OHJELMISTOKEHITYS

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

Transkriptio:

TTY:n Testauspäivät, Tampere 15.8.2006 Lyhyt johdatus ketterään testaukseen eli Ketterän ohjelmistokehityksen laatukäytäntöjä Juha Itkonen SoberIT Teknillinen korkeakoulu Juha.Itkonen@tkk.fi

Ketterä ohjelmistokehitys Ketteriä menetelmiä on paljon ASD, XP, Scrum, Crystal, FDD, DSDM, pragmatic programming, Kaikissa tarve vastata jatkuvaan muutokseen Arvostavat enemmän yksilöt ja kommunikointi vs. prosessit ja työkalut toimiva ohjelmisto vs. kattava dokumentaatio asiakasyhteistyö vs. sopimusneuvottelu muutokseen vastaaminen vs. suunnitelman noudattaminen + 12 yksityiskohtaisempaa periaatetta Eroavat yksityiskohtaisissa projektitason toimintatavoissa

Agile Software Development Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan http://www.agilemanifesto.org/

Joitain ketteriä periaatteita Satisfy the customer through early and continuous delivery of valuable software. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Deliver working software frequently, from a couple of weeks to a couple of months. Welcome changing requirements, even late in development. Business people and developers must work together daily throughout the project. Simplicity--the art of maximizing the amount of work not done--is essential. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. http://www.agilemanifesto.org/

Ketteryyttä ohjelmistokehitykseen - entä testaukseen? Ketteryys ohjelmistokehityksessä Toimivalla ohjelmiston asettaminen tärkeimmäksi Muutokseen vastaaminen ei muutoksen vastustaminen Nopea kehitys- ja julkaisusykli Iteratiivinen ja inkrementaalinen prosessi Yhdessä tekeminen ja tehokas kommunikointi Myös asiakkaan kanssa Testauksen näkökulmasta Ketteryys asettaa monia haasteita Ketterässä kehityksessä myös laadunvarmistus on ketterää Ketteryydestä voi ottaa paljon oppia Testaus ketterässä ohjelmistokehityksessä vs. Ketterä ohjelmistotestaus

Miten ketterät laatukäytännöt toimivat?

Laadunvarmistus ketterässä kehityksessä Suunnitelmavetoinen laadunvarmistus ei toimi V-mallia ja vesiputousta ei löydy Dokumentaation ja speksien rooli on toissijainen Tekemisen rytmi on liian tiheä Roolit ja vastuut on jaettu eri tavalla Laadunvarmistus on erottamaton osa ketterää kehitystä Ei erillinen toiminto Kehittäjillä päävastuu laadunvarmistuksesta Testaaja tiimin jäsenenä Kaikki testaavat Ketterän laadunvarmistuksen kivijalkoja säännöllinen ja tiheä julkaisurytmi kommunikointi ja yhdessä tekeminen kurinalaiset matalan tason (laatu)käytännöt testivetoinen ohjelmistokehitys

Rytmi Jatkuva yksikkötason integrointi- ja testaussykli Lyhyet inkrementaaliset julkaisusyklit Ominaisuuksien saaminen valmiiksi ja testattua lyhyellä syklillä pienissä palasissa Laadun rakentaminen ja laatutason seuraaminen tiheällä rytmillä Viat ja ongelmat löytyvät aikaisessa vaiheessa Todellinen laatutaso ja eteneminen paremmin näkyvää Testausvaihe paremmin ennustettava Testaus ja käyttöönottovaiheen riskit pienempiä Mahdollistaa ketterän reagoimisen muutoksiin

Kommunikointi Kommunikointi ketterässä kehityksessä ei toimi perinteiseen tapaan Ei niin, että muut kommunikoivat testaajille vaatimusten ja suunnitteludokumenttien muodossa ja testaajat vastaavat testisuunnitelmien ja bugiraporttien muodossa. So we can let free of the illusion that documents will save us. We can view them as they are: interesting texts, partly fictional, often useful. - Brian Marick

Yhdessä tekeminen Yhdessä tekeminen on tehokas keino tiedon ja ymmärryksen välittämiseksi Parantaa yhteistä ymmärrystä, helpottaa kommunikointia Vähentää väärinkäsityksiä ja arvailujen varassa etenemistä Tehostaa ja nopeuttaa tiedon siirtymistä Etenkin ketterien menetelmien omimmilla alueilla Kun tehdään uusia asioita joita ei etukäteen tunneta Kun vaatimukset ovat epämääräiset ja muuttuvat nopeasti Kun asiakas on helposti käytettävissä

Matalan tason laatukäytännöt - toteutuksen kivijalka Tiukasti toteutuksen rytmiin kytketyt heartbeatlaatukäytännöt Jokaisen yksittäisen tehtävän laadun varmistus Laadun rakentaminen Osa toteutustehtävää ei lykätä tuonnemmaksi Esim. yksikkötestaus, pariohjelmointi, jatkuva integrointi, refaktorointi, Laatutason takaaminen jo ennen kuin kehittäjä päästää koodin käsistään Testaajalla ja kehittäjällä sama tavoite: laadukas lopputuote Työskentelevät yhdessä Testaaja auttaa omalla erikoisosaamisellaan kehittäjää Valmiit ja toimivat ominaisuudet tärkeämpiä kuin dokumentaatio Muutoksia pystytään tekemään kun perusta on kunnossa

Testivetoisuus Kehittäjien Test-Driven Development (test-first programming) tekniikka yksikkötestaustasolla on saanut paljon suosiota Testivetoisuus on tärkeää myös asiakasvaatimusten ja hyväksymistestauksen tasolla Ketterä hyväksymistestaus tehdään asiakkaan ja toteutustiimin yhteistyönä Testeillä dokumentoidaan ja konkretisoidaan vaatimuksia ja niiden yksityiskohtia Testit ohjaavat toteutustyötä eivät pelkästään mittaa lopputulosta automatisoituina antavat nopeaa palautetta kehittäjille Testit toimivat etenemisen mittarina

Tavallinen toimintatapa Kehittäjät toteuttavat oivallisia ominaisuuksia ja tuottavat laadukasta koodia vaatimusten ja speksien mukaan Kehittäjät Testaajat tahollaan suunnittelevat mahdollisimman ovelat testit, paljastaakseen ongelmia kehittäjien koodissa Kun koodi kehittäjien mielestä valmista, testaajat käyttävät nerokkaita testejään vikojen paljastamiseksi kehittäjien koodista Testaajat

Testivetoisuus: Test-Driven toimintatapa Kehittäjät, testaajat ja asiakas suunnittelevat yhdessä mahdollisimman hyvät testit jotka kuvaavat miten ominaisuuksien halutaan toimivan jotka paljastaisivat merkittävät ongelmat toteutuksessa (riskit) jotka dokumentoivat tärkeitä yksityiskohtia ja potentiaalisia ongelmakohtia toteutuksessa etukäteen Kehittäjät käyttävät näitä testejä ohjaamaan toteutustyötä mitä pitää saada aikaiseksi, milloin se on valmis mikä on tärkeää ja mihin kiinnittää huomiota Testitulosten säännöllinen seuraaminen kommunikoi toteutuksen etenemistä toimivien ominaisuuksien muodossa Ketterien periaatteiden mukaisesti Testauslähtöinen ohjelmistokehitys edellyttää ainakin jonkinasteista testien automatisointia 30 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 10

Kysymyksiä ja kommentteja? Yhteystiedot Juha Itkonen juha.itkonen@hut.fi +358 9 451 6041 http://www.soberit.hut.fi http://www.soberit.hut.fi/jitkonen