Testidatan generointi



Samankaltaiset tiedostot
RADAR - RANDOM DATA GENERATOR

Visual Case 2. Miika Kasnio (C9767)

Maiju Mykkänen Susanna Sällinen

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Excel-lomakkeen (syöttötaulukko) käyttäminen talousarvio- ja suunnitelmatietojen toimittamisen testaamisessa Kuntatalouden tietopalvelussa

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

SYÖTTÖPOHJA LUKUJEN SYÖTTÖÖN ERI TARKOITUKSIIN

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

IIO30200 TIETOKANNAN HALLINTA (5 OP)

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

INTINU13A6 Java sovellukset

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

TIETOKANNAN SUUNNITTELU

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

IIO30100 Tietokantojen suunnittelu (6 op)

Selvitysraportti. MySQL serverin asennus Windows ympäristöön

SQL Buddy JAMK Labranet Wiki

Projektinhallintaa paikkatiedon avulla

IIO30200 Tietokannan hallinta (5 op)

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA. Jarkko Kähkönen

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

LINUX-HARJOITUS, MYSQL

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Visma Business AddOn Tositteiden tuonti. Käsikirja

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Lohtu-projekti. Testiraportti. Versiohistoria: syklin toteutuksen testit. 1. ajo Virve

Aditro Tikon versio 6.2.0

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

IIO30100 Tietokantojen suunnittelu (6 op)

HAME PostGIS-tietokanta

Microsoft SQL Server -tietokannan hallinta. Jouni Huotari

IIO10200 Tietokantaohjelmointi (4 op)

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjeistus pöytäkirjan käyttöön. Suomen Lentopalloliitto ry

Testauspäivä Hannu-Matti Järvinen

Tulorekisteri: Erillisilmoitus Visma Fivaldi

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Tapahtuipa Testaajalle...

Maha Eurosystem jarrulaskentaohjelman asennusohje versio

Psoriasisliitto Nettijäsenrekisterin Koulutustilaisuus Nettijäsenrekisterin ohje

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

StatCrunch -laskentasovellus

Visma Fivaldi. Ohjeet Java web startin ja HTML5-työkalun aktivointiin

Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Visma Liikkuvan työn ratkaisut

Kontrollipolkujen määrä

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

Uutta Remote Support Platform 3.0 -versiossa

Visma Software Oy

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Maanmittauslaitoksen nimistö Spatialite-tietokantana. - kuvitettu ohje Quantum GIS ohjelmaa varten

Visma Business AddOn Tilauksen synkronointi. Käsikirja

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

OpenOffice.org Base 3.1.0

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä

Raporttiarkiston (RATKI) käyttöohjeet Ohjeet

MetaEdit+ -ohjelmiston soveltuvuuden arviointi

Visma Fivaldi rajapinnat Visma Payroll aineistojen tuonti Fivaldiin Pyroll maksuaineiston ja kirjanpitoaineiston tuonti Fivaldi - sovelluspalveluun

Interfacing Product Data Management System

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

Tiedonkeruun tekninen toteutus

Fakta versio Forecast versio

Visma Nova. Visma Nova ASP käyttö ja ohjeet

17 BUDJETOINTI. Asiakaskohtainen Budjetti Ylläpito-ohjelma. Dafo Versio 10 BUDJETOINTI. Käyttöohje. BudgCust Yleistä

Helsingin yliopisto, TKTL Tietokantojen perusteet, s 2000 WWW-tietokantasovellukset Harri Laine 1. vapaamuotoiset tiedot

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE:

ARVI-järjestelmän ohje arvioinnin syöttäjälle

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

1 (5) PALVELUKUVAUS JA HINNASTO Requeste palvelut

Juha Peltomäki JAMK/Teknologia

Onnistunut Vaatimuspohjainen Testaus

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Visma Business AddOn Factoring-laskuaineisto. Käyttäjän käsikirja

T Testiraportti TR-3. ETL-työkalu

BORIS 2. Järjestelmän rajapinnat. Samuli Neuvonen, SYKE Rajapinnat tehokäyttöön -seminaari

KIURU Tietotekniikan sovellusprojekti

Tikon Web-sovellukset

ARVI-järjestelmän ohje arvioinnin syöttäjälle

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

T Testiraportti TR-2. ETL-työkalu

Tulorekisteri: Vakuuttamisen poikkeustilanteet Visma Fivaldi

Lohtu-projekti. Testaussuunnitelma

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

Ohjelmointi 1 / syksy /20: IDE

Lomapalkat: Käsittely palkanlaskennassa. Visma Fivaldi

Relaatiomalli ja -tietokanta

Transkriptio:

Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT)

1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI OHJELMALLISESTI...2 2.1 EMS Data Generator for SQL Server 2.3...3 2.2 Data Generator...3 3 TESTIDATAN GENEROINTI...4 3.1 Generointi EMS Data Generatorin avulla...4 3.2 Generointi online Data Generatorin avulla...7 4 YHTEENVETO...9 LÄHTEET...10

2 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS Tämä selvitysraportti on osa Jyväskylän ammattikorkeakoulun Tietokannan hallintaopintojaksoa. Opintojakso on osa laajempaa tietokantoihin liittyvää kokonaisuutta, jonka puitteissa suunnitellaan ja toteutetaan tietokanta prototyypiksi asti. Raportin tarkoituksena on keskittyä jonkin tietokannan toteutukseen tai hallintaan liittyvän teeman tarkasteluun ja esitellä se pääpiirteissään. Tehdessäni tietokantaa Tietokannat-opintokokonaisuuteen, esiin nousi käytännön ongelma, joka liittyi testidatan generoimiseen tekeillä olevaan tietokantaan. Koska olin jo aiemmin saanut selvitysraportin aiheeksi tietokannan testauksen, päätin rajata sitä käsittämään nimenomaan testidatan generoinnin tietokantaan ohjelmallisesti. Tutkimus suoritettiin generoimalla dataa MS SQL Server -tietokantaan kahdella eri ohjelmalla. Toinen ohjelmista oli Open Source -pohjaisen Data Generatorin (www.generatedata.com) online-demo ja toinen EMS Data Generator for SQL Server 2.3 (http://wareseeker.com/download/ems-data-generator-for-sql-server- 2.3.rar/269710), josta oli käytössä 30 päivän ilmainen kokeiluversio. Molemmissa käytetyissä generaattoiressa oli kerralla generoitavan datan maksimimäärä rajattu täydestä versiosta. 2 TESTIDATAN GENEROINTI OHJELMALLISESTI Tietokannan testaus on prosessi, jota tehdään koko prosessin ajan aina suunnitteluputken alusta sovelluksen käyttöönottoon. Testaus testidatan avulla tulee aiheelliseksi siinä vaiheessa, kun halutaan saada nopeasti tietoa tietokantaan esimerkiksi prototyypin testaamista varten tai kun halutaan generoida suuret määrät dataa tietokannan suorituskyvyn testaamiseksi. Useimmissa tapauksissa riittää, että tietokantaan syötetään tietoja manuaalisesti. Tämä on kuitenkin hidasta ja aikaa vievää, varsinkin jos tauluja ja niiden ominaisuuksia on

3 paljon, ja syntyvän datan määrä suhteessa käytettyyn aikaan on vähäinen. Tällainen manuaalinen tiedon syöttö on perusteltua silloin, kun halutaan sovellusta hyvin karkealla tasolla tai kun tiedetään, ettei tietokannan todellisista tietomääristä puhuttaessa puhuta kuin muutamista sadoista tai korkeintaan tuhansista tiedoista. Kymmenien tuhansien tai miljoonien tietojen syöttäminen ohjelmaan käsin on mahdotonta. Jos halutaan esimerkiksi testata tietokannan suorituskykyä suurilla käyttäjämäärillä, on tietokantaan syötettävä tietoa paljon ja nopeasti. Tällöin testidatan generoiminen ohjelmallisesti on perusteltua ja oikeastaan ainoa mahdollinen järkevä ratkaisu. 2.1 EMS Data Generator for SQL Server 2.3 EMS Data Generator on väline, jolla voidaan generoida dataa useampaan SQL Server -tietokannan tauluun kerralla. Ohjelman julkaisija on EMS Software Development ja se on saatavilla 30 päivän kokeiluversiona esimerkiksi osoitteesta: http://wareseeker.com/download/ems-data-generator-for-sql-server-2.3.rar/269710. Ohjelmasta on saatavana myös täysi versio hintaan $65. Kokeiluversion ominaisuuksia on rajoitettu siten, että kerralla generoitavan datan maksimimäärä on 100 riviä. 2.2 Data Generator Data Generator on Black Sheep Web Softwaren Open Source -pohjainen datageneraattori, jonka käyttöön on kolme eri mahdollisuutta. Käyttäjä voi joko a) käyttää online-demoa, jonka avulla on mahdollista generoida HTML, Exel XML, CSV tai SQL (MySQL) -skripti, joka luo maksimissaan 200 riviä yhteen tauluun kerrallaan. b) ladata täysillä ominaisuuksilla varustettu versio itselleen. Vaatimuksina on MySQL 4+, PHP 4+ ja mikä tahansa Java Scriptiä tukeva selain.

4 c) lahjoittaa $20 ja saada itselleen käyttäjätili. Tililliset käyttäjät saavat generoida online-generaattorilla kerralla jopa 5000 tietuetta ja mahdollisuuden tallettaa asetuksiaan yhdeksi vuodeksi. 3 TESTIDATAN GENEROINTI 3.1 Generointi EMS Data Generatorin avulla EMS Data Generatorin avulla datan generointi tehdään neljän vaiheen kautta. Ensimmäisessä vaiheessa (Kuvio 1) määritellään käytettävä SQL Server-yhteys ja autentikointi. Tools-valikon alta saadaan näkyviin Preferences-välilehti, jolla on generointiin liittyvät asetukset. Tällaisia asetuksia ovat muun muassa generoitavien rivien määrän valinta ja tyhjennetäänkö tietokannan taulut ennen generointia. Kuvio 1 SQL Server -yhteyden määritys

5 Yhteyden määrittämisen jälkeen valitaan käytettävä tietokanta ja taulut, joihin dataa halutaan generoida (Kuvio 2). Ohjelma lukee tietokannan kuvauksen ja kertoo, missä järjestykset tiedot tulee tauluihin generoida, jotta tietojen kirjoittaminen tietokantaan onnistuu. Kuvio 2 Tietokannan ja taulujen valinta Kolmannessa vaiheessa (Kuvio 3) valitaan tauluista ne kentät, joihin halutaan tuottaa tietoja ja valitaan kenttäkohtaisesti generointia ohjaavat asetukset halutunlaisiksi. Generointitapa voi olla sattumanvarainen, inkrementaalinen, generoitava data voidaan lukea SQL-kyselyn avulla tai voidaan syöttää halutut arvot listaan, josta ne edelleen luetaan tietokantaan joko sattumanvaraisessa tai listan mukaisessa järjestyksessä. Kenttään saadaan generoitua myös null-arvo siten, että esimerkiksi 30 % tietyn ominaisuuden kentistä jää vaille arvoa. Generoitavan datan muotoa voidaan ohjata erilaisilla parametreilla. Generoitavalle tiedolle voi määrittää generointitavasta riippuen minimi- ja maksimipituudet sekä aloittava ja lopettava merkki. Tieto voidaan myös muodostaa maskin avulla, jolloin

6 voidaan määrittää esimerkiksi char(5)-tyyppinen Postinumero-kenttä koostumaan pelkästään numeroista. Kuvio 3 Kenttien valinta ja käytettävien parametrien asetukset Neljännessä vaiheessa tieto generoidaan tietokantaan annettujen sääntöjen mukaisesti (Kuvio 4). Jos generoinnin aikana tulee virheitä, siitä tuli selkeä ilmoitus Generation Logiin.

7 Kuvio 4 Tietojen generointi tietokantaan 3.2 Generointi online Data Generatorin avulla Data Generaattorin online demo toimii selaimessa (Kuvio 5). Tietojen generointi sillä on yksivaiheinen. Vaihtoehdoista valitaan missä muodossa(html, XML, SQL jne.) tulos halutaan ja montako riviä generoidaan. Generaattorille syötetään tietokannan taulun nimi, datatyyppi, valitaan valmiista esimerkeistä minkä näköistä tietoa halutaan (Kuvio 6) ja otetaan kantaa mahdollisiin lisävalintoihin. Lisäksi skriptiin voidaan sisällyttää taulujen perustamiskäsky, kunhan annetaan perustettavan taulun nimi. Lopuksi painetaan Generate.

8 Kuvio 5 Tietojen syöttäminen Data Generatoriiin Kuvio 6 Generoitavan datan muotoilu Lopputuloksena saadaan SQL-skripti, joka voidaan sitten ajaa tietokantaan komentorivin tai graafisen tietokannan hallintajärjestelmän (esim. SQL Server Management Studio) kautta. Huomioitavaa on, että SQL-skripti on tehty MySQL:lle. Tällä tosin on merkitystä vain, jos generoidaan myös taulujen perustamiskäskyjä pelkkien INSERT INTO lauseiden lisäksi.

9 Kuvio 7 Data Generatorin tekemä SQL-skripti (MySQL) 4 YHTEENVETO EMS Data Generator on monipuolinen ja helppokäyttöinen ohjelma. Suurin haitta on lähinnä se, että generaattorin avulla syntyvät tiedot kuten nimi tai osoite ovat kaikki samanlaista kirjainmerkkien sekamelskaa ellei tietoja muodosteta käyttäjän itse syöttämästä listasta tai lueta esim. jostain toisesta taulusta. Tosin tämäkin ongelma on lähinnä vain kosmeettinen sillä tiedot ovat valmiita haettavaksi esimerkiksi SELECTlauseilla. EMS Data Generator on erinomainen jos generoitavan tiedon määrä on tärkeämpää kuin sen laatu. Data Generaattorin online demolla saadaan helpommin oikean näköistä dataa eli nimet näyttävät nimiltä ja osoitteet osoitteilta. Sovelluksessa ei ole yhtä paljon erilaisia säätömahdollisuuksia, mutta sillä saadaan helposti aikaiseksi yleisimmät tarvittavat tiedot (nimi- ja osoitetiedot, päivämäärät jne.) ja ne näyttävät oikealta. Suurin puute on se, ettei demoversiolla voi generoida kuin 100 riviä kerrallaan, mutta pienimuotoiseen testaukseen sovellus on mitä loistavin.

10 LÄHTEET EMS Data Generator For SQL Server. Viitattu 3.4.2008. http://wareseeker.com/download/ems-data-generator-for-sql-server-2.3.rar/269710. The Data Generator. Online demo. Viitattu 3.4.2008. http://www.generatedata.com/.