Tietokannat ja testaaminen

Samankaltaiset tiedostot
Tapahtuipa Testaajalle...

Onnistunut SAP-projekti laadunvarmistuksen keinoin

IIO10200 Tietokantaohjelmointi (4 op)

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

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

Visual Case 2. Miika Kasnio (C9767)

Lohtu-projekti. Testaussuunnitelma

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland

Järjestelmäarkkitehtuuri (TK081702)

Testidatan generointi

Project-TOP QUALITY GATE

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

Oracle ebs versionvaihto OUGF seminaari / Jyrki Koski Oy Abase Consulting Ab

Tietokantakurssit / TKTL

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

T Testiraportti TR-3. ETL-työkalu

Ohjelmiston testaus ja laatu. Testaustasot

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

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Data Warehouse kuulumisia

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT

Potilastietojärjestelmän laatu Mittaa ja paranna potilastietojärjestelmän laatua

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Tietokantojen hallinta

Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille

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

Onnistunut Vaatimuspohjainen Testaus

LINUX-HARJOITUS, MYSQL

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

Nomis asiakaspäivät Nomis HelpDesk 2.0 demo

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Toimittajan johtaminen projektissa. Esko Hannula Annikki Parviainen

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

Backup Exec 3600 Appliance

Oraclen syvin ydin. Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija. OUGF syysseminaari 2002 Sivu 1

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

Tietokantojen suunnittelu, relaatiokantojen perusteita

HELIA 1 (12) Outi Virkki Tiedonhallinta

Käyttöjärjestelmät. 1pJÄKÄ1 KÄYTTÖJÄRJESTELMÄN HALLINTA, 12 OSP

Automaattinen yksikkötestaus

SQL - STRUCTURED QUERY LANGUAGE

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

Valppaan asennus- ja käyttöohje

FYYSINEN SUUNNITTELU

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

Uutta Remote Support Platform 3.0 -versiossa

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

ohjelman arkkitehtuurista.

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

TAMFELT TAMELT. Tamfeltin Unicode-konversio

TIE Ohjelmistojen suunnittelu

Ohjelmiston toteutussuunnitelma

Käsiteanalyysi prosessina ja tarveanalyysi

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

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Testilaitteiston ja -järjestelmän esittely

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

CASE Varma Testauksen haasteet moniuloitteisessa testiympäristössä Tuukka Vähäpassi

Kari Aalto Saariston IT

Miten löydän Sen Oikean? Senaattoritilaisuus Liisa Paasiala, Senior Consultant

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

HAAGA-HELIA Heti-09 1 (17) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Suorituskyky

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

FYYSINEN SUUNNITTELU

Fyysinen suunnittelu

Testaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Lohdutus - tietokantadokumentti

Ohjelmisto-ominaisuudet:

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

TIE Ohjelmistojen suunnittelu

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

T Testiraportti TR-2. ETL-työkalu

Testauksen suunnittelu ja dokumentointi ketterässä testauksessa Tutkimustuloksia

Napa vertaistestaus TESTISESSIO-CHARTER. BetaTeam

TERADATAN JA SAS DI STUDION YHTEISELO CASE LÄHITAPIOLA

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Sopisiko testiautomaatio yritykseesi juuri nyt? Testiautomaation soveltuvuuden arviointiopas

Scrum is Not Enough. Scrum ei riitä. Ari Tanninen & Marko Taipale. Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.

Maiju Mykkänen Susanna Sällinen

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Muistitko soittaa asiakkaallesi?

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

T Testiraportti - järjestelmätestaus

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

KÄYTETTÄVYYSTESTAUS OSANA KETTERÄÄ KEHITYSTÄ

Dynaaminen analyysi I

Tutkittua tietoa. Tutkittua tietoa 1

KODAK EIM & RIM VIParchive Ratkaisut

Transkriptio:

Tietokannat ja testaaminen 24.4.2007 Mitro Kivinen Aihealueet Kehittämiseen liittyvä tietokantaorientoitunut testaus Tietokantalähtöisiä testausnäkökulmia Tietokanta suorituskykytestaajan näkökulmasta Asiaa testidatasta Testausautomaatioon liittyviä asioita Mitä apua testaajat tarvitsevat tietokantaammattilaisilta? 2 1

Johtava laadunvarmistuksen osaaja Ohjelmistojen laadunvarmistus ja testaus Keskittynyt ja riippumaton asiantuntijaorganisaatio Työllistää 50 ammattilaista Kannattavaa kasvua vuodesta 2002 Yksityisomistuksessa Toimisto Espoossa Autamme asiakkaitamme turvaamaan IT-investointien onnistumisen. 3 Ohjelmiston laatu on asiakkaillemme tärkeä menestystekijä 4 2

Mitro Kivinen Johtava konsultti, Qentinelissä yli 3 vuotta MBA 2001 (HKKK) IT tuotekehityksen johtaminen 1. Helian kokopäiväisesti opiskellut IT Tradenomi Tietokantasuunnittelu Takana paljon erilaisia alan töitä Sytyke Ry:n puheenjohtaja Mukana OUGF:n hallituksessa 1998-1999 5 Kehittämiseen liittyvä tietokantaorientoitunut testaus 3

Millainen on kehittäjä ja testaaja? Kehittäjät ovat keskenään hyvin erilaisia Näkökulmat ja osaaminen vaihtelee suuresti mm. koulutuksen, käytettyjen kielten, paradigmojen ja sovellusalueen mukaan Testaaja on kehittäjän pari ja testaajatkin osaavat keskenään hyvin erilaisia asioita Koodiorientoitunut testaaja, suorituskykytestaaja, käytettävyystestaaja, järjestelmätestaaja, integroija Tietokantaosaaminen ei ole oletusarvoista! 7 Mitä testaaja miettii, missä voi mennä vikaan? Transaktion ACID-periaate Olioiden persistenssi Suorituskykyasiat Scheman rakenne ei normalisoitu Ohjelmien omat olio-cachet Ketterästi kehittämällä TK asiat voivat unohtua Keskitytään tekemään nopeasti toimivaa Entäpä eheä tietokannan kokonaisratkaisu? TK näkökulma tarvitaan mukaan tiimiin! 8 4

Asetukset ja data samassa kannassa Useat varsinkin webbisovellukset tallentavat ohjelmien toimintaan vaikuttavat tiedot kantaan Vaihtoehto konfigurointien tallentamiselle esim. XML:nä Testaajan (ja käyttäjän) kannalta on yhdentekevää, onko kyseessä ohjelmointivirhe vai vika asetusdatassa Ohjelmoija on hyvin tarkka siitä, että kyseessä ei ole ohjelmavirhe Onko data enää dataa? Pitäisikö asetusdataa ajatella ohjelman ominaisuutena? 9 Tietokantalähtöisiä testausnäkökulmia 5

Relaatiokannan erikoisuudet Dataan liittyvät rajoitteet Primary key, Foreign key Unique ja muut Constraintit Trigger Tietokantaan kätketty ohjelmoitu toiminnallisuus on myös testattava Talletetut proseduurit ja funktiot Näkymiä luovat kyselyt Tietokantakäyttäjien oikeudet Monet sovellukset hallinnoivat itse käyttäjäoikeuksia Onhan edes sovelluksilla eri käyttäjätunnukset? Eihän UID/PWD ole kovakoodattu ohjelmakoodiin? Tietokantaihmisille tuttuja, kehittäjille ja testaajille outoa ja uutta 11 Yhteinen kieli: helpottavia ajattelumalleja CRUD taulu Kuka tai mikä ohjelma saa tehdä mitäkin kutakin tietoa / taulua / schemaa / tietokantaa koskien Datan tilasiirtymäkaaviot Mitä tiloja eri tiedoilla voi olla Dokumentoitu datan ja muotoilujen merkitys Taulut ja sarakkeet kommentoituja Taulut ja sarakkeet nimetty selväkielisesti 12 6

Dataan liittyviä erikoisuuksia, joista kehittäjillä ei ehkä ole hajuakaan Kuka / mikä sovellus omistaa yhteiskäyttöisen datan? Jos sama data useammassa kannassa, kuka vastaa synkronoinnista? Missä eri tietomuodoissa sama data voi esiintyä? Varchar2, text, mikä on näiden vastine eri ohjelmointikielissä Kenen vastuulla on konversio? Entä datan piilotettu merkitys? Miten eri rajapinnat (API:t, SOAP, SOA) käsittelevät sen datan, joka aikanaan tulee kantaan saakka? Onko sovelluksen merkistö yhteensopiva tietokannan asennuksessa valitun merkistön kanssa? 13 Muuta tietokantaan liittyvää testattavaa Asennus Valittava merkistö Tiedostojen sijainti levyllä Lokitiedostot, datatiedostot, indeksitiedostot Tukeeko RAID taso kohteen liiketoiminnallisia tarpeita? Käyttäjäoikeudet Suoritussuunnitelmat kyselyille Varmuuskopiointi ja palautus Jatkuva pääsy 24/7 Montako ysiä laitetaan? 4? 5? Hajautus ja sen ongelmat 14 7

Tietokanta suorituskykytestaajan näkökulmasta Www-saitit, joissa paljon käyttäjiä: 30% suorituskykyongelmista tuotannossa johtuu tietokannasta (40% sovelluspalvelimen ongelmia) Standish Group Suorituskyvyn mittaus Suorituskykytestaajat kuormittavat koko järjestelmää Usein vain käyttöliittymästä Tietokanta on musta laatikko Testaaja näkee yleensä käyttöjärjestelmän mittarit (cpu,disk,memory), mutta harvemmin kannan sisäistä toimintaa Roolit testaaja näkee että kannassa mättää jokin, mutta ei mikä DBA:n täytyy laittaa trace päälle oikeaan aikaan ajon aikana, jotta näkee ongelman Auttaa oikean tulkinnan tekemisessä 16 8

Normaalia ongelmatilanteessa... Kaikki syyttelevät toisiaan kuka saa mustan pekan tällä kertaa DBA:t ovat usein herkkänahkaisia kannassa se vika ei ole ainakaan Kuitenkin! Kuormitustestit ovat paras tapa poistaa suorituskykyongelmia ennen tuotantoon menoa Ainoa helppo tapa saadaan kannan/os parametrit kuntoon on kuormittaa kantaa realistisesti Ei siis väliä kenen vika! Kaikkien pitäisi hyötyä! 17 Tyypillisiä kantaongelmia suorituskykytesteissä Testiympäristön kantakone on mopo verrattuna tuotantorautaan täysi tuotantokanta täytyy kuitenkin asentaa Jos vielä laitetaan dataa vain 5% todellisesta, ei tuloksista ole paljoa iloa harvoin käytettävät rankat haut jää testaamatta kunnolla, kun keskitytään volyymihakuihin Yksittäinen kysely harvoin käytettävästä työkalusta lukitsee taulun ja kaikki 1000 käyttäjää odottelee parempia aikoja Alussa 3 sekuntia kestävä haku kertautuu 30 sekuntiin kun käyttäjämäärää nostetaan maksimimäärään levy tai cpu pullonkaulana. 18 9

Asiaa testidatasta Kuinka luoda testausaineisto Otetaan kopio tuotantokannasta Kokonaan tai osittain Tehdään erityiset poimintasäännöt Ei ehkä kata kaikkia testauksen kannalta tärkeää Rakennettu Ei ehkä ymmärretä kaikkea todellisen elämän monimutkaisuutta Populointi ohjelmilla, skripteillä, kopioimalla toisesta taulusta Vie aikaa Myös populointi pitää testata Automaation tarpeet 20 10

Testiaineiston käsittely Populointi Skripteillä vai ohjelmalla Virkistäminen Jokaisen testiajon jälkeen? Voiko testejä ketjuttaa? Suorituskykyasiat Pieni aineisto Suuri aineisto Varmistus ja palautus Kallista seisottaa testausta Riippuu automatisoinnin tasosta! Jos ketjutetaan ja eka testitapaus epäonnistuu, missä tilassa muut testit ovat? Testidatan pulaaminen edestakaisin syö paljon aikaa ja resursseja. 21 Testausautomaatioon liittyviä asioita 11

Mitä automatisoida? Tietokanta muodostaa hyvin luonnollisen kohteen testausautomaatiolle Helpot kohteet Testidatan asettaminen Testien tulosten automaattinen vertailu Testien siivoaminen Taustakuorman generoiminen Haasteelliset alueet Laajat testiautomaatiojärjestelmät Korkean käytettävyyden ja saatavuuden testit 23 Kuinka automatisoida Yksittäisten testien tarpeisiin Suorat SQL-skriptit Asettamiseen ja tulosten tutkimiseen Sovelluksen API:en kautta Koko kannan asettamiseen ja populointiin API ei riitä, teho ei ehkä riitä Poistetaanko indeksit? Erikoistyökaluja voi hyödyntää, mutta yksinkertaiset työkalut voivat auttaa pitkälle Excel? 24 12

Mitä apua testaajat tarvitsevat tietokanta-ammattilaisilta? Avuntarve pääasiassa teknistä Varmistukset ja palauttamiset Kantojen / Schemojen luonti Suoritussuunnitelmien analysointi TK Prof voi olla testaajalle kryptinen Tietokantakuvausten toimittaminen ER-mallin reverse engineering Lokitasojen asettaminen 26 13

Mitä apua voisi tarjota Osaaminen tietokantaelementtien merkityksestä Testimateriaalien generointi ja populointi Tietokannan fyysisen asentamisen järkevyyden analysointi Tietokannan mitoittaminen (tilanvarauslaskenta) Arkkitehtuurinen näkemys Mitä kaikkea kanta voisi tehdä sovelluksille Vaatia yhteiskäyttöisyyttä Testaussuunnitelmien katselmointia 27 Keskustelua ja kysymyksiä? 14

Yhteenveto Kehittäjät ja testaajat eivät välttämättä tunne tietokantoja Ohjelmistojen testaamisessa on paljon tietokantaa koskevia asioita Tietokantalähtöinen testaus on aivan oma näkökulmansa testaukselle Tietokannat tarjoavat hyvän luonnollisen testausautomaation liittymäkohdan Tietokantaihmiset voivat auttaa testausta ja toisinpäin 29 Yhteystiedot: info@qentinel.com Qentinel Oy Tekniikantie 14, 02150 Espoo www.qentinel.com LET THERE BE QUALITY 30 15