Esittely

Testausprofiili

Avain räätälöityyn ja tehokkaaseen aineistovalidointiin

Testausprofiili on käsitteemme useiden validointitoimintojen saumattomaan ketjuttamiseen. Se mahdollistaa täydellisen aineiston validoinnin, joka tarkistaa rakenteen, sisällön ja liiketoimintasäännöt yhdellä kertaa.

Testausprofiili kokoaa yhteen testauksen edellyttämät vaiheet, joilla rajataan aineiston sallittu sisältö ja tuetaan virheiden analysointia. Sen avulla palaute niputetaan yhdeksi yhdenmukaiseksi testausraportiksi. Testausprofiili koostuu kolmesta osasta: esikäsittelyvaiheet, testausvaiheet ja visualisoinnin asettelumallit.

Testausprofiileja on suotavaa luoda eri tasoisiin tarpeisiin maksimaalisen yhteentoimivuuden takaamiseksi:

Standardi:
Profiili sisältää standardoijan asettamat vaatimukset määritellyn sanomaformaatin käytölle.
Toimiala:
Profiili sisältää standardoijan asettamien rajoitteiden ohella toimialan erityisvaatimukset ja rajaukset sanomaformaatin käytölle.
Organisaatio:
Profiili sisältää sanomaformaatin yksityiskohtaiset erityisvaatimukset ja rajaukset aineiston vastaanottajan näkökulmasta.

1. Esikäsittelyvaihe

Testausprofiiliin voidaan lisätä esikäsittelyvaiheita, joilla tarkistettavaa aineistoa muokataan ennen varsinaista tarkistusta. Yleisiä esikäsittelytarpeita ovat kuljetuskehyksen poistaminen sekä sanoman rivittäminen, jolloin virheilmoitukset voidaan kohdistaa tietylle aineistoriville, tiettyyn tietoelementtiin.

2. Testausvaihe

Testausprofiili jaetaan joukkoon testausvaiheita, joiden määrä vaihtelee tarpeittain. Kustakin testausvaiheesta saadaan "hyväksytty/hylätty"-merkintä. Testausvaihe perustuu joko rakennekuvauksen mukaiseen tarkistukseen (DTD tai W3C XML Schema) tai testaussäännöstöön, johon kootaan joukko toisiinsa liittyviä tarkistuksia eli testaussääntöjä.

Kullekin testausvaiheelle määritellään kriittisyysaste, joka määrittää miten "hylätty"-merkintä vaikuttaa testin etenemiseen ja lopputulokseen:

Kriittinen:
Testausvaihe tulee läpäistä, jotta testausta jatketaan eteenpäin.
Pakollinen:
Testausvaihe tulee läpäistä, jotta testaus läpäistään hyväksytysti.
Suositus:
Testausvaihe, jolla informoidaan parhaista käytännöistä. Testin läpäisy ei edellytä suosituksia sisältävän testausvaiheen läpäisyä.

Testaussääntö

Liiketoimintasäännöt ja tekniset eheysvaatimukset voidaan määrittää testaussääntöinä. Yhteen testausvaiheeseen voidaan sisällyttää valittu määrän testaussääntöjä. Testausvaiheesta saadaan "hylätty" merkintä, mikäli aineisto ei läpäise kaikkia sen sisältämiä testaussääntöjä.

Testaussääntöjen avulla katetaan vaatimukset, joita skeematarkistus ei kata. Toisin sanoen skeema on vain lähtökohta aineiston validoinnille, ja yksityiskohtaiset kontekstisidonnaiset tarkistukset katetaan testaussääntöjen avulla. Tarvittavien testaussääntöjen määrä riippuu halutusta seulan tiheydestä sekä sanomaformaatin laaja-alaisuudesta.

Testaussääntökategoriat

Testaussäännöt voidaan karkeasti ottaen jakaa seuraaviin kategorioihin:

Tietojen toistuvuus:
Sanoman rakennekuvaus sisältää lähes poikkeuksetta valinnaisia tietoja, jotka käytännössä ovat pakollisia. Nämä "aukot" tulee tilkitä testaussäännöillä.
"Laskulla on eräpäivä."
Tietojen muoto:
Sanoman rakennekuvauksella on mahdollista asettaa joitain tietojen muotorajoituksia. Rakennekuvausten ilmaisuvoima on kuitenkin rajallinen. Esimerkiksi tunnisteisiin liittyy usein laskennallisia tarkistenumeroita, joiden oikeellisuutta ei rakennekuvauksella voida tarkistaa. On myös yleistä, että sanomaformaatti sallii useiden eri osapuolitunnisteiden käytön siten, että tunnisteen tyyppi yksilöidään tarkenteella (XML-attribuutilla). Tällaista tietojen riippuvuussuhdetta ei voida tarkistaa rakennekuvauksella vaan tarvitaan testaussääntö.
"Ostajan osapuolitunnisteena on Y-tunnus, joka esitetään muodossa nnnnnnn-n, missä viimeinen merkki on laskennallinen tarkistenumero."
Sallitut koodiarvot:
Sähköisessä tiedonvälityksessä yhteentoimivuutta edistetään usein välittämällä tietoja kooditettuina arvoina. Sallitut koodiarvot on mahdollista esittää joko testaussääntönä tai osana rakennekuvausta. Rakennekuvaukset ovat standardoijan määrittämiä, jolloin yksittäisen toimialan tai käyttäjän osalta kaikki standardoidut koodiarvot ovat harvoin tuettuina. Mikäli rakennekuvauksessa on määritelty kaiken kattava joukko koodiarvoja, voidaan testaussäännöillä tarkentaa, mitkä näistä ovat sallittuja kyseisessä tapauksessa, muuttamatta standardoitua rakennekuvausta.
"Maakoodi esitetään ISO 3166-1 alpha 2 koodiston mukaisesti. Esimerkiksi Suomen maakoodi on tällöin 'FI'."
Tietojen eheys:
Rakennekuvausten merkittävin puute on, ettei niillä voida määrittää tietojen välisiä riippuvuussuhteita. Siten teknisten ja liiketoiminnallisten sääntöjen kuvaaminen ei ole niiden avulla mahdollista, vaan tarvitaan testaussääntöjä. Yleisimpiä eheyteen liittyviä tarkistuksia ovat erinäisten summatietojen laskennallinen tarkistaminen.
"Laskulla määritelty verojen kokonaismäärä on täsmälleen sama kuin laskurivikohtaisten veromäärien summa."

Testaussäännöille voidaan asettaa esiehtoja, joiden avulla voidaan kuvata liiketoimintasääntöjen asettamia monimutkaisiakin sääntöjä. Testaussääntö suoritetaan, vain mikäli asetettu esiehto täyttyy. Tällöin voidaan asettaa tietyt säännöt koskemaan vain esimerkiksi tiettyjä osapuolia tai tiettyjä palveluprosesseja.

3. Visualisoinnin asettelumallit

Testausraportin tulkinnan tueksi voidaan lisätä asettelumalleja visualisointi- tai simulointitarkoituksiin. Esimerkiksi laskun tietosisältövirheiden tulkinnan tueksi voidaan tuottaa niin sanottu laskun kuva, jossa laskuaineiston tietosisältö esitetään sen paperimuotoa vastaavana HTML tai PDF tiedostona.