Takaisin etusivulle

Voikko
Tietoa ohjelmiston testaajille

Tällä sivulla annetaan ohjeita Voikon testauksesta kiinnostuneille. Suomi-malagan kehitysversion käyttö on yleensä yksinkertaisin tapa seurata Voikon kehitystä. Täysi testiympäristö kannattaa asentaa vain, jos haluaa vakavasti osallistua Voikon testaamiseen. Tämä edellyttää jo jonkin verran teknistä osaamista.

Suomi-Malagan kehitysversion käyttö

Suomi-Malaga on Voikon komponentti, joka sisältää suomen kielen sanaston sekä säännöt sanojen taivutuksesta, johtamisesta ja käytöstä yhdyssanan osana. Tästä syystä se on Voikon komponenteista ehkä kaikkein näkyvimmin kehittyvä. Jos haluat testata uusimpia kehitysversioita, se käy melko helposti alla olevien ohjeiden avulla.

  1. Asenna versionhallintatöykalu subversion sekä Malagaan kuuluva osa malaga-bin. Asenna myös kehitystyökalu make ja python-tulkki. Debianissa nämä ovat samannimisissä paketeissa.

  2. Lataa Suomi-Malaga versionhallinnasta omaan kotihakemistoosi seuraavilla komennoilla:

    mkdir -p ~/svn/voikko/trunk/suomimalaga
    svn co https://voikko.svn.sourceforge.net/svnroot/voikko/trunk/suomimalaga ~/svn/voikko/trunk/suomimalaga
    ln -s ~/svn/voikko/trunk/suomimalaga/voikko ~/.voikko
    
  3. Käännä Suomi-Malaga komennolla:

    cd ~/svn/voikko/trunk/suomimalaga
    make voikko
    
  4. Mikäli kääntämisessä ei tapahtunut virheitä, Suomi-Malagan kehitysversio on nyt käyttövalmis. Libvoikko käyttää automaattisesti kotihakemistossa olevaa Suomi-Malagaa, jos sellainen on olemassa. Jos myöhemmin haluat päivittää uudempaan kehitysversioon, se tapahtuu seuraavilla komennoilla:

    cd ~/svn/voikko/trunk/suomimalaga
    svn update
    make voikko
    

Debian-asennuspaketit Voikon kehitysversioista

Jos käytät Debiania tai jotakin siihen perustuvaa Linux-jakelua, voit tehdä deb-asennuspaketit Voikon kehitysversioista käyttämällä bash-skriptiä makevoikkodeb. Skripti osaa muun muassa hakea automaattisesti versionhallintajärjestelmästä lähdekoodin halutulle Voikon komponentille ja kääntää sen valmiiksi deb-asennuspaketiksi. Ohjeita skriptin käytöstä saat käynnistämällä sen ilman parametreja: makevoikkodeb. Seuraavaksi joitakin esimerkkejä:

Täyden testiympäristön asennus

Voikko on nykyään siinä määrin monimutkainen ohjelmisto, että sen testaaminen pelkästään testiversiota käyttämällä ei enää riitä varmistamaan ohjelmiston julkaisukelpoisuutta. Testaamisen avuksi on kehitetty apuvälineitä, joita käyttämällä bugien löytäminen helpottuu ja joiden avulla pyrimme varmistamaan sen, että uudet versiot ovat aina vähintään yhtä laadukkaita kuin edelliset. Seuraavassa on esitetty yksi tapa, jolla testityökalut saa asennettua.

Tämä ohje ei ole kovin yksityiskohtainen. Esimerkiksi puuttuvien hakemistojen luontia ei ole erikseen mainittu. Ohjetta on toisinaan noudatettava soveltaen: Jos vaikkapa olet testaamassa uutta versiota libvoikosta, voit kääntää sen lähdekoodista johonkin väliaikaiseen hakemistoon ja ohjata testityökalut käyttämään tätä versiota muuttujien PATH ja LD_LIBRARY_PATH avulla tai testiskriptejä muokkaamalla. Jos taas olet testaamassa Suomi-malagaa, valmis paketoitu versio libvoikosta käy hyvin mikäli sellainen on saatavilla. Ympäristömuuttujien käyttöön, Voikon komponenttien välisiin riippuvuuksiin sekä Subversion-versionhallintajärjestelmään liittyvien asioiden ymmärtäminen helpottaa testausta huomattavasti.

  1. Asenna seuraavat ohjelmat tai ohjelmapaketit (ohjelmat on listattu Debian-pakettien nimien mukaan):

  2. Hae versionhallinnasta kaikki Voikon osat:

    svn co https://voikko.svn.sourceforge.net/svnroot/voikko/trunk ~/svn/voikko/trunk
    
  3. Lisää seuraavat rivit tiedostoon ~/.bashrc (tai muuhun sopivaan paikkaan):

    export PATH=$HOME/svn/voikko/trunk/tools/bin:$PATH
    export PYTHONPATH=$HOME/svn/voikko/trunk/tools/pylib:$PYTHONPATH
    
  4. Aseta Suomi-malagan kehitysversio Voikon oletussanastoksi:

    ln -s ~/svn/voikko/trunk/suomimalaga/voikko ~/.voikko
    cd ~/svn/voikko/trunk/suomimalaga
    make voikko
    
  5. Kun edellä mainitut vaiheet on suoritettu, voit varmistaa testiympäristösi toiminnan antamalla komennon voikkotest. Mikäli kaikki osat on asennettu oikein ja käytössäsi on tuorein testiversio libvoikosta, komennon pitäisi ilmoittaa että kaikki oikoluku- ja tavutustestit onnistuivat virheettömästi. Vanhan libvoikon käyttö saattaa aiheuttaa virheitä osassa testeistä, mutta ei yleensä kaikissa.

Suomi-malagan (ja libvoikon) testausohjeita kehittäjille

voikkotest sisältää kehittäjille suunnattuja lisäominaisuuksia. Jotta nämä toimisivat, on luotava hakemisto ~/tmp/voikkotest/ ja lisättävä sinne tiedosto wordlist.txt.gz, joka sisältää pakattuna vähintään 100 000 testisanan listan. Listassa kunkin sanan on oltava omalla rivillään. Sanat voi kerätä esimerkiksi Wikipediasta tai jostain muusta sopivasta lähteestä. Yleisimpien suomenkielisten sanojen olisi syytä olla mukana listalla, mutta se voi sisältää myös harvinaisia sanoja, kirjoitusvirheitä ja satunnaisia merkkijonoja. Näiden alkuvalmistelujen jälkeen kehitysprosessin aikana toimitaan seuraavasti:

  1. Päivitetään Suomi-malaga SVN:stä komennolla svn update.
  2. Suoritetaan komento voikkotest --base, jolloin nykyisestä versiosta tehdään kopio hakemistoon ~/tmp/voikkotest/ ja testisanalista oikoluetaan tämän version avulla.
  3. Tehdään halutut muutokset lähdekoodiin ja testataan ensin käsin, että muutos toimii. Jos kyse on koodimuutoksesta, lisätään sopivat testisanat (/trunk/tests/voikkotest).
  4. Juuri ennen kuin tallennetaan muutokset versionhallintaan, suoritetaan komennot voikkotest --current ja voikkotest --compare. Ensin mainittu komento suorittaa perustestit ja oikolukee testisanalistan uudelleen. Jälkimmäinen komento näyttää --base ja --current -ajojen välillä tapahtuneet muutokset testisanalistojen oikoluvussa. Jos tässä vaiheessa löytyy yllättäviä ongelmia, palataan vaiheeseen 3.
  5. Testatut muutokset ja muutokset testitiedostoihin tallennetaan versionhallintaan.

Suomi-malagan Voikko-version (SMV) julkaisukriteerit ja testimenetelmiä

Julkaisua edeltävän testauksen tavoitteena on varmistaa, että SMV täyttää seuraavat kriteerit:

  1. Oikeita sanoja tunnistetaan vähintään yhtä paljon kuin edellisessä vakaassa versiossa.
  2. Virheellisiä sanoja tunnistetaan korkeintaan yhtä paljon kuin edellisessä vakaassa versiossa.
  3. Yleisistä suomen kielen sanoista ei jää tunnistumatta sellaisia, jotka edellinen vakaa versio tunnisti.
  4. Nopeus satunnaisia merkkijonoja käsiteltäessä ei ole mitattavissa määrin hitaampi kuin edellisessä vakaassa versiossa.
  5. Nopeus oikeita suomen kielen sanoja käsiteltäessä ei ole mitattavissa määrin hitaampi kuin edellisessä vakaassa versiossa.
  6. Uusia virheellisesti tavuttuvia sanoja on merkittävästi vähemmän kuin uusia oikein tavuttuvia sanoja.
  7. SMV ei jumiudu tai muuten käyttäydy vakavia ongelmia aiheuttavalla tavalla millään sellaisella syötteellä, jonka se voi libvoikon kautta saada.
  8. SMV on joillakin edellisistä kriteereistä mitattuna sen verran edellistä vakaata versiota parempi, että uuden vakaan version julkaiseminen on mielekästä.

Näiden kriteerien testaamiseksi alla esitetyt testit on tehtävä viimeisimmälle vakaalle versiolle ja uusimmalle kehitysversiolle ja vertailtava tuloksia.

Kriteeriä 7 varten ei ole olemassa mitään helppoja testejä. Toisaalta Suomi-malagan tapauksessa tämän kriteerin toteutuminen aiheuttaa harvoin ongelmia, sillä ohjelmointikielenä Malaga ei edes mahdollista täydellisesti jumiutuvien tai kaatuvien ohjelmien kirjoittamista. Hyvin pitkiin analyysiaikoihin päätyminen on kuitenkin mahdollista. Kriteerin 8 toteutumisen pitäisi toivottavasti selvitä muiden testien suorittamisen yhteydessä.

Erityisesti on huomattavaa, että SMV:n (kuten muidenkin Voikon komponenttien) julkaisussa tavoitteena on pääsääntöisesti varmistaa, että uudet versiot ovat mitattavasti edellisiä parempia. Sitä, kuinka paljon versioiden välillä on milläkin osa-alueella edettävä ei ole määritelty. Tämän johdosta kehittäjät voivat keskittyä itseään kiinnostaviin alueisiin ja välttää liian sitovien tavoitteiden aiheuttaman stressin. Näyttäisi siltä, että noin kolmen kuukautta versioiden välillä on sopiva ohjeelliseksi julkaisuaikatauluksi, mutta tässäkin ratkaisut tehdään lopulta aina tilanteen mukaan.

Edellä listattujen menetelmien lisäksi käytössä on kehittäjätestausta varten skripti voikkotest, jonka tarkoituksena on varmistaa, että korjatut bugit pysyvät korjattuina myös myöhempien koodin uudelleenjärjestelyjen yhteydessä. Tästä skriptistä ei ole juurikaan hyötyä varsinaisessa testausvaiheessa muuten kuin varmistamaan, että testiympäristö on oikein asennettu.

Openoffice.org-voikon testaus

Openoffice.org-voikon testausta on vaikeaa helposti automatisoida. Perustoiminnallisuuden voi varmistaa valmiin testiasiakirjan avulla, mutta se ei (ainakaan toistaiseksi) kata kaikkia testausta vaativia alueita. Manuaalisessa testauksessa on tarpeen varmistaa ainakin puoliautomaattisen tavutuksen ja oikoluvun toiminta. Lisäksi pitää tarkistaa, että kirjoituksen aputyökalujen asetukset toimivat oikein.


Last update: $Id: testing.html 1996 2008-02-15 12:20:52Z tlikonen $