Helsingin yliopisto
Tietojenkäsittelytieteen laitos
Jari Alhonen
Kari Lehmussaari
Heli Lehtelä
Mikko Partanen
Sampo Sutela
Tapio Tiili
Helsinki, 12. joulukuuta 2001
Ohjaaja: Sami Sinipilkka
Asiakas: Suomen Sukututkimusseura
CRON | Unix-järjestelmissä käytössä oleva daemon, joka ajaa käskyjä tietyin aikavälein |
CRONTAB | Käyttäjäkohtainen cron |
DAEMON | Taustalla jatkuvasti toiminnassa oleva ohjelma. |
GEDCOM | GEnealogicalDataCOMmunication, sukututkimustietojen määrityskieli |
HTML | HypertextMarkupLanguage, WWW-sivujen sisällön kuvaukseen käytetty koodikieli |
HTTP | Internet protokolla, selaimen ja palvelimen viestintään |
JAVA | Sun Microsystems, Inc. (myöhemmin Sun) -yhtiön kehittämä ohjelmointikieli ja järjestelmäriippumaton ajoympäristö |
JAVADoc | Sun-yhtiön kehittämä Java-koodin dokumentointikieli |
JAVA2SDK | Sun-yhtiön kehittämä Java-ohjelmointiympäristö |
JDBC | JavaDatabaseConnectivity, Java-kielen rajapinta tietokantojen käyttöä varten |
JSP | JavaServerPages, dynaamisten HTML-sivujen tuottamiseen tarkoitettu koodikieli |
MySQL | Ilmaisjakelussa oleva tietokantaohjelmisto |
SERVLET | Palvelimella toimiva Java-sovelma |
SHELL | Komentotulkki |
Shell-skripti | Kokoelma peräkkäin ajettavia komentotulkin käskyjä, usein tiedostoon talletettuna. |
TOMCAT | Palvelinohjelmisto JSP-koodikielelle |
Testausdokumentti on jaettu neljään lukuun. Dokumentissa on esitelty tärkeimpiä testitapauksia, joilla järjestelmää on testattu.
Toisessa luvussa käydään läpi parseriin liittyviä virhetilanteita. Testauksessa on pyritty löytämään kattavasti erilaisia virhetilanteita. Tässä dokumentissa ei ole käsitelty kieliopillisesti oikeiden gedcom tiedostojen parserointia. Lisäksi parserin testauksessa on käyty läpi erilaisten konfiguraatioiden vaikutus ohjelmiston toimintaan.
Kolmannessa luvussa esitellään käyttöliittymän testausta. Testauksessa on käyty läpi tapauksia, joilla on tarkistettu käyttäjän tietojen hallinan, tutkimusten hallinan sekä tutkimuksiin kohdistuvien haukujen ja niistä seuranneiden tulosteiden virheettömyys.
Gedcom tiedostojen parserointi tuottaa asianmukaisia SQL-lauseita. Parserin tulee hylätä väärät Gedcom rakenteet.
Testitapaus: ' ja " merkkien käsittely:
Odotettu tulos: Kaikki lainaus ja heittomerkit käsitellään siten että niiden
eteen lisätään \-merkki, jotta ne voidaan syöttää ongelmitta MySQL tietokantaan.
Lähdetiedosto:
0 HEAD
0 @I1@ INDI
1 NAME 'Pekka Vilppu', Pekanpoika /Schneider/
1 SEX M
1 BIRT
2 PLAC "Villikkalassa", Elimäen
2 DATE 24 Apr 1768
1 DEAT
2 PLAC Pilkanmaalla, Iitin
2 DATE 24 Mar 1825
2 CAUS keuhkotautiin (lungsot)
1 SOUR @S1@
2 PAGE 514
0 TRLR
Saatu tulos:
INSERT INTO Incident VALUES(1,"0","I1","BIRT","\"Villikkalassa\", Elimäen","17680424","",1,1);
INSERT INTO Text VALUES(1,"2","1","CAUS",1,"keuhkotautiin (lungsot)");
INSERT INTO Incident VALUES(1,"1","I1","DEAT","Pilkanmaalla, Iitin","18250324","",1,2);
INSERT INTO Text VALUES(1,"3","S1","PAGE",1,"514");
INSERT INTO RefText VALUES(1,"S1","I1","3");
INSERT INTO Individual VALUES(1,"I1","\'Pekka Vilppu\', Pekanpoika /Schneider/","M");
INSERT INTO Contents VALUES(1,"I1","\'Pekka Vilppu\', Pekanpoika /Schneider/","\"Villikkalassa\", Elimäen","Pilkanmaalla, Iitin","17680424","18250324");
Testitapaus: Tyhjien rivien käsittely/tiedoston virheellinen loppu/rakenteellisesti
väärä gedcom lähdetiedosto):
Odotettu tulos: Parseri ei käsittele muita, kuin gedcom muotoista lähdemateriaalia.
Lähdetiedosto:
0 HEAD
0 @I1@ INDI
1 NAME 'Pekka Vilppu', Pekanpoika /Schneider/
1 SEX M
1 BIRT
2 PLAC "Villikkalassa", Elimäen
2 DATE 24 Apr 1768
1 DEAT
2 PLAC Pilkanmaalla, Iitin
2 DATE 24 Mar 1825
2 CAUS keuhkotautiin (lungsot)
1 SOUR @S1@
2 PAGE 514
Saatu tulos:
Ei tuota SQL käskyjä.
Lokitiedosto sisältää ilmoituksen:
[Faulty Gedcom Structure], Severity: Critical, |Linenumber: xx
Tietokantaan kirjoitetaan myös kyseinen ilmoitus.
Testitapaus: Testataan päivämäärän toimivuutta.
Odotettu tulos: Ohjelman tulisi ymmärtää kuukaudet kolmikirjaimisina lyhenteinä
englanninkielisistä kuukausien nimistä. Ne jotka eivät ole oikein hylätään.
Lähdetiedosto:
0 @I1@ INDI
1 NAME John Fitzgerald /Kennedy/
1 SEX M
1 OCCU President of the USA
1 BIRT
2 DATE 29 xyz 1917
2 PLAC Brookline, MA
1 DEAT
2 DATE 22 NOV 1963
2 PLAC Dallas, TX
1 BURI
2 PLAC Arlington National Cemetery, Virginia
1 NOTE MESSAGE LINE FOR JFK
1 FAMS @F1@
1 FAMC @F2@
Saatu tulos: =odotettu tulos
Testitapaus: Useampi peräkkäinen sama kenttä.
Lähdetiedosto:
0 @I4@ INDI
1 NAME Mary /MC LACHLAND/
1 NAME Very /MC LACHLAND/
1 SEX F
1 FAMS @F2@
Saatu Tulos:
INSERT INTO FamilyOrder VALUES(10","F2","I4",1);
INSERT INTO Individual VALUES(10,"I4","Very /MC LACHLAND/","F");
Lähdetiedosto:
0 @I2@ INDI
1 NAME Samuell /ARTUS/
1 SEX M
1 FAMS @F1@
1 NOTE This is a general note for Samuell ARTUS.
0 @I3@ INDI
1 NAME Sarah /MÄC DONNELL/
1 SEX F
1 BIRT
2 DATE 20 Mar 1745
2 PLAC Tyrväällä
1 BAPL
2 DATE 30 Jun 1978
2 TEMP OGDEN
1 ENDL
2 DATE 17 Aug 1978
2 TEMP OGDEN
1 FAMC @F2@
1 NOTE Batch #: 7808132, Sheet #: 40, Source Call #: 1126257
0 @I4@ INDI
1 NAME Héléné /MC Müller/
1 SEX F
1 FAMS @F2@
1 FAMC @F2@
1 FAMC @F4@
0 @I5@ INDI
1 NAME James /MC DONNELL/
1 SEX M
1 FAMS @F2@
Saatu tulos:
INSERT INTO FamilyOrder VALUES(10","F1","I2",1);
INSERT INTO Text VALUES(10,"0","I1","NOTE",1,"Batch #: M022485, Source Call #: 374449");
INSERT INTO FamilyOrder VALUES(10","F1","I2",2);
INSERT INTO Text VALUES(10,"1","I1","NOTE",1,"This is a general note for Samuell ARTUS.");
INSERT INTO Individual VALUES(10,"I1","Samuell /ARTUS/","M");
INSERT INTO Incident
VALUES(10,"2","I3","BIRT","Tyrväällä","17450320","","DATE",1);
INSERT INTO Text VALUES(10,"3","I3","NOTE",1,"Batch #: 7808132, Sheet #: 40, Source Call #: 1126257");
INSERT INTO Individual VALUES(10,"I3","Sarah /MÄC DONNELL/","F");
INSERT INTO FamilyOrder VALUES(10","F2","I4",1);
INSERT INTO Individual VALUES(10,"I4","Héléné /MC Müller/","F");
INSERT INTO FamilyOrder VALUES(10","F2","I5",1);
INSERT INTO Individual VALUES(10,"I5","James /MC DONNELL/","M");
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Testitapaus: Olemassa olevalla tunnuksella ja salasanalla sisäänkirjoittautuminen
Odotettu tulos: Syöttämällä tunnuksen ja salasanan oikein, kirjoittaudutaan
järjestelmään.
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Yksilöivä haku ja tulostus
Testitapaus: Haun kriteerit eivät vastaa järjestelmästä löytyviä yksilöitä
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Tulos: =odotettu tulos
Tulos: =odotettu tulos