Valikoidut tiedonsiirrot relaatiotietokantojen välillä

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis

Department

Major/Subject

Mcode

Language

fi

Pages

54

Series

Abstract

The purpose of this thesis was to propose a new method to provision test data. This new method was compared against other test data provisioning methods and new tools were developed to support this new method. This new test data provisioning method is called selective data transfer. In selective data transfer, testers select what parts of the production database they want to transfer to a test database. During the transfer, new data is copied from the production database to the test database, and data in the test database is refreshed. When data is refreshed, old data is updated to match the data in the production database. Data in the test database is deleted if that data is missing from the production database. In comparison to other test data provisioning methods, selective data transfers offer more freedom for testers to choose what data they want to transfer from the production database. The disadvantages of selective data transfers are the risk of having the test data leak in a data breach even if the test data is anonymized. Data taken from the production database using selective data transfers cannot be used to test changes to the structure of a test database. In addition, selective data transfers are not widely supported since the method is new. To support this new test data provisioning method, new tools were developed to support the two parts of the transfer. These tools were developed to work with any relational database. The first tool was developed to perform the copying phase of the transfer. The second tool was developed to perform the deletion of the extra data in the test database. These tools were tested against a few databases that represent different relational database structures. The copying tool copied the right rows with most of the databases. However, the copying tool could not copy the right rows with a database where the foreign keys form a cycle. The tool for deleting extra rows worked with all databases it was tested against. The deletion tool performed better than the copying tool in the tests because deleting extra rows is a simpler process. Overall, both tools worked with the usual database structures.

Tämän tutkielman tarkoituksena oli esitellä uusi tapa hankkia testidataa, verrata sitä muihin tapoihin hankkia testidataa ja kehittää työkaluja siirtojen toteuttamiseksi. Tämä uusi tapa on nimeltään valikoitu tiedonsiirto. Valikoidussa tiedonsiirrossa testaajat valitsevat, mitä osia tuotannon relaatiotietokannasta he haluavat tuoda testiympäristön tietokantaan. Testiympäristöön tuotu uusi tieto kopioidaan ja testiympäristössä jo oleva tieto tuoreistetaan. Tuoreistamisessa testiympäristön tiedot päivitetään vastaamaan tuotantoa, ja testiympäristössä olevat tiedot, jotka puuttuvat tuotannosta poistetaan. Muihin tapoihin verrattuna valikoidut tiedonsiirrot antavat testaajille paljon enemmän vapautta määritellä, mitä tietoja he haluavat tuoda tuotannosta ja milloin. Valikoitujen tiedonsiirtojen huonot puolet ovat tuodun tiedon vuotamisesta koituva riski, vaikka tiedot olisi anonymisoitu. Valikoitujen tiedonsiirtojen avulla tuodulla tuotannon datalla ei pysty testaamaan tietokannan rakenteen muutoksia. Lisäksi valikoidut tiedonsiirrot eivät ole yhtä hyvin tuettuja, koska menetelmä on uusi. Tämän menetelmän tukemiseksi tässä tutkielmassa kehitettiin kaksi työkalua, joiden tarkoitus oli pystyä toteuttamaan oma osansa siirrosta minkä tahansa tietokannan kanssa. Ensimmäisen työkalun tarkoituksena oli toteuttaa siirron kopiointi, ja toisen tarkoituksena oli toteuttaa siirron tuoreistamiseen kuuluva ylimääräisten rivien poisto. Näitä työkaluja testattiin muutamaa esimerkkitietokantaa vasten, jotka kuvastivat eri tietokantarakenteita. Testauksen perusteella kopiointityökalu onnistui kopioimaan oikeat rivit kaikissa tietokannoista paitsi kannassa, jossa viiteavaimet muodostivat syklin. Poistamistyökalu toimi kaikkien tietokantojen kanssa. Kopiointi- ja poistotyökalujen välinen ero kyvyssä toimia erilaisten tietokantojen kanssa johtuu siitä, että ylimääräisten rivien poistaminen on yksinkertaisempi prosessi. Kokonaisuudessaan työkalut toimivat yleisimpien tietokantarakenteiden kanssa.

Description

Supervisor

Vuorimaa, Petri

Other note

Citation