Onnistunut Vaatimuspohjainen Testaus Kari Alho Solution Architect Nohau Solutions, Finland
Sisältö Mitä on vaatimuspohjainen testaus? Vaatimusten ymmärtämisen haasteet Testitapausten generointi Työkalujen oikea käyttö 2
Vaatimuspohjainen testaus Testaustekniikka, jossa varmistetaan testauksen kattavuus Kuhunkin järjestelmän vaatimukseen linkitetään vähintään yksi testitapaus Tai positiivi + negatiivi TC1 TC2 TC3 R1 R2 R3 Jäljitettävyysmatriisi Formaalissa käytössä vaatimukset kuvattu niin, että testitapaukset generoidaan automaattisesti R1 R2 R3 TC1 TC2 TC3 Voidaan myös linkittää manuaalisesti Jäljitettävyysgraafi 3
Vaatimuspohjaisen testauksen prosessi Vaatimusten laadunvarmistus Testitapausten generointi Tavoitteisiin liittäminen Käyttötapauksiin liittäminen Kelpoistetut vaatimukset Vaatimusten formalisointi Yksikäsitteisyysarviointi Asiantuntijoiden katselmointi Testitapausten generointi Vatimusten korjaus Loogiset testitapaukset Testitapausten laadunvarmistus Määrittelijän katselmointi Kelpoistetut testitapaukset Suunnittelun ja toteutuksen laadunvarmistus Testitapausten katselmointi (kehittäjät) Katselmoitu koodi Testien suoritus Täydennetyt testitapaukset Asiantuntijoiden katselmointi Suunnittelun ja toteutuksen katselmointi Suoritetut testit Lähde: Mukaellen BenderRBT, Inc. 4
Vaatimuspohjaisen testauksen Etuja Vaatimukset katselmoidaan prosessissa Sopii hyväksyntätestaukseen, jossa vaatimukset sopimuksena Automatisoitavissa formaaleille vaatimuksille Haasteita Vaatimukset eivät ole täydellisiä Formaalit menetelmät hankalia ymmärtää tai käyttöalueeltaan rajoitettuja Isoilla vaatimusmäärillä manuaalinen hallinta työlästä Etenkin jos paljon muutoksia Haasteisiin on ratkaisut! 5
Vaatimusmäärittely on edelleen ongelmallista 70-85% korjaustyöstä johtuu vaatimusvirheistä 54% alkuperäisistä vaatimuksista toteutetaan 44% projekteista keskeytyy vaatimusvirheiden takia 45% toteutetuista vaatimuksista käytetään Lähde: Standish Group: Chaos Report Tarvitsemme parempia vaatimuksia testauksen pohjaksi 6
Vaatimusmäärittelijöiden haasteita Ei löydetä kaikkia vaatimuksia Heikko kommunikaatio liiketoiminnan, määrittelijöiden, toteuttajien ja testauksen kesken Vaikeudet priorisoida toimintoja ja laatutavoitteita Ei kykyä arvioida muutosten vaikutusta Vaikeus varmistaa vaatimusten oikeellisuus sidosryhmien kanssa 7
Vaatimusmäärittelyn haaste Määrittelijät Kehittäjät Pyynnöt Toteutus Dokumenttipohjaiset määrittelyt 8
Caliber DefineIT Vaatimukset tallennetaan vuokaavioina Hierarkia ylläpidetään Askeliin liittyy aktori ja kuvaus Alikaaviot mahdollisia Resurssien liittäminen mahdollista (kuvat, dokumentit, weblinkit) Päätöspisteet mahdollistavat haarautumisen 9
Vaatimuksen simulointi Vuokaaviolla kuvattu skenaario suoritetaan interaktiivisesti Vaiheisiin liittyvät resurssit näytetään Polku suorituksesta jää talteen Helpottaa vaatimuksen validointia asiakkaan kanssa 10
Testitapausten generointi Vuokaaviot ovat testitapausten generoinnin perusta Kukin yksikäsitteinen polku muodostaa oman testitapauksen 100% kattavuus Voidaan viedä websivustoon Voidaan viedä SilkCentral Test Manageriin 11
Vaatimuspohjaisen testauksen hallinta 1. Testattavat vaatimukset eristetään 2. Testitapaukset suunnitellaan ja linkitetään vaatimuksiin 3. Testiajot määritellään 4. Testiajot suoritetaan 5. Viat raportoidaan 6. Metriikkaa seurataan kaiken aikaa Vaatimusten lukumäärä Testeillä katetut vaatimukset Suorituksen status / vaatimus Vikatrendi 12
SilkCentral Test Manager Testivaatimukset tuotuna ja linkitettyinä vastaaviin testitapauksiin 13
Testitapaukset ja askeleet Vaatimuksia vastaavat testitapaukset generoituina Vuokaavion tiloja vastaavat askeleet 14
Testiajon määritykset Valitut / suodatetut testitapaukset Testien ajoaikataulu 15
Metriikka ennen ja jälkeen ajon 16
SilkCentral Test Manager testauksen keskiössä Vaatimukset Caliber DefineIT CaliberRM Requisite Pro DOORS MS Excel MS Word Tuo / synkronoi SilkCentral Testivaatimukset Testisuunnitelmat Testien suoritukset Metriikka ja raportit Tulokset Suoritus Testien suoritus SilkTest SilkCentral Manuaalitestit NUnit Windows Scripting JUnit.NET Explorer 17
Työkalujen oikea käyttö Oikea väline oikeaan tarpeeseen Ymmärrä tekniikoiden rajoitteet Vuokaaviot eivät sovellu kaikkiin vaatimuksiin Kehitä prosessi ja sen työkalutuki samaan aikaan Älä unohda koulutusta ja käyttötukea Aloita harkiten ja tee pilotti Työkalu ei tee (kaikkea) työtä puolestasi 18
Demo 19
Vaatimuspohjainen testaus: arvolupaus Oikeat vaatimukset helpommin Määritykset näkyviksi Simulointi mahdollistaa helpon palautteen Testitapausten generointi Testitapausten generointi vuokaavioista Helpottaa monimutkaisten skenaarioiden testausta Jäljitettävyys Täydellinen testien ja vaatimusten jäljitettävyys Auttaa mittaaman kattavuuden Auttaa ymmärtämään muutosten vaikutuksen Hallinta ja automaatio Hallitse vaatimukset, testit ja testiajot Mahdollista suorituksen automatisointi 20
Kiitos! Kari Alho Solution Architect Gsm: +358 40 7700 801 kari.alho@nohau.fi nohau Teknobulevardi 3-5 P.O Box 35 FI-01531 Vantaa Finland 21