Napa vertaistestaus TESTISESSIO-CHARTER BetaTeam Versio Pvm Tekijä(t) Kuvaus 0.1 13.2.2006 Jari Leppä, Raine Mäki Esiversio 1.0 15.2.2006 Raine Mäki Korjauksia ja muotoilua
TESTISESSIO-CHARTER CHARTER ID: CH_BT_1.0 1 Yleiskuvaus Napa-ohjelmisto (NAPA Ltd.) on laivanrakennusalan mittava erikoisohjelmisto laivojen suunnittelu- ja ylläpitotehtäviin. Nykyinen levityksessä oleva ohjelmistoversio nojautuu tiedonsäilytyksessä jaettuihin tiedostoihin, joiden sisäinen rakenne on linkitetty lista. Projektin tavoite oli perustaa SQL-relaatiotietokanta, jonka tarkoitus on korvata olemassa oleva flat-file tiedonkäsittely. Koska nykyisen ohjelmiston jakelu on jo hyvin laajaa ympäri maailmaa, niin flat-file periaatetta ei ole voitu kuitenkaan ohjelmistosta poistaa. Ts. nykyinen ohjelmisto sekä uusi relaatiotietokantapohjainen tiedonkäsittelytapa toimivat rinnakkain. Ohjelmisto on osittain merkkipohjainen ja osittain graafinen - Varsinaiset laivansuunnitteluosuudet ovat graafisia. Projektimme laajuuteen eivät sisältyneet edellä mainitut graafiset osiot. Näin ollen ohjelman testaaminenkin sisältää ainoastaan merkkipohjaisen käyttöliittymän kautta tapahtuvia testejä. Projektimme haasteisiin lukeutui nykyisen ja uuden kantateknologian sekä ohjelman sisäisen toteutuksen yhteensovittaminen. Relaatiotietokannan kyselyt ovat sisäisiltä ratkaisuiltaan poikkeavan monimutkaisia, johtuen juuri Napa-ohjelmiston kypsästä teknologisesta iästä: Napan implementaatio on suurelta osin toteutettu Fortran-ohjelmointikielellä jo 70-luvulta lähtien. Projektissamme käytettiin siis Fortrania, C:tä, Javaa sekä SQL:ää. 2 Mitä testataan Testaaminen keskittyy nykyisen tiedonkäsittelytavan sekä relaatiotietokannan toimintojen samankaltaisuuden vertaamiseen. Ohjelmaa käytetään avaamalla tietokanta (flat-file tai SQL-kanta) ja testaamalla sieltä tiedon lukemista. Kummassakin tapauksessa tulee toiminnallisuuksien toimia samalla tavalla. Projektimme aikana toteuttamista ominaisuuksista testataan vertaistestauksessa vain kannan avaamista merkkipohjaisesta käyttöliittymästä käsin sekä tiedon lukuominaisuuksia. 3 Tavoitteet Testaamisen päätavoite on osoittaa toteutettujen ominaisuuksien toimivuus merkkipohjaisesta käyttöliittymästä käsin. Lisäksi pyrkimys on todistaa nykyisen ja uuden tiedontalletustapojen rinnakkainen toiminta. Tarkoitus on näyttää, että implementoidut ominaisuudet ovat olemassa, ja että ne toimivat. Virhetilanteet, kuten kaatumiset ja virheilmoitukset on syytä kirjata siten, että ne voidaan jälkeenpäin toistaa.
4 Testaaminen Tietokannan rakenne koostuu description:eista (kuvaustietoja) sekä niihin liittyvistä record:eista (tietueista) eli yhtä kuvaustietoa kohden voi kytkeytyä useita tietueita (1.. N). Merkkipohjaisessa käyttöliittymässä käytetään Napa-ohjelmiston komentoja, joiden avulla mm. avataan projektitietokanta ja luetaan kannasta käyttöliittymään dataa. Testikannat ovat sisällöltään yhtenevät eli flat-filen data on jo kopioitu relaatiotietokantaan. Testausmenetelmänä on tutkiva eli eksploratiivinen testaus. Pyrkimyksenä on ensin suorittaa ohessa lyhyesti esiteltyjä komentoja käyttöliittymässä ja sen jälkeen mahdollisuuksien mukaan yrittää soveltaa niitä eteenpäin. Luetun datan yhteneväisyyttä voi mahdollisesti yrittää verrata tietokannan (Sybase, SQL Central) oman hallintatyökalun esittämän sisällön kanssa, joka edellyttää kuitenkin jonkin verran SQL:n hallintaa. 4.1 Ohjelman käynnistys Avaa ohjelma ja kirjaudu sisään: käyttäjätunnus: ADMIN salasana: (tyhjä) 4.2 Käyttöliittymäkomennot Siirtyminen table of contents -moodiin: TASK?>toc SQL-tietokannan avaus osoitteesta localhost unit:iin 1 : TOC?>@DB.OPEN("sql#localhost#TP", 1) Avointen unit:ien listaus: TOC?>unit Aktiivisen unit:n muutos: TOC?>unit 1 Description:eiden haku unit:sta (catalog-toiminto) : TOC?>cat Asetetaan description:eiden hakuehdoiksi versio=tlp ja nimi alkaa B:llä: TOC?>sel VER=TLP NAME>B
Description editing -moodiin siirtyminen: TOC?>ded Käskyn vaikutusten selitys eli help/man-toiminto: >!expl <käsky> Esimerkiksi seuraava komento listaa komennon cmd selityksen: >!expl cmd Valitse description:in nimeltä BOTTOM versio TLP : DED?>get BOTTOM/TLP Tulosta editoitavan description:in seuraava record: DED?>next Jos kaikki record:it on käyty läpi, palauttaa next Missing record -virheen. Ylempään moodiin palaaminen: >end Ohjelman lopetus: TASK?>x 4.3 Testitietokannan tilan palauttaminen: Jos ohjelma kaatuu, saattavat Napan flat-file -tietokannat korruptoitua. C:\Napa -hakemistossa olevan copy_databases.bat -skriptin ajaminen palauttaa alkuperäiset tietokannat Napan käyttöön. 5 Huomion kiinnittäminen Kannattaa kiinnittää eniten huomiota ohjelman kaatumisiin ja virheilmoituksiin. Testausnäkökulma on vertaistestauksessa lähempänä Napan ylläpitäjän kuin sen peruskäyttäjän (laivansuunnittelijan) näkökulmaa, joka käyttäisi lähinnä ohjelman laivansuunnitteluominaisuuksia graafisesta käyttöliittymästä käsin. Oletettava ongelmana tulee testauksessa olemaan Napa-ohjelmiston hahmottamisen vaikeus. Ts. hyvän perspektiivin saavuttaminen kyseiseen ohjelmistoon ei ole erityisen ilmeistä ohjelmistoon ensi kertaa tutustuvalle. Testaamisen rajoittuessa ohjelman karuun merkkipohjaiseen käyttöliittymään, ei testaajan ole kovinkaan helppo havaita metsää puilta.
6 Exploration loki SESSIO ALKOI (pvm ja aika): 2006-02-17 9:00 TESTAAJAT: Tomi Jylhä & Teemu Tiainen 6.1 TASKIN OSAT (BREAKDOWN) KESTO (tunteja): 1:00 TESTISUUNNITTELU vs. SUORITUS (prosentteja): 12,5% VIRHEIDEN TUTKIMINEN JA RAPORTOINTI (prosentteja): 12,5% SESSION ALUSTUSTYÖT (prosentteja): 75% CHARTER VS. OPPORTUNITY (prosentteja / prosentteja): 50% / 50% 6.2 DATA-TIEDOSTOT Testissä ei käytetty data-tiedostoja. 6.3 MUISTIINPANOT (TEST NOTES) - Ohjelmisto olisi pitänyt luonteensa ja käyttötarkoituksensa vuoksi esitellä kunnolla ennen testiä ja testitilanteessa olisi pitänyt olla ongelmatilanteita varten mukana tekninen asiantuntija ryhmästä - Puutteellinen ohjeistus ja testiä ei voinut tämän vuoksi suorittaa kunnolla ja palaute jää erittäin suppeaksi - Testiympäristö ei ollut kunnossa kun testi aloitettiin (tietokantaserveri ei ollut päällä tai oli kaatunut) - Suurin osa testiin käytetystä ajasta meni siihen, että ryhmän asiakas pyrki saamaan ohjelman toimimaan sekä perehdytti meitä ohjelmistoon sekä siihen, mitä sillä voi tehdä 6.4 VIRHEET Ei löytynyt 6.5 ONGELMAT (ISSUES) - Ohjelmisto ei anna virheilmoitusta vaikka tietokannan avaus ei onnistu -!expl komento ei toimi DED-tilassa, vaikka charterin tehtäväsekvenssin mukaan voisi saada sellaisen kuvan