Schematron-aineistotestaus – mitä ja miksi?
Schematronin avulla voidaan määrittää sääntöpohjaisia tarkistuksia XML-aineistoille. Se ei korvaa vaan täydentää aineistojen skeema- eli rakennetarkistusta. Schematron perustuu XPath-kieleen tarkistussääntöjen määrittelyn osalta.
EU-verkkolaskudirektiivin myötä verkkolaskujen vastaanottajat ovat 1.4.2020 alkaen voineet edellyttää lähettäjiltä EU-normin mukaisia laskuja. Teknisellä tasolla nämä vaatimukset kuvataan Schematron-tiedostona. Mikäli verkkolasku ei läpäise Schematron-tarkistusta, se palaa bumerangina takaisin.
Skeematarkistus on huono laadun mittari
Perinteisesti aineiston lähettäjä on voinut testata lähettämänsä aineiston laadun skeematarkistuksen avulla. Mikäli aineisto on läpäissyt tarkistuksen, on aineiston katsottu olevan riittävän laadukas välitettäväksi eteenpäin.
Skeema ottaa kuitenkin ensisijaisesti kantaa vain aineiston rakenteeseen ja mahdollisesti sisällön pituus- ja koodirajoituksiin. Skeeman ilmaisuvoima on hyvin rajallinen ehdollisuuksien ja eheystarkistusten osalta. Nämä voidaan suurelta osin kattaa Schematronin avulla.
Schematron mahdollistaa sääntötarkistukset
Toisin kuin skeema, Schematron ei ota lainkaan kantaa aineiston rakenteeseen. Sen roolina on määrittää tietojen eheyteen liittyvät vaatimukset sääntötarkistusten avulla. Tyypillisiä eheystarkistuksia ovat erilaiset summatarkistukset, päivämäärien vertailu sekä ehdolliset pakollisuudet ja muotovaatimukset. Schematron ei siis korvaa skeematarkistusta (W3C XML Schema), vaan täydentää sitä.
Miksi Schematronia tarvitaan?
Yritys-, toimiala- ja maatason aineistovaatimukset on perinteisesti julkaistu uuvuttavan pitkinä soveltamisohjeina. Niitä toki tarvitaan, mutta kukin toteuttaja luo niistä oman tulkintansa. Vaikka kaikki ovat mielestään toimineet oikein, ratkaisut eivät silti toimi yhteen. Kuulostaako tutulta? Schematron mahdollistaa dokumentoitujen vaatimusten esittämisen teknisinä tarkistuksina, jotka asettavat minimivaatimukset kaikille standardin mukaisille toteutuksille.
Usein eheys- ja sisältövaatimukset tarkistetaan vasta luettaessa aineisto vastaanottavaan järjestelmään. Kun aineistossa havaitaan virheitä, päätyy se virhekäsittelyyn, jolloin joko tiedot täydennetään manuaalisesti tai lähettäjälle palautetaan virheilmoitus. On sanomattakin selvää, että tähän tuhlaantuu paljon aikaa ja resursseja. Lisäksi vastaanottavan järjestelmän tuottama virhepalaute on usein epämääräinen, kuten ”virhekoodi 6”. Tällöin jää epäselväksi mikä kohta aineistossa tulisi korjata, jotta virheeltä vältyttäisiin jatkossa.
Schematronin hyödyt
Schematronin avulla suurin osa eheys- ja sisältövaatimuksista voidaan julkaista muodossa, jota voidaan käyttää aineistojen testaamiseen jo lähettävässä päässä. Tällöin valtaosa virheellisistä tiedostoista ei koskaan päädy vastaanottajan järjestelmään.
Miksei sitten Schematronia ole juurikaan käytetty aiemmin XML-sanomien tarkistamiseen? Kyse on yleensä tietämättömyydestä, mutta toki selityksiäkin löytyy, kuten ”Schematronin avulla ei voida testata kaikkia aineistovaatimuksia, koska osa tarkistuksista liittyy taustajärjestelmän tietoihin”. So what? Jos lähes poikkeuksetta yli 80% vaatimuksista voidaan esittää Schematronin avulla, niin eikö olisikin mahtavaa, jos näin suuri osuus tarkistuksista voitaisiin suorittaa jo lähettävässä päässä? Suurin osa virhetilanteista ei tällöin kuluttaisi lainkaan vastaanottajan resursseja. Lähettäjäkin saisi virheistä välittömän palautteen ja voisi ryhtyä heti toimiin niiden korjaamiseksi.
Schematronin puutteet
Schematron-tarkistus tuottaa teknisen palautteen kuten skeematarkistus. Palautteena saa XML-muotoisen testausraportin, josta ilmenee suoritetut tarkistukset ja löydetyt virheet. Kukin virheilmoitus sisältää vaatimuksen selkokielisen kuvauksen, virheellisen elementin polkumäärityksen sekä tarkistussäännön teknisen toteutuksen eli litanian ”XPath-koodia”. Haasteena on, että muun muassa summatarkistusten osalta ei useinkaan saa selvyyttä, onko kyse sentin pyöristysvirheestä vai suuremmasta laskennallisesta ongelmasta. Tämä puute on ilmeinen esimerkiksi CEN434:n julkaisemissa EU-verkkolaskudirektiivin mukaisissa Schematron-tarkistuksissa. Schematron-virheilmoitus ei myöskään sisällä virheellisen elementin rivinumeroa, jolloin virheen paikantaminen on hakuammuntaa etenkin suurten aineistojen osalta.
Schematron-testaus soveltuu siis mainiosti automatisoituun testaukseen, kun halutaan varmistaa, että aineisto täyttää määrätyt vaatimukset. Virheiden paikantamiseen ja korjaamiseen se on kuitenkin sellaisenaan turhan tekninen ja karkea työkalu.
Truugo + Schematron - täydelliset yhdessä
Truugoon voidaan luoda testipenkki, joka kattaa Schematron-tarkistukset. Tällöin samat testit voidaan suorittaa sekä tuotantoympäristössä että itsepalveluna. Truugon avulla testaaja pystyy paikantamaan ja korjaamaan virheet nopeammin ja helpommin ilman erityistyökaluja ja -osaamista. Truugo tuottaa selkeän testausraportin, jonka kustakin virheilmoituksesta pääsee linkin kautta suoraan aineiston virheelliseen kohtaan. Monimutkaisimmatkin tarkistukset voidaan pilkkoa osiin, jolloin esimerkiksi summatarkistusten osalta nähdään välittömästi, minkä suuruusluokan ongelmasta on kyse.
Truugon avulla käyttöönottojen testaus helpottuu ja nopeutuu huomattavasti. Truugon API-rajapinnan avulla myös virheellisistä tuotantoaineistoista voidaan tuottaa välittömästi selkokielinen testausraportti ongelman ratkaisemiseksi.
Lisätietoja
Tagit
Liiketoimintaprosessi
Tietohallinto |
Erikoisosaaminen
Pilvipalvelut / SaaS |
Toimialakokemus
IT | |
Kauppa | |
Kuljetus, liikenne ja logistiikka |
Tarjonnan tyyppi
Valmisohjelmisto |
Omat tagit
Netum Group - Asiantuntijat ja yhteyshenkilöt
Netum Group - Muita referenssejä
Netum Group - Muita bloggauksia
It- ja ohjelmistoalan työpaikat
- IsoSkills Oy - Open application: Data Engineer, Finland
- Nordea - Sr IT Analyst - Adobe/SAS Marketing Automation
- Nordea - Senior IT / Business Analyst with technical background - Finland, Nordea Payments
- Nordea - Senior IT Analyst, Finnish language required
- Laura - DevOps Engineer
- Aveso Oy - ERP tekninen projektipäällikkö
- Aveso Oy - IFS ERP -konsultti
Premium-asiakkaiden viimeisimmät referenssit
- Druid Oy - International House Turku: Ajanvarauspalvelu
- Symbio - Taxi Point Oy
- Valve - Helsingin yliopiston ylioppilaskunnan verkkopalvelun siirto WordPressiin
- Valve - Eezy Valmennuskeskuksen verkkokauppa-uudistus
- Valve - Danonen Nutricia ja Aptaclub -brändien sivustot
- Hellon - Identifying growth opportunities with global Moomin fans
- Hellon - Award-Winning Inclusive Customer Experience for Northern
Tapahtumat & webinaarit
- 13.11.2024 - Rakettiwebinaari: ohjelmistotestaus ja sen tulevaisuus
- 14.11.2024 - RoimaDay 2024
- 14.11.2024 - Verkkolaskufoorumin syysseminaari 2024
- 19.11.2024 - The Future of Software - Embracing Collaboration in an AI-Powered World
- 27.11.2024 - Green ICT -ekosysteemitapaaminen III: Ohjelmistojärjestelmien virrankulutuksen mittaaminen ja kasvihuonepäästöjen arviointi
- 27.11.2024 - Webinaari: Digitaalisen asiakaskokemuksen uusi aikakausi
Premium-asiakkaiden viimeisimmät bloggaukset
- Innofactor Oyj - Tunnista ja digitalisoi hiomattomat prosessit Power Platformin avulla
- SD Worx - Oletko etuoikeutettu työskentelemään jonkin asian parissa, jolla on todellinen tarkoitus ja merkitys?
- SD Worx - HR ja tekoäly – usein kysytyt kysymykset
- Timeless Technology - Verkon luotettavuuden varmistaminen: Ota käyttöön Perle Systemsin teollisuustason 4G ja 5G reitittimet!
- Efima Oyj - Hyvästi turhat klikkailut: Näin moderni järjestelmä tehostaa myyntityötä erikoistavarakaupassa
- SC Software Oy - SC Softwaren uratarinat: Joel Ollikainen, konsultti
- Softlandia Oy - Sovelletun tekoälyn insinöörien esiinmarssi ja tekoälyosaamisen muutos
Digitalisaatio & innovaatiot blogimediaBlogimediamme käsittelee tulevaisuuden liiketoimintaa, digitaalisia innovaatioita ja internet-ajan ilmiöitä |