TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3 Antti Jääskeläinen Matti Vuori
Rakenne ja aikataulu Kolme vaihetta: 1. Tutkivan järjestelmätestauksen suunnittelu 2. Tutkivan järjestelmätestauksen suoritus ja raportointi 3. Mallipohjainen testaus Karkea aikataulu (tarkat ajat harjoitustyösivuilla): Viikko 38 Vaiheiden 1 ja 2 ohjausluento Viikko 41 Vaiheen 1 deadline Viikko 43 Vaiheen 1 palaute Viikko 46 Vaiheen 2 deadline Viikko 46 Vaiheen 3 ohjausluento Viikko 48 Vaiheen 2 palaute Viikko 49 Vaiheen 3 deadline Viikko 51 Vaiheen 3 palaute 9.11.2015 2
Järjestelyt Valmistautuminen Lue harjoitustyön nettisivut Lue kolmannen vaiheen ohjeistus Perehdy aiheeseen liittyviin viikkoharjoituksiin Palautukset tehdään sähköpostitse kuten aiemminkin Kolmannesta vaiheesta on saatavilla 4 pistettä 9.11.2015 3
Yleistä 1/2 Testikohde: laskin gcalctool, versio 5.28.2 CE CE tarkoittaa kurssin omaa versiota (course edition), johon on kylvetty bugeja version 5.28.2 päälle Dokumentaatio saatavilla laskimen Helpistä Testataan vain laskimen Basic-moodia 9.11.2015 4
Yleistä 2/2 Testaustapa: mallipohjainen funktionaalinen GUI-testaus Testejä generoidaan ohjelman toiminnallisuutta kuvaavasta mallista Testit suoritetaan automaattisesti ohjelman käyttöliittymän läpi Mustalaatikkotestausta, lähdekoodia ei tarkastella Virallinen testiympäristö: Lintulan Linux Työasemia luokissa TC205 ja TC217 Muitakin ympäristöjä kuten omia läppäreitä saa käyttää, mutta ohjelmien pystyttäminen niihin on omalla vastuulla (testikohde toimii todennäköisesti vain Linuxissa) Lisätietoja vaiheen 3 tarkassa ohjeistuksessa Työkalu: fmbt Asennettu valmiiksi Lintulaan Työkalu ja dokumentaatiota saatavilla kotisivuilta https://01.org/fmbt/ Käytännön ohjeistusta saatavilla viikkoharjoituksissa 9.11.2015 5
Palautettavat asiat Testimalli fmbt:n tuottamat lokit löydettyjen virheiden toistamiseen Testikonfiguraatio, jonka avulla virhelokit voidaan toistaa Tiivistelmä löydetyistä virheistä Varmista, että palautuspakettisi on oikeellinen, jotta sen automaattinen käsittely onnistuu Ohjeet palautuspaketin toimivuuden tarkastamiseen palautusohjeiden yhteydessä 9.11.2015 6
Testimalli Testimalli kuvaa testikohteen käyttäytymistä tarpeellisilta osin Mallin tietojen perusteella testikohteelle voidaan generoida erilaisia testejä Tämän työn malli kirjoitetaan fmbt:n AAL/Python-kielellä fmbt tukee online-testausta, jossa testejä suoritetaan samalla kun niitä generoidaan, mutta myös off-line-testaus on sallittua 9.11.2015 7
Mallinnettavat asiat Ohjelman käynnistäminen ja sulkeminen Peruslaskutoimitukset (yhteen, vähennys, kerto ja jako) kokonaisluvuilla ja niiden muodostamat lausekkeet Monipuolisen syötedatan käsittely esim. Generoimalla lukuja satunnaisesti Määrittämällä mallin alussa helposti muokattavan taulukollisen syötettäviä lukuja Syötteiden antaminen käyttöliittymän nappuloista ja näppäimistöltä Tulosten ja välitulosten tarkastaminen 9.11.2015 8
Ei tarvitse mallintaa Muita kuin Basic-moodia Leikepöytää, kumoamista yms. editointiominaisuuksia Näytön sisällön muotoilua Helppiä Desimaalilukuja tai eksponenttinotaatiota Generoitavat testit eivät silti saa seota näihin, ne pitää joko välttää tai tunnistaa ja käsitellä jotenkin Lausekkeita jotka eivät mahdu näytölle Samoin kuin yllä Syötteiden antamista komentoriviltä käsin 9.11.2015 9
Testikohteen hallinta Käytetään fmbt:n tarjoamaa fmbtx11-rajapintaa, joka tarttuu X11- ikkunointijärjestelmään Rajapinnasta on jonkin verran dokumentaatiota fmbt:n kotisivuilla, mutta käytännössä sen ominaisuuksia on paras tutkia Pythontulkissa dir- ja help-komennoilla Testikohteen käsittely on helpointa kun sen käynnistää erilliselle näytölle, tarkat ohjeet kolmosvaiheen ohjeistuksessa 9.11.2015 10
Testiajot ja virhelokit fmbt tuottaa testiä ajaessaan lokin, joka kertoo suoritetut tapahtumat Lokin avulla virheeseen johtanut testiajo voidaan toistaa Epädeterministisellä mallilla mahdollisesti hankalaa; tässä työssä syötedatan tai satunnaislukugeneraattorin siemenluvun saa kovakoodata malliin Tässä työssä oleellisempaa kuin virheen toistava testiajo on tasokas malli, jolla voi järkevästi tuottaa kyseisen testiajon 9.11.2015 11
Testikonfiguraatio Kertoo fmbt:lle millainen testi halutaan generoida Tarjolla paljon erilaisia optioita, mutta tämän työn testit voi luultavasti generoida enimmäkseen oletusasetuksilla Palautettavan konfiguraation tehtävä on vain sallia palautettujen virhelokien toistaminen, konfiguraation itsessään generoimalla testillä ei ole väliä 9.11.2015 12
Tiivistelmä virheistä Kustakin virheestä Lyhyt kuvaus Viite virheen toistavaan testilokiin Ei siis varsinainen testausraportti 9.11.2015 13