You are on page 1of 42

TALLINNA TEHNIKALIKOOL

INFORMAATIKAINSTITUUT

www.1a.ee VEEBILEHE SSTEEMI HANGE


Projekt ppeaines Tarkvara kvaliteet ja standardid

Autorid, pperhm: Gert Sumeri IABB53,


Siim Lukas IABB52, Reimo Vellemaa IABB53
Esitatud: 22.11.2015
Juhendaja: Jekaterina Tukrejeva

TALLINN 2015

lesande pstitus. Organisatsioon, ssteem, metoodika.


Organisatsioon (ja ssteem).
Ssteem ja organisatsioon.
Eesmrgid. Nuded ssteemile.
Funktsionaalsed nuded.
Mittefunktsionaalsed nuded.
3. Hankimise tegevused .
Kirjeldada lhidalt rakendatavat elutskli mudelit.
Hankija osalus hankes.
Nuete muudatuste haldamine.
Vastuvtmise plaan.
4. Riskid ja vastuvtutestid.
Riskide hinnang.
Vastuvtutestide koostamine.
5. Esmane hinnang ja selle phjendus.
Esmane hinnang.
Testid F2-F5 ja F7-F15 lbiti edukalt
6. Lbivaatused.
7. Funktsionaalsed testid valitud allssteemile.
Funktsionaalselt testitav komponent ja detailsed nuded.
7.2.
Funktsionaalsed testid. Projekteeritakse vhemalt 20
funktsionaalset testi valitud komponendi kohta. Selleks kirjeldatakse testitav
nue (nuded), siit tulenevad ekvivalentsiklassid ja/vi piirjuhud,
testolukorrad (andmed), andmete grupeerimine testidesse, testid. Testi
projekteerimise loogika (alates nudest ja lpetades testiga) peaks olema
jlgitav. Testid vormistatakse samuti nagu vastuvtmise testid.
7.3. Funktsionaalsete testide salvestamine ja titmine.
8. Mittefunktsionaalsed testid
8.1 Riskiphiste mittefunktsionaalsete vastuvtutestide titmine
9. Programmiphised testid.
Testitav programm vi moodul.
Programmiphiste testide koostamine.
Programmiphine testimine, tulemused, hindamine.
10. Kokkuvte ja lisad. Hindamine, kogemuse anals, kirjanduse loetelu.
10.1
Ssteemi hindamine, riskianals ja vastuvtmine.
Veebpoe-TestSummaryReport

1. lesande pstitus. Organisatsioon, ssteem, metoodika.


1.1.

Organisatsioon (ja ssteem).

Organisatsiooniks oleme valinud 1A.EE O, mis haldab Eesti suurimat veebipoodi (www.1a.ee). Tegemist
on arvuti ja elektroonikat mva ettevttega. Ettevtte pakub klienditele erineva valikuga
elektroonikatooteid. Veebileheklg on 1A.EE O jaoks ainus mgiplatvorm, millega organisatsioon raha
teenib.
Veebipood tagab klienditele pevaringse ligipsu. Ssteemi omaduste hulka kuulub pidev
kttesaadavus, mis tagab ettevtte jaoks suurema mgikive, kui tavaline jaemgikauplus. Lisaks sellele
on ssteem automatiseeritud alates toote valikust, kuni maksekeskkonda suunamiseni, mis thendab, et
ettevttel ei kulu raha selle jaoks, et kaupluses samad lesanded ttajate vahel jagada. pevaringselt
ktte saadav ja mugav veebipood aitab ettevttel klientide arvu kindlasti suurendada. Veebipood pakub
lisaks tkindlusele veel ka kige ajakohasemaid tooteid (otse esilehel). Veebipoest on vimalik osta kige
uuemaid elektroonikaseadmeid.
Ssteemi kasutajateks on kik inimesed, kellel on soov osta elektroonika seadmeid. Ssteem on ehitatult
sellisena les, et klient ei pea olema veebipoes kasutaja, et ost sooritada. Teiseks ssteemi kasutajaks on
1A.EE poolt mratud administraatorid, kes tegelevad klienditega, kui neil on probleem ja ssteemi
haldusega.
Kliendi huviks on mugav ja lihtne elektroonika toote otsmine. Toote ostmine ei tohiks olla keeruline. Toote
ostmisel peaks maksmine toimub kliendi poolt valitud pangas. Lisaks on thtis, et klient saaks ostu
sooritada tema poolt valitud ajal, pevaringselt. 1a.ee peab olema kliendi jaoks kige esimene veebipood,
kuhu ta prdub omale elektroonikaseadmeid ostma.
1A.EE O jaoks on thtis silitada organisatiooni hea maine ning teenida raha suureneva turu arvelt.

Eeldatavad maksumuse kitsendused:


Kasutajainfo turvalisuse tagamiseks peab ettevtte arendama pidevalt oma veebipoodi. Sellest tulenevalt on
hooldustasud suured.
Seoses klientide arvu suurenemisega muutub ka ssteemi tkindlus kulukamaks, kuna veebipoe liiklus suureneb.
Ettevtte eelnevast kogenematusest tulenevate arendatud ssteemi funktsioonide paremaks muutmiseks, uute
nudmiste titmine vi vead esialgsetes nuetes.

1.2.

Ssteem ja organisatsioon.

Ssteemi eeldatavateks kasutajateks on erinevad isikud keda hendab soov osta endale
veebipoest erinevaid kaupu. Kuna mgil on tooteid arvuti emaplaadist survepesurini,
siis on ettevte laia haardega.
Lisaks kasutab ssteemi eeldavasti ssteemi administraator ja veebilehe tugimeeskond.
Ssteemist saavad kasu nii ettevtte kliendid kui ka ettevtte omanikud, kliendid saavad
mugavalt ja kodust lahkumata tellida endale kaupu laiast tootekataloogist ja omanikud
saavad tellimuste pealt kasumit.
Ssteemi eeldatava arhitektuuri peamisteks kihtideks on veebiserveri kihid,
andmevahetus lbi interneti klientidega, administratiivsed mallid ning veebipoe mallid.

Arhitektuuri heks kihiks ka ldisemalt veebipoe haldamise raamistik. Arhitektuuri kihtide


seas on olulised veel andmebaas ning veebipoe server. Ssteemil on kaks
kasutajaliidest, millest ks kuvatakse klientidele, kes kasutavad ssteemi veebipoes
pakutavate toodete soetamise eesmrgil. Teiseks kasutajaliideseks on administreerimise
pool, mis on avalik 1a.ee veebilehe tugimeeskonnale. Seal on vimalik lisada, kustutada
tooteid ja teha muud ssteemihaldamisega seonduvaid tid.

1.3.

Metoodika.

Valisime valikulisteks tdeks hankimise tegevused(3. punkt) ja lbivaatuste kirjelduse ja


nite toomise (6.punkt)
Antud punktid andsid vimaluse otsida lisainfot projekti toimimise tagamaadesse ja
toimimisse. Meie arvates olid need punktid meiele erialaselt kige kasulikumad.
Testitavaks allssteemiks valisime kasutaja profiili andmete muutmise, kus testisime
erinevaid kasutajale vimaldatud tegevusi.
Projekti raames kasutame programme nagu Seleenium IDE, milles viime lbi
funktsionaalseid teste.
Mittefunktsionaalsete testide puhul kasutasime JMeterit, millega testisime koormust
veebilehel. lejnud mittefunktsionaalsete testide puhul koostasime testid ise ja
testisime ksitsi.
2.

Eesmrgid. Nuded ssteemile.

Testimisega hlmatakse projekti phifunktsionaalsuse toimimine tootekataloogi sirvimine, toote valimine


ja ostukorvi kasutamine, tellimuse koostamine, arve maksmine ja kinnituse saamine. Testimisega on
tihedalt seotud ssteemi tellija ja ka arendaja, kuna eelduseks on ssteemi veavaba t.

Funktsionaalsed nuded.
Kasutaja:
1. FN1 - Registreerimine
Eeltingimused: Tidetud on kik vajalikud lahtrid ja need valideeritud.
Jreltingimused: Tidetud avaldus salvestatakse andmebaasi ja kasutajale kuvatakse, et
registreerimine nnestus ja kasutaja sisestatud emailile on saadetud aktiveerimise kood.
Phistsenaarium: Kasutaja valib avalehelt nupu Registreeru, tidab kik vajalikud lahtrid,
vajadusel parandab vead. Seejrel vajutab nupule Registreeru.
2. FN2 - Ssteemi sisenemine(login)
Eeltingimused: Tidetud on kik vajalikud lahtrid ja need valideeritud, kasutaja on vlja logitud.
Jreltingimused: Kasutaja on ssteemi sisselogitud.
Phistsenaarium: Kasutaja valib avalehelt nupu Sisene, tidab kik vajalikud lahtrid. Seejrel

vajutab nupule Sisene. Kui andmebaasis polnud vastavate andmetega kasutajat, siis kuvatakse
sisselogimise leht koos veateatega.
3. FN3 - Ssteemist vljalogimine(logout)
Eeltingimused: Kasutaja on ssteemi sisselogitud.
Jreltingimused: Kasutaja on ssteemist vljalogitud.
Phistsenaarium: Kasutaja on sisse logitud ssteemi (ehk teisisnu on tal ligips tema profiilile)
ja valib avalehelt Vlju. Kasutaja logitakse ssteemist vlja ja viiakse tagasi esilehele.
4. FN4 - Uudiskirjaga liitumine
Eeltingimused: Tidetud on kik vajalik lahter ja see on valideeritud.
Jreltingimused: Kasutaja on liitunud uudiskirjaga.
Phistsenaarium: Kasutaja sisestab avalehel Liitu uudiskirjaga juures olevasse lahtrisse oma
emaili ja vajutab nuppu Liitu. Kui email on vormiliselt igesti sisestatud, siis kuvatakse
kasutajale Tname, et liitusid 1a.ee uudiskirjaga!
5. FN5 - Emaili saatmine
Eeltingimused: Kasutajal on installitud arvutisse haldurprogramm emaili jaoks.
Jreltingimused:Email saadetakse info@1a.ee-sse.
Phistsenaarium: Kasutaja vajutab emailinupule ja seejrel avaneb emailihaldur, kus on tidetud
saaja lnk info@1a.ee-ga, seejrel tidab kasutaja lejnud vajaminevad lahtrid ning saadab
kirja ra.
6. FN6 - Ettevtte jlgimine facebookis
Eeltingimused: Kasutaja on oma Facebooki kontosse sisselogitud.
Jreltingimused: Kasutaja jlgib Facebookis 1a.eed.
Phistsenaarium: Kasutaja vajutab veebilehel nuppu Meeldib ja ette tuleb kinnitusaken, kus
kasutaja saab kinnitada Meeldimist ja tema eest Liketakse 1a.ee Facebooki lehte.
7. FN7 - Ettevtte kontaktandmete vaatamine
Eeltingimused: Kasutaja soovib ettevtte kontaktide ja asukoha kohta infot saada.
Jreltingimused: Kasutaja sai vajaliku info ktte.
Phistsenaarium: Kasutaja valib pise menst Meist > Kontaktid ja seal kuvatakse talle vhemalt
telefoninumber

8. FN8 - Maksmine
Eeltingimused: Veebilehitseja salvestab cookied.
Jreltingimused: Arve saadetakse emailile.
Phistsenaarium: Kasutaja valib toote, lisab ostukorvi, valik makseviisi ja saab kinnituse, et
tellimus esitatud.

9. FN9 - Toote ostukorvi lisamine


Eeltingimused: Veebilehitseja lubab cookieseid salvestada
Jreltingimused: Toode lisatakse ostukorvi
Phistsenaarium: Kasutaja sirvib tooteid, seejrel leiab meeldiva toote, mida hiljem plaanib osta.
Kasutaja vajutab Lisa ostukorvi nupule ning leval paremas nurgas ilmub mrge, et toode on
ostukorvis.

10. FN10 - Toodete filtreerimine


Eeltingimused: Et filtreerimisvimalus tekiks, siis peab enne valima mingi tootetbi - niteks
telefonid.
Jreltingimused: Kasutajale kuvatakse ainult filtri alusel valitud tooted.
Phistsenaarium: Kasutaja sirvib erinevaid tooteid, kuid teab, et tahab, et tootel oleks mingid
kindlad omadused ning valib need filtreerimisaluseks ning ssteem kuvab ainult valitud
omadustega tooted.
11. FN11 - Toodete otsing ssteemis
Eeltingimused:Kasutaja on sisestanud otsinguvlja otsingusna vi fraasi.
Jreltingimused:Ssteem kuvab otsingu snale vastavad tooted kasutajale.
Phistsenaarium: Kasutaja sisestab otsinguvlja otsingusna vi fraasi. Ssteem kuvab kasutajale
kik need tooted, mis sisaldavad kasutaja sisestatud sna vi fraasi.
12. FN12 - Eelnevalt vaadatud toodete kuvamine
Eeltingimused: Kasutaja on vaadanud eelnevalt tooteid ning on lubanud kpsiste salvestamise
Jreltingimused: Kasutajale kuvatakse eelnevalt vaadatud tooted
Phistsenaarium: Kasutaja tahab nha eelnevalt vaadatud toodet ning vajutab nupule minu
vaadatud tootedning talle kuvatakse kik eelnevalt vaadatud tooted
13. FN13 - Eelnevalt vrreldud toodete kuvamine
Eeltingimused: Kasutaja on vrrelnud eelnevalt tooteid ning on lubanud kpsiste salvestamise
Jreltingimused: Kasutajale kuvatakse eelnevalt vrreldud tooted
Phistsenaarium: Kasutaja tahab nha eelnevalt vrreldud tooteid ning vajutab nupule vrdluste
ajalugu ning talle kuvatakse kik eelnevalt vrreldud tooted
14. FN14 - Uute toodete kuvamine kasutajale
Eeltingimused: Kasutaja soovib nha uusimaid tooteid
Jreltingimused: Kasutajale kuvatakse ajaliselt kige hiljem lisatud tooted
Phistsenaarium: Kasutaja vajutab nupule uued tooted ning talle kuvatakse nimekiri uusimatest
toodetest
15. FN15 - Keele vahetamine vene keeleks ssteemis
Eeltingimused: Ssteemis on aktiivseks keeleks eesti keel.
Jreltingimused: Ssteemis on aktiivseks keeleks vene keel.
Phistsenaarium: Ssteemis on vaikimisi keeleks eesti keel. Kasutaja valib navigeermisimenst
RU. Kogu leht laetakse uuesti, kus kogu lehel olev tekst on muudetud vene keelseks. See peab
ttama igal pool, kus see funktsioon aktiveeritakse.

Mittefunktsionaalsed nuded.
1.
2.
3.

MFN1: Esileht peab avanema kiiremini kui 1 sekund internetikiirusel ~20Mbit/s.


MFN2: Otsing peab tulemuse andma kiiremini kui 1,5 sekund internetikiirusel ~20Mbit/s.
MFN3: Kategooriate ja alamkategooriate sirvimine peab toimuma kiiremini kui 1,5 sekund internetikiirusel
~20Mbit/s.

4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

MFN4: Leht peab vimaldama vhemalt 100l kasutajal korraga otsingut teostada.
MFN5: Leht peab vimaldama vhemalt 100l kasutajal korraga toodet ostukorvi lisad.
MFN6: Leht peab vimaldama 100l kasutajal sirvida kategoorjiaid vhem kui 1 sekundilise laadimisajaga.
MFN7: Veebilehte peab olema vimalik kasutada jrgnevates veebibrauserites: Chrome, Mozilla, IE, Safari(Kige
uuemad versioonid).
MFN8: Veebilehte peab olema vimalik kasutada mobiilibrauserites. (iOS, Android).
MFN9: Veebibrauseri aknasuurust muutes, peab leht loetavalt kuvatud olema.
MFN10: Kasutajat luues peab aktiveerimis-email saabuma 60 minuti jooksul.
MFN11: 3-4 nupuvajutusega peab judma enimtellitud toodeteni
MFN12: Otsingus ei saa kasutada SQL injectionit.
MFN13: Kasutaja sisselogimisel ei saa kasutada SQL injectionit.
MFN14: Kasutaja laeb esilehte 100 korda, laadimisaja hlve ei tohi olla le 500ms.
MFN15: Veebileht peab ttama ka vanemate arvutite (brauserite) peal. (IE 7 ja madalam).

3. Hankimise tegevused .
3.1.

Kirjeldada lhidalt rakendatavat elutskli mudelit.

Kasutati koskmudelit kuna ettevtte emafirma poolt oli projekti mall ja titmise kogemus
olemas.
Antud mudel oli sobiv kuna projekt ei vajanud titmisel suurt paindlikkust ja nuded ajas
ei muutunud.
Projekti tideti faaside kaupa, iga faasi tulemiks oli dokument, mille alusel sai jrgmine
faas td alustada. Kuna projektimeeskond oli vike siis ei tekkinud vga probleeme
eelnevate faaside tulemite ja t kigu intrepreteerimisega.

3.2.

Hankija osalus hankes.

Antud projekt teostati n. majasiseselt ehk hankijaks oli ettevte, esindajaks siis projektijuht ja analtik.
T teostasid ettevtte ttajad ja seetttu oli koost tihe. Projekti nuded ja vastuvtukriteeriumud olid
koostatud ettevtte siseselt ning toote leandmine toimus ettevtte ttajate vahel, ehk oli vimalik olla
paindlik ja probleemid said lahenduse thusalt.
Projektile aitas kvasti kaasa fakt, et antud ettevte on Lti identse ettevtte ttarfirma. Sealtkaudu tulid
Lti projekti dokumentatsioon ja know-how, mis aitas kindlasti kvasti kaasa ja seetttu oli ka ressurssi
planeerimine lihtsam.

3.3.

Nuete muudatuste haldamine.

Antud projektis polnud erilisi nuete muudatusi, kuna projekti n. mall oli olemas siis tulid vaid vikesed
muudatused vastavalt Eesti turu eriprale.
Kuna projekti teostamine toimus majasiseselt siis oli muudatustega kohanemine mugav ja kiire.
Muudatuste vajalikkuse le otsustas projektijuht.

3.4.

Vastuvtmise plaan.

Ssteemi vastuvtukriteeriumiteks on funktsionaalsete ja mittefunktsionaalsete nuete 75% tidetus.


Ssteem vetakse vastu majasiseselt ja projekti dokumentatsioonis ettebhtud aja jooksul. Projekti
vastuvtmise le otsustab projektijuht.

4. Riskid ja vastuvtutestid.
4.1.

Riskide hinnang.

Ssteemile on oluline, et kasutajate kontod oleksid turvatud ja neile ei pseks kuidagi ligi, sest need
sisaldavad isikuandmeid. See aga kindlustatakse ssteemisiseselt ja seda ei saa me kuidagi testida.
Ettevtte seisukohalt on thtis, et funktsionaalsed ja mittefunktsionaalsed nuded on tidetud, sest
veebipood peab inimestele atraktiivne ja lihtsasti ning vigadeta kasutatav olema.
Suurim risk meie hinnangul on, et otsing ja filtreerimine ei toimi nii nagu peaks, ning kuna konto loomine
thendab ka kinnitus emaili saatmist, siis vib sellega probleeme olla.

Riski ID: R1
Kirjeldus: Veebileht ei avane mingis brauseris
Sagedus: Harva
Mju: Suur
Prioriteet: Krge
Riski ID: R2
Kirjeldus: Veebileht ei avane vi ei toimi korrektselt nutiseadmetes
Sagedus: Harva
Mju: Suur
Prioriteet: Krge
Riski ID: R3
Kirjeldus: Otsing ja toodete sirvimine ei tta korrektselt

Sagedus: Harva
Mju: Suur
Prioriteet: Krge
Riski ID: R4
Kirjeldus: Ostukorvi pole vimalik tooteid lisada
Sagedus: Harva
Mju: Suur
Prioriteet: Krge
Riski ID: R5
Kirjeldus: Ostukorvi eest pole vimalik maksta, ehk tellimust lpetada
Sagedus: Harva
Mju: Suur
Prioriteet: Krge
Riski ID: R6
Kirjeldus: Koormuse tttu pole veebileht kasutatav
Sagedus: Harva
Mju: Suur
Prioriteet: Krge
Riski ID: R7
Kirjeldus: Veebileht laeb leheklgi aeglaselt
Sagedus: Harva
Mju: Madal
Prioriteet: Madal
Riski ID: R8
Kirjeldus: Kasutaja sisestab vljadesse kogemata vi tahtlikult ebasobivat sisendit(sql injection, vale emaili
vorm jne)
Sagedus: Tihti
Mju: Madal
Prioriteet: Keskmine
Riski ID: R9
Kirjeldus: Kasutaja loodud kasutajakontot ei registreerita andmebaasis
Sagedus: Harva
Mju: Keskmine
Prioriteet: Madal
Riski ID: R10
Kirjeldus: Lisapluginate ts esineb vigu
Sagedus: Harva
Mju: Madal
Prioriteet: Madal
Riski ID: R11
Kirjeldus: Kasutajakonto profiiliandmeid ei saa muuta
Sagedus: Harva
Mju: Madal

Prioriteet: Madal
4.2.

Vastuvtutestide koostamine.

Mittefunktsionaalsete vastuvtutestide koostamine:


Mittefunktsionaalsete testide kokkuvte ja anals on vlja toodud 8. Mittefunktsionaalsed testid all.
Testi ID: VT2
Seotud nuded: MFN1
Seotud riskid: R7
Idee: Esileht peab laadima kliendi arvutis alla 1 sekundi.
Sisend: Simuleeritakse esilehe laadimist, kus test nnestub, kui esileht on laetud alla sekundi kasutaja
arvutis.
Oodatav vljund: Esilehe laadimine ei vta le 1 sekundi aega.
Testi ID: VT3
Seotud nuded: MFN2
Seotud riskid: R7
Idee: Otsing peab andma tulemuse 1,5 sekundiga.
Sisend:Kasutaja sisestab otsingu sna ja ssteem kuvab kasutajale kik otsingu snaga seotud tooted.
Oodatav vljund: Otsingu pring ei vta aega le 1,5 sekundi.
Testi ID: VT4
Seotud nuded: MFN3
Seotud riskid: R7
Idee: Kategooriate sirvimine ei vta aega le 1,5 sekundi.
Sisend: Simuleeritakse kategooriate vahetamist veebilehel.
Oodatav vljund: Kategooriate sirvimine ei vta aega rohkem, kui 1,5 sekundit.
Testi ID: VT5
Seotud nuded: MFN4
Seotud riskid: R6
Idee: Veebileht peab toetama sadat pringut sama toote kohta samal ajal.
Sisend: Simuleeritakse sama pringu tegemist 100 erineva kasutaja poolt.
Oodatav vljund: Veebileht kuvab kigile 100 kasutajale otsingu tulemused.
Testi ID: VT6
Seotud nuded: MFN5
Seotud riskid: R6
Idee: Veebileht peab toetama 100 kasutajal korraga lisada sama toode ostukorvi.
Sisend: Simuleeritakse 100 kasutaja poolt sama toote lisamist ostukorvi.
Oodatav vljund: Veebileht lisab kigil kasutajal toote ostukorvi.
Testi ID: VT7
Seotud nuded: MFN6
Seotud riskid: R6
Idee: Veebileht peab toetama 100 kasutajal korraga sirvida kategoorijaid alla 1 sekundi.
Sisend: Simuleeritakse 100 kasutaja poolt sama kategooria valimist.
Oodatav vljund: Veebileht laeb kigil 100 kasutajal sama kategooria alla 1 sekundi.
Testi ID: VT8
Seotud nuded: MFN12
Seotud riskid: R8

Idee: Veebileht ei tohi lasta kasutajal sisestada SQL lauseid, mis vivad andmebaasis tabeleid muuta,
kustuda, luua.
Sisend: Sisestatakse SQL kske otsingu vlja.
Oodatav vljund: Veebileht annab vea teate vi pring annab 0 vastust. Veebileht kuvab endiselt kiki
andmebaasis olevaid tooteid ega anna mingeid veateateid.
Testi ID: VT9
Seotud nuded: MFN13
Seotud riskid: R8
Idee: Veebileht ei tohi lasta kasutajal sisestada SQL lauseid, mis vivad andmebaasis tabeleid muuta,
kustuda, luua.
Sisend: Sisestatakse SQL kske sisselogimisvljadesse.
Oodatav vljund: Veebileht ei lase sisse logida ja annab vea teate.
Testi ID: VT10
Seotud nuded: MFN14
Seotud riskid: R7
Idee: Veebileht peab laadima 100 korda maksimaalse hlvega 500ms.
Sisend: Simuleeritakse kasutaja poolt veebilehe laadimist 100 korda.
Oodatav vljund: Veebilehe laadimisel 100 korda on maksimaalne hlve alla 500ms.
Testi ID: VT8
Seotud nuded: MFN14
Seotud riskid: R7
Idee: Esileht peab ra laadima alla piisavalt kiiresti (alla 1 sekundi)
Sisend: Esileht avatakse 100 korda
Oodatav vljund: Esileht laeb ra vhemalt 1 sekundiga
Testi ID: VT9
Seotud nuded: MFN14
Seotud riskid: R3
Idee: Otsing peab vastuse andma alla 1,5 sekundi
Sisend: Simuleeritakse otsingu kasutamist, kus otsinguks antakse ette sna klar.
Oodatav vljund: Tulemus laetakse ra alla 1,5 sekundi
Testi ID: VT10
Seotud nuded: MFN14
Seotud riskid: R3
Idee: Kategooriate sirvimisel peab tulemus tulema alla 0,5 sekundi.
Sisend: Simuleeritakse 100x kasutaja poolt sirvimist. Valitakse Slearvutid ja tarvikud.
Oodatav vljund: Tulemus kuvatakse alla 0,5 sekundi jooksul
Testi ID: VT11
Seotud nuded: MFN14
Seotud riskid: R3
Idee: Otsing peab alati tulemuse andma, kui on olemas seotud vastus.
Sisend: Simuleeritakse otsingu sooritamist 100 korda.
Oodatav vljund: Kikidele kasutajatele kuvatakse tulemus
Testi ID: VT12
Seotud nuded: MFN14
Seotud riskid: R6
Idee: Toote samaaegsel ostukorvi lisamisel ei tohi tekkida probleeme
Sisend: Simuleeritakse otsingu toote Cooler Master Storm Devastator lisamist ostukorvi 100 kasutaja
poolt..

Oodatav vljund: Kikidele kasutajatele lisatakse toode ostukorvi.


Testi ID: VT13
Seotud nuded: MFN14
Seotud riskid: R6
Idee: 100 inimesega korraga kategooriat valides, ei tohi vastamiskiirus oluliselt aeglustuda
Sisend: Simuleeritakse otsingu kategooria Slearvutid ja tarvikud valimist 100 kasutaja poolt..
Oodatav vljund: Kikidele kasutajatele kuvatakse tulemus
Testi ID: VT14
Seotud nuded: MFN13
Seotud riskid: R8
Idee: Ei tohi olla vimalik SQL injectioni abil andmebaasi muuta ega kustutada mitte mingil viisil.
Sisend: Otsingusse sisestati ksk a'; DROP TABLE `Products`; -- , kus Products asendati erinevate
vimalike tabelite nimedega nii eesti kui ka inglise keeles
Oodatav vljund: Andmebaasiga ei juhtu midagi ootamatut
Testi ID: VT15
Seotud nuded: MFN14
Seotud riskid: R6
Idee: 100 inimesega korraga kategooriat valides, ei tohi vastamiskiirus oluliselt aeglustuda
Sisend: Simuleeritakseotsingu kategooria Slearvutid ja tarvikud valimist 100 kasutaja poolt..
Oodatav vljund: Ei toimu mrgatavat vastamiskiiruse langust

Funktsionaalsete vastuvtutestide koostamine:


Testi ID: VT16
Seotud nuded: FN1
Seotud riskid: R9
Idee: Registreerimisvorm on tkorras
Sisend: Registreerimisvorm tidetakse ning soovitakse registreeruda
Oodatav vljund: Registreerimine nnestus.( Test ei nnestu sest robotikontroll on vahel ning
kasutajanimi peab igakord unikaalne olema)
Testi ID: VT17
Seotud nuded: FN2
Seotud riskid: R9
Idee: Ssteemi sisenemine peab toimima
Sisend: Sisestati email ning parool ja vajutati sissselogimisele.
Oodatav vljund: Tekib vljalogimisnupp, mis kinnitab, et kasutaja sai sisse logida.
Testi ID: VT18
Seotud nuded: FN3
Seotud riskid: R9
Idee: Ssteemist vlja logimine peab toimima
Sisend: Vajutati vljalogimisnupule.
Oodatav vljund: Tekib nupp Sissene, mis indikeerib vljalogimise nnestumist.
Testi ID: VT19
Seotud nuded: FN4
Seotud riskid: R10
Idee: Uudiskirja tellimine peab lisama emaili uudiskirja saajate listi
Sisend: Sisestatakse email ning tellitakse uudiskiri.
Oodatav vljund: Tname, et liitusid 1a.ee uudiskirjaga! Nd saad teada esimesena uudistoodetest,
soodusmgidest ja loosidest!
Testi ID: VT20
Seotud nuded: FN5
Seotud riskid: R10
Idee: Emaili lingile vajutades avaneb emailivaatur, mille abil saab kasutaja 1a.ee-sse oma kirja saata
Sisend: Vajutati emaili lingile
Oodatav vljund: Avaneb emailivaatur
Testi ID: VT21
Seotud nuded: FN6
Seotud riskid: R10
Idee: Avalehel olevale facebooki Meeldib nupule vajutades peab kasutajate meeldimiste nimekirja
facebookis ilmuma 1a.ee faceooki leheklg
Sisend: Vajutatakse Meeldib nuppu, eeldusel, et kasutaja on facebooki sisse loginud
Oodatav vljund: Kasutaja lisatakse 1a.ee meeldijate nimekirja
Testi ID: VT22
Seotud nuded: FN7
Seotud riskid: R10
Idee: Kontrollida, kas 1a.ee kontaktandmed on olemas
Sisend: Vajutatakse lingile Kontakt
Oodatav vljund: Andmetes sisaldub tel.nr, mis seal eelnevalt on olnud

Testi ID: VT23


Seotud nuded: FN8
Seotud riskid: R4, R5
Idee: Kontrollida, kas tellimine toimib
Sisend: Toode lisatakse ostukorvi ning tehakse tellimine lpuni
Oodatav vljund: Kinnitatakse tellimuse nnestumisest.
Testi ID: VT24
Seotud nuded: FN9
Seotud riskid: R4
Idee: Testida, kas toode tekib ostukorvi, kui see sinna lisada
Sisend: Vajutatakse nupule Lisa ostukorvi
Oodatav vljund: Ostukorvile tekib mrge, et toode on ostukorvi lisatud ning ostukorvi avades leiab selle
toote sealt
Testi ID: VT25
Seotud nuded: FN10
Seotud riskid: R10
Idee: Kontrollida filtreerimise toimimist
Sisend: Menst valiti filter firma Asrock jrgi
Oodatav vljund: Kuvatud peab olema toode Asrock N68-GS4 FX
Testi ID: VT26
Seotud nuded: FN11
Seotud riskid: R3
Idee: Kontrollida, kas otsing leiab vastuseid
Sisend: iphone 6 16gb
Oodatav vljund: ks leitud toodetest peab olema Apple iPhone 6 16GB Space Grey
Testi ID: VT27
Seotud nuded: FN12
Seotud riskid: R10
Idee: Kontrollida, kas Eelnevalt vaadatud tooted kuvavad tulemust
Sisend: Valiti menst Eelnevalt vaadatud tooted
Oodatav vljund: Vaadatud toodetest ks peab olema MSI GT80 2QE Titan SLI GT802QE-032NL
Testi ID: VT28
Seotud nuded: FN13
Seotud riskid: R10
Idee:Kontrollida, kas Eelnevalt vrreldud tooted kuvavad tulemust
Sisend: Valiti menst Eelnevalt vrreldud tooted
Oodatav vljund:
Testi ID: VT29
Seotud nuded: FN14
Seotud riskid: R3
Idee: Kontrollida, kas Uued tooted nitavad kige uuemaid tooteid
Sisend: Kontrollida, kas eelnevalt vaadatud tooted kuvavad tulemust
Oodatav vljund: Kuvatud toodetel peab olema kljes vike pilt millel on kirjas Uus
Testi ID: VT30
Seotud nuded: FN15
Seotud riskid: R10
Idee: Kontrollida keelevahetust lehel
Sisend: Valikmenst vahetatakse keel RU peale.

Oodatav vljund: Lehel vhemalt ks element muutub venekeelseks.

5. Esmane hinnang ja selle phjendus.

Test

Tulemus

Risk

Kommentaar

F1

FAIL

R9

Ei saa testi lbi viia, sest robotikontroll ja aktiveerimine ning unikaalne


kasutajanimi takistavad.

F2

OK

R9

Vajutati logimisnupule, sisestati email ja parool ning vajutati sisselogimisele.


Seejrel kontrolliti, et tekiks nupp Vlju, mis kinnitab, et logiti sisse.

F3

OK

R9

Vajutati vljalogimisnupule. Seejrel kontrolliti, et tekiks nupp Sisene, mis


kinnitab, et logiti vlja.

F4

OK

R10

Vajutati avalehel uudiskirja saamiseks emaili lahtrisse, sisestati email ning telliti
uudiskiri, seejrel kontrolliti, kas vastuseks tuli: Tname, et liitusid 1a.ee
uudiskirjaga! Nd saad teada esimesena uudistoodetest, soodusmgidest ja
loosidest!

F5

OK

R10

Vajutati emaili lingile

F6

FAIL

R10

Vajutati Meeldib nupuple avalehel, et veebileht facebookis meeldivaks lisada,


kuid see ei toimi teadmata phjusel.

F7

OK

R10

Vajutati lingile Kontakt ning kontrolliti, kas tel. nr on see, mis ta eelnevalt samal
lehel oli

F8

OK

R4,R5

Lisati toode ostukorvi ning esitati tellimus. Tellimus saadeti emailile.

F9

OK

R4

Lisati toode ostukorvi, ning kontrolliti, kas ostukorvi tekkis 1 toode. Seejrel
toode kustutati

F10

OK

R3

Valiti menst emaplaadid ning filtreeriti Asrocki jrgi ning vaadati kas on
olemas toode Asrock N68-GS4 FX

F11

OK

R3

Otsiti otsinguga iphone 6 16gb ning vaadati, kas leitakse Apple iPhone 6 16GB
Space Grey

F12

OK

R10

Valiti menst Eelnevalt vaadatud tooted ning vaadati, kas seal on MSI GT80
2QE Titan SLI GT802QE-032NL

F13

OK

R10

Valiti menst Eelnevalt vrreldud tooted ning vaadati, kas seal on nupp, mis
laseb seda vrdlust uuesti vaadata

F14

OK

R3

Menst valiti Uued tooted ning seejrel valiti Nita 999 kige uuemat toodet
ning vaadati, kas kuvataval tootel on juures pilt, millel kirjas Uus

F15

OK

R10

levalt servast valiti EE asemel RU ning seejrel kontrolliti, kas tekkis link
nimega ,

5.1.

Esmane hinnang.

Testid F2-F5 ja F7-F15 lbiti edukalt

Kik nimetatud testid lbiti edukalt


Testi F2 juures testiti, kas sisselogimine toimib, eeldusel, et sisestatud on iged andmed.
Testi F3 juures testiti, kas vljalogimine toimib - kui vljalogides tekib nupp, mis laseb taas sisse logida, siis on test
edukalt lbitud.

Testi F4 juures kontrolliti, kas uudiskirja tellides ilmub, tekst, mis kinnitab uudiskirja tellimist.
Testi F5 juures ei saa testida, kas emailivaatur avaneb emaililingile vajutades, kuid kasutajaga lbi tehes see toimib.
Testi F8-F9 juures tehti toimingud ostukorviga, vaadati kas tellimus lheb lbi ja kas ostukorvi ldse toode tekib.
Testi F10 juures katsetati filtreerimist. Test toimib ,kuniks on olemas toode Asrock N68-GS4 FX, mis filtreerimise
tulemusel leitav peaks olema.
Testis F11 kontrolliti otsingussteemi toimimist. Peale otsingut peab lehel leitab olema Apple iPhone 6 16GB
Space Grey. Test on sooritatav kuni toode on lehel olemas.
Testides F12-F13 kontrolliti, kas kasutajale on nhtavad tema pool eelnevalt vaadatud ja vrreldud tooted. Eeldus
on, et kasutaja on vaadanud ja vrrelnud tooteid.
Testiga F14 kontrolliti, kas uute toodete kuvamine toimib. Testimisel kontrolliti, kas uut toodet iseloomustav pilt
tekib tootele, kui test kivitada vi mitte
Testiga F15 kontrolliti, kas veebileht muutub keelt vahetades venekeelseks. Test lbiti edukalt kui lehele tekkis link
nimega ,
Test F1, F6 kukkus lbi
Testi F1 ei ole vimalik automaatselt kontrollida, sest seal vahel on robotikontroll.
Kui inimene seda testi sooritab, siis toimib edukalt.
Test F6 kukkus lbi, sest lehel olev nupp, mis peaks laskma ettevtte lehe facebookis meeldivaks lisada, ei tta.

6. Lbivaatused.
Lbivaatused toimuvad iga faasi lpus. Osaleb kogu projektimeeskond (projektijuht,
analtikud, arendajad, testijad). Lbivaatust viib lbi projektijuht. Lbivaatuse eelduseks on
eelnevas faasis valminud dokument vi dokumendid ja kogu meeskonna tutvumine nendega.
Meeskond avaldab projekti kigust ja eelnevast ning tulevast faasist arvamusi ja konstruktiivset
kriitikat. Arutatakse mis sai hsti tehtud ja mida saaks paremini teha.
Kindlasti ritatakse nende olemasolul leida faasis tehtud vigu.
Lbivaatuse nide
Aeg: Esimese faasi lpp(Nuete mrtlemine)
Tp: Nuete mratluse lbivaatus
Osalejad: Projektijuht , analtikud, arendajad, testijad
Tegevused: Projektijuht ja analtikud tutvustavad esimese faasi tulemit lejnud
meeskonnale. Kik meeskonna liikmed avaldavad arvamust tulemi kohta ja arutavad kik
punktid le, et jrgnevates faasides ei tekiks vastuolusid. Mrgitakse les vead. Pannakse paika
ajakava puudujkide krvaldamiseks. Protokoll allkirjastatakse
Tulemused: Leitud ja parandatud vigade protokoll, vigade parandamise ajakava

7. Funktsionaalsed testid valitud allssteemile.

7.1.

Funktsionaalselt testitav komponent ja detailsed nuded.

Valitud allssteemiks on Kasutajaprofiili andmete muutmise allssteem, mis vimaldab


kliendil muuta enda olemasoleva kasutajaprofiili andmeid.
Funktsionaalseks testimiseks valisime allssteemi, kuna allssteemil on palju
sisendlahtreid mille toimimist saab testida. Samuti on allssteem kliendi jaoks thtis,
kuna andmete muutumisel vi registreerimise kigus valesti sisestatud andmeid on
vimalik muuta.
Ettevtte seisukohalt on allssteem vga thtis, kuna kasutaja kontaktandmeid
kasutades toimib kogu suhtlus kliendi ja ettevtte vahel.
Allssteemi kohustuslikeks sisendlahtriteks on Nimi, Perekonnanimi, E-mail, Telefon,
Snniaeg(Pev/Kuu/Aasta) ja Sugu. Mittekohustulikuks osaks on Salasna muutmise
lahtrid: Uus salasna, Uus parool uuesti, Pragune salasna ning checkbox uudiskirjaga
liitumiseks.
Testisime igat sisendlahtrit ja checkboxi eraldi testidega.

7.2. Funktsionaalsed testid.

Testi ID: AFT1(N1)


Seotud riskid: R11
Nude kirjeldus: Eesnime vlja ei tohi thjaks jtta
Sisend: Thi vli
Oodatav vljund: Ei saa uuendada kasutaja profiili! Vaata allolevad vigu!

Testi ID: AFT2(N2)


Seotud riskid: R11
Nude kirjeldus: Perekonnanime vlja ei tohi thjaks jtta
Sisend: Thi vli
Oodatav vljund: Ei saa uuendada kasutaja profiili! Vaata allolevad vigu!

Testi ID: AFT3(N3)


Seotud riskid: R11
Nude kirjeldus: Parooli muutmisel peab vana parooli ka sisestama
Sisend: Thi vli
Oodatav vljund: Ei saa uuendada kasutaja profiili! Vaata allolevad vigu!
Testi ID: AFT4(N4)
Seotud riskid: R11
Nude kirjeldus: Emaili muutmisel peab sisestama ka kehtiva parooli
Sisend: Uus emailiaadress, thi paroolivli
Oodatav vljund: Ei saa uuendada kasutaja profiili! Vaata allolevad vigu!

Testi ID: AFT5(N5)


Seotud riskid: R11
Nude kirjeldus: Telefoninumbri vlja ei tohi thjaks jtta
Sisend: Thi vli
Oodatav vljund: Ei saa uuendada kasutaja profiili! Vaata allolevad vigu!
Testi ID: AFT6(N6)
Seotud riskid: R11
Nude kirjeldus: Soo muutmisel peab saama valikmenst valida
Sisend: M
Oodatav vljund: M
Testi ID: AFT7(N7)
Seotud riskid: R11
Nude kirjeldus: Snniaja peva muutmiseks peab valiidse arvu valima.
Sisend: le 31. Nieks 32
Oodatav vljund: Ei saa uuendada kasutaja profiili! Vaata allolevad vigu!
Testi ID: AFT8(N8)
Seotud riskid: R11
Nude kirjeldus: Snniaja kuu muutmiseks peab valiidse arvu valima
Sisend: Arv, mis on suurem, kui 12
Oodatav vljund: Ei saa uuendada kasutaja profiili! Vaata allolevad vigu!
Testi ID: AFT9(N9)
Seotud riskid: R11
Nude kirjeldus: Snniaja aasta muutmiseks peab valiidse arvu valima.
Sisend: Thi vli
Oodatav vljund: Ei saa uuendada kasutaja profiili! Vaata allolevad vigu!

Testi ID: AFT10(N10)


Seotud riskid: R10
Nude kirjeldus: Uudiskirja seisundi muutmisel peab panema true/false kasti linnukese.Vi linnukese
eemaldama.
Sisend: Linnuke
Oodatav vljund: Linnuke jb sellisesse olekusse nagu kasutaja valis

7.3. Funktsionaalsete testide salvestamine ja titmine.

Testid AFT1-AFT10(N1-N10) lbiti edukalt


Kik nimetatud testid lbiti edukalt
Testi AFT1 juures testiti, kas eesnime muutmine toimib, sisestati uus nimi ning salvestati ja kontrolliti, kas vastab
sellele, milleks muudeti
Testi AFT2 juures testiti, kas eesnime muutmine toimib, sisestati uus nimi ning salvestati ja kontrolliti, kas vastab
sellele, milleks muudeti
Testi AFT3 juures testiti, kas parooli saab muuta. Lisaks uuele paroolile tuleb sisestada ka vana parool
Testi AFT4 juures testiti, kas emaili muutmine toimib. Kuna uus email tuleb aktiveerida, siis seleniumi osa kontrollis
on vike.
Testi AFT5 juures tehti kindlaks, kas telefoninumbrit saab muuta.
Testis AFT6 katsetati soo muutmist.
Testis AFT7-AFT9 muudeti snniaja pev, kuu ning aasta ra ning kontrolliti, kas ssteem salvestab need
Testis AFT10 testiti, kas ssteem vljastab peale uudiskirja tellimist teate, et uudiskiri tellitud, mis omakorda
kinnitas, kas uudiskirja tellimine nnestus vi mitte.

8. Mittefunktsionaalsed testid
8.1 Riskiphiste mittefunktsionaalsete vastuvtutestide titmine
Test
MF1.Esilehe
avamiskiirus

Tulemus
OK

MF2.Otsingu OK
kiirus
MF3.Kategooria OK
te sirvimise
kiirus
MF4.Otsing 100 OK
kasutajaga
MF5.Toote
lisamine 100
inimesega

OK

Risk
R7

Kommentaar
Esilehele laeti reklaam, men ja edutatud tooted. Esileht laeti kindlalt
alla 1 sekundi.

R7

Otsingusnaks oli klar ja otsingu tulemus laeti kvasti alla 1,5


sekundi.
Kategooriate sirvimisel valiti Slearvutid ja tarvikud alamkategooria.
Veebileht andis tulemuse alla 0.5 sekundi.

R7

R6,R3 Otsingu snaks oli klar ja otsing andis tulemuse kigile sajale
kasutajale, kuigi osade kasutajate jaoks vttis tulemuse vljastamine
palju aega.
R6,R4 100 kasutajat lisasid korraga ostukorvi he ja sama toote milleks oli
klaviatuuri ja hiire komplekt Cooler Master Storm Devastator.
Tulemused oli suureprased, kus keskmine tulemus oli kigest
~120ms.

MF6.100
OK
inimesega
kategooriate
sirvimine
MF7.Veebilehe OK
tkindlus
erinevates
brauserites
MF8. Veebileht PARTIALLY
mobiilibrauserite
s

R3,R6 100 inimesega kategooriate sirvimisele valiti Slearvutid ja tarvikud


alamkategooria. Tulemused olid vga head, kige aeglasem aeg oli
kigest ~200ms.
R1,
R3,
R4,
R9
R2

Kikides testitavates brauserites ttas veebileht ilma probleemiteta. Testi


kigus logiti sisse, otsiti toode, lisati ostukorvi ning logiti vlja.

MF9. Veebilehe
operatiivsus
MF10.
Registreerumiski
nnituse saamine
emailile
MF11. Kasutaja
sbralikkus
MF12. Otsingu
turvalisus

FAIL

R1

OK

R9

Veebileht ei reageeri veebibrauseri akna suuruse muutmisele, mis thendab, et


viksema akna puhul on veebilehe kasutamine suhetliselt tlikas.
Peale Registreeru nupu vajutamist saabus kinnituse ja aktiveermisnupp
emailile peaaegu silmapilkselt.

OK

R10

Enim mdud toodeteni juab vaid 2 nupuvajatusega.

OK

R8

MF13. Kasutaja OK
turvalisus

R8

MF14. Veebilehe OK
tkindlus

R7

Otsingusse sisestati ksk a'; DROP TABLE `Products`; -- , kus Products


asendati erinevate vimalike tabelite nimedega nii eesti kui ka inglise keeles,
aga kordagi ei juhtunud andmebaasiga midagi.
Kasutaja sisselogimisvlja E-mail sisestati 'email' or 1=1 ja Salasna
vlja sisestati password or 1=1 , mis peaks logima sisse esimese
kasutajaga user tabelis, aga seda ei juhtunud ja ssteemi sisse ei logitud.
Kasutaja laadis esilehte 100 korda ja hlve oli kigest 82 ms.

Veebileht laeti kll mobiilibrauseris ra, kuid lehte pole vimalik


mobiilibrauseris vga hsti kasutada, kuna veebileht ei kohandu viksema
ekraani jaoks.

MF15. Veebilehe FAIL


tkindlus

R1

IE7 emuleerimisel laguneb kasutajaliides veebilehel tiesti ra, kuigi peamine


funktsionaalsus silib, puudub veebilehel kasutajaliidese struktuur, mis
uumematel brausertiel on olemas.

Testide tegemisel tekkis testide MF8, MF9 ja MF15 juures krvakaldeid.


MF8 testi juures, kus katsetasime, kuidas veebileht ttab mobiilibrauseris, olid tulemused osaliselt negatiivsed ja
osaliselt positiivsed. Nagu 2.1 Mittefunktsionaalsete testide kirjelduses on eldud, peab veebileht ttama
mobiilibrauseris. Kuigi veebileht tepoolest laadis mobiilibrauseris ra ja kik veebilehe funktsionaalsus silis, siis
veebileht ise oli suhteliselt raskesti kasutatav mobiilibrauseris, kuna veebilehel puudub mobiilibrauseris
operatiivsus. Phjuseks ilmselt on see, et veebilehe loomisel ei arvestatud mobiili platvormiga. Test sooritati ainult
iOSi ja Android peal. Testi ei sooritatud Blackperry ja Windows phonei peal.
MF9 testi andis negatiivse tulemuse, kuna veebileht ei reageerinud brauseri akna suuruse muutmisega. Vea
phjuseks on halb disain vi halb funktsionaalsuse implementeerimine. Veebilehte testiti ainult Safaris ja Google
Chromes. Kikides teistes brauserites teste ei sooritatud.
MF15 andis samuti negatiivse tulemuse. Kuigi veebilehe funktsionaalsus silib ka vanemate brauserite puhul, siis
kasutajaliides vanemate brauserite juures on kasutusklbmatu. Test sooritati Internet Explorer 7 emuleerimisel, mis
on kasutuses Windows XP ssteemidel (Siiamaani enim kasutatud operatsioonissteem maailmas).
Testide MF1, MF2, MF3, MF4, MF5, MF6, MF7, MF10, MF11, MF12, MF13, MF14 tulemused olid edukad:
Koormustestidel (www.1a.ee) tegemiseks kasutasime JMeterit le Wifi vrgu (kiirusel ~20Mbit/s).
Koormustestide puhul testisime ainult kasutusjuhtu, kus 100 inimest teevad tpselt sama pringu:
MF4 puhul otsisid kik inimesed sama otsingusna kasutades.
MF5 puhul lisasid kik kasutajad sama toote
MF6 puhul katsetasime ainult he alamkategooriaga.
MF14 puhul laadis ks kasutaja sama esilehte.
MF7 puhul katsetasime ainult neljas enim levinud brauseris (Safari, Internet Explorer, Google Chrome, Mozilla
Firefox). Katsetamata ji Opera ja Vivaldi. Testimise kigus katsetati lbi veebilehe peamised funktsioonid:
Avalehe laadimine
Sisse logmine (olemasoleva kasutajaga)
Toote valimine
Toote ostukorvi lisamine
Ostukorvist eemaldamine
Vljalogimine
MF10 testi puhul tegime tiesti uue konto ning registreerimise uue emaili ssteemis. Vastus saadeti kohe peale
registreerimist. Testis kasutasime emaili kontona gmail-i.
MF11 testi puhul katsetasime veebilehe erinevatest kohtadest enimmdud tooted juurde judmiseni
tavakasutajana katsetades. Enamik kohtadest juab enimdud tooted juurde 2-3 klikkiga.
MF12 puhul katsetasime erinevate meetoditega. Sisestatud fraasiks oli a'; DROP TABLE `Products`; -- ,
Products asendati erinevate vimalikke snadega, mis vinuks tabeli nimeks olla. Ssteem andis iga katse peale
vastuseks, aga negatiivse pringu. Katse lugesime lbinuks, aga kindlalt on vimatu elda, et veebileht on sql
injection eest kaitstud, kui meil puudub vajalik informatsioon tieliku testi tegemiseks.
MF13 on sarnane test MF12-le. Sisestatud fraas emaili vlja oli 'email' or 1=1 ja salasna vlja password or
1=1 , mis peaks sisse logima esimese kasutajaga user tabelis. Jllegi nagu MF12 puhul proovisime erinevaid
fraase email ja password kskluses, aga kik tulemused olid negatiivsed. Katse lugesime lbinuks, aga kindlalt
on vimatu elda, et veebileht on sql injection eest kaitstud, kui meil puudub vajalik informatsioon tieliku testi
tegemiseks. e.

9. Programmiphised testid.
9.1.

Testitav programm vi moodul.

Meil ei olnud juurdepsu 1a.ee lhtekoodile ning seetttu valisime testimiseks Javas kirjutatud trips-traps-trulli,
mille koodi leidsime internetist. Testisime Eclipses JUnitiga.
public class TicTacToe {
char[][] board;
char currentPlayerMark;
public TicTacToe() {
board = new char[3][3];
currentPlayerMark = 'x';
initializeBoard();
}

// Set/Reset the board back to all empty values.


public void initializeBoard() {
// Loop through rows
for (int i = 0; i < 3; i++) {
// Loop through columns
for (int j = 0; j < 3; j++) {
board[i][j] = '-';
}
}
}

// Print the current board (may be replaced by GUI implementation later)


public void printBoard() {
System.out.println("-------------");
for (int i = 0; i < 3; i++) {
System.out.print("| ");
for (int j = 0; j < 3; j++) {
System.out.print(board[i][j] + " | ");
}
System.out.println();
System.out.println("-------------");
}
}

// Loop through all cells of the board and if one is found to be empty (contains char '-') then return
false.
// Otherwise the board is full.
public boolean isBoardFull() {

boolean isFull = true;


for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (board[i][j] == '-') {
isFull = false;
}
}
}
return isFull;
}

// Returns true if there is a win, false otherwise.


// This calls our other win check functions to check the entire board.
public boolean checkForWin() {
return (checkRowsForWin() || checkColumnsForWin() || checkDiagonalsForWin());
}

// Loop through rows and see if any are winners.


boolean checkRowsForWin() {
for (int i = 0; i < 3; i++) {
if (checkRowCol(board[i][0], board[i][1], board[i][2]) == true) {
return true;
}
}
return false;
}

// Loop through columns and see if any are winners.


boolean checkColumnsForWin() {
for (int i = 0; i < 3; i++) {
if (checkRowCol(board[0][i], board[1][i], board[2][i]) == true) {
return true;
}
}
return false;
}

// Check the two diagonals to see if either is a win. Return true if either wins.
boolean checkDiagonalsForWin() {
return ((checkRowCol(board[0][0], board[1][1], board[2][2]) == true) || (checkRowCol(board[0][2],
board[1][1], board[2][0]) == true));
}

// Check to see if all three values are the same (and not empty) indicating a win.
boolean checkRowCol(char c1, char c2, char c3) {
return ((c1 != '-') && (c1 == c2) && (c2 == c3));
}

// Change player marks back and forth.


public void changePlayer() {

if (currentPlayerMark == 'x') {
currentPlayerMark = 'o';
}
else {
currentPlayerMark = 'x';
}
}

// Places a mark at the cell specified by row and col with the mark of the current player.
public boolean placeMark(int row, int col) {
// Make sure that row and column are in bounds of the board.
if ((row >= 0) && (row < 3)) {
if ((col >= 0) && (col < 3)) {
if (board[row][col] == '-') {
board[row][col] = currentPlayerMark;
return true;
}
}
}
return false;
}
}

9.1.

Programmiphiste testide koostamine.

Valisime testimiseks teeadekvaatsuse, sest programm on piisavalt lhike ning


teeadekvaatsusega leiab suurima osa programmi vimalikest vigadest.
TestCase ID: TCP01
Nude kirjeldus: Mnguvli(board) on char tpi kahemtmeline array
Sisend: Oodatav vljund: Mnguvli ei ole null
TestCase ID: TCP02
Nude kirjeldus:Printida mnguvli, mis on 3x3 tabel ja kus positsioonil 0, 2 (1.rida, 3.veerg) on
x
Sisend: game.placeMark(0, 2);
Oodatav vljund:3x3 tabel, kus positsioonil 0, 2 on x

1.
2.
1.
2.

TestCase ID: TCP03


Nude kirjeldus:
Kui htegi mrki mnguvljal pole, siis ei ole mnguvli tis.
Kui mnguvljal on kik lahtrid tidetud, siis on mnguvli tis.
Sisend:
Ilma htegi x ega o lisamata ksitakse, kas vljak ei ole tis.
Kik vljad tidetakse kordamda kummagi mngijaga ja ksitakse, kas vljak on tis
Oodatav vljund:

1. True, ei ole tis


2. True, on tis

1.
2.
1.
2.

1.
2.
1.
2.

1.
2.
1.
2.

1.
2.
1.
2.

TestCase ID: TCP04


Nude kirjeldus: Ksuga saab kontrollida, kas veerus on 3 hesugust mrki, ehk - kas veerus
leidub vitja.
Sisend:
Kui htegi lahtrit vljal pole tidetud, ksitakse, kas ei leidu vitjat.
Kui veerg on tis hesuguseid mrke, tis, siis ksitakse, kas veerus leidub vitja
Oodatav vljund:
True, ei leidu
True, leidub
TestCase ID: TCP05
Nude kirjeldus: Ksuga saab kontrollida, kas reas on 3 hesugust mrki, ehk - kas reas leidub
vitja.
Sisend:
Kui htegi lahtrit vljal pole tidetud, ksitakse, kas reas ei leidu vitjat.
Kui rida on tis hesuguseid mrke, tis, siis ksitakse, kas reas leidub vitja
Oodatav vljund:
True, ei leidu
True, leidub
TestCase ID: TCP06
Nude kirjeldus: Ksuga saab kontrollida, kas diagonaalis on 3 hesugust mrki, ehk - kas
diagonaalis leidub vitja.
Sisend:
Kui htegi lahtrit vljal pole tidetud, ksitakse, kas diagonaalis ei leidu vitjat.
Kui diagonaal on tis hesuguseid mrke, tis, siis ksitakse, kas diagonaalis leidub vitja
Oodatav vljund:
True, ei leidu
True, leidub
TestCase ID: TCP07
Nude kirjeldus: Koondav vidukontroll peab toimima, kui veerus on 3 samasugust mrki
Sisend:
Kui htegi lahtrit vljal pole tidetud, ksitakse, kas veerus ei leidu vitjat.
Kui veerg on tis hesuguseid mrke, tis, siis ksitakse, kas veerus leidub vitja
Oodatav vljund:
True, ei leidu
True, leidub

1.
2.
1.
2.

1.
2.
1.
2.

TestCase ID: TCP08


Nude kirjeldus: Koondav vidukontroll peab toimima, kui veerus on 3 samasugust mrki
Sisend:
Kui htegi lahtrit vljal pole tidetud, ksitakse, kas reas ei leidu vitjat.
Kui rida on tis hesuguseid mrke, tis, siis ksitakse, kas reas leidub vitja
Oodatav vljund:
True, ei leidu
True, leidub
TestCase ID: TCP09
Nude kirjeldus: Mngija korra vahetamine peab vahetama aktiivset mngijat
Sisend:
Kas esimene mngukord on mngijal x
Vahetatakse mngijat, kontrollitakse, kas mngukord on o kes
Oodatav vljund:
Mngukord on mngija x kes
Mgukord on mngija o kes

TestCase ID: TCP10


Nude kirjeldus: Mrki peab saama panna ainult mnguvljale. Ei tohi olla vimalik panna mrki
vljapoole piire. Mrki ei saa lisada lahtrisse, kus on juba mrk
Sisend:
1. Mrk positsioonile(-1, -1)
2. Mrk positsioonile(1, -1)
3. Mrk positsioonile(3, 0)
4. Mrk positsioonile(3, 1)
5. Mrk positsioonile(3, 2)
6. Mrk positsioonile(0, 3)
7. Mrk positsioonile(1, 3)
8. Mrk positsioonile(2, 3)
9. Mrk positsioonile(3, 3)
10. Mrk positsioonile(0, 0)
11. Mrk positsioonile(0, 1)
12. Mrk positsioonile(0, 2)
13. Mrk positsioonile(1, 0)
14. Mrk positsioonile(1, 1)
15. Mrk positsioonile(1, 2)
16. Mrk positsioonile(2, 0)
17. Mrk positsioonile(2, 1)
18. Mrk positsioonile(2, 2)
19. Mrk uuesti positsioonile(2, 2)
Oodatav vljund:
1. True, selline sisend on vale
2. True, selline sisend on vale
3. True, selline sisend on vale
4. True, selline sisend on vale
5. True, selline sisend on vale

6. True, selline sisend on vale


7. True, selline sisend on vale
8. True, selline sisend on vale
9. True, selline sisend on vale
10. True, selline sisend on sobiv
11. True, selline sisend on sobiv
12. True, selline sisend on sobiv
13. True, selline sisend on sobiv
14. True, selline sisend on sobiv
15. True, selline sisend on sobiv
16. True, selline sisend on sobiv
17. True, selline sisend on sobiv
18. True, selline sisend on sobiv
19. False, see vli on juba tidetud
TestCase ID: TCP11
Nude kirjeldus: Tites diagonaalis 3 lahtrit hesuguste mrkidega on vitja olemas.
Sisend: Diagonaalis leidub vitja, kui vljad 0,0; 1,1 ja 2,2 tidetakse sama mrgiga
Oodatav vljund: True, leidub vitja
TestCase ID: TCP12
Nude kirjeldus: Tites diagonaalis 3 lahtrit hesuguste mrkidega on vitja olemas.
Sisend: Diagonaalis leidub vitja, kui vljad 2,0; 1,1 ja 0,2 tidetakse sama mrgiga
Oodatav vljund: True, leidub vitja

1.
2.
3.
4.
5.
6.
7.
8.
1.
2.
3.
4.
5.
6.
7.
8.

TestCase ID: TCP13


Nude kirjeldus: Leides jrjest reas vi veerus 3 hesugust mrki, leidub vitja.
Sisend:
xxx
xxo
ooo
oox
xox
----x
--o
Oodatav vljund:
True, leidub vitja
True, ei leidu vitjat
True, leidub vitja
True, ei leidu vitjat
True, ei leidu vitjat
True, ei leidu vitjat
True, ei leidu vitjat
True, ei leidu vitjat

Programmiphine testimine, tulemused, hindamine.

import static org.junit.Assert.*;


import java.util.Arrays;
import org.junit.Test;
public class TicTacToeTest {
//Kontrollib, et mnguvli poleks null

@Test
public void boardTest() {
TicTacToe game = new TicTacToe();
assertNotNull(game.board);
}

//Testib, et kui panna positsioonile 0,2 "x", siis see tekib ka sinna
@Test
public void printBoardTest() {
TicTacToe game = new TicTacToe();
game.placeMark(0, 2);
game.printBoard();
assertEquals("x", Character.toString(Arrays.deepToString(game.board).charAt(8)));
}
//Testib, et kui mnguvli on thi, siis pole mnguvli tis ja kui mnguvli on tidetud, siis see on tis
@Test
public void isBoardFullTest() {
TicTacToe game = new TicTacToe();
assertFalse(game.isBoardFull());
game.placeMark(0, 0);
game.changePlayer();
game.placeMark(0, 1);
game.changePlayer();
game.placeMark(0, 2);
game.changePlayer();
game.placeMark(1, 0);
game.changePlayer();
game.placeMark(1, 1);
game.changePlayer();
game.placeMark(1, 2);

game.changePlayer();
game.placeMark(2, 0);
game.changePlayer();
game.placeMark(2, 1);
game.changePlayer();
game.placeMark(2, 2);
assertTrue(game.isBoardFull());
}
//Kontrollib vitjat veerus, kui vljad on thjad ning prast, kui veerus on vitja
@Test
public void checkColumnsForWinTest() {
TicTacToe game = new TicTacToe();
assertFalse(game.checkColumnsForWin());
game.placeMark(0, 0);
game.changePlayer();
game.placeMark(0, 1);
game.changePlayer();
game.placeMark(1, 0);
game.changePlayer();
game.placeMark(0, 2);
game.changePlayer();
game.placeMark(2, 0);
assertTrue(game.checkColumnsForWin());
}
//Kontrollib vitjat reas, kui vljad on thjad ning prast, kui reas on vitja
@Test
public void checkRowsForWinTest() {
TicTacToe game = new TicTacToe();
assertFalse(game.checkRowsForWin());
game.placeMark(0, 0);

game.changePlayer();
game.placeMark(1, 0);
game.changePlayer();
game.placeMark(0, 1);
game.changePlayer();
game.placeMark(2, 0);
game.changePlayer();
game.placeMark(0, 2);
assertTrue(game.checkRowsForWin());
}
//Kontrollib vitjat diagonaalis, kui vljad on thjad ning prast, kui diagonaalis on vitja
@Test
public void checkForWinDiagTest() {
TicTacToe game = new TicTacToe();
assertFalse(game.checkForWin());
game.placeMark(0, 0);
game.changePlayer();
game.placeMark(1, 0);
game.changePlayer();
game.placeMark(1, 1);
game.changePlayer();
game.placeMark(2, 0);
game.changePlayer();
game.placeMark(2, 2);
assertTrue(game.checkForWin());
}
//Kontrollib ldfunktsiooni, mis kontrollib vitjat igat pidi. Kontrollib, et see leiaks vitja veerus
@Test
public void checkForWinColTest() {
TicTacToe game = new TicTacToe();

assertFalse(game.checkForWin());
game.placeMark(0, 0);
game.changePlayer();
game.placeMark(1, 0);
game.changePlayer();
game.placeMark(0, 1);
game.changePlayer();
game.placeMark(2, 0);
game.changePlayer();
game.placeMark(0, 2);
assertTrue(game.checkForWin());
}
//Kontrollib ldfunktsiooni, mis kontrollib vitjat igat pidi. Kontrollib, et see leiaks vitja reas
@Test
public void checkForWinRowTest() {
TicTacToe game = new TicTacToe();
assertFalse(game.checkForWin());
game.placeMark(0, 0);
game.changePlayer();
game.placeMark(1, 1);
game.changePlayer();
game.placeMark(1, 0);
game.changePlayer();
game.placeMark(2, 1);
game.changePlayer();
game.placeMark(2, 0);
assertTrue(game.checkForWin());
}
//Kontrollib mngijavahetust. Esimene mngija on "x", teine "o"
@Test

public void changePlayerTest(){


TicTacToe game = new TicTacToe();
assertEquals('x', game.currentPlayerMark);
game.changePlayer();
assertEquals('o', game.currentPlayerMark);
game.changePlayer();
assertEquals('x', game.currentPlayerMark);
}
//Kontrollib, et keelatud vljadesse ei saaks "x" ega "o" sisestada
@Test
public void placeMarkTest(){
TicTacToe game = new TicTacToe();
assertFalse(game.placeMark(-1, -1));
assertFalse(game.placeMark(1, -1));
assertFalse(game.placeMark(3, 0));
assertFalse(game.placeMark(3, 1));
assertFalse(game.placeMark(3, 2));
assertFalse(game.placeMark(0, 3));
assertFalse(game.placeMark(1, 3));
assertFalse(game.placeMark(2, 3));
assertFalse(game.placeMark(3, 3));
assertTrue(game.placeMark(0, 0));
assertTrue(game.placeMark(0, 1));
assertTrue(game.placeMark(0, 2));
assertTrue(game.placeMark(1, 0));
assertTrue(game.placeMark(1, 1));
assertTrue(game.placeMark(1, 2));
assertTrue(game.placeMark(2, 0));
assertTrue(game.placeMark(2, 1));

assertTrue(game.placeMark(2, 2));
assertFalse(game.placeMark(2, 2));
}
//Kontrollib, et diagonaalidest vasakult paremale leitaks vitja
@Test
public void checkDiagonalsForWinTest1(){
TicTacToe game = new TicTacToe();
assertTrue(game.placeMark(0, 0));
assertTrue(game.placeMark(1, 1));
assertTrue(game.placeMark(2, 2));
assertTrue(game.checkDiagonalsForWin());
}
//Kontrollib, et diagonaalidest paremalt vasakule leitaks vitja
@Test
public void checkDiagonalsForWinTest2(){
TicTacToe game = new TicTacToe();
assertTrue(game.placeMark(2, 0));
assertTrue(game.placeMark(1, 1));
assertTrue(game.placeMark(0, 2));
assertTrue(game.checkDiagonalsForWin());
}
//Kontrollib, et vitja leidub reas vi veerus, kui jrjest on, kas xxx vi ooo.
@Test
public void checkRowColTest(){
TicTacToe game = new TicTacToe();
assertTrue(game.checkRowCol('x', 'x', 'x'));
assertFalse(game.checkRowCol('x', 'x', 'o'));
assertTrue(game.checkRowCol('o', 'o', 'o'));
assertFalse(game.checkRowCol('o', 'o', 'x'));
assertFalse(game.checkRowCol('x', 'o', 'x'));

assertFalse(game.checkRowCol('-', '-', '-'));


assertFalse(game.checkRowCol('-', '-', 'x'));
assertFalse(game.checkRowCol('-', '-', 'o'));
}
}

Testidest selgub, et programm ttab nii, kuidas peab.


Testraport:

10. Kokkuvte ja lisad. Hindamine, kogemuse anals,


kirjanduse loetelu.
10.1

Ssteemi hindamine, riskianals ja vastuvtmine.

Veebipoe-TestSummaryReport

Kokkuvte

Testimine kulges edukalt, veebiteenus on kasutusvalmis ja funktsionaalselt toimiv.


Tulemus on rahuldav - teste mis ei linud lbi oli vhe ja need olid olemuselt ssteemile
mittekriitilised.

Krvalekaldumised

Facebooki meeldib nupul vajutades ei juhtunud midagi, ehk API on katki?


Mobiiliversioon ei kohaldu hsti viksemate ekraanide jaoks.
Veebilehe operatiivsus on madal, kuna ei kohandu viksemate ekraanide jaoks.
Veebilehe tkindlus on IE7 brauserit kastades madal.

Phjalikkuse hinnang

Kuna puudus ligips ettevtte dokumentatsioonile ja lhtekoodile, siis piirdusime testimisel


veebiteenuse reaalsele toimimisega ja kasutajaliidese tiuslikkusega.
Testimata ji sgavam turvalisuse osa - isikuandmete hoidmine andmebaasides ja nende kaitstus.
Lisaks polnud vimalik testida maksmise toimimist ja leldist koodi ja andmebaasidega seotud
veebiteenuse osa.

Tulemuste kokkuvte

Leitud vead olid enamasti vikesed ja seotud vlise API vi aegunud brauseriga.
Kll aga avastasime veebilehe operatiivsuse kohase vea, milleks oli tsiasi, et veebileht ei
kohandu viksemate ekraanidega vga hsti, mis tekitab probleeme mobiilis veebilehe vaatamise
ja arvutis aknasuuruse muutmisel.
Mobiilis veebilehe kasutamisel tekkinud probleemid peaksid olema ettevttele krge prioriteediga,
kuna tnapeval toimub suur osa netiliiklusest just mobiilis ja mobiili vahendusel on vimalik ka
pangateenuseid kasutada, ehk antud viga mjutab otseselt ettevtte rilisi perspektiive.

Hinnang

Testidavad objektid rahuldasid teste. Testimise tulemusel anname heakskiidu veebiteenuse


kasutamiseks.

Tegevuste kokkuvte

Testisime 1a.ee veebipoe funktsioone ja toimimist.


Paar peva kulus veebilehe analsiks - millised on funktsionaalsed ja mittefunktsionaalsed
nuded, millised vastuvtu nuded. Kui need olid paigas siis sai hakata testimisega tegelema.
Testimisele kulus jllegi paar peva ja saime kirja pandud nuded testitud.
Dokumendi korrastamiseks ja kokkuvtete tegemiseks lks veel pev.

10.2

Allkirjad: Siim Lukas - 134287 IABB52, Reimo Vellemaa - 135163 IABB53, Gert
Sumeri - 134318 IABB53
Projektis saadud kogemuse anals.
Vaadates projektile tagasi testija seisukohalt, siis oli projekti headeks klgedeks kindlasti projekti
hoomatavus, olime saanud likoolist pris hea phja, et mida ja kuidas peaksime ssteemi puhul
testima ja meie grupit sujus ka trgeteta ja ksteist tiendavalt. Kui peab leidma tehtud vigu,
siis tooks vlja selle, et alustuseks oleks pidanud esimese asjana kogu etteantud
abidokumentatsiooni lbi lugema, mida kll tegime aga t kigus tkiti.
Kontrolli ja hindamise meetodid on meie arvates sobilikud ja neid ei tuleks muuta.

10.3

Kirjanduse loetelu
http://www.1a.ee/
http://tepandi.ee/tks-loeng.pdf
http://tepandi.ee/tks-korraldus.pdf
https://mitmekylgsus.wordpress.com/2014/07/19/kasutajalood-mittefunktsionaalsednouded-ja-arakasutajalood/
https://et.wikipedia.org/wiki/Tarkvara_testimine

You might also like