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-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.
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.
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
Käännä Suomi-Malaga komennolla:
cd ~/svn/voikko/trunk/suomimalaga make voikko
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
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ä:
Asennuspaketit uusimmista Voikon kehitysversioista käännetään seuraavilla komennoilla:
makevoikkodeb suomimalaga svn makevoikkodeb libvoikko svn makevoikkodeb ooovoikko svn makevoikkodeb tmispell svn
(Jos kääntämiseen tarvittavia muita paketteja ei ole koneelle asennettuna, makevoikkodeb kertoo tarvittavien pakettien nimet ja keskeyttää toiminnan. Kun olet asentanut pyydetyt paketit, aja komento uudelleen.)
Uusimpien kehitysversioiden lisäksi on myös mahdollista pyytää jokin tietty SVN-revisio normaaleilla SVN:n tavoilla eli esimerkiksi viittaamalla suoraan revisionumeroon tai antamalla tiettynä päivänä ja kellonaikana saatavilla ollut revisio:
makevoikkodeb suomimalaga svn 1372
makevoikkodeb suomimalaga svn {20070506T0930}
Lisäksi on mahdollista kääntää Debian-asennuspaketti valmiista lähdekoodipakettitiedostosta, joka on sijoitettu levylle tai web-palvelimelle, esimerkiksi
makevoikkodeb ooovoikko file openoffice.org-voikko-2.0.tar.gz makevoikkodeb tmispell url http://downloads.sourceforge.net/voikko/tmispell-voikko-0.6.1.tar.gz
Tällöin versionhallinnasta haetaan vain Debian-paketointiin liittyvät tiedostot.
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.
Asenna seuraavat ohjelmat tai ohjelmapaketit (ohjelmat on listattu Debian-pakettien nimien mukaan):
Hae versionhallinnasta kaikki Voikon osat:
svn co https://voikko.svn.sourceforge.net/svnroot/voikko/trunk ~/svn/voikko/trunk
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
Aseta Suomi-malagan kehitysversio Voikon oletussanastoksi:
ln -s ~/svn/voikko/trunk/suomimalaga/voikko ~/.voikko cd ~/svn/voikko/trunk/suomimalaga make voikko
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.
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:
Julkaisua edeltävän testauksen tavoitteena on varmistaa, että SMV täyttää seuraavat kriteerit:
Näiden kriteerien testaamiseksi alla esitetyt testit on tehtävä viimeisimmälle vakaalle versiolle ja uusimmalle kehitysversiolle ja vertailtava tuloksia.
Anagrammivoikkoa voi käyttää kriteerien 2 ja 4 testaamiseen. Myös kriteerin 1 toteutumisesta voidaan saada tietoa, jos testi suoritetaan riittävän pitkillä sanoilla. Komento anagrammivoikko sana1 sana2 sana3 ... listaa annettujen sanojen kaikki hyväksytyt anagrammit sekä kertoo, kuinka paljon aikaa anagrammien testaaminen vei. Pitkien sanojen käsittely vie paljon aikaa, mutta voi antaa arvokasta tietoa SMV:ssä olevista virheistä joita muilla menetelmillä olisi lähes mahdotonta löytää. Tästä syystä testi soveltuu erittäin hyvin niille, jotka haluavat auttaa Voikon kehityksessä prosessoriaikaa lahjoittamalla.
Pitkiä suomen kielen sanalistoja oikolukemalla voi testata kriteerejä 1 ja 5 sekä jossain määrin kriteeriä 3. Testikomennoksi käy vaikkapa time cat sanalista.txt | voikkospell | grep W: > virheet.txt.
Kriteeriä 3 (ja samalla kriteereitä 1 ja 5) voi testata samoin kuin edellä, jos käyttää valmiiden sanalistojen sijaan esimerkiksi suomenkielisessä Wikipediassa esiintyvien sanojen listaa. Tällaisia voi tehdä vaikkapa SVN:stä löytyvän työkalun wp-wordlist avulla (käyttöesimerkkejä skriptin kommenteissa).
Kriteeriä 6 voi testata vertaamalla komennon cat sanalista | voikkohyphenate tulostetta vanhalla ja uudella SMV:n versiolla.
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 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.