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
- Laura - IT BUSINESS PARTNERING DIRECTOR
- Laura - Data Engineer
- Laura - Datainsinööri, tietohallinto
- Laura - Ohjaaja media- ja it-tiimi / oppisopimus
- Laura - Kesätyöpaikat IT-ala
- Frends iPaaS - Technical Community Manager
- Druid Oy - Myyjä - hunter-henkinen tekijä, joka saa tuloksia aikaiseksi!
Premium-asiakkaiden viimeisimmät referenssit
- Maxtech - Muonion kunta modernisoi työajanseurantansa Maxtechin järjestelmällä
- Identio Oy - Identio x Svenska litteratursällskapet i Finland - Täsmäosaamista modernin sisällönhallintajärjestelmän kehittämiseen
- Hellon - Redefining Digital Insurance for Vodafone
- Agenda Digital - Fican.fi WordPress-verkkosivut
- Red & Blue Oy - Taivalkosken uusi saavutettava ja erottuva verkkopalvelu
- Hion Digital Oy - Vauvan ja vanhemman matkassa – Verkkosovellus, jonka sisältö mukautuu elämäntilanteeseen
- Verkkovaraani Oy - Uudet kotisivut Talin ja Ruusulan keilahalleille
Tapahtumat & webinaarit
- 15.01.2025 - Datavastuullisuuden valmennus: hanki valmiudet vastuulliseen datan ja tekoälyn hyödyntämiseen
- 15.01.2025 - SaaS-klubi: Myyntivetoinen kasvu
- 23.01.2025 - Generatiivisen tekoälyn hyödyt liiketoimintajohtajalle
- 29.01.2025 - Modern toolchain and AI breakfast seminar with Eficode, AWS and HashiCorp
- 30.01.2025 - Suuri Rahoitusilta
Premium-asiakkaiden viimeisimmät bloggaukset
- Maxtech - Avainta TES -muutokset ja niiden hallinta: Näin Maxtech voi auttaa
- Vetonaula Oy - Windows 10:n tuen päättyminen: mitä yrityksesi tulisi tietää?
- SC Software Oy - Koodia ihmiseltä ihmiselle jo 10 vuotta
- Aveso Oy - Kestävää tulevaisuutta rakentamassa teknologian avulla – IFS ESG-työkalut integroituna järjestelmään
- Identio Oy - Web Applications: How We Build Minimum Lovable Products in 2025 – Launching the Product
- Kisko Labs Oy - Ideasta innovatiiviseksi ohjelmistoksi ja menestyväksi liiketoiminnaksi
- Timeless Technology - Tempmate dataloggerit äärimmäisten lämpötilojen mittaamiseen.
Digitalisaatio & innovaatiot blogimediaBlogimediamme käsittelee tulevaisuuden liiketoimintaa, digitaalisia innovaatioita ja internet-ajan ilmiöitä |