Testid on täidetud, tulemused on hinnatud arusaadavalt. 3.10 Mittefunktsionaalsed testid Projektis projekteeritud mittefunktsionaalsed vastuvotutestid on salvestatud ning täidetud Apache JMeteriga, Seleniumiga ning käsitsi. 3.11 Testitav programm Töös on valitud muu programm, mis saab sisendiks soiduki VIN- numbri ning seejärel annab kasutajale soiduki kohta informatsiooni. 3.12 Programmipõhiste testide koostamine Töös on valitud lähtudes testimise ülesande püstitusest lauseadekvaatsuse kriteerium, kriteerium on pohjendatud ning koostatud 18 testi. 3.13 Programmipõhine testimine, tulemused, hindamine Projekteeritud testid on läbiviidud kasutades Java teeki JUnit 4, tulemused on dokumenteeritud ning saavutati koodikatvus 98,5 %. Programm on hinnatud heaks. 3.14 ITIL raamistiku rakendamine Töös on valitud raamistiku rakendamiseks ITIL. Selle valik on arusaadavalt pohjendatud. Samuti on esitatud analüüs, milliseid ITIL protsesse oleks valitud organisatsiooni ja ülesande
int len = cryptoText.length(); for (int x = 0; x < len; x++) { char c = cryptoText.charAt(x); if (Character.isLetter(c)) { if (c - rotation < 97) c = (char) (122 + (c - rotation - 96) % 26); else c = (char) (c - (rotation % 26)); } decrypted += c; } return decrypted; } 9.2 Programmipõhiste testide koostamine Antud töös kasutatakse programmipõhiseks testimiseks lauseadekvaatsuse kriteeriumit. Töös on projekteeritud 16 programmipõhist testi lähtudes lauseadekvaatsuse kriteeriumist. Iga test sisaldab testi ID-d, testi kirjeldust, sisendit ning oodatavat väljundit. Testi ID: P1 Kirjeldus: Krüpteerimine on null. Sisend: Sisend on null. Oodatav väljund: Väljund on null. Testi ID: P2 Kirjeldus: Krüpteerimise sisend on tühi. Sisend: Sisend on tühi. Oodatav väljund: Väljund on tühi. Testi ID: P3 Kirjeldus: Krüpteerimise rotatsioon on null.
ekraanipilt nr 9). Ekraanipilt 9 – programmipõhiste testide kirjutamine PHPStorm IDE-‐s PHPUnit raamistiku abil Testide projekteerimisel on lähtutud lauseadekvaatsuse kriteeriumist, mis tähendab seda, et programmis iga lause peab olema vähemalt korra läbitud. Lauseadekvaatsuse põhjal testimise valiku põhjuseks on eesmärk saavutada rahuldav tulemus minimaalse ajaga. Kui aga testimisele panustavat ajalist ressurssi on rohkem, siis oleks mõistlik kasutada pigem haruadekvaatsust
Eeldades, et vigade avastamise protsent on mõlemal juhul sama (kehtib ainult teatud tingimustel), saab prognoosida vigade arvu, mis jäid süsteemi peale testimist · Eeltingimused: vajadus; on olemas programmi tekst, sõltumatu rühm/isik, programmi teksti analüüsi ja muutmise võimalused · Eelised: vigade arvu prognoos 10. Testimine programmi teksti põhjal, adekvaatsuse (katvuse) kriteeriumid, nende võimsuse suhe. Antud programm, pakkuda testid. Kokkuvõte lauseadekvaatsuse kriteeriumist · Idee: kõik programmi osad on töötanud · Eeltingimused: programmi tekst on olemas, selle analüüs · Eelised: programmi on süstemaatiliselt katsetatud. Vähe teste. Selge idee · Puudused: mitte eriti tugev kriteerium. Ei anna andmete teste. Ei leia puuduvaid harusid. · Programmi teksti pole alati olemas. Mitte alati saavutatav · Tulemused: testikomplekt, mis katab programmi · Suhe teistesse: kasutada koos teiste meetoditega
klassidesse. Antud juhul langevad sisendi ja väljundi ekvivalentsiklassid ning piirjuhud kokku. Kattekriteeriumil põhinev testimine kattekriteeriumil põhineva testimise (code coverage based testing) puhul luuakse testilood programmiteksti põhjal süstemaatiliselt vastavalt mingile kattekriteeriumile (test coverage/adequacy criterion). [KA+] Tuntuimad kattekriteeriumid on näiteks lauseadekvaatsus, haruadekvaatsus, kuid erinevaid kriteeriume on palju. Näiteks 100% lauseadekvaatsuse saavutamiseks on vajalik, et kõik programmi käivitatavad laused oleks testimise käigus käivitatud. Järgneva pseudokoodis programmilõigu, mis väljastab, kas sisestatud arv on 0 või ei, lauseadekvaatseks testimiseks oleks vajalik testida mingi negatiivse väärtusega, sest see võimaldab käivitada kõik programmi käivitatavad read: void foo(int a) { printf("Sisestasite "); if (a < 0) { printf("mitte"); } printf("positiivse täisarvu.n"); return; }