Voisitteko. Tarkastukset

Samankaltaiset tiedostot
Katselmoinnit. review) Katselmoinnit (review( Mitä ovat katselmoinnit? Katselmoinnin määritelmä (IEEE 1988)

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

Katselmoinnin määritelmä. Katselmoinnit osa 1. ja vielä ajatuksia katselmoinneista. Katselmointi. Katselmointi, katselmus (review) IEEE Std

Virtuaalinen tarkastus. Katselmoinnit osa 3. Paritarkastus. N-kertainen tarkastus (n-fold inspection)

Menetelmäraportti Ohjelmakoodin tarkastaminen

Laatukustannukset. Laadun hallinta. Laadun kustannuksista

Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

Tutkittua tietoa. Tutkittua tietoa 1

Millainen on onnistunut ICT-projekti?

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Laatu ohjelmistotyössä

Katselmoinnit. Katselmoinnin määritelmä

T Software Project Group: Tetrastone Subject: RosettaNET. Personal Software Engineering Assignment: Tetrastone

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

Vaatimusmäärittely- ja hallinta

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

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

Staattinen testaus. Luento 5 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

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

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III

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

Kahdenlaista testauksen tehokkuutta

Tietojärjestelmän osat

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

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

Vaatimusmäärittely- ja hallinta. Peruskäsitteet. Syyt aikataulun ja budjetin ylitykseen. TJTA330 Ohjelmistotuotanto

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

SEPA päiväkirja. Aihe: Staattiset menetelmät Tekijät: Mikko Halttunen 58198B, Mikko Närjänen 58122B Ryhmä: Neptune T Ohjelmistoprojekti I

7.4 Variability management

Software engineering

Käyttötapausanalyysi ja testaus tsoft

Hallintakeskus Vertailu: Sivusto Käynnit. 54,25 % poistui välittömästi Sivun katselut

EOFFICEN UUDET PIIRTEET

Test-Driven Development

Ohjelmiston testaus ja laatu. Testaus yleistä

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

Projektin suunnittelu

Ohjelmistojen testaus

Test-Driven Development

Käyttökokemuksen evaluoinnista käyttökokemuksen ohjaamaan suunnitteluun. ecommunication & UX SUMMIT Eija Kaasinen, VTT

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Business Opening. Arvoisa Herra Presidentti Very formal, recipient has a special title that must be used in place of their name

Prosessien kehittäminen osa 2. Prosessien kehittämisen haasteita. SEI:n mukan kolme odotettavissa olevaa ongelmaa

AKKREDITOITU TESTAUSLABORATORIO ACCREDITED TESTING LABORATORY WE CERTIFICATION OY OPERATOR LABORATORY

Bachelor level exams by subject in Otaniemi

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

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

Standardi IEC Ohjelmisto

Hankkeen toiminnot työsuunnitelman laatiminen

Projektityö

Testataanko huomenna?

Kuvakkeet asiaankuuluvien tietoluokkien esittämiseksi Yhteentoimivuus. Elinkeinonharjoittajan nimi. Internet-yhteys. Maantieteelliset rajoitukset

Scrum-käytännöt ja käyttäjäkokemustyö ohjelmistoalan yrityksessä. Marie-Elise Kontro

Ohjelmistotuotanto, s /27/2003

Inspecta Tarkastus Oy Teräspaalupäivä 2014

7. Product-line architectures

Ubicom tulosseminaari

Hallintakeskus Vertailu: Sivusto Käynnit. 55,59 % poistui välittömästi. 00:01:38 aikaa käytettiin keskimäärin

(Core) & (Test Manager). Sertifikaattikoe klo

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

Harjoitustyön testaus. Juha Taina

Bachelor level exams by date in Otaniemi

58160 Ohjelmoinnin harjoitustyö

SEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus

Tyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet. TIES341 Funktio-ohjelmointi 2 Kevät 2006

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY

Koodikatselmointi osana ohjelmoinnin opetusta

Prosessien kehittäminen osa 2

Prosessien kehittäminen osa 2

Aktivointipalvelut - vähemmän paperia, enemmän verkkolaskuja

LCI Finland vuosipäivä Mitä on Lean Construction?

Muuttuva markkinointi muuttuvat tiedontarpeet. Päivi Voima Senior Researcher Hanken

APA-tyyli. Petri Nokelainen

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy

Ohjelmistoprojektien hallinta Vaihejakomallit

Testaaminen ohjelmiston kehitysprosessin aikana

WP3 Decision Support Technologies

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

T Johdatus käyttäjäkeskeiseen tuotekehitykseen. suunnitteluprosessissa. Käyttäjän huomiointi. Iteroitu versio paljon kirjoitusvirheitä

Käyttäjäkeskeinen suunnittelu

UCOT-Sovellusprojekti. Testausraportti

Järjestelmän kriittisimmille toiminnallisuuksille (listattu alla), toteutetaan 1

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

Asiakaspalautteen merkitys laboratoriovirheiden paljastamisessa. Taustaa

Testaussuunnitelma Labra

Data Envelopment Analysis (DEA) - menetelmät + CCR-DEA-menetelmä

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

Attribuuttipohjainen käyttövaltuuksien hallinta Case Dreamspark Premium

Ohjeita API:en tuontiin EU alueelle. GMP tilaisuus FIMEA

Sovellustietoturvallisuus Petteri Arola OWASP Chapter Leader Nixu Oy OWASP The OWASP Foundation

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Miten Time to Profit on toteutettu yritysten tuotekehitysprojekteissa?

The CCR Model and Production Correspondence

Transkriptio:

1 Voisitteko Tarkastukset Marko Komssi From: Hra Projektipäällikkö Sent: Tuesday, Dec 7, 2004 :19 To: Projektiryhmä Subject: Voisitteko katselmoida vielä yhden vaatimusdokumentin? Se on vain 6 sivua. Kokoamme virheet huomenna heti viikkokokouksen jälkeen klo 13-1. 2 Tyypillisiä ongelmia katselmointitavoissa Sisältö Tarkastettavan tuotteen tavoitteet ja riskit ovat epäselvät. Ei selvitetä, miksi ja kenelle dokumentti on kirjoitettu? Tarkastukset keskittyvät vääriin virheisiin. Kirjoitusvirheiden tms. hiominen on usein turhaa. Tarkastettavan alueen laajuus on liian suuri. Yleensä 6 sivun vaatimusdokumentti syö mehut hyväkuntoiseltakin tarkastajalta. Katselmoinnit keskittyvät vain virheiden etsintään (engl. defect detection) ja suoritetaan liian myöhäisessä vaiheessa tuotteen valmistusta. Opitaanko virheistä ja voidaanko projektin aikana tehdä suunnanmuutoksia tulosten ja analyysien perusteella? Staattinen testaus ja katselmointityypit Perinteinen tarkastusprosessi ja tarkastusten parametreja Onko tarkastuksista hyötyä? Eikö pelkkä dynaaminen testaus riitä? Tarkastussäännöt sekä tavoitteiden ja riskien huomioiminen Vaatimuksissa vähän on usein enemmän Miten matkakorttijärjestelmää olisi voitu parantaa vaatimusten tarkastuksella? Arkkitehdin ja tuotepäällikön motivointi 3 4 Staattinen testaus Katselmointityypit 2 Testausta ilman käännettyä koodia kutsutaan staattiseksi testaukseksi Staattisen testauksen merkitystä usein vähätellään verrattuna dynaamiseen testaukseen Suunnittelu Katselmointityyppi Inspection Osavaihe Esikäsittely Korjaaminen Kokous Varmennus Yritykset käyttävät huonoja menetelmiä: ohjelmoijat ja päälliköt luulevat tietävänsä esim. kuinka tarkastuksia tehdään Team Review Walkthrough Inspection is a method of static checking that can be performed on any of the intermediate products of software development (i.e., the URD, specification, design, or code) 1. Pair Programming Peer Deskcheck, Passaround Ad Hoc Review? 6 Finl France Germany Japan Sweden United Kingdom USA

2 Perinteinen tarkastusprosessi 3 Tarkastusten henkilöitä Moderaattori on yksittäisten tarkastusten keskeisin henkilö. Vastaa koko tarkastusprosessin läpiviennistä ja onnistumisesta. s ing Champion on henkilö joka vastaa tarkastusprosessin markkinoinnista ja hyvyydestä organisaatiossa (voi olla sama kuin moderaattori). Tarkastajat tekevät tarkastusten perusduunin. Kirjuri kirjoittaa virheet ylös. (Häntä ei usein käytetä, koska moderaattori ja hyvä tarkastusprosessi hoitaa tämän homman.) Tuotteen kirjoittaja on raukka, joka joutuu kestämään muiden kommentteja. 7 8 Tarkastusprosessin parametreja ja mittareita 3 EFFICIENCY = Löydettyjen virheiden lukumäärä käytettyyn aikamäärään nähden EFFECTIVENESS = Löydettyjen virheiden määrä per [Yksikkö]. Yksikkö voi olla esim. 1 KLOC tai 1Kwords DEFECT DENSITY = Arvio tuotteessa (jäljellä) olevien virheiden määrästä per [Yksikkö] Tarkastusprosessin parametreja ja mittareita (2) Tarkastussääntöjen ja -osavaiheiden sekä tarkastajien ja virtuaaliroolien lukumäärä Katselmoinnin osavaiheen kesto ja koko prosessin läpimenoaika Katselmointitahti (engl. checking rate) ja tarkastettavan tuotteen (osan) koko Tarkastajien kokemus (kyvyt) Hyväksymiskriteerit (engl. entry exit criteria) 9 Tarkastusten hyötyjä (miksi ei vain testata?) HP: tarkastuksille mitattu hyötysuhde :1. Arvioidut säästöt 20 miljoonaa dollaria 4 IBM: tarkastukset ovat aiheuttaneet 20 prossan tehokkuuden kasvun koodauksessa. Virheitä löydetty 2-4 kertaa nopeammin kuin dynaamisella testauksella 6 Lyhyt virheiden korjausaika Tarkastuksilla löydetään toisenlaisia virheitä kuin dynaamisella testauksella Ylläpidettävyys, testattavuus, väärät asiakasvaatimukset, Tarkastuksia voidaan tehdä aikaisessa vaiheessa projektia Psykologinen vaikutus: teet paremmin jos tiedät että sua kyylätään 7 Tarkastussäännöt Sääntöjen avulla tuetaan virheiden etsintää Säännön rikkominen lasketaan virheeksi CUSTOMER customer requirements must be real Does the statement in the specification describe the customer? Is the need of the customer correctly presented? 11 12 Finl France Germany Japan Sweden United Kingdom USA

3 Tarkastussäännöt tavoiteiden ja riskien pohjalta 8 Case: tavoitteiden ja riskien huomioiminen Keräsimme vaatimusdokumenttiin liittyviä tavoitteita ja riskejä: TAVOITE: Dokumentti muodostaa yhteisen tuntemuksen tehtävään tuotteeseen RISKI: Ihmiset eivät lue dokumenttia (kunnolla) Kysyimme auttavia kysymyksiä tavoitteille ja riskeille Missä tilanteessa ihmiset eivät lue dokumenttia (kunnolla)? Määrittelimme kysymysten perusteella joukon tarkastussääntöjä Minimaalinen (Minimal), Asiaankuuluva (Relevant) ja Asiakas (Customer) 13 14 Dokumentin virhedata Eiku uudestaan 2 9 20 8 7 1 6 4 3 2 1 0 Customer Mininal Relevant 0 Customer Unknown Minimal Specific 241-sanainen vaatimusdokumentti (Internet Security 200) 13-sanainen vaatimusdokumentti (Internet Security 200) 1 16 Vähän on enemmän PI: vaiheiden painotus projektin alussa Tarkkuudella ja tarkkuudella on eroa (accuracy vs. precision) Vaatimusten paikkaansapitävyys tai niiden desimaalitarkkuus? Vaikka kuulostaa oudolta, niin saat vähemmän vahinkoa aikaan jos kirjoitat liian vähän sen sijaan että kirjoitat liian paljon 9 Jopa pieninnätkin vaatimukset sisältävät enemmän kaloreita kuin arvaatkaan Tiiviys osana vaatimusten tarkastusstrategiaa Sitten sinulla on lyhyt ja luettava dokumentti, jota ihmiset viitsivät lukea ja josta he kysyvät kysymyksiä 9 s ing Progressiivinen tarkastuskonsepti (PI) 8 Noin kolme sääntöä Kevyet kriteerit 17 18 Finl France Germany Japan Sweden United Kingdom USA

4 PI: vaiheiden painotus projektin lopussa Tämä olisi voitu tehdä toisin, vai mitä? s ing Mitähän tämän tuotteen vaatimusmäärittelyyn on kirjoitettu? Suorituskyky: 0 ihmistä minuutissa? Lisää sääntöjä ja tarkastajia Tiukat kriteerit 19 20 Käyttötapausmalli 1: Henkilö matkustaa junalla Helsingistä Espooseen (osa 1) Käyttötapausmalli 1: Henkilö matkustaa junalla Helsingistä Espooseen (osa 2) Primary actor: It-henkilö Secondary actors: HKL ja matkakorttisysteemi Goal: Matkustaja haluaa maksaa matkan. Level: Käyttäjän tavoite Scope: Matkakorttisysteemi Preconditions: Matkustajalla on matkakortti Main success scenario: 1. Matkustaja astuu junaan 2. Matkustaja maksaa kortilla matkan 3. Systeemi veloittaa matkan oikein 4. Systeemi ilmoittaa matkustajalle tapahtumasta Extensions: 2a. Matkustajalla on huono näkö: 2a1. 2a4. Matkustaja saa tiedon 2b. Matkustaja käyttää korttia ensimmäistä kertaa: 2b1. 2b4. Matkustaja saa tiedon 2c. Matkustaja on lyhyt lapsi: 2c1. 2c4. Matkustaja saa tiedon 3a. Matkakortissa on vähän rahaa: Primary actor: Köyhä it-henkilö Secondary actors: HKL ja matkakorttisysteemi Goal: Matkustaja ei halua maksaa sakkoja. Level: Käyttäjän tavoite Scope: Matkakorttisysteemi Preconditions: Matkustajalla on matkakortti Main success scenario: 1. Matkustaja astuu junaan 2. Matkustaja maksaa kortilla matkan 3. Systeemi veloittaa matkan oikein 4. Matkustaja on varma, että maksu on oikein veloitettu. Matkustaja ei joudu maksamaan sakkoja Extensions: 2a. Matkustajalla on huono näkö: 2a1. 2a4. Matkustaja on varma 2b. Matkustaja käyttää korttia ensimmäistä kertaa: 2b1. 2b4. Matkustaja on varma 2c. Matkustaja on lyhyt lapsi: 2c1. 2c4. Matkustaja on varma 3a. Matkakortissa on vähän rahaa: 3a1. 3a1. 21 22 Profiili: ohjelmistoarkkitehti Profiili: tuotepäällikkö Hän on usein tulospainotteinen ihminen. Tulos tässä tarkoittaa makeeta suunnittelua ja koodia yms. Hän on innovatiivinen ja karttaa kaikin voimin yksitoikkoista työtä. Hänellä on erinomainen kyky ajatella sekä abstrakteja että yksityiskohtaisia aiheita. Tällaiset henkilöt ovat arvokkaita mm. vaatimusten, testitapausten, ja koodinpätkien tarkastuksissa Miten arkkitehti motivoidaan tarkastamaan? Hän on usein tulospainotteinen ihminen Tulos tässä tarkoittaa kovaa palkkaa ja kovaa myyntiä Hän karttaa kaikin voimin tapaamisia teknisten ihmisten kanssa ja/tai on liian tekninen ja olettaa (lue: määrää) liikaa Hän haluaa aina asioiden tapahtuvan nopeasti (ja paljon). Tällaiset henkilöt ovat kuitenkin arvokkaita mm. vaatimusten ja erityisesti vision (bisnes casen) tarkastamisessa. Miten tuotepäällikkö motivoidaan tarkastamaan? 23 24 Finl France Germany Japan Sweden United Kingdom USA

Yhteenveto Lähteet Tarkastuksilla voidaan tukea esimerkiksi vaatimusdokumentin minimaalisuutta projektin eri tuotantovaiheilla Tarkastussäännöt kannattaa johtaa tavoitteista ja riskeistä Tarkastusprosessi kannattaa pitää dynaamisena 1. Martin, J., Tsai, W.T., N-fold Inspection: A Requirements Analysis Technique. Communications of the ACM 33, 2, (1990), 22-232. 2. Wiegers, K., When Two Eyes Aren't Enough. Software Development 9, (2001), 8-61. 3. Gilb, T., Graham D., Software Inspection. Addison-Wesley (1993). 4. Grady, R.B., Van Slack, T., Key Lessons in Achieving WidespreadInspection Use. IEEE Software, 11, 4 (1994), 46-7.. Fagan, M.E., Design Code Inspections to Reduce Errors in Program Development. IBM Systems Journal, 1, 3 (1976), 182-211. 6. Russel, G.W., Experience with Inspections in Ultralarge-Scale Developments. IEEE Software, 8, 1 (1991), 2-31. 7. Wiegers, K.E., Peer Reviews in Software: A Practical Guide. Addison-Wesley (2001). 8. Komssi, M., Increasing Responsiveness Economy of Software Inspection. Proceedings of the 12th European Conference on Software Testing, Analysis & Review (EuroSTAR '2004), Cologne, Germany, December 2004. 9. Cockburn, A., Writing Effective Use Cases. Addison-Wesley (2001).. McConnell, S., Achieving Leaner Software. IEEE Software, 14, 6 (1997), 127 128. 2 26 Finl France Germany Japan Sweden United Kingdom USA