Rahandusministeerium · 6. veebruar 2025
Sisu (failidest)
<
OTSUS
Vaidlustusasja number 2-25/277106
Otsuse kuupäev 05.02.2025
Vaidlustuskomisjoni liige Taivo Kivistik
Vaidlustus Wisercat Estonia OÜ vaidlustus Rahandusministeeriumi
Infotehnoloogiakeskuse riigihankes „Struktuuritoetuse
registri arendus- ja hooldusteenus“ (viitenumber 277106)
Nortal AS-i pakkumuse vastavaks ja edukaks tunnistamise
otsustele
Menetlusosalised Vaidlustaja, Wisercat Estonia OÜ, esindaja vandeadvokaat
Kaidi Reiljan-Sihvart
Hankija, Rahandusministeeriumi Infotehnoloogiakeskus,
esindaja Kairi Osolainen
Kolmas isik, Nortal AS, esindaja vandeadvokaat Mart
Parind
Vaidlustuse läbivaatamine Kirjalik menetlus
RESOLUTSIOON
RHS § 197 lg 1 p-i 4 ja § 198 lg-de 3 ja 8 alusel
1. Jätta rahuldamata Wisercat Estonia OÜ vaidlustus Rahandusministeeriumi
Infotehnoloogiakeskuse riigihankes „Struktuuritoetuse registri arendus- ja hooldusteenus“
(viitenumber 277106).
2. Mõista Wisercat Estonia OÜ-lt Nortal AS-i kasuks välja Nortal AS-i lepingulise esindaja
kulud 4050 eurot (käibemaksuta).
3. Jätta Wisercat Estonia OÜ poolt vaidlustusmenetluses kantud kulud tema enda kanda.
EDASIKAEBAMISE KORD
Halduskohtumenetluse seadustiku § 270 lg 1 alusel on vaidlustuskomisjoni otsuse peale
halduskohtule kaebuse esitamise tähtaeg 10 päeva arvates vaidlustuskomisjoni otsuse
avalikult teatavaks tegemisest.
ASJAOLUD JA MENETLUSE KÄIK
1. 24.07.2024. a avaldas Rahandusministeeriumi Infotehnoloogiakeskus (edaspidi ka Hankija)
avatud hankemenetlusega riigihanke „Struktuuritoetuse registri arendus- ja hooldusteenus“
(viitenumber 277106) (edaspidi Riigihange) hanketeate ja tegi kättesaadavaks teised
riigihanke alusdokumendid (edaspidi koos nimetatult RHAD), sh Nõuded proovitöö
teostamiseks (edaspidi Nõuded), Vastavustingimused ja Hindamismetoodika kirjeldus
(edaspidi Hindamismetoodika).
Pakkumuste esitamise tähtpäevaks, 11.09.2024. a, esitasid pakkumuse 10 pakkujat, sh
Wisercat Estonia OÜ ja Nortal AS.
2. 23.12.2024. a otsusega tunnistas Hankija muuhulgas vastavaks ja edukaks Nortal AS-i
pakkumuse.
02.01.2025. a laekus Riigihangete vaidlustuskomisjonile (edaspidi vaidlustuskomisjon)
Wisercat Estonia OÜ (edaspidi ka Vaidlustaja) vaidlustus Hankija otsustele tunnistada
vastavaks ja edukaks Nortal AS-i (edaspidi ka Kolmas isik) pakkumus.
3. Kooskõlas riigihangete seaduse (edaspidi RHS) § 195 lg-ga 2 ja § 196 lg-dega 1 ja 3 teatas
vaidlustuskomisjon 13.01.2025 kirjaga nr 12.2-10/2 menetlusosalistele, et vaatab vaidlustuse
läbi esitatud dokumentide alusel kirjalikus menetluses, tegi teatavaks otsuse avalikult
teatavaks tegemise aja ning andis täiendavate seisukohtade ja dokumentide esitamiseks aega
kuni 16.01.2025 ja neile vastamiseks 21.01.2025. Vaidlustaja taotluse alusel pikendati
nimetatud tähtaegasid kuni 20.01.2025 ning 23.01.2025. Vaidlustuskomisjoni määratud
esimeseks tähtpäevaks esitasid täiendava seisukoha ja menetluskulude nimekirja Vaidlustaja
ja Kolmas isik. Teiseks tähtpäevaks esitasid täiendava seisukoha ja menetluskulude nimekirja
Hankija ja Kolmas isik.
Vaidlustuskomisjon jätab tähelepanuta menetlusosaliste repliigid, mis on esitatud pärast
20.01.2025. a seisukohtadele vastamiseks määratud tähtaega (23.01.2025. a), kuna need ei ole
esitatud tähtaegselt.
4. Käesolevas vaidlustusasjas on menetlusosalised oma menetlusdokumentides ulatuslikult
kajastanud Kolmanda isiku ja Vaidlustaja proovitöid ning nendega seonduvat, sealhulgas
sisaldavad menetlusosaliste seisukohad teavet, mida Kolmas isik ja Vaidlustaja peavad oma
ärisaladuseks. RHS ei näe ette, et kogu vaidlustusmenetluse saaks kinniseks kuulutada,
vaidlustuskomisjoni otsus tuleb üles laadida riigihangete registrisse.
Kolmanda isiku ja Vaidlustaja ärisaladuse kaitseks on vaidlustuskomisjon koostanud
käesolevast otsusest kolm versiooni:
1) otsuse täielik versioon, millest ärisaladusi sisaldavaid osi eemaldatud pole, tehakse
teatavaks üksnes Hankijale;
2) otsuse versioon, mille jaotisest Menetlusosaliste põhjendused on menetlusosaliste
ärisaladust sisaldavad osad välja jäetud ning tähistatud märkega [Kolmanda isiku ärisaladus]
või [Vaidlustaja ärisaladus] ning jaotisest Vaidlustuskomisjoni põhjendused on välja jäetud
Vaidlustaja pakkumuse hindamist käsitlev osa, mis sisaldab teavet, mida Vaidlustaja peab oma
ärisaladuseks, tehakse teatavaks Kolmandale isikule ja laaditakse üles riigihangete registrisse;
3) otsuse versioon, mille jaotisest Menetlusosaliste põhjendused on menetlusosaliste
ärisaladust sisaldavad osad välja jäetud ning tähistatud märkega [Kolmanda isiku ärisaladus]
või [Vaidlustaja ärisaladus], kuid mille jaotises Vaidlustuskomisjoni põhjendused on ka
Vaidlustaja ärisaladust sisaldav osa, edastatakse Vaidlustajale.
MENETLUSOSALISTE PÕHJENDUSED
5. Vaidlustaja, Wisercat Estonia OÜ, vaidlustuses ja 20.01.2025. a esitatud täiendavates
seisukohtades põhjendatakse taotlusi alljärgnevalt.
5.1. Kolmanda isiku pakkumus sai hindamisel kokku 99,44 väärtuspunkti. AS-i Helmes
pakkumus sai teisena 89,03 punkti ning Vaidlustaja pakkumus sai 86,20 punkti.
Vaidlustaja vaidlustab Hankija otsused Kolmanda isiku pakkumuse vastavaks ja edukaks
tunnistamiseks. Kolmanda isiku pakkumus oleks tulnud tagasi lükata. Isegi, kui Kolmanda
isiku pakkumus oleks vastav, on õigusvastane otsus Kolmanda isiku pakkumuse edukaks
tunnistamiseks, kuna pakkumuste õiguspärase hindamise korral oleks pidanud saama kõige
rohkem punkte ja seega edukaks tunnistatama Vaidlustaja pakkumus.
Vaidlustajal puudub vajadus vaidlustada AS-i Helmes suhtes tehtud otsuseid, kuna vaidlustuse
rahuldamise korral osutuks igal juhul edukaks Vaidlustaja pakkumus.
5.2. Nõuete kohaselt koosnes pakkujate poolt esitamisele kuulunud arenduse proovitöö:
1) rakendusest, mis kuvab kasutajale projekti kuludokumentide loendit (s.o sisulist
funktsionaalsust täitvast rakendusest ehk põhirakendusest);
2) andmebaasist;
3) integratsioonitestidest etteantud testjuhtudega (s.o testrakendusest).
Seejuures pidi testrakendus mh võimaldama nii sisulist funktsionaalsust täitva rakenduse
(põhirakenduse) funktsionaalsuse kui ka kiiruse testimist, s.o põhirakenduse testimist. Nõuded
sätestavad tingimused nii põhi- kui ka testrakendusele. Seega peab ka testrakendus, mille
kaudu sisulise rakenduse funktsionaalsust ja kiirust testitakse, vastama RHAD-i nõuetele ja
võimaldama põhirakenduse nõuetekohast testimist. Kolmanda isiku pakkumus ei ole vastav,
2 (40)
kuna proovitöö osaks olev testrakendus ei vasta Nõuetele.
Kolmanda isiku pakkumuse mittevastavus
5.3. Testrakenduse mittevastavus nr 1 (ridade valimine).
5.3.1. Nõuete alamjaotus „Rakenduse integratsioonitestid“ sätestab nõude Seleniumi end-
to-end automaattestide loomiseks, mille abil on võimalik mõõta automaattestis realiseeritavate
toimingutes kirjeldatud tegevuste summaarset ajakulu. Seejuures on sätestatud nõue, et
testimisel emuleeritakse tavakasutaja toimingud Seleniumi testi abil, kusjuures lubatud ei ole
toimingud, mida kasutaja teha ei saa või mille tegemiseks tavakasutajal andmed puuduvad.
Samuti on sätestatud nõue, et toimingute tegemiseks kuluv summaarne aeg tuleb mõõta
millisekundi täpsusega.
5.3.2. Kolmanda isiku proovitöö testimise logifaili testlugudest nr 8, 20 ja 21 automaattestis
realiseeritavate toimingute nr 8, 20 ja 21 kohta nähtub, et ridade selekteerimisel ei arvesta
Kolmanda isiku testrakendus, et tavakasutaja näeb testitavas rakenduses sisalduvaid ridu
lehekülgede kaupa. Nimelt on testrakenduse logifaili identifikaatoril 184 näha, et sisestatakse
korraga kõik nõutud read 126, 26535, 41223-41250, 83610-83620, 91425, 91428, 91431,
identifikaatoril 203 on näha, et on sisestatakse numbrivälja rea 30001 number (ilma
tavakasutaja kombel vastavale reale liikumata) ning identifikaatoril 403 on näha, et
sisestatakse korraga kõik nõutud read 126, 26535, 41223-41250, 83610-83620, 91425, 91428,
91431. Seega ei ole tavakasutajal võimalik näha testitavas rakenduses olevatel ridadel
sisalduvaid andmeid ilma liikumata õigele lehele, kus vastav rida asub. Kolmanda isiku
testrakenduses kasutatakse andmete valimisviisi, kus kasutaja lihtsalt sisestab nö pimesi
ridade numbreid ja vahemikke ilma andmeid nägemata. Ridade selekteerimisega seotud
toimingute tegemiseks tuleb nõuetekohase testrakenduse puhul arvestada ka vastavatele
lehtedele liikumise toimingutega. User experience’i kohaselt, kui tabelis on palju andmed ja
kuvatakse lehele rohkem kui 300 rida, siis brauser ei pea vastu, kuna iga html elemendi
renderdamine tarbib operatiivmälu ressursse. Seega on hea tava kohaselt vajalik paginatsioon
ehk lehekülgedele liikumine. Paginatsiooni nõutavusele viitab ka Nõuete tingimus, mille
kohaselt peab kasutajal olema võimalik andmeid lehitseda. Seega on Kolmanda isiku
testrakendus, mis eeltoodud toimingutega ei arvesta, seatud nõuetega sisulises vastuolus (s.o
põhineb toimingutel, mille tegemiseks tavakasutajal puuduvad andmed). Ühtlasi viib
Kolmanda isiku testrakenduse kõnealune mittevastavus selleni, et kuivõrd Kolmanda isiku
testrakenduses ei ole automaattestis realiseeritavates toimingutes kirjeldatud tegevuste
tegemisel õigetele lehtedele liikumise toimingutega (ja nende tegemiseks kuluva ajaga)
arvestatud, ei ole ka summaarse ajakulu arvestamisel arvestatud vastavatele toimingutele
kuluva ajaga – seega ei ole Kolmanda isiku proovitöö puhul testrakenduse kaudu võimalik
nõutud tegevuste summaarset ajakulu tingimuste kohaselt mõõta.
5.4. Testrakenduse mittevastavus nr 2 (toimingu õnnestumise kontrollimine).
5.4.1. Nõuete alamjaotus „Rakenduse integratsioonitestid“ sätestab nõude Testrakendus peab
kirjutama andmebaasi eraldi tabelisse automaattestis tehtud toimingute tulemused ja
toimingute käigus kasutatud sisendandmed (nõue nr 11). Teabevahetuses on Hankijalt küsitud
selle nõude kohta selgitusi, mh:
1) Mida mõistetakse toimingute tulemuste all (ehk info mida peab automaattestide logi
tabelisse kirjutama) (küsimus 7b); ja
2) Kas tulem on lihtsalt tegevuse jaoks kulunud aeg? (küsimus 7bi).
26.08.2024. a vastuses selgitas Hankija nõuet järgmiselt:
1) 7b) Kas toiming õnnestus või mitte ning kaua toiming aega võttis
2) 7bi) Lisaks ajale on vaja teada kas toiming õnnestus või mitte. Ebaõnnestumise korral
tuleb juurde lisada põhjus miks ei õnnestunud1 .
Seega sätestab RHAD automaattestis tehtud toimingute andmebaasis kajastamise nõude,
milleks tuleb toimingute õnnestumise kontroll eraldi sammuna ehk toiminguna läbi viia.
5.4.2. Kolmanda isiku proovitöö testimise kohta Hankija esitatud tõenditest (sh logist) ei nähtu
toimingu õnnestumise kontrolli läbiviimist, s.o et vastavat sammu oleks üldse teostatud. Seega
ei vasta Kolmanda isiku testrakendus eelkirjeldatud nõudele. Kuivõrd Kolmanda isiku
1 Vt riigihangete register, sõnumi ID: 877859.
3 (40)
testrakenduses ei ole automaattestis realiseeritavates toimingutes kirjeldatud tegevuste
tegemisel ka toimingu õnnestumise kontrolli toimingutega arvestatud, ei ole summaarse
ajakulu arvestamisel arvestatud ka vastavatele toimingutele kuluva ajaga. Seega ei ole
Kolmanda isiku proovitöö puhul ka eeltoodud põhjusel võimalik nõutud tegevuste
summaarset ajakulu tingimuste kohaselt mõõta.
5.5. Testrakenduse mittevastavus nr 3 (logi ja mõõtmistulemuste kajastamine konsoolis)2 .
5.6. Testrakenduse mittevastavus nr 4 (rakenduse sätete kajastamine).
5.6.1. Nõuete alamjaotus „Rakenduse integratsioonitestid“ sätestab nõude Testrakendus
kirjutab väljundisse (konsooli) oma logi ja mõõtmistulemused, mis kajastavad
tegevusseisundeid, mõõdetavaid aegu, vigu ja muud testrakenduse sees toimuvat infot nagu
näiteks sätted, millega rakendus käivitati (nõue nr 10). Seega peab nõutud väljundisse olema
kirjutatud ka muu rakenduse sees toimuv info, sh sätted, millega rakendus käivitati.
5.6.2. Lisaks asjaolule, et Kolmanda isiku testrakendus ei kirjuta logi ja mõõtmistulemusi
nõutud väljundisse (konsooli), ei nähtu proovitöö salvestiselt (vt salvestis Nortal AS 1 masin
– Copy.mp4) ega ka Kolmanda isiku testrakenduse logifailist, et Kolmanda isiku testrakendus
kajastaks konsoolis või ka eraldi logifailis muud rakenduses toimuvat, sh rakenduse
käivitamise sätteid. Seega ei vasta Kolmanda isiku testrakendus ka selles osas RHAD-is
sätestatud nõuetele.
5.7. Testrakenduse mittevastavus nr 5 (logis toimingute mõõtmistulemuste kajastamine,
logiandmete vastuolu summaarse ajakuluga).
5.7.1 Nõuete alamjaotus „Rakenduse integratsioonitestid“ sätestab nõude Testrakendus
kirjutab väljundisse (konsooli) oma logi ja mõõtmistulemused, mis kajastavad
tegevusseisundeid, mõõdetavaid aegu, vigu ja muud testrakenduse sees toimuvat infot nagu
näiteks sätted, millega rakendus käivitati (nõue nr 10). Antud nõudest tuleneb
eesmärgipäraselt, et logis peavad olema adekvaatselt kajastatud nõutavad andmed, sh
mõõdetavad ajad.
5.7.2. Lisaks asjaolule, et Kolmanda isiku testrakendus ei kirjuta logi ja mõõtmistulemusi
nõutud väljundisse (konsooli), nähtub nõuetele mittevastavasse väljundisse kirjutatud logist,
et üks Kolmanda isiku testrakenduses läbi viidud toiming on toimunud ca 3 minutit erineval
ajal, kui on toimunud kõik ülejäänud toimingud (logifailis vastavalt 09:21 vs 09:24).
Seega olukorras, kus Hankija on lugenud Kolmanda isiku testrakenduses läbi viidud
automaattestis realiseeritavate toimingute summaarseks ajakuluks vaid 16572 millisekundit,
kuid logi kohaselt on toimingute läbiviimine toimunud lausa ca 3 minuti jooksul, ei kajasta
kas logi adekvaatseid andmeid (s.o Kolmanda isiku logi ei vasta nõuetele) või ei ole
testrakenduse kaudu võimalik Kolmanda isiku proovitöö puhul nõutud tegevuste summaarset
ajakulu tingimuste kohaselt mõõta (s.o Kolmanda isiku testrakenduse mõõtetulemus ei vasta
nõuetele ega ole seega õige).
5.7.3. Kuigi Kolmanda isiku testrakenduse logifailis on real ID 208 toodud koondtulemus
Kõik sammud kokku 11826 millisekundit, ei vasta see logis toodud eelnevate toimingute
summaarsele ajakulule, s.o logis deklareeritud vastav koondtulemus on 83 millisekundit
väiksem. Ka see kinnitab, et testrakenduse kaudu ei ole võimalik Kolmanda isiku proovitöö
puhul nõutud tegevuste summaarset ajakulu tingimuste kohaselt mõõta ning Kolmanda isiku
testrakendus ei vasta RHAD-i-s sätestatud nõuetele.
5.8. Testrakenduse mittevastavus nr 6 (rakenduse käivitamine).
5.8.1. Nõuete alamjaotus „Rakenduste integratsioonitestid“ sätestab testrakendusele kehtivate
nõuetena:
- 4. Funktsionaalsuse testimiseks on käsurealt käivitava java-konsoolirakendus
(testrakendus), mille ühe jar-faili sees on kõik käivitamiseks vajalikud artefaktid ja sõltuvused;
2 Kuna 20.01.2025. a täiendavates seisukohtades loobus Vaidlustaja sellele väidetavale mittevastavusele
tuginemisest, seda käesolevas otsuses ei käsitleta.
4 (40)
- 6. Testrakendus töötab Docker-konteineris, mille Dockerfile ja Docker compose on
tarnega kaasas ning Docker konteinerit ja selles töötavat testrakendust peab saama
käivitada avalikku võrku kasutades;
- 9. Testrakendus on käsureavõtmetega, mis lisatakse juhendisse, hallatav käsurealt;
- 13. Käsureal peab saama hallata rakenduse järgmiseid sätteid:
d) ’ --- headless’ võimalus lülitada välja ja sisse Chrome UI (vaikimisi Chrome UI
väljas).
e) Võimalus käivitada rakendus DEBUG-režiimis (vaikimisi DEBUG väljas).
Hankijale on seoses testrakendusega esitatud teabevahetuses küsimused:
1) 3. Seniste nõuete ja vastuste põhjal on teada, et testitav rakendus jookseb Dockeri
konteineris ühes masinas ja testid jooksevad teises konteineris teises masinas. Mõlemat
masina spetsifikatsioon on 8 vCPU, 16GB RAM, 10 GB SSD ja kasutatav operatsioonisüsteem
Windows 10:[---]
2) 3 b) Kas tegemist on Virtual Machine(VM)-ga?
05.09.2024. a vastas Hankija: 3b) Pakkuja jaoks ei tohiks olla vahet kas tegemist on VM-ga
või mitte. Oluline on see, et kõikide pakkujate võrdlemiseks kasutatakse samasuguseid
keskkondi3 .
Samuti on teabevahetuses esitatud Hankijale küsimus: Testid käivitatakse vähemalt kahes
RmIT hallatavas seadmes, mille spetsifikatsioonid on toodud „Nõuded ja arhitektuur“
peatükis ning mis on samad kõigi pakkujate jaoks. - kas testid ja rakendus käivitatakse samas
seadmes (spetsifikatsiooniga 8 vCPU, 16GB RAM, 10 GB SSD) või käivitatakse testid ühes ja
rakendus teises?
19.08.2024. a vastas Hankija: 1) Jah. Rakendus ja testid käivitatakse erinevates masinates4 .
5.8.2. Kolmanda isiku proovitöö testimise salvestisel (vt lingil salvestis Nortal AS 2 masin –
Copy.mp4), s.o masina nr 2 videos ajahetkel 2:28 selgitab administraator, et on avastanud vea,
et Kolmanda isiku testrakendust ei ole testitud võrguväliselt teisest masinast. 3:06 annab
administraator teada, et pidi lisama docker-compose.yml faili täiendava rea testimiseks
vajalike portide kohta „4444:4444“ ning vastasel korral ei oleks ta väljast saanud Sleniumile
ligi. Samuti selgitab administraator, et kui ta sai rakendusele ligi, kukkus see maha, mistõttu
pidi ta ise tegema seoses Dockerkonteineriga veel eraldi „triki“ (kokku ehitama). Minutil 5:00
selgitab administraator, et algselt Kolmanda isiku rakendus (sfos-integration-tests) ei
käivitunud ilma temapoolsete muudatusteta. Ajahetkel 6:11 teatab administraator, et pidi
muutma ka .java faili, kuna tarkvara käivitumiseks vajalike parameetrite sisestamine oli
muidu võimatu. Seega kinnitab vastav testimise salvestis, et ilma administraatori poolt
kirjeldatud muudatusteta ei olnud Kolmanda isiku proovitööd võimalik käivitada ega nõutud
automaatteste käivitada (testida) mh selliselt, et rakendus ja testid käivitatakse erinevates
masinates. Seejuures Java konsoolirakendust ei olnud võimalik käsurealt ilma administraatori
enda poolt välja mõeldud muudatusteta ning Docker-konteineri kaudu avalikku võrku
kasutades Kolmanda isiku paigaldus- ja kasutusjuhendis toodud käsureavõtmega käivitada.
Eeltoodust tulenevalt ei vasta Kolmanda isiku testrakendus nõuetele nr 4, 6, 9 ja 13 ning on
sellega RHAD-is sätestatud nõuetele mittevastav.
Tähtsust ei oma, et Hankija masina nr 2 testitulemusi ei arvestanud – testrakendus pidi olema
käivitatav ja kasutatav Hankija tingimuste kohaselt, sh pilveseadme (Virtual Machine) kaudu
käivitamisel, ning selliselt, et rakendus ja testid käivitatakse erinevates masinates. Masinas nr
2 tehtud testimine näitas, et Kolmanda isiku testrakendus nendele nõuetele ei vastanud.
5.9. Testrakenduse mittevastavus nr 7 (paigaldus- ja kasutusjuhendi puudumine).
5.9.1. Vastavustingimuste kohaselt peab pakkuja esitama Nõuetes toodud tingimustele vastava
ja hindamisele kuuluva proovitöö lähtekoodi koos paigaldus- ja kasutusjuhendiga. Paigaldus-
ja/või kasutusjuhendi mitteesitamisel lükatakse pakkumus tagasi.
Nõuded sätestavad: 8. Tarne arhiivis on dokumentatsioon ja juhendid, ka rakenduste
ehitamise juhend ning valikud sõltuvused, mis pole saadavad avalikust võrgust. Nõuete
alamjaotus „Rakenduste integratsioonitestid“ sätestab: 8. Testrakendusega koos antakse üle
ka paigaldus- ja kasutusjuhend. Kuivõrd testrakendus ise peab vastama „Rakenduse
integratsioonitestides“ sätestatud nõuetele, peab ka testrakenduse paigaldus- ja kasutusjuhend
lähtuma testrakendusele seatud nõuetest ehk olema piisav testrakenduse paigaldamiseks ja
kasutamiseks.
3 Vt riigihangete register, sõnumi ID: 880593.
4 Vt riigihangete register, sõnumi ID: 876721.
5 (40)
5.9.2. Kolmanda isiku proovitööd ei olnud võimalik käivitada ega nõutud automaatteste
käivitada (testida) ilma Hankija administraatori kirjeldatud omaalgatuslike muudatusteta.
Selleks, et Hankija saaks Kolmanda isiku proovitööd Riigihankes nõutud tingimustel, sh
avalikku võrku kasutades, Java rakendusest ning Docker-konteineri kaudu käivitada ja testida
selliselt, et rakendus ja testid käivitatakse erinevates masinates, pidi Hankija tegema
Kolmanda isiku proovitöö konfiguratsioonifailis olulisi muudatusi. Selliste muudatuste
tegemist ei olnud salvestise kohaselt Kolmanda isiku testrakenduse paigaldus- ja
kasutusjuhendis kirjeldatud. Seejuures Kolmanda isiku proovitöö testimise salvestisel (vt
lingil salvestis Nortal AS 2 masin – Copy.mp4), s.o masina nr 2 videos ajahetkel 2:28 selgitab
administraator, et Kolmanda isiku testrakenduse võrguväliselt teisest masinast testimise kohta
puuduvad Kolmanda isiku dokumentatsioonis juhised. Samuti 3:06 annab administraator
teada, et draiveri pordid olid Kolmanda isiku dokumentatsioonis publitseerimata
(administraator pidi need ise Kolmanda isiku lähtekoodi lisama), vastasel korral ei oleks ta
väljast saanud Seleniumile ligi. Seega isegi juhul, kui Kolmanda isiku testrakendus ise oleks
Nõuete p-i 8 ja alamjaotuse „Rakenduste integratsioonitestide“ nõuetele nr 4, 6, 9 ja 13 vastav
(mida ta ei ole), on selge, et Kolmanda isiku proovitöö paigaldus- ja kasutusjuhend ei kirjelda
proovitöö käivitamist ja testimist nõutud tingimustel (sh selliselt, et rakendus ja testid
käivitatakse erinevates masinates), mistõttu on Vastavustingimustes toodud nõue paigaldus-
ja kasutusjuhendi esitamiseks sisuliselt täitmata. Eelnevast tulenevalt tuleb lugeda, et nõutavat
paigaldus- ja kasutusjuhendit ei ole esitatud.
5.10. Eeltoodud asjaoludest nähtub, et Kolmanda isiku pakkumuse vastavaks tunnistamine on
õigusvastane, kuivõrd Kolmanda isiku pakkumus ei vasta RHAD-is proovitöö testrakendusele
sätestatud tingimustele. Tegemist on testrakendusega, mis ei võimalda nõuete mittevastavuse
tõttu sisulist funktsionaalsust teostavat rakendust nõuetekohaselt testida. Hankija oleks
pidanud Kolmanda isiku pakkumuse RHS § 114 lg 1 alusel tagasi lükkama.
5.11. RHS § 117 lg 1 alusel kuulub hindamisele vaid vastavaks tunnistatud pakkumus. Kuna
Kolmanda isiku pakkumuse vastavaks tunnistamine on õigusvastane ning Kolmanda isiku
pakkumus ei saa seetõttu edasises hankemenetluses osaleda, tuleb tunnistada kehtetuks ka
otsus Kolmanda isiku pakkumuse edukaks tunnistamiseks.
Kolmanda isiku pakkumuse hindamine
5.12. Kolmanda isiku pakkumuse edukaks tunnistamine on õigusvastane ka juhul, kui
eeltoodud mittevastavused ei anna alust pakkumuse tagasi lükkamiseks – Hankija on
pakkumuse hindamise kriteeriume Kolmanda isiku ja Vaidlustaja proovitööde osas RHS § 117
lg 1 alusel ebaõigesti rakendanud.
Pakkumuste hindamise kriteeriumid on:
1) pakkumuse maksumus põhimõttel „vähim on parim“ (osakaaluga 40); ja
2) hankija hinnatav proovitöö kvaliteet (osakaaluga 60).
„Hindamismetoodika kirjelduse“ p-i 3 kohaselt pidi proovitöö kvaliteedi kriteeriumi alusel
andma proovitöö kriteeriumidele kokku 0 kuni 100 punkti järgmiselt:
Kriteerium Maksimumpunktid
1. Dokumenteerimine 20
2. Arhitektuuri põhimõtete jälgimine 20
3. Funktsionaalsus 30
4. Testide mõõtmistulemused (kiirus) 30
Kokku 100
„Hindamismetoodika kirjelduse“ p-i 3.5 kohaselt maksimaalsed väärtuspunktid (60)
omistatakse proovitöö eest kõrgeima punktisumma saanud pakkumus(t)ele.
Ülejäänud hinnatavate proovitööde väärtuspunktid arvutatakse järgmise valemi järgi:
„punktimäär“ = „hinnatava proovitöö punktide summa“ ÷ „enim punkte saanud proovitöö
punktide summa“ x 60.
5.13. Kolmanda isiku pakkumus sai töötunni maksumuse kriteeriumi alusel 39,44
väärtuspunkti ning tema proovitööd hinnati kõigis proovitöö kriteeriumides maksimaalsete
punktidega (s.o kokku 100 punkti) ehk tema pakkumus sai proovitöö eest kokku 60
väärtuspunkti. Kokku anti kahe kriteeriumi alusel Kolmanda isiku pakkumusele 99,44
väärtuspunkti (39,44 + 60). Vaidlustaja pakkumus sai töötunni maksumuse kriteeriumis
maksimaalsed 40 väärtuspunkti. Proovitöö kõigis kriteeriumides kokku anti Vaidlustaja
pakkumusele 77 punkti ehk 46,20 väärtuspunkti. Kokku sai Vaidlusaja pakkumus seega 86,20
6 (40)
punkti (40 + 46,20).
Isegi kui ei esineks aluseid Kolmanda isiku pakkumuse tagasilükkamiseks, on
hindamiskriteeriumide õiguspärase rakendamise korral majanduslikult soodsaim pakkumus
100 punktiga Vaidlustaja pakkumus. Kolmanda isiku pakkumusele on proovitöö kriteeriumis
antud õigusvastaselt 50 punkti (30 + 20 punkti) rohkem ning Vaidlustaja pakkumusele on
proovitöö kriteeriumis ebaõigesti antud 23 punkti (3 + 20) vähem.
5.14. Kolmanda isiku proovitööd on testide mõõtmistulemuste (kiiruse) kriteeriumis
ebaõigesti hinnatud. Kolmanda isiku proovitöö sai testide mõõtmistulemuste (kiiruse)
kriteeriumis maksimaalsed 30 punkti.
5.14.1. Kolmanda isiku proovitöö mõõtmistulemusi ei saa arvestada. Hindamismetoodika
kirjelduse p 3.8 sätestab testide mõõtmistulemuste (kriteeriumi) puhul: Mõõtmistulemused
lähevad arvesse ainult juhul, kui proovitöös toodud funktsionaalsuse testides on saadud
vähemalt 5 punkti ning kõik proovitöös nõutud automaattesti toimingud on korrektselt
realiseeritud. Juhul kui automaattesti toimingud ei ole realiseeritud vastavalt proovitöö
nõuetes toodule, siis omistatakse käesolevale kriteeriumile 0 punkti.
Seoses eespool kirjeldatud testrakenduste mittevastavustega 1 (ridade valimine) ja 2
(toimingu õnnestumise kontrollimine) jättis Kolmanda isiku proovitöö testrakendus
automaattestis realiseeritavates toimingutes kirjeldatud tegevuste tegemisel selleks vajalike
toimingutega (ridade valimine, toimingu õnnestumise kontrollimine) ja nende tegemiseks
kuluva ajaga arvestamata. Lihtsustatult tähendab see, et kui automaattestis realiseeritavate
konkreetsete toimingute tegemiseks oli tavakasutajal vaja teha näiteks 10 toimingut, siis
Kolmanda isiku testrakendus arvestas neist vaid 7 toimingu tegemisega ning selleks kulunud
ajaga. Vaidlustaja ei dubleeri eelpool kirjeldatud mittevastavusi ja palub neist ka siinkohal
lähtuda. Juhul, kui eelnimetatud mittevastavused ei ole käsitletavad pakkumuse
mittevastavuse alustena ega too kaasa pakkumuse tagasi lükkamist, on Kolmanda isiku
pakkumust testide mõõtmistulemuste (kiiruse) kriteeriumis igal juhul õigusvastaselt hinnatud,
kuivõrd kõnealuste ridade valimise ja toimingu õnnestumise kontrollimisega seotud vajalike
toimingutega arvestamata jätmine tähendab, et proovitöös nõutud automaattesti toimingud ei
ole Kolmanda isiku proovitöös korrektselt realiseeritud. Seega ei ole ka nõutud toimingute
tegemiseks tegelikult kuluv aeg Kolmanda isiku testrakenduse alusel tuvastatav ning
mõõtmistulemust (16572 millisekundit) ei või „Hindamismetoodika kirjelduse“ kohaselt
arvestada. Seega tuli Kolmanda isiku proovitööle antud 30 punkti asemel hindamismetoodika
kohaselt anda 0 punkti.
5.14.2. Kolmanda isiku testrakenduse genereeritud testide mõõtmistulemused on
logiandmetega vastuolus. Kuigi Kolmanda isiku testrakenduse kohaselt oli Kolmanda isiku
automaattestis realiseeritavate toimingute summaarseks ajaks 16572 millisekundit, siis
testrakenduse koostatud logis toodud toimingute aegade kohaselt on nõutavaid toiminguid läbi
viidud kolme minuti jooksul (kell 09:21 ja 09:24). Seega on põhjendatud alus ka arvata, et
testimise tulemused ei pruugi olla õiged ning nendega ei või arvestada.
5.14.3. Logi ja mõõtmistulemuste konsoolis kajastamata jätmine, rakenduse sätete
kajastamata jätmine. Vaidlustaja leiab, et Kolmanda isiku testrakenduse mittevastavuse puhul
ülal kirjeldatud nõuetele 1 (ridade valimine), 2 (toimingu õnnestumise kontrollimine), 3 (logi
ja mõõtmistulemuste kajastamine konsoolis), 4 (rakenduste sätete kajastamine) ja 5 (logis
toimingute mõõtmistulemuste kajastamine, logiandmete vastuolu summaarse ajakuluga), on
tegemist vastavusnõuete rikkumisega, mis toovad kaasa pakkumuse tagasi lükkamise. Kui
vaidlustuskomisjon leiab, et vastavaid nõudeid käsitleda hindamiskriteeriumide osana, tuleb
ka Kolmanda isiku proovitöö mittevastavusi logi ja mõõtmistulemuste konsoolis esitamata
jätmise ning rakenduse sätete kajastamata jätmise osas arvestada „Hindamismetoodika
kirjelduse“ p-i 3.8 kriteeriumi 4 rakendamisel, mistõttu ei saa Kolmanda isiku proovitööle
vastavas kriteeriumis anda rohkem kui 0 punkti.
5.14.4. Juhul, kui Vaidlustaja esile toodud Kolmanda isiku pakkumuse mittevastavused ei
anna alust pakkumuse tagasi lükkamiseks, on Kolmanda isiku proovitööd testide
mõõtmistulemuste (kiiruse) osas hinnatud õigusvastaselt ning Kolmanda isiku pakkumusele
on vastavas kriteeriumis ebaõigesti antud 30 punkti. Kolmanda isiku pakkumusele ei saa
vastavas kriteeriumis üldse punkte anda (so tuleb anda 0 punkti).
5.15. Kolmanda isiku proovitööd on ka dokumentatsiooni kriteeriumis ebaõigesti hinnatud 20
7 (40)
punktiga. Isegi kui Kolmanda isiku pakkumus oleks vastav, ei saa Kolmanda isiku
pakkumusele selles kriteeriumis punkte anda.
5.15.1. Kolmanda isiku dokumentatsiooni järgides ei ole võimalik komponentide paigaldus
või funktsionaalsuse kasutamine. Kolmanda isiku proovitööd ei olnud võimalik ilma Hankija
administraatori kirjeldatud omaalgatuslike muudatusteta käivitada ega nõutud automaatteste
käivitada (testida). Selleks, et Hankija saaks Kolmanda isiku proovitööd Riigihankes nõutud
tingimustel, sh avalikku võrku kasutades Java rakendusest ning Docker-konteineri kaudu,
käivitada ja testida selliselt, et rakendus ja testid käivitatakse erinevates masinates, pidi
Hankija tegema Kolmanda isiku proovitöö konfiguratsioonifailis olulisi muudatusi, milliste
tegemist ei olnud testsalvestise kohaselt Kolmanda isiku proovitöö paigaldus- ja
kasutusjuhendis kirjeldatud. Vaidlustaja on üksikasjalikult kirjeldanud testrakendusele ja selle
paigaldus- ja kasutusjuhendile „Rakenduste integratsioonitestide“ p-ides 4, 6, 8, 9 ja 13
esitatud nõudeid ja nende rikkumist ning palub ülal toodust lähtuda. Juhul, kui
vaidlustuskomisjon leiab, et tegemist ei ole vastavustingimusele mittevastavusega, nähtub
viidatud rikkumistest, et Kolmanda isiku testrakenduse juhenddokumentatsioon ei olnud
piisav, et selle kohaselt oleks õnnestunud kõigi komponentide paigaldamine või
funktsionaalsuse kasutamine.
Dokumentatsiooni hindamisel ei oma tähtsust, et Hankija proovitööde testimisel masina nr 2
testitulemusi ei arvestanud – proovitöö dokumentatsioon peab Hankija poolt testrakenduse
käivitamiseks ja kasutamiseks ette nähtud nõuete täitmiseks olema piisav ja täielik. Sh peab
juhendmaterjal olema piisav ja täielik, kui rakendusi käivitatakse pilveseadme kaudu ning
selliselt, et rakendus ja testid käivitatakse erinevates masinates.
5.15.2. Hindamismetoodika kirjelduse kohaselt dokumenteerimise kriteeriumis eeldab
maksimumpunktide (20 punkti) andmine mh, et paigaldus- ja seadistusjuhendid on loogilise
ülesehitusega ja lihtsalt mõistetavad ning et juhendite järgi õnnestub kõikide komponentide
paigaldamine ja kõikide funktsionaalsuste testimine. Hindamismetoodika kirjelduse kohaselt
ei anta proovitöö dokumenteerimisele punkte (s.o antakse 0 punkti), kui dokumentatsiooni
järgides ei ole võimalik komponentide paigaldus või funktsionaalsuse kasutamine. Kuivõrd
Kolmanda isiku proovitöö paigaldus- ja kasutusjuhendi kohaselt ei olnud võimalik
testrakendust kõigil ette nähtud tingimustel käivitada, ei ole tegemist ebaolulise puudusega
vaid selgelt puudusega, mis takistas testrakenduse käivitamist ja testimist.
Seega on Kolmanda isiku pakkumusele on proovitöö dokumentatsiooni kriteeriumis
ebaõigesti antud 20 punkti.
Vaidlustaja pakkumuse hindamine
5.16. Vaidlustaja pakkumust on ebaõigesti hinnatud, vähendades testide mõõtetulemuste
(kiiruse) kriteeriumis Vaidlustaja proovitööle antavaid punkte. Hankija on jätnud Vaidlustaja
pakkumusele proovitöö testide mõõtetulemuste (kiiruse) hindamiskriteeriumis ebaõigesti 3
punkti andmata, andes 30 punkti asemel 27 punkti. Kuna Kolmanda isiku pakkumuse puhul
ei saa proovitöö testide mõõtmistulemusi arvestada ning pakkumusele tuleb vastavas osas
anda 0 punkti. „Hindamismetoodika kirjelduse“ p-i 3.8 kriteeriumi 4 kohaselt jagatakse testide
mõõtetulemuste (kiiruse) kriteeriumis punkte lähtuvalt pingereast, s.o esimene saab
maksimumpunktid ning iga järgmine pakkuja 10% vähem. Kolmanda isiku pakkumuse
mittevastavana tagasi lükkamine, samuti Kolmanda isiku proovitöö mõõtmistulemuste
arvesse võtmata jätmine ja tema pakkumusele vastavas kriteeriumis punktide andmata jätmine
toob ühtlasi kaasa selle, et maksimaalsed punktid (30 punkti) tuleb vastavas kriteeriumis anda
Vaidlustaja pakkumusele kui algselt Kolmanda isiku järel II kohal olnud pakkumusele.
5.17. Vaidlustaja pakkumust on ebaõigesti hinnatud, vähendades funktsionaalsuse
kriteeriumis Vaidlustaja proovitööle antavaid punkte. Hankija on ebaõigesti andnud 30 punkti
asemel 10 punkti. Hankija on valesti leidnud, et Vaidlustaja proovitöö funktsionaalsuses
esineb kaks puudust. Vaidlustaja proovitöö funktsionaalsuses puudusi ei esine, mistõttu tuleb
Vaidlustaja proovitööle anda maksimumpunktid (30 punkti).
5.17.1. Vaidlustaja proovitöös ei esine Hankija poolt välja toodud puudust nr 1. Vaidlustaja
proovitöö hindamise kokkuvõtte kohaselt esineb Hankija hinnangul proovitöös puudus
kuludokumendi summa kuvamisel [Vaidlustaja ärisaladus].
Nõue:
Nõuded, alamjaotis „Arendustöö „Kuludokumentide kuvamine, valimine ja seisundite
8 (40)
muutmine“
Abikõlblik summa - Kuvatakse kuludokumendi abikõlblik summa numbrina, täpsusega kaks
kohta peale koma. Tegevused valitud ridadega
• Valitud ridadega peab saama teostada korraga abikõlbliku summa arvutamise
toiminguid.
Abikõlbliku summa arvutamisel küsitakse kasutajalt % mis osas valitud read on abikõlblikud
ning selle abil arvutatakse igale reale dokumendi kogusumma – s.t. sendi täpsusega abikõlblik
summa.
[Vaidlustaja ärisaladus]
Seega on Hankija Vaidlustaja proovitööd ebaõigesti hinnanud ning hindamismetoodika
kohaselt tuleb kõnealuse puuduse puudumise tõttu lisada Vaidlustaja proovitöö punktidele 10
punkti.
5.17.2. Vaidlustaja proovitöös ei esine puudust nr 2. Vaidlustaja proovitöö hindamise
kokkuvõtte kohaselt leiab Hankija, et kasutajaliideses ei ole võimalik teostada etteantud
kohast kõikide järgnevate ridade valikut. Dialoogiaknas puudub valik „kõik read“. Hankija
järeldus on ebaõige.
Nõue:
Nõuded, alamjaotis „Arendustöö „Kuludokumentide kuvamine, valimine ja seisundite
muutmine“ Valiku tegemine:
1. Vali etteantud kohast alates „10, 20, 50, 100, 1 000, 10 000” rida või „kõik read“;
Hankija on teabevahetuses andnud vastavale nõudele selgituse, mille kohaselt valik „kõik
read“ tähendab kõikide kuludokumentide ridade valimise võimalust kogu tabeli ulatuses.
5.17.3. Kuna Hankija selgitas teabevahetuses 5 , et “vali kõik read” puhul tuleb lähtuda
variandist a) ehk peab valima kõik read, mitte mingist kindlast kohast edasi, siis on vastav
funktsionaalsus Vaidlustaja proovitöös nõuetekohaselt realiseeritud [Vaidlustaja ärisaladus].
Eeltoodust nähtuvalt on Vaidlustaja proovitöö funktsionaalsus realiseeritud vastavuses
Hankija tingimusega (sh selle kohta antud selgitusega) ning puudust ei esine.
Seega on Hankija Vaidlustaja proovitööd ka vastavas osas ebaõigesti hinnanud ning
Vaidlustaja proovitöö punktidele tuleb lisada 10 punkti.
5.17.4. Eeltoodust ilmneb, et Vaidlustaja pakkumusele tuleb anda proovitöö funktsionaalsuse
kriteeriumis täiendavalt 20 punkti ehk kokku maksimumpunktid (30 punkti).
5.18. Hankija õiguspärase tegevuse korral:
1) tulnuks Kolmanda isiku pakkumus mittevastavana tagasi lükata. Pakkumuse vastavuse
ja selle hindamise korral ei saa hindamiskriteeriumide õiguspärasel rakendamisel anda
Kolmanda isiku pakkumusele proovitöö kriteeriumis rohkem kui 50 punkti (so 30
väärtuspunkti);
2) Vaidlustaja pakkumusele tuleb hindamiskriteeriumide õiguspärase rakendamise korral
anda proovitöö kriteeriumis maksimaalsed 100 punkti (s.o 60 väärtuspunkti) ning seega ka
kriteeriumide kogumis maksimaalsed 100 väärtuspunkti (40 + 60);
3) majanduslikult soodsaim on seega 100 väärtuspunktiga Vaidlustaja pakkumus ning
Kolmanda isiku pakkumuse edukaks tunnistamise otsus tuleb õigusvastasuse tõttu kehtetuks
tunnistada.
5.19. Lähtudes Tallinna Ringkonnakohtu otsuse 3-18-657 p-st 13, milles kohus leidis, et kuigi
pakkumuse vastavuse ja pakkuja kvalifikatsiooni kontrollid on põhimõtteliselt teineteisest
lahutatavad ning võivad toimuda erinevatel aegadel ja erinevas järjekorras (vt RHS § 52 lg-d
2 ja 3), on õigusselguse huvides põhjendatud lähenemine, et kui kehtetuks tunnistatakse juba
üks hankija otsus, mille tagajärjel ei saaks asjaomane pakkuja / pakkumus enam
hankemenetluses osaleda, tunnistatakse ühtlasi kehtetuks ka sellele ajaliselt järgnevad hankija
otsused vastava pakkuja või pakkumuse kohta. Eeltoodust tulenevalt tuleb otsuste
etapiviisilisusest lähtuvalt kehtetuks tunnistada ka hankija järjestikused või edasised otsused
Kolmanda isiku kõrvaldamata jätmise ja kvalifitseerimise kohta.
5.20. 20.01.2025. a esitas Vaidlustaja täiendavad seisukohad.
5.20.1. Hankija ja Kolmanda isiku vastuväited vaidlustusele on ebaõiged. RHAD-is on
5 Vt riigihangete register, sõnumi ID: 880623.
9 (40)
sätestatud vastavustingimus, mis tuli pakkumuses täita. Kolmanda isiku pakkumus ei vasta
RHAD-is esitatud tingimustele ja tuleks RHS § 114 lg 2 alusel tagasi lükata.
5.20.2. Hankija on sätestanud vastavustingimusena proovitöö esitamise (Vastavustingimuste
p 5): Pakkuja peab esitama dokumendis „Nõuded proovitöö teostamiseks“ toodud nõuetele
vastava ja hindamisele kuuluva proovitöö lähtekoodi koos paigaldus- ja kasutusjuhendiga.
Vaidlustaja ei nõustu Hankija seisukohaga, et Vastavustingimuste p 5 sätestas ainult nõude
proovitöö lähtekoodi koos paigalduse-ja kasutusjuhendiga esitamiseks. Hankija käsitlusest
nähtub, et pakkumuse võib vastavaks tunnistada, kui pakkuja on esitanud suvalised või isegi
tühjad failid pealkirjaga „Proovitöö lähtekood“ ja „Proovitöö paigaldus- ja kasutusjuhend“.
Selline lähenemine ei lähtu RHAD-ist ning muudab vastavustingimuse sisutühjaks.
5.20.3. Hankija on vastuses vaidlustusele seisukohal, et Kolmas isik esitas nõuetekohase
paigaldus-ja kasutusjuhendi, tuues välja, mida need dokumendid muuhulgas sisaldavad.
Sellega nähtub ka Hankija enda seisukohast, et nõue oli ikkagi ka dokumentide sisule ja
tegemist ei olnud pelgalt formaalse dokumendi esitamise nõudega.
Vastavustingimuste p-i 5 tuleb käsitleda terviklikult, mistõttu peavad nii pakkuja esitatud
proovitöö lähtekood kui ka paigaldus- ja kasutusjuhend vastama Nõuetes toodud nõuetele.
5.20.4. Lähtekood (kõnekeeles kood) on programmeerimiskeeles kirjutatud tekst, mis
kirjeldab arvutile antavaid käske. Seejuures proovitöö lähtekood viitab koodile, mida
palutakse pakkujal kirjutada või lahendada, et hinnata pakkuja oskusi ja sobivust konkreetsele
hankeesemele. Seega testrakendus, mis on proovitöö lähtekoodi osa, pidi vastama ka Nõuetes
sätestatud tingimustele, et Hankijal oleks üldse midagi hinnata. Samuti nähtub viidatud
vastavustingimusest, et ka proovitöö kasutus- ja paigaldusjuhend pidi vastama Nõuetes
sätestatud tingimustele, et Hankija saaks seda hinnata.
5.20.5. Vastavustingimus peab olema üheselt mõistetav. Hanketingimusi tuleb tõlgendada
mitte ainult Hankija arusaamast lähtuvalt, vaid ka pakkujate arusaama arvesse võttes.
Vaatamata sellele, et Vastavustingimuste p 5 on tihedalt seotud hindamise kriteeriumitega ja
esitatava dokumendi abil pidi Hankija läbi viima pakkumuste hindamise, leiab Vaidlustaja, et
vastavuse kontroll pidi antud juhul sisaldama vähemalt kontrolli selle üle, kas kõik nõutavad
osised pakkumuse hindamise läbi viimiseks on pakkumuses esitatud (nõutava info olemasolu
kontroll - on / ei ole).
5.20.6. Vaidlustaja poolt esile toodud proovitööle seatud nõuded, millele Kolmanda isiku töö
ei vasta, on vastavustingimused, kuivõrd need seavadki nõuded proovitöö lähtekoodile ja selle
paigaldus- ja kasutusjuhendile. Vaidlustaja hinnangul on Kolmanda isiku pakkumus sisulise
puudusega – Vaidlustaja tõendid tõendavad mittevastavust.
Eeltoodust lähtuvalt ei ole Hankija ja Kolmanda isiku käsitlus vastavustingimustest õige ning
ühtlasi on Kolmanda isiku taotlus vaidlustuse läbi vaatamata jätmiseks ebaõige ning tuleb jätta
rahuldamata.
5.20.7. Hankija ja Kolmas isik on oma vastustes vastavustingimustest n-ö üle libisenud ja
leidnud, et küsimus saab olla vaid väärtuspunktide jagamises (hindamises). Need seisukohad
on põhjendamatud.
5.20.8. Vaidlustaja on esile toonud vaidlustuse aluseks olevad asjaolud ja selged nõuded,
taotledes nii Kolmanda isiku pakkumuse vastavaks kui ka edukaks tunnistamise otsuste
kehtetuks tunnistamist. Seejuures on alternatiivsete nõuete esitamine lubatav ning Vaidlustaja
on üheselt mõistetavalt taotlenud, et kui Kolmanda isiku proovitöö puhul esile toodud
rikkumised ei ole käsitletavad vastavustingimustele mittevastavusena, kontrollitaks vastavaid
rikkumisi Kolmanda isiku proovitöö hindamise aspektist.
5.20.9. Kuivõrd Vaidlustaja on vaidlustanud nii Kolmanda isiku pakkumuse vastavuse kui ka
alternatiivselt hindamise, tuleb vaidlustuskomisjonil hinnata, kas Kolmanda isiku proovitöös
esinevad rikkumisi tuleb käsitleda pakkumuse vastavuse või hindamise aspektist. Samuti on
vaidlustuskomisjonil hindamise kontrolli raames pädevus hinnata, kas Hankija on Kolmanda
isiku töös esile toodud asjaolusid asjakohase hindamiskriteeriumi raames arvestanud ja
õiguspäraselt väärtuspunkte jaganud (sõltumata sellest, kas Vaidlustaja on konkreetsele
hindamiskriteeriumile õigusliku alusena viidanud või mitte).
10 (40)
5.20.10. Vaidluse all olevate nõuete puhul on tegemist vastavustingimustega, mille täitmata
jätmine toob kaasa pakkumuse mittevastavuse. Seega tuleb vaidlustuse lahendamisel hinnata,
kas Hankija on Kolmanda isiku pakkumuse vastavust kontrollinud õiguspäraselt või on jätnud
mittevastavused õigusvastaselt tähelepanuta. Kolmanda isiku pakkumuse vastavaks
tunnistamise otsus on õigusvastane ja tuleb kehtetuks tunnistada. Asjas esitatud tõendid on
piisavad selleks, et veenduda Kolmanda isiku proovitöö lähtekoodi (testrakenduse) ning selle
paigaldus- ja kasutusjuhendi mittevastavuses Nõuetele.
5.20.11. Testrakenduse mittevastavus nr 1 (ridade valimine).
Kolmanda isiku proovitöö testrakendus ei arvesta konkreetsete ridade selekteerimisel, et
tavakasutaja ei näe ridadel olevaid andmeid ilma vastavaid ridu nägemata (s.o vastavatele
ridadele liikumata) ning et Kolmanda isiku testrakendus valib ridasid nö pimesi, andmeid
nägemata. Kuna testrakendus pidi emuleerima tavakasutaja käitumist ning teha ei tohtinud
toiminguid, mille jaoks tavakasutajal puuduvad andmed, on Kolmanda isiku testrakendus
Nõuetes toodud vastavate tingimustega vastuolus. Vajalike toimingute tegemata jätmise tõttu
ei ole vastavalt arvestatud ka toimingute tegemise ajaga ning automaattesti mõõtetulemus ei
ole adekvaatne. Kuivõrd testrakendus on mõistetavalt proovitöö lähtekoodi osa, siis on
Nõuetes testrakendusele sätestatud nõuete rikkumine kvalifitseeritav vastavustingimuse
rikkumisena. Hankija ja Kolmanda isiku väited, et reale liikumine pole nõutav, on ebaõiged.
5.20.11.1. Konkreetsete ridadega toimingute tegemiseks peab tavakasutaja real asuvaid
andmeid nägema ja selleks vajalikud toimingud tegema. Kui tavakasutaja teeb toiminguid
reaalsete andmetega, siis ridadega toimingute tegemisel tuleb tavakasutajal veenduda nii
selles, et selline rida on üldse olemas, kui ka selles, millised on sellel real asuvad andmed.
Seejuures tuleb arvestada ka sellega, et ridade seisund võib muutuda (ridadel ei ole unikaalseid
identifikaatoreid, millega nende sisu siduda). Seetõttu ei ole tegemist masinliku toiminguga
ning tavakasutaja ei saa olla kindel, mis ridadel on ja neid peab nägema. Selleks peab aga
liikuma konkreetsele reale. Vastavat kinnitab ka automaattestimise asjatundja ning Seleniumi
poolt tunnustatud ekspert A.S. oma arvamuses. Asjatundja on oma vastuses 1 selgitanud, et
tavapärases olukorras peab kasutaja selleks kas lehte alla kerima (scrollima) või pagineerimise
korral liikuma õigele lehele, leidma vajaliku rea ja seejärel selle selekteerima. Hankija ei ole
selgitanud, kuidas tavakasutaja saaks struktuurifondi rahaliste vahenditega seotud toimingute
tegemiseks konkreetseid ridu valida, kui ta nende sisu ei näe, ning kuidas sellisel juhul oleks
tagatud konkreetsete ridadega toimingute tegemise adekvaatsus (abikõlblike summade
määramine jm).
5.20.11.2. Kolmanda isiku väide, et konkreetsete ridadega toimingute tegemisel tuleb lähtuda
samadest põhimõtetest nagu Nõuetes põhirakenduse funktsionaalsusele ette nähtud valikus
Vali etteantud kohast alates „10, 20, 50, 100, 1000, 10000) rida või „kõik read“, ei ole
asjakohane. A.S.-i asjatundja arvamus kinnitab, et näiteks automaattestimise testloo nr 6 puhul
(milles kasutaja peab valima (korraga) 100 esimest rida), ei pea liikuma kõikidele ridadele ega
nägema nendel asuvaid andmeid, sest vastavalt nõudele peab olema realiseeritud
funktsionaalsus, mille kohaselt peab olema võimalus etteantud kohast (realt) valida
„dropdowni“ kasutades 10, 20, 50, 100, 1 000, 10 000 järgnevat rida korraga - ehk piisab, kui
avada esimeselt realt vastav „dropdown“ ning teha valik 100 vm nõutud arvu ridade korraga
valimiseks. Seega on Hankija näinud selliseks üldise andmehulga korraga valimiseks ette
võimaluse teha toiminguid lihtsustatult ehk ilma vastavaid andmeid nägemata ja
valideerimata. Kokkuvõtlikult on asjatundja A.S. asunud seisukohale, et konkreetsete
ridadega toimingute tegemiseks (nt testlood 8 ja 21) ja nende ridade selekteerimiseks on
vajalik eraldi sammuna liikuda vastavale reale.
5.20.11.3. Kolmanda isiku testrakendus ei arvesta vajalike sammudega. Nii Hankija kui
Kolmanda isiku selgitused kinnitavad sisuliselt, et Kolmanda isiku rakendus eeltoodud
toimingutega (vajalike nö alamsammudega) ei arvesta. Seda kinnitab nii Kolmanda isiku
seisukoht, et kui testloos endas ei olnud reale liikumist ette nähtud, siis ei olnudki nõutav
ridadele liikumine (et andmeid näha), kui ka Hankija märkus, et Kolmas isik lahendas antud
tegevuse oma proovitöös „teisiti“. Veelgi enam – Hankija esitatud testvideol on enne
Vaidlustaja proovitöö testimist arvuti ekraanil (ajahetkel 0:03:14) näha muu pakkuja
proovitöö. Kuvatõmmiselt nähtuvad rakenduse andmed vastavad üheselt Kolmanda isiku
testrakenduse logide andmetele, kuivõrd iga pakkuja proovitöös kasutatavad „nuppude“
nimetused on unikaalsed. Nii nähtub Kolmanda isiku logide ja kasutaja vaate kõrvutamisel, et
Kolmanda isiku logides kajastuvad täpselt samad unikaalsed „nuppude“ nimetused nagu
11 (40)
kuvatõmmisel oleval kasutaja vaatel: „Liigu reale“, „Lisa valikusse“, Eemalda valikust“,
Eemalda kogu valik“ jne. Samuti kinnitavad 25.11.2024 toimunud 2. testide läbiviimise
kellaajad, et Kolmanda isiku testrakendust testiti vahetult enne Vaidlustaja testrakendust.
Seega on tegemist Kolmanda isiku proovitöö kuvatõmmisega.
5.20.11.4. Kolmanda isiku proovitöö kuvatõmmisest nähtub, et Kolmanda isiku rakenduses
on tekitatud eraldi väli, millega saab valida konkreetsed read (ridade numbrite järgi). See
kinnitab, et rakenduses on tehtud n-ö häkk ehk ridade valimine toimub testi kiiremaks
läbiviimiseks automaatselt (pimesi), mitte aga vastavatele ridadele liikumisega (nii nagu
tavakasutaja teeks, et ridade olemasolus veenduda ja andmeid näha).
Samuti kinnitab Kolmanda isiku testrakenduse logifail (ja ka Hankija poolt täiendavalt
esitatud logifailid, sh vaidlustusmenetluse ajal läbi viidud testimise konsoolilogi fail
„FAIL3_nortal_full-text_log_console.txt“), et sealt ei nähtu nt testlugude 8 ja 21 puhul
vastavatele ridadele liikumise toiminguid.
Asjatundja A.S. on esile toonud et testloo (nõude) 8 puhul on seega selgelt näha, et sisestatakse
sisestusväljale väärtus 126, 26535, 41223-41250, 83610-83620, 91425, 91428, 91431 ja
seejärel klikitakse nuppu “Lisa valikusse”. Ehk korraga valitakse kõik read, liikumata
vastavatele ridadele ja nägemata ridadel asuvaid andmeid. Tavakasutaja aga selliselt (pimesi)
andmetega toiminguid teha ei saa.
Kolmanda isiku lahendus ei vasta testrakendusele seatud tavakasutaja emuleerimisega seotud
tingimustele ning manipuleerib ühtlasi automaattestimise kiirust. Sama kinnitab ka A.S.-i
arvamus.
5.20.11.5. Kolmanda isiku testrakenduse vastuolu Riigihankes seatud nõuetega tuleneb juba
ainuüksi eeltoodust – tavakasutajal puuduvad andmed konkreetsete ridadega toimingute
tegemiseks, kui tavakasutaja ei näe ridadel olevaid andmeid. Vaidlustaja jääb ka selle juurde,
et pagineerimine oli nõutav. Nõue, et tavakasutaja teeb andmetega toiminguid pagineerimise
ehk lehekülgedele liikumise kaudu, tuleneb nii vastavate testlugude (nt testlugude 8 ja 21),
mis nõuavad üksiku või mitme rea valimist või valiku eemaldamist sisust, kui ka RHAD-ist.
Hankija vastupidine seisukoht on ebaõige. Vaidlustaja osutab, et ka teiste testlugude puhul
pole nõuetes toodud alamsamme, mis vastavate toimingute tegemiseks vaja teha on (nt
konkreetsele reale liikumist), vaid need tulenevadki testloo olemusest. Nii näiteks teeb
Kolmanda isiku testrakendus ka testloo 24 puhul 3 erinevat alamsammu ilma, et nõuetes oleks
eraldi kirjas, milliseid alamsamme täpselt teha. Küll aga osutab Vaidlustaja, et RHAD-i osaks
on „Nõuded_arenduse_teostamiseks“ ning selles on dokumendis „RFN 2.8.0“ selgesõnaline
nõue 104: Loetelu kuvamisel tuleb kasutada paginatsiooni, kus ühel lehel kuvatakse korraga
kokkulepitud arv kirjeid. Kokkuleppel tellijaga võib kasutada ka „infinite scrolling“
lahendust. Seega ei tunne Hankija RHAD-i, väites , et pagineerimist pole RHAD-is sätestatud.
Seega kinnitab ka vastav nõue, et Riigihankes tuleb proovitöö arendamisel arvestada
pagineerimisega. Kolmanda isiku proovitöö sellest ei lähtu.
5.20.11.6. Hankija on viidanud, et Kolmanda isiku testrakendus võimaldab korraga kuvada
500 rida. Vaidlustaja osutab, et automaattestimise toimingutes toodud testlugudest lähtuvalt
(sh testloost 8 nähtuvalt) pidi testrakendus opereerima enam kui 90000 reaga. Seega on
Hankija viide 500 rea kuvamise võimekusele asjakohatu ning on ilmne, et nõutud arvu ridu ei
saaks tavakastaja, isegi juhul, kui neid oleks tehniliselt võimalik korraga kuvada nii, et brauser
vastu peaks, eristada ega nendega töötada.
5.20.12. Testrakenduse mittevastavus nr 2 (toimingu õnnestumise kontrollimine).
5.20.12.1. Vaidlustaja on vaidlustuses esile toonud, et Kolmanda isiku testrakenduse logist
ega muudest andmetest ei nähtu, et testrakendus viiks läbi toimingu õnnestumise kontrolli
(mille tulemused tuli kajastada andmebaasis), kuigi see oli Nõuete kohaselt nõutav. Seega,
kuna testrakendus proovitöö lähtekoodi osana vastavat nõuet ei täida, on ka vastava nõude
rikkumine kvalifitseeritav vastavustingimuse rikkumisena. Hankija ja Kolmanda isiku
vastuväited, nagu kinnitaks Kolmanda isiku logi veerus D toodud väärtus TRUE,
testrakenduse poolt kontrolli läbiviimist ja selle andmebaasis kajastamist, on ebaõiged.
5.20.12.2. Kolmanda isiku käsitlus tingimuse sisust on meelevaldne, kuid ei mõjuta järeldust,
et tingimus ei ole täidetud. Kolmanda isiku seisukohad, et vajalik oli pelgalt toimingute
tulemuste andmebaasi kirjutamine, mitte automaattesti toimingute õnnestumise
kontrollimine; samuti, et toimingute tulemus ei pidanud sisaldama teavet toimingu
12 (40)
ebaõnnestumise kohta, on ebaõiged. Need ei mõjuta siiski järeldust, et Kolmanda isiku
testrakendus kõnealusele nõudele ei vasta. Ühegi automaattesti toimingu tulemust ei saa
kajastada (sh andmebaasis salvestada) ilma, et toimingu tulemus (sh kas toiming õnnestus või
mitte) on kindlaks tehtud. Samuti oleks tingimus sisutühi, kui andmebaasi võiks kirjutada mis
tahes andmed, mitte toimingu läbiviimise tulemused. Seega eeldas toimingu tulemuse
andmebaasis kajastamine, et toimingu õnnestumise kontroll on läbi viidud – muidu ei oleks
ka võimalik tulemust andmebaasis kajastada. Samuti ei ole Hankija oma selgituse kaudu
seatud tingimust muutnud, vaid on üksnes täpsustanud, mida toimingute tulemuste all tuleb
silmas pidada ning ka toimingu ebaõnnestumise põhjuste kajastamine on loogiline ja
eesmägipärane osa toimingu õnnestumise tulemustest. Kolmanda isiku käsitlus on vastuolus
ka Hankija seisukohaga, mille kohaselt tuli toimingu õnnestumise kontrolli tulemused
andmebaasis kajastada. Isegi, kui eelnev kõrvale jätta, ei mõjuta see järeldust, et Kolmanda
isiku proovitöö kõnealusele nõudele ei vasta, kuna ei andmebaasi logi ega ka muude andmete
põhjal ei ole võimalik veenduda, et Kolmanda isiku testrakendus oleks toimingu kontrolli läbi
viinud ja need andmebaasi kirjutanud.
5.20.12.3. Andmebaasi logist ei nähtu, mis toimingu väärtus on TRUE. Hankija on üksnes
alusetult eeldanud, et tegemist on toimingu õnnestumise kontrolli tulemustega. Hankija ei ole
selgitanud ega esitanud ühtegi tõendit, millel põhines eeldus, et TRUE tähendab toimingu
õnnestumise kontrolli, ja kuidas ta veendus, et tema eeldus on õige. Nimelt, Kolmanda isiku
proovitöö logist ei selgu ega ole seega kontrollitav, mida tähendab väärtus TRUE ja mis on
selle toimingu sisu. Lihtsustatult võib veeru D väärtus TRUE tähendada nt seda, et toimingu
aeg sai andmebaasi kirja või isegi seda, et toiming ei õnnestunud.
5.20.12.4. Vaidlustusmenetluse ajal teostatud testiga ei saa arvestada, kuid ka see ei mõjuta
järeldust, et Hankija ei saanud väärtuse TRUE tähendust kindlaks teha.
5.20.12.5. Ka Kolmanda isiku konsooli logides ei ole näha kontrolli, et toiming õnnestus. Selle
toimingu kontrollimiseks peaks testrakendus pöörduma testitava rakenduse andmebaasi, kuid
RHAD-i nõuete põhjal on keelatud testrakendusel pöörduda otse testitava rakenduse
andmebaasi poole.
Kasutaja tegevused nõuete järgi on järgmised: Kasutaja nõudes 8 valib read 126, 26535,
41223-41250, 83610-83620,91425, 91428, 91431 ning seejärel nõue 9 ütleb, et nende ridade
Teostada toiming valitud ridade seisundi muutmiseks “Täiendamiseks saadetud”.
Kolmanda isiku konsooli logi põhjal on näha, et valitud on read vastavalt nõudele 8, ja
rakendus logide põhjal vajutab real „uus seisund“, milleks valib seisundi „täiendav kontroll“.
Seejärel vajutab nuppu „muuda valitud ridade seisundeid“. Edasine samm logis näitab, et
liigutakse täitma nõuet nr 11 „Eemaldada kõigi ridade valikud“, kuid nõue 9 ei ole lõpuni
viidud, sest ei ole kontrollitud, kas seisund muutus. Seega ei saa ka konsooli logide põhjal
veenduda, et Kolmanda isiku testrakendus viiks toimingu õnnestumise kontrolli läbi.
5.20.13. Testrakenduse mittevastavus nr 4 (rakenduse sätete kajastamine).
5.20.13.1. Vaidlustaja on vaidlustuses esile toonud, et kuigi proovitööle esitatud nõuete (nõue
nr 10) kohaselt pidi konsooli (ehk käsureale) olema kirjutatud ka testrakenduse sees toimuv
info, sh sätted, siis Kolmanda isiku testrakenduse puhul oli vastav nõue täitmata. Taaskord –
kuna testrakendus proovitöö lähtekoodi osana vastavat nõuet ei täida, on ka vastava nõude
rikkumine õiguslikult kvalifitseeritav vastavustingimuse rikkumisena. Hankija ja Kolmanda
isiku vastuväited on ebaõiged.
5.20.13.2. Kolmanda isiku testrakenduse puhul on rakenduse sätted konsoolis kajastamata.
Hankija on üldsõnaliselt väitnud, et Kolmanda isiku testrakendus kuvas konsooli logi kohaselt
nii URL parameetreid kui ka rakenduse sätteid. Milliseid sätteid (peale URL parameetri)
konsooli väidetavalt kirjutati, on Hankija jätnud nimetamata ilmselt seetõttu, et nõutavate
sätete konsoolis kajastamise kohta andmed puuduvad. Vaidlustaja on osutanud, et Nõuete p-i
13 kohaselt on rakenduse nõutavateks säteteks vähemalt „headless“ ja DEBUG.
13. Käsureal peab saama hallata rakenduse järgmiseid sätteid:
d. ’ - - headless’ võimalus lülitada välja ja sisse Chrome UI (vaikimisi Chrome UI väljas).
e. võimalus käivitada rakendus DEBUG-režiimis (vaikimisi DEBUG väljas).
Kolmanda isiku testrakenduse testimise kummalgi videol ei ole näha, et administraator üldse
kontrolliks eeltoodud nõudeid 13 d) ja 13 e).
Hankija esile toodud PILT7_docker_log_konsool.jpg rida 4 näitab ainult rakenduse URLi,
13 (40)
mille vastu testi jooksutatakse (ehk kus asub testitav põhirakendus), muid sätteid aga pole ka
sellel pildil tuvastatavad.
Kolmanda isiku testi logist “FAIL3_nortal_full_test_log_console” failis nähtub, et
testrakendus ei ole loginud maha testrakenduse sätteid nagu „headless“. Vaidlustaja rõhutab,
et seejuures ei ole mitte üheski teises Hankija esitatud logis „headless“ sätteid kajastatud –
nende sätete konsooli kirjutamise kohta mis tahes andmed puuduvad.
Kuigi alles vaidlustusmenetluses läbi viidud testimise tulemustega ei saanud Hankija
vaidlustatud otsuste tegemisel arvestada, ei nähtu „headless“ sätteid ka 07.01.2025. a
genereeritud docker-konsooli logist (vt „PILT7_docker_log_konsool.jpg“). Sh ei ole Hankija
ka ise vaatamata oma üldsõnalisele väitele kinnitanud ega täpsustanud, millises konsoolis ja
kus täpsemalt „headless“ sätted kajastatud on. Hankija ei saagi seda teha, sest „headless“
sätete andmeid mitte üheski esitatud logis ei ole. Seisukohale, et „headless“ sätete kohta
puuduvad logides andmed, on asunud ka asjatundja A.S., kes on selgitanud ka seda, et kuigi
Hankija esitatud „FAIL3_nortal_full_test_log_console.txt“ logis on olemas logitud sätte „--
disable-ui“, ei ole sellel mingit seost testrakenduse sättega „headless“. Antud juhul on
tegemist Selenium Router’i sättega, mis puudutab Disable the Grid UI’id. Juhul, kui Hankija
peab seda „headless“ sätteks, on Hankija eksinud. Vastav Selenium Router’i jäetud säte ei
täida ülal viidatud nõuet 13 d) (- - headless’ võimalus lülitada välja ja sisse Chrome UI
(vaikimisi Chrome UI väljas)).
Seega ei ole Hankija saanud õiguspäraselt järeldada, et Kolmanda isiku testrakendus on
tingimusele vastav.
5.20.13.3. Kolmanda isiku seisukohad kinnitavad nõuetele mittevastavust. Kolmas isik on
osutanud, et tema hinnangul lubas Hankija selgitus (ID 876080) tal rakenduse sätteid kajastada
DEBUG ja TRACE logitasemel. Vaidlustaja hinnangul kinnitab juba ainuüksi see, et
rakenduse sätteid nõuetekohaselt ehk konsooli kirjutatud ei ole - rakenduse sätteid „headless“
ei ole mitte üheski logis kajastatud. Eeltoodust taganemata on ebaõige Kolmanda isiku väide,
nagu lubaks Hankija selgitus (ID 876080) kajastada rakenduse sätteid Kolmanda isiku
kasutatud viisil. Esiteks ei nähtu eelviidatud Hankija selgitusest, et Hankija oleks selle
selgitusega reguleerinud rakenduse sätete kajastamist ja selgitanud, et rakenduse sätteid ei
peagi tegelikult konsooli kirjutama (nõuet nr 10). Seega on Kolmanda isiku viide asjasse
puutumatu. Rakenduse sätete konsooli kirjutamise nõude puudumise väide on vastuolus ka
Hankija seisukohtadega. Teiseks oleks ka juhul, kui vastav selgitus oleks antud kõnealuse
nõude nr 10 kohta ja sellest tuleneks, et rakenduse sätteid ei pea konsooli kirjutama (mida
kumbagi selgitusest ei nähtu), nõudega otseselt vastuolus – tegemist oleks vastavustingimuse
lubamatu muutmisega, mistõttu tuleks selgitus jätta kõrvale. Nagu Kolmas isik on oma
vastuses läbivalt osutanud, ei saa arvestada Hankija selgitustega, mis RHAD-i tingimust
muudavad. Kuivõrd üheski Kolmanda isiku testrakenduse konsoolilogis „headless“ sätteid
kajastatud ei ole, ei muutu järeldus, et Hankija ei ole saanud vajalike sätete olemasolus
Kolmanda isiku proovitöö testrakenduse puhul veenduda.
5.20.14. Testrakenduse mittevastavus nr 5 (logis mõõtmistulemuste kajastamine, logiandmete
vastuolus summaarse ajakuluga).
5.20.14.1. Vaidlustaja on vaidlustuses esile toonud, et kuigi Kolmanda isiku automaattesti
mõõtmistulemuseks (ajakuluks) loeti 16572 millisekundit, on logist nähtuvalt toimingud
toimunud 3 minuti jooksul. Samuti on logis deklareeritud koondtulemus „Kõik sammud
kokku“ 11826 millisekundit, kuigi peaks olema kõiki samme arvestades olema 83
millisekundit suurem. Seega ei ole logi mõõtmistulemuste osas adekvaatne ega vastavuses
Hankija tuvastatud mõõtmistulemustega, rikkudes Nõuete testrakenduse nõuet nr 10. Hankija
ja Kolmanda isiku vastupidised väited ei ole õiged.
5.20.14.2. Logis vigade esinemine kinnitab iseenesest logi ebaadekvaatsust ning vastuolu
mõõtmistulemustega. Hankija ja Kolmanda isiku vastused kinnitavad logiandmetes vea
esinemist ja Vaidlustaja väidet, et logiandmed ei vasta arvesse läinud mõõtmistulemustele
ning on seega ebaadekvaatsed. Selgitused, miks logiandmed on valed, andmete objektiivset
ebaõigsust ei muuda. Seejuures selgub Hankija esitatud mõlema testi jooksutamise failist
„FAIL4_molema_testi_logi.xlsx“, et ka teise masina testi logi on vigane, kuna ka seal ei vasta
koondtulemus „Kõik sammud kokku“ sammude summaarsele ajakulule. Kui logifaili on
mingid andmed saanud ekslikult „sattuda“, siis see ongi objektiivne asjaolu, et logi on ekslik.
Ühtlasi järeldub sellest, kui mingid andmed saavad ekslikult logisse „sattuda“, et logidesse
võis ka muid ebaõigeid andmeid sattuda või andmed võivad muul viisil olla ekslikud.
14 (40)
Logiandmed on seega ebausaldusväärsed ja Hankija ei võinud oma otsuste tegemisel
logiandmeid usaldada ega oma otsuseid mõõtmistulemuste arvestamisel sellele rajada.
Seejuures ei nähtu, kuidas Hankija veendus hindamisel logitulemuste adekvaatsuses, kui ta on
nende kinnitamiseks esitanud logifaili, mille ebaõigsust ta ka ise tunnistab.
5.20.14.3. Hankija käitumine on ebajärjekindel ja vastuoluline. Hankija on erinevate
mittevastavuste puhul väitnud ühelt poolt nii seda, et 2. masina testi ja selle andmeid tuleb
arvestada kui ka samaaegselt seda, et 2. masina testi tulemused ei oma tähtsust, kuna Hankija
nendega otsuste tegemisel ei arvestanud.
5.20.15. Testrakenduse mittevastavus nr 6 (rakenduse käivitamine).
5.20.15.1. Vaidlustaja on vaidlustuses esile toonud, et Kolmanda isiku testrakendus ei
vastanud Nõuete rakenduste integratsioonitestide p-idele 4, 6, 9 ja 13, kuna testrakendust ei
olnud võimalik ilma Hankija administraatori tehtud muudatusteta käsurealt käivitada (hallata)
ega kasutada, sh selliselt, et rakendus ja testid käivitatakse erinevatest masinatest. Hankija ja
Kolmanda isiku vastuväited on ebaõiged.
5.20.15.2. Testrakendus ei käivitunud ilma lähtekoodi käsurealt muutmata. Nii Hankija kui ka
Kolmanda isiku seisukohtadest nähtub, et kuigi nad vaidlevad Kolmanda isiku testrakenduse
mittevastavusele vastu, ei ole vaidluse all, et Kolmanda isiku testrakendust ei olnud võimalik
teises testis (video „Nortal AS 2 masin – Copy.mp4“) ilma administraatori poolsete
muudatusteta käivitada. Sealhulgas ei ole vaidluse all Vaidlustaja esile toodud asjaolud, et
Hankija administraator pidi testrakenduse käivitamiseks ise muutma nii testrakenduse
javakoodi kui ka tegema muudatusi seoses testrakenduse Docker-konteineriga (nö kokku
ehitama). Selliste muudatuste tegemine on tuvastatav videost, mida kinnitab ka A.S.-i
arvamus. Asjatundja on seejuures osutanud, et; „Nortal AS 2 masin – Copy.mp4“ ajahetkel
00:06:12 me näeme, et muudetud on faili „DokerFile“ – dokumendi muutmise kuupäev „Date
modified“ näitab muutmise aega 22.11.2024 kell 14:26. Samuti administraator ütleb, et on
muutnud java lähtekoodi (video2 ajahetk 00:06:10, ütleb fraasi Ma pidin muutma selleks veel
Java faili, selleks et [---]), ja pildilt on nähtav, et on avatud TAB, mille sees on avatud fail
nimega „TestConfig.java“. Java koodi faili muutmine ja DockerFile muutmine on lähtekoodi
muutmine“.
5.20.15.3. Hankija on püüdnud mittevastavusest üle saada viitega kogenud isiku teadmisele,
et konfiguratsiooni muutmine on peaaegu alati vajalik. Selline viide on asjakohatu ja eksitav,
kuivõrd java-konsoolirakenduse ja Docker-konteineri puhul on tegemist testrakenduse
lähtekoodiga (mitte pelgalt konfiguratsioonifailist). Vaidlustaja osutab, et tema poolt ülal
viidatud nõude nr 4 kohaselt pidigi testrakenduseks olema java-konsoolirakendus, mille ühe
jar-faili sees on kõik käivitamiseks vajalikud artefaktid ja sõltuvused, ning nõude nr 6 kohaselt
pidi testrakendus töötama Docker-konteineris. Nõude nr 9 kohaselt pidi testrakendus olema
käsureavõtmetega hallatav käsurealt. Seega kinnitab kõnealune test, et Kolmanda isiku
testrakenduse lähtekood eelnimetatud nõuetele ei vastanud ning Hankija pidi mittevastavuse
kõrvaldamiseks ja Kolmanda isiku testrakenduse käsurealt haldamiseks (käivitamiseks) ise
Kolmanda isiku testrakenduse lähtekoodi muutma. Asjaolu, et Hankija väitel viis ta Kolmanda
isiku testrakenduse teise testi läbi JAR-i dockeri konteinerist väljas ja seetõttu tulemust ei
arvestanud, ei oma Kolmanda isiku pakkumuse vastavuse kontrollimise seisukohast tähtsust,
kuivõrd teise testi pinnalt pidi Hankijal tekkima kahtlus testrakenduse vastavuses ning
Hankija seda kahtlust ei kõrvaldanudki (so ei saanud veenduda Kolmanda isiku proovitöö
lähtekoodi nõuetele vastavuses).
5.20.15.4. Testrakenduse sätteid ei saanud käsurealt hallata. Nagu Vaidlustaja on vaidlustuses
esile toonud, ei täitnud Kolmanda isiku testrakendus ka nõuet, et rakenduse sätted („headless“
ja DEBUG) peavad olema käsurealt hallatavad (nõue nr 13). Hankija vastuväide, et Kolmanda
isiku esitatud juhendis oli kirjeldatud, kuidas teste „headless“ ja DEBUG režiimis käivitada,
ei ole asjakohane, kuna testvideod kinnitavad, et Kolmanda isiku testrakenduses ei olnud
sätted käsurealt hallatavad ning Hankija ei ole vastavate sätete käsurealt haldamise nõude
täitmist kontrollinud.
Kolmanda isiku testrakenduses ei ole sätted käsurealt hallatavad. Seda kinnitab mh asjaolu, et
Kolmanda isiku rakenduse sättes on „hardcoded“, mida näeb videos „Nortal AS 2 masin –
Copy.mp4“ nr 2 ajaliselt 00:03:00. Hardcoded tähendab seda, kui midagi on programmi või
seadme sisse otse sisse kirjutatud ja seda ei saa lihtsalt muuta ilma spetsiaalse oskuse või
15 (40)
tööriistadeta. Antud juhul peab muutma lähtekoodi. Nõue oli aga, et seda paameetrit saaks
muuta administraator testrakenduse käivitamisel käsurealt.
Seda, et Kolmanda isiku testrakenduse puhul ei olnud „headless“ sätted käsurealt hallatavad,
kinnitab ka asjatundja A.S.. Nii on asjatundja selgitanud, et käsurealt ei olnud võimalik hallata
järgmisi (nõudes 13 d) ja e)) toodud sätteid:
- „headless“ (kasutajaliidese kuvamine),
- võimalus käivitada rakendus DEBUG-režiimis (vaikimisi DEBUG väljas) - „debug level“.
5.20.15.5. Rakendus ja testid ei käivitunud kahest erinevast masinast. Hankija ega Kolmas
isik pole vaidlustanud asjaolu, et ilma Hankija tehtud muudatusteta Kolmanda isiku
testrakendus selliselt, et rakendus ja testid käivitatakse erinevates masinates (2. test), ei
käivitunud. Hankija pidi testrakenduse käivitamiseks muutma selle lähtekoodi. Seega on
Hankija nõue Kolmanda isiku testrakenduse puhul täitmata, so testrakenduse lähtekood ei
vasta seatud nõuetele.
5.20.15.5.1. Rakenduse ja testide kahest erinevast masinast käivitamine oli Riigihankes
nõutav. Kolmas isik on leidnud, et kuigi 2. testis tema testrakendus ilma Hankija tehtud
muudatusteta ei käivitunud, on tema proovitöö siiski nõuetele vastav (kuna ta on seda ise
katsetanud) ning samuti ei sätesta RHAD nõuet, et rakendus ja testid käivitatakse erinevatest
masinatest. Kolmanda isiku seisukoht on ekslik. Väide, et Kolmas isik on ise oma rakenduse
nõuetelevastavust testinud ja kõik töötas nõuetekohaselt, ei kinnita tema testrakenduse
vastavust. Seda enam olukorras, kus Hankija läbi viidud 2. testis käivitamine selliselt ei
õnnestunud. Ebaõige on ka seisukoht, et Riigihankes kõnealust nõuet ei esinenud. Lisaks
Vaidlustaja poolt eelnevalt viidatud tingimustele tuleneb kahes masinas käivitamise nõue
otseselt ka Nõuetes sätestatud nõudest Testid käivitatakse vähemalt kahes RmIT hallatavas
seadmes, mille spetsifikatsioonid on toodud „Nõuded ja arhitektuur“ peatükis ning mis on
samad kõigi pakkujate jaoks. Hankija antud selgitus (ID 876721) täpsustabki vastavat nõuet
(so et rakendus ja testid käivitatakse erinevates masinates) ning tegemist ei ole RHAD-i
tingimust muutva vaid täpsustava selgitusega.
5.20.15.5.2. Hankija ei ole kahes erinevas masinas käivitamise nõude täitmist nõuetekohaselt
kontrollinud. Kolmanda isiku testrakenduse testimisel ei kontrollinud Hankija esimeses testis
kahest seadmest käivitamise nõuet. Teine test („Nortal AS 2 masin – Copy.mp4“) test kinnitab
aga, et eraldi masinatest Kolmanda isiku testrakendus ei käivitunud. Seda kinnitab ka A.S.-i
arvamus. Seega isegi kui eeldada, et Hankija on õigesti jätnud teise masina testi kõrvale (kuna
tegi selles muudatusi mida ei olnud Riigihankes nõutud), ei ole Hankija kahes masinas
käivitamise nõude täitmist Kolmanda isiku pakkumuses puhul üldse kontrollinud ega saanud
veenduda, et Kolmanda isiku testrakendus nõudele vastab.
5.20.15.5.3. Hankija viited Vaidlustaja testrakenduse kohta on asjakohatud. Käesoleva
vaidluse esemeks on Kolmanda isiku pakkumuse, mitte Vaidlustaja pakkumuse nõuetele
vastavus. Vaidlustaja testrakenduse kahest erinevast masinast testimise video kinnitab, et
Vaidlustaja testrakendus käivitus nõuetekohaselt. Seega on Hankija väited ka sisuliselt valed.
5.20.16. Testrakenduse mittevastavus nr 7 (nõutava paigaldus- ja kasutusjuhendi puudumine).
5.20.16.1. Vaidlustaja on vaidlustuses esile toonud, et Kolmanda isiku testrakenduse
paigaldus- ja kasutusjuhend ei vastanud Nõuetele, kuivõrd see oli puudulik. Hankija
administraator on seejuures 2. testi läbiviimisel selgesõnaliselt esile toonud, et Kolmanda
isiku dokumentatsioonis puuduvad testrakenduse võrguväliselt teisest masinast testimise
kohta juhised. Samuti kinnitab juhiste puudulikkust asjaolu, et Hankijal ei õnnestunud
Kolmanda isiku testrakendust paigaldus- ja kasutusjuhendis kohaselt käivitada ja Hankija pidi
selleks omaalgatuslikult testrakendust muutma, sh selle lähtekoodis muudatusi tegema.
Kuivõrd vastavustingimuste kohaselt pidi pakkuja esitama Nõuetele vastava paigaldus- ja
kasutusjuhise, on tegemist vastavustingimusele mittevastavusega. Hankija ja Kolmanda isiku
vastuväited on ebaõiged.
Kuigi Kolmanda isiku väidete kohaselt on tema kasutus- ja paigaldusjuhend põhjalik ning
selle järgi tegutsedes käivitamine õnnestub ning samuti väidab juhendi nõuetelevastavust
üldsõnaliselt ka Hankija, on selge, et Hankija ei ole juhendi vastavust nõuetekohaselt
kontrollinud. Hankija ei ole olukorras, kus Kolmanda isiku testrakendus 2. testis juhendit
järgides ei käivitunud (ning administraator avaldas, et juhendis võrguväliselt teisest masinast
testimise kohta juhised puuduvad), selgitanud, kuidas ta juhendi mittenõuetekohasust
16 (40)
kinnitavad asjaolud ümber lükkas ning veendus, et juhendis on testrakenduse käivitamiseks ja
kasutamiseks nõutavad juhised ja sõltuvused kirjeldatud mh selleks, kui testid ja rakendus
käivitatakse erinevatest masinatest. Seega on Hankija järeldus paigaldus- ja kasutusjuhendi
nõuetele vastavuse kohta ebaõige.
5.20.17. Vaidlustaja on alternatiivselt vaidlustanud hindamistulemused. Juhul, kui
vaidlustuskomisjoni hinnangul ei ole kõnealused rikkumised käsitletavad
vastavustingimustele mittevastavustena, tuleb kontrollida, kas rikkumisi arvestades on
Hankija Kolmanda isiku proovitöö osas pakkumuse hindamise kriteeriume õiguspäraselt
rakendanud.
Hankija ei ole hindamiskriteeriumide kohaldamisel vaidlustuses esile toodud rikkumistega
arvestanud:
1) testrakenduse mittevastavustest nr 1, 2, 4 ja 5 järeldub kokkuvõtlikult, et automaattesti
toimingud ei ole Kolmanda isiku proovitöös korrektselt realiseeritud, mistõttu ei ole
toimingute tegemise aeg tuvastatav ning mõõtmistulemust ei saa arvestada. Seega
hindamiskriteeriumide õiguspärasel kohaldamisel tuleb Kolmanda isiku proovitööle omistada
vastavas kriteeriumis antud 30 punkti asemel 0 punkti.
2) testrakenduse mittevastavustest nr 6 ja 7 järeldub kokkuvõtlikult, et Kolmanda isiku
juhenddokumentatsioon ei ole piisav, et nende kohaselt oleks õnnestunud kõigi komponentide
paigaldamine või funktsionaalsuse kasutamine. Seega hindamiskriteeriumide õiguspärasel
kohaldamisel tuleb Kolmanda isiku proovitööle omistada vastavas kriteeriumis antud 20
punkti asemel 0 punkti.
5.20.18. Vaidlustaja pakkumuse hindamisel on Hankija vähendanud ebaõigesti testide
mõõtetulemuste (kiiruse) kriteeriumis Vaidlustaja proovitööle antavaid punkte:
1) Vaidlustaja on esile toonud Kolmanda isiku pakkumuse mittevastavuse, mistõttu ei saa
see hindamises osaleda. Isegi kui saaks, on hindamiskriteeriume RHS § 117 lg 1 alusel
ebaõigesti rakendatud, jättes Vaidlustaja pakkumusele 3 punkti andmata (30 asemel 27).
Kolmanda isiku pakkumusele tuleb anda 0 punkti, mistõttu tuleb Vaidlustaja pakkumusele
anda maksimaalsed punktid (30);
2)Vaidlustaja pakkumust on ebaõigesti hinnatud, vähendades õigusvastaselt
funktsionaalsuse kriteeriumis antavaid punkte. Hankija on RHS § 117 lg 1 alusel ebaõigesti
rakendanud hindamiskriteeriume, jättes vaidlustaja pakkumusele 20 punkti andmata (30
asemel 10). Vaidlustaja proovitöö funktsionaalsuses puudusi ei esine.
5.20.18.1. Vaidlustaja proovitöös ei esine puudust nr 1.
[Vaidlustaja ärisaladus]
Vaidlustaja leiab, et tegemist on mitmeti tõlgendatava tingimusega, mida saab ka pakkuja
kasuks tõlgendada. See tingiks olukorra, et Vaidlustajal oli antud nõue põhirakenduse
põhikuval nõuetekohaselt täidetud.
Tingimuste mitmeti tõlgendatavuse korral ei saa Hankija tõlgendada Vaidlustaja pakkumuses
esitatud andmeid teistsugustena, kui need on Vaidlustaja väitel esitatud (Riigikohtu
13.06.2013 otsuse 3-3-1-24-13 p-st 16 tulenevalt tuleb pakkujale üldjuhul anda võimalus
selgitustega vea parandamiseks, kui pakkuja ei pidanud ette nägema, et Hankija tõlgendab
tingimusi temast erinevalt).
5.20.18.2. Vaidlustaja proovitöös ei esine puudust nr 2.
Hankija selgitas teabevahetuses, et valik „kõik read“ tähendab kõikide kuludokumentide
ridade valimise võimalust kogu tabeli ulatuses. Vaidlustaja proovitöös on see funktsionaalsus
realiseeritud „linnukesena“ kasutajaliidese tabeli päises, mis võimaldab valida kõik read kogu
tabeli ulatuses. Hankija ei ole ette kirjutanud, et antud nõue peab olema täidetud ühest
rippmenüüst.
Vaidlustaja märgib, et Hankija selgitus 05.09.2025. a teabevahetuses oli, et „vali kõik read“
tähendab kõikide ridade valimist, mitte mingist kindlast kohast edasi (tõlgenduse, et kõik read
tuleb valida etteantud kohast edasi, Hankija välistas). Sisuliselt on nõude „Vali etteantud
kohast alates „10, 20, 50, 100, 1 000, 10 000” rida või „kõik read“ puhul tegemist kahe
funktsionaalsusega: lause esimene osa kirjeldab valikut kindla arvu ridade hulgast, samas kui
teine osa annab võimaluse valida kõik read korraga. Seega on Vaidlustaja proovitöö
vastavuses Hankija nõudega. Seda tõestavad ka kuvatõmmised Vaidlustaja kasutajaliidese
tabelitest [Vaidlustaja ärisaladus].
Vaidlustaja küsis Hankijalt selgitusi ebaselguste kohta RHAD-is ning sai Hankija selgituse
05.09.2025. a teabevahetuses. Hankija peab hindama selgitusi selliselt, kas need muudavad
17 (40)
RHAD-is sätestatut või mitte. Kui selgitused muudavad RHAD-i, siis on Hankija kohustus
muudatused ka teha. Vaidlustaja on seisukohal, et tegemist pole RHAD-i muutmise vaid
täpsustustega.
[Vaidlustaja ärisaladus]
Seetõttu tuleb Vaidlustaja proovitöö hindele lisada 10 punkti.
6. Hankija, Rahandusministeeriumi Infotehnoloogiakeskus, vaidleb vaidlustusele vastu
(Hankija vastus esitati 10.01.2025 ja 23.01.2025 kirjadega) ning palub jätta selle rahuldamata
alljärgnevatel põhjustel.
6.1. Vaidlustus põhineb kolmele argumendile:
1) Kolmanda isiku pakkumus on sisuliselt mittevastav ja ei oleks pidanud üldse
hindamisele pääsema;
2) Hankija on Kolmanda isiku proovitööle valesti väärtuspunkte andnud;
3) Hankija ei ole Vaidlustaja proovitööle piisavalt väärtuspunkte andnud.
6.2. Vaidlustaja seisukoht, et Hankija oleks pidanud pakkujate esitatud dokumente (eelkõige
proovitööd ning paigaldus- ja kasutusjuhendeid) hindama pakkumuse vastavaks tunnistamise
raames, on väär. Kui Hankija kontrolliks nõuete täitmist juba pakkumuse vastavaks
tunnistamiseks, ei saaks Hankija hinnata ühtegi proovitööd hindamismetoodika kohaselt
(proovitöös esinevate puuduste korral väärtuspunkte vähendada), sest hindamisele pääseksid
vaid need proovitööd, mis kõik nõuded täidavad ja seega tuleks Hankijal kõigile ka
maksimaalsed väärtuspunktid anda. Vastavustingimuste p 5 sätestab selgelt, et esitada tuleb
hindamisele kuuluv proovitöö lähtekood koos paigaldus- ja kasutusjuhendiga. Seda, kas
dokumentides esineb sisulisi kõrvalekaldeid Nõuete tingimustest, pidi Hankija hindama
pakkumuste hindamise raames dokumentidele väärtuspunkte andes. Seega sätestasid
Vastavustingimused miinimumnõudena vaid dokumentide esitamise kohustuse, aga
dokumentide sisu vastavust RHAD-is esitatud nõuete täitmisel kontrolliti pakkumuste
hindamise faasis, sest nõuete täitmise või mittetäitmise eest antakse väärtuspunkte. Vaidlustaja
ei ole RHAD-is esitatud hindamismetoodikat vaidlustanud.
6.3. Vaidlustaja teine argument, mille kohaselt Hankija on Kolmanda isiku proovitööle valesti
väärtuspunkte andnud, on samuti väär, sest Kolmanda isiku proovitöö vastas kõikidele
RHAD-is esitatud nõuetele.
Hankija ei nõustu ka Vaidlustaja argumendiga, et tema proovitöös ei esinenud puudusi ning
Vaidlustaja proovitöö oleks hindamisel pidanud saama rohkem punkte.
6.4. Vaidlustaja väidab, et testrakendus peab muuhulgas võimaldama nii sisulist
funktsionaalsust täitva rakenduse (põhirakenduse) funktsionaalsuse kui ka kiiruse testimist,
so põhirakenduse testimist. Vaidlustaja leiab, et testrakendus peab ka, mille kaudu sisulise
rakenduse funktsionaalsust ja kiirust testitakse, vastama RHAD-is sätestatud nõuetele ja
võimaldama põhirakenduse nõuetekohast testimist.
Hankija arvates ei vasta see tõele, sest Nõuete alamjaotuses „Testjuhud“ on Hankija
kirjutanud, et kontrollib rakenduse funktsionaalsust manuaalselt testides ja on samas
kirjeldanud ära konkreetsed manuaaltestide sammud. Seega pole õige Vaidlustaja väide, et
testrakendus peab võimaldama põhirakenduse täielikku funktsionaalset testimist.
Integratsioonitestis (testrakendus) on nõutud tegevused, mis on kirjeldatud Nõuete
alamjaotuses „Automaattestis realiseeritavad toimingud ja nende järjekord“. Nimetatud
nõuded kattuvad küll mingil määral, kuid neid ei saa võtta ühe komplektina. Nt ei pea olema
testrakenduses realiseeritud alljärgnevaid manuaalse testimise nõudeid:
1) kontrollida, kas kõiki etteantud päringu kitsendusi ja kuvamise järjekordasid saab
teostada;
2) kontrollida, et sama rida ei ole võimalik samaaegselt muuta ja teostada toimingut
korraga 2 või enamast seadmest.
Eeltoodule tuginedes on Hankija seisukohal, et Kolmanda isiku testrakendus vastab
RHAD-is rakenduse integratsioonitestidele sätestatud nõutule.
6.5. Vaidlustaja väidab, et Kolmanda isiku testrakenduses on kasutatud toiminguid, mida
rakenduse tavakasutajal puudub õigus teha nagu on sätestatud Nõuete alamjaotuses
„Rakenduse integratisoonitestid“. Samuti väidetakse, et Kolmanda isiku proovitöös ei ole
samade nõutud toimingute tegemiseks piisavalt andmeid. Hankija eeltooduga ei nõustu.
[Kolmanda isiku ärisaladus]
18 (40)
6.6. Vaidlustaja väidab, et proovitöös on nõutud paginatsioon (andmete jaotamine
lehekülgedele) ning viitab Nõuete tingimusele, mille kohaselt peab kasutajal olema võimalik
andmeid lehitseda. Vaidlustaja väitel Kolmanda isiku proovitöö selle tingimusega ei arvesta.
Hankija eeltooduga ei nõustu, sest RHAD-is ei olnud pagineerimist nõutud. RHAD-is on
nõue, et andmeid peab saama lehitseda. „Andmete lehitsemise“ sünonüümina saab käsitleda
„andmete sirvimist“ (https://sonaveeb.ee/search/unif/dlall/dsall/lehitsema/1/est), mis ei eelda
ega nõua pagineerimise kasutamist, andmeid saab sirvida ka neid lehekülgedele laiali
jaotamata ehk näiteks scrollides. [Kolmanda isiku ärisaladus]
Samuti ei vasta tõele Vaidlustaja väide, et kui tabelis on palju andmeid ja kuvatakse lehele
rohkem kui 300 rida, siis brauser ei pea vastu. Antud väide ei vasta tõele, kuna Kolmanda
isiku rakendus töötas nõuetekohaselt ka nt 500 rea korraga kuvamisel
(PILT4_valitud_126_arisaladus.png).
Vaidlustaja on esitanud väite, et Kolmanda isiku testrakenduses ei ole automaattestis
realiseeritavates toimingutes kirjeldatud tegevuste tegemisel arvestatud õigetele lehtedele
liikumise toimingutega, kuid sellist nõuet RHAD-is ei olnud. Kolmas isik lahendas antud
tegevuse oma proovitöös ka teisiti.
6.7. Vaidlustaja seisukoht, mille kohaselt Hankija ei kontrollinud toimingute õnnestumist või
ebaõnnestumist, ei ole tõene. Hankija on õiguspäraselt mõõtnud ja valideerinud tulemused ja
Kolmanda isiku testrakendus vastas Nõuetele.
Hankija käivitas eeltoodu tõendamiseks 07.01.2025. a uuesti Kolmanda isiku proovitöö
rakenduse koos automaattestiga, kuid kuivõrd Vaidlustusele vastamiseks oli piiratud ajahulk,
ei saanud Hankija kasutada Riigihankes kõikide pakkujate proovitööde hindamiseks kasutatud
RmIT halduses olevat Azure virtuaalmasinat, kuid vaatamata teise masina kasutamisele
lükkab nimetatud kordustest ümber Vaidlustaja väite nagu ei oleks Kolmanda isiku
andmebaasi logidesse toimingute tulemusi kirjutanud. Kolmanda isiku andmebaasi logides on
nähtav, et toimingute õnnestumise/ebaõnnestumise info on olemas. Hankija lisatud täiendava
andmebaasi logifailist (FAIL1_nortal_test_run_log.csv) 07.01.2025. a tulemustega, on nähtav
Kolmanda isiku proovitöö testrakenduse vastavus Nõuetele. Identselt käitus rakendus ka
pakkumuste hindamise faasis kiirusetesti sooritamisel, mis on nähtav vaidlustusele lisatud
esialgsetest logidest.
6.8. Toimingu õnnestumise kontrolli eraldi sammuna ei ole Hankija nõudnud ning see on
Vaidlustaja tõlgendus Nõuetest. Kolmanda isiku proovitöö logidest on nähtav, et andmebaasi
kirjutatakse toimingu järgselt, kas see õnnestus või mitte ning sellega on nõue täidetud.
Toimingu õnnestumise või ebaõnnestumise kuvamise formaati Hankija ette ei andnud ja see
oli pakkujate enda välja mõelda. Ka algsetest, Vaidlustajale edastatud, logifailides on nähtav,
et testi toimingud õnnestusid (logifailis toimingu järgi väärtus TRUE).
6.9. Tõele ei vasta Vaidlustaja väide, et Kolmanda isiku testrakendus ei kajasta sätteid.
Kolmanda isiku testrakendus väljastab sisendparameetrina testitava rakenduse URLi
parameetri ja testide jooksutamise sätted. Parameeter on nähtav pildil
PILT7_docker_log_konsool.jpg neljandal real ja sätted on nähtavad failis
FAIL3_nortal_full_test_log_console.txt, mistõttu ei vasta tõele Vaidlustaja väide, et
Kolmanda isiku testrakendus ei kuva konsooli parameetreid.
Vaidlustajal oli võimalik näha salvestiselt Nortal 2 masin – Copy.mp4 (ajakood 06:55), et
testrakendus kuvab töötamise ajal konsooli jooksvat infot ja stardisätteid. Lisaks on nähtav
salvestiselt Nortal AS 1 masin – Copy.mp4 (ajakood 05:15), et testrakendus on konsooli
kirjutanud andmed testide toimingute kohta.
6.10. Hankija ei nõustu Vaidlustaja väitega, mille kohaselt Kolmanda isiku testrakenduse logis
ei ole toimingute mõõtmistulemused korrektselt kajastatud ja et logiandmed on vastuolus
summaarse ajakuluga.
Hankija jooksutas teste kahel korral ning logi eksportimisel andmebaasist on üks rida IT
tehnilise arusaamatuse tõttu sattunud valesse kohta. Arvesse läinud testi osas ei oma
vaidlustuse punktis 2.1.6.2 pildil oleva toimingu 403 rida tähtsust, kuna antud rida on mitte
arvesse minevast testi jooksutamisest. Hankija lisab tõestuseks fail, kus sisalduvad mõlema
testi jooksutamise logi (FAIL4_molema_testi_logi.xlsx) ning millest on näha, et toimingu 403
rida on paigutatud valesti andmete eksportimisel CSV faili. Antud failist on nähtav, et 402-
toimingu reale järgneb kohe 404 ja vahelt on puudu toimingu 403 rida, mis on ekslikult
paigutunud ülespoole. Ajaliselt peab toimingu 403 rida olema 402 ja 404 vahel. Vaidlustaja
vaidlustuses märgitud aeg (~3 minutit) viitab sellele, et Vaidlustaja on arvestamises kasutanud
19 (40)
toimingute läbiviimise ajatemplit ning võtnud selle testi andmetest, mis arvesse ei läinud.
Hankija arvestas toimingutele kuluvat aega millisekundites, mis on kuvatud ka logides.
Vastavalt arvesse läinud testi logile, oli antud toimingu reaalne ajakulu 86 millisekundit, mida
hankija arvestas ka hindamisel.
6.11. Vaidlustuses toodud väide, et toiming real 403 on toimunud kolme minuti jooksul, ei
vasta seega tõele, sest logidest lähtuvalt on näha, et rea 403 toimingu teostamiseks on aega
kulunud 83 millisekundit. Lisaks on rea 403 puhul tegemist toiminguga Nõuete alamjaotuse
„Automaattestis realiseeritavad toimingud ja nende järjekord“ p-ist 8: Täiendavalt valida read
126, 26535, 41223-41250, 83610-83620,91425, 91428, 91431 toiminguga. P-is 8 nõutud
toiming tuleb teostada p-is 7 nõutud toimingu järgselt. Logidest on nähtav, et p-is 8 nõutud
toiming on kuvatud p-is 7 nõutud toimingute keskel, mitte järel. Lisaks nähtub logist, et
toiming 403, mis kajastab ridade, valimist teostatakse arvesse minema testi korral toimingus
185 ehk toiming 403 on kuvatakse ekslikult logides topelt ja seetõttu ei tohiks antud rea
andmed kajastuda automaattesti lõpptulemuses (logi rida 218).
Eeltoodust tulenevalt vastab Kolmanda isiku testrakenduse mõõtmistulemus nõuetele ja on
seega ka õige.
6.12. Vaidlustaja väitel ei vasta Kolmanda isiku põhi- ja testrakendus tingimustele, kuna ei ole
erinevates keskkondades käivitatavad. Kogenud tarkvaraarenduse ettevõttena peaks
Vaidlustaja teadma, et nii universaalset tarkvara, mis toimiks baaskonfiguratsiooni
(võrgusätted, keskkonna spetsiifilised parameetrid jne) muutmata erinevates keskkondades, ei
ole võimalik kirjutada ja mistõttu peab tarkvara paigaldaja alati muutma konfiguratsiooni, et
kohaldada tarkvara vastavalt keskkonnale. Antud juhul tekkis portide muutmise vajadus
sellest, et Hankija poolt rakenduste paigaldamiseks kaasatud RmIT administraator pidas
vajalikuks käivitada Kolmanda isiku testrakenduse JAR-i dockeri konteinerist väljast, mis
tulenes Hankija hallatavast keskkonna spetsiifikast. Eeltoodu saavutamiseks publitseeriti
Seleniumi pordid 4444:4444 dockeri konteinerist välja. Eraldi võimalust, et JAR oleks
dockerist välja tõstetav, ei olnud RHAD-is nõutud. Sellest tulenevalt ei lugenud ega pidanudki
Hankija lugema antud tegevust Kolmanda isiku veaks, isegi kui salvestistel kuuldav RmIT
administraatori poole öeldu võib taolise mulje tekitada.
RmIT administraator muutis Kolmanda isiku testrakenduse konfiguratsioonis komponentide
omavahelist suhtlust (pordid), mitte komponente endid, nende sisu ega eesmärke. Selline
konfiguratsiooni muudatus on IT administraatorite tavapraktika, mis ei mõjuta rakenduste
funktsionaalset käitumist ega jõudlust.
Hankija ei avaldanud RHAD-is pisitehnilisi sätteid ja piiranguid, mis kehtivad RmIT-i
hallatavates võrkudes ja seadmetes, kuna nende järgimine oleks tekitanud pakkujatele
ebaproportsionaalselt suure töökoormuse proovitöö teostamisel. Seetõttu kasutas Hankija
RmIT-i administraatori abi, kes aitas konfigureerimise abil pakkujate põhirakenduse ja
testrakenduse kohaldumist RmIT-i keskkonda.
6.13. Ka Vaidlustaja enda proovitöös esines analoogne situatsioon, kus RmIT-i administraator
kohandab konfiguratsioone vastavalt keskkonnale ja Hankija ei lugenud ka Vaidlustaja
testrakendust samadele nõuetele mittevastavaks.
Kuna muuta oli vajalik kõikide pakkujate proovitööde konfiguratsioone, siis pakkujate võrdse
kohtlemise printsiibist lähtudes läks arvesse tulemus, kus põhirakendus ja testid asusid ühes
masinas, aga eraldi konteinerites (Nortal AS 1 masin – Copy.mp4, Wisercat Estonia OÜ 1
masin – Copy.mp4.).
Salvestistel on nähtav, et sama pakkuja kiirusetestide jooksutamisel erinevate olukordade
korral (põhirakendus ja test ühes masinas, põhirakendus ja test erinevates masinates) on
pakkujate enda kiirusetestide tulemused samas suurusjärgus, mistõttu eelpool toodud
konfiguratsioonide muutmised ei muuda lõpptulemust.
Hankija ei ole nõus, et Kolmanda isiku testrakendus ei vasta Nõuete alamjaotuse „Rakenduste
integratsioonitestid“ nõuetele nr 4, 6, 9 ja 13, sh on pakkujate töid hinnatud võrdsetel alustel,
kuna mõlema menetlusosalise proovitöö konfiguratsioone oli vaja muuta kohaldumiseks
RmIT hallavata keskkonnaga.
6.14. Hankija lükkab ümber ka Vaidlustaja väite, et Kolmas isik jättis esitamata paigaldus- ja
kasutusjuhendi. Kolmas isik on esitanud nõuetekohase paigaldus- ja kasutusjuhendi, mis on
leitav riigihangete registrist Kolmanda isiku pakkumuse koosseisus olevate dokumentide
juures. Nimetatud dokumendid sisaldavad muuhulgas informatsiooni testrakenduse
käivitamise ja jooksutamise kohta teisest seadmest (5_2_paigaldusjuhend.pdf, peatükk 1.2.
20 (40)
Testrakenduse sfos-integration-tests paigaldus). Lisaks on ka nendes dokumentides
kirjeldatud, kuidas käivitada teste „—headless“ režiimis (5_2_paigaldusjuhend.pdf, peatükk
1.2. Testrakenduse sfos-integration-tests paigaldus) ja rakendust DEBUG režiimis
(5_2_paigaldusjuhend.pdf, peatükk 1.2. Testrakenduse sfos-integration-tests paigaldus).
Vaidlustaja väide, et testrakendus ei käivitunud ja paigaldus- ja kasutusjuhendis puudusid
vajalikud kirjeldused, ei vasta tõele.
6.15. Kuna ei esine aluseid Kolmanda isiku pakkumuse mittevastavaks tunnistamiseks, samuti
on Hankija hindamise läbi viinud õiguspäraselt, ei ole alust Kolmanda isiku pakkumuse
edukaks tunnistamise otsuse kehtetuks tunnistamiseks.
6.16. Hankija on hinnanud Vaidlustaja proovitööd õiguspäraselt.
6.16.1. Vaidlustuses kirjeldutud Vaidlustaja proovitöö puudus nr 1:
[Vaidlustaja ärisaladus]
6.16.1.1. Nõuete alamjaotuses „Arendustöö „Kuludokumentide kuvamine, valimine ja
seisundite muutmine“ on nõue, mille kohaselt abikõlbliku summa arvutamisel küsitakse
kasutajalt %, mis osas valitud read on abikõlblikud, ning selle abil arvutatakse igale reale
dokumendi kogusumma – st sendi täpsusega abikõlblik summa.
[Vaidlustaja ärisaladus]
6.16.1.2. Hankija juhib tähelepanu vaidlustuses viidatud user experience’ile, mille hea tava
kohaselt tehakse kasutajatele infosüsteem mugavaks, mistõttu ei kuvata taolistes
infosüsteemides kasutajatele arve Vaidlustaja pakutud viisil. Vaidlustaja proovitöö rakenduses
ei ole võimalik kasutajal mõistlikult tuvastada, et kuvatav summa on ümardatud ega seda,
milline peaks olema õige summa.
6.16.2. Vaidlustuse kirjeldutud Vaidlustaja proovitöö puudus nr 2.
[Vaidlustaja ärisaladus]
6.17. 23.01.2025. a esitas Hankija täiendavad seisukohad.
6.17.1. Vaidlustaja arvamus Vastavustingimustest ei põhine RHAD-il. Hankija nõude sõnastus
Vastavustingimuste p-is 5 Pakkuja peab esitama dokumendis „Nõuded proovitöö
teostamiseks“ toodud nõuetele vastava ja hindamisele kuuluva proovitöö lähtekoodi koos
paigaldus- ja kasutusjuhendiga viitab pakkujatele antavatele juhistele, mida Hankija soovib
pakkumuse koosseisus saada. Vastavustingimustes nõutud lähtekoodi näol ei ole tegemist
töötavate rakendustega, mille vastavust saaks kontrollida RHAD-is esitatud nõuetele.
6.17.2. Lähtekoodi puhul on tegemist loetamatu andmejadaga, mis tähendavad arvutile
antavaid käske. Sellise koodi pinnalt ei ole kuidagi võimalik tuvastada kõikide RHAD-is
esitatud nõuete täitmist, mida eeldab Vaidlustaja. Lisaks on olemas on ka võimalus, et
lähtekoodis on käsk kirja pandud, aga arvuti ei täida seda käsku. Eeltoodust tulenevalt on
selge, et Vastavustingimustes nõutud proovitöö lähtekoodi esitamine on formaalne nõue, sest
pelgalt lähtekoodi abil ei ole võimalik kontrollida RHAD-is esitatud nõuete täidetavust. Ainus
nõue, mis Hankija lähtekoodile RHAD-is esitas, oli see, et lähtekood peab olema inglise
keelne (Nõuete alamjaotus „Proovitöö oodatud tulem“). Selleks, et saaks hinnata lähtekoodi
vastavust RHAD-is esitatud nõuetele, tuleb lähtekood kokku ehitada ja käivitada arvutis, kuid
see tähendab seda, et hinnatakse juba pakkuja loodud proovitöö lahendust, mitte lähtekoodi.
6.17.3. Sisuliselt on lähtekood kogum ehitusmaterjale, millest peab saama ehitada maja, mida
saab kasutada Hankija nõutud viisil ja millel on olemas nõutud elemendid ning mis kogumis
vastab esitatud nõuetele. Toome elulise näite: nõudeks oli saada ühe ukse ja kolme lahtikäiva
aknaga maja, millel on kivikatus ja mis peab vastu pidama tormituulele (teisendus RHAD-i
nõuetest). Pakkuja pidi tarnima selleks vajamineva kogumi ehitusmaterjale (lähtekoodi), mida
kasutades on võimalik maja ehitada ja lisaks ka dokumentatsiooni (paigaldus- ja
kasutusjuhendid), kuidas peab maja kokku ehitama ja kuidas saab selle funktsioone kasutada.
Vaidlusaluse Riigihanke vastavustingimuste raames pidi Hankija seega kontrollima vaid seda,
kas pakkuja on andnud üle ehitusmaterjalid ja dokumentatsiooni ehk kas hoovis (riigihangete
registris) on tuvastatav hunnik ehitusmaterjale ja paberid pealkirjaga paigaldus- ja
kasutusjuhendid. Seda Hankija ka tegi. Edasi oli juba Hankija kohustus hakata etteantud
21 (40)
materjalidest ja dokumentidele tuginedes maja kokku ehitama ning hindama, kas tarnitud on
kõik elemendid (kõik aknad, uks, kivid katuse jaoks jm) ning kas elemendid töötavad nõutud
viisil (kas aknad avanevad, kas katusematerjal on nõutud kivist) ja kui hästi peab maja vastu
tormituulele. Vastavalt elemendi puudumisele (üks aken vähem) või elemendi
mittetoimimisele (aken on, aga ei avane), vähendatakse maja eest saadavaid väärtuspunkte.
Maja tormituule vastupidavuse alusel (kiirustest) moodustati pingerida, milles kõige rohkem
anti punkte kõige vastupidavamale majale eeldusel, et enamus maja funktsionaalseid nõudeid
on täidetud (kolmest aknast vähemalt mõni avaneb). Kokkuvõttes Hankija ei saanud
teostada proovitöö RHAD-i nõuetele vastavuse kontrolli vastavustingimuste kontrolli faasis,
vaid pidi seda tegema pakkumuste hindamise faasis.
6.17.4. Eeltoodust tulenevalt sätestasid vastavustingimused miinimumnõudena vaid
formaalse kohustuse dokumentide esitamisele, mida Hankija kontrolliski nõutud viisil – on/ei
ole. Kuid dokumentide sisulist vastavust RHAD-is esitatud nõuetele kohustus Hankija
hindama pakkumuste hindamise faasis, sest nõuete täitmise või mittetäitmise eest jagatakse
väärtuspunkte (vt Hindamismetoodika punktide andmise kirjeldusi). Juhul, kui Hankija ei
sätestaks vastavustingimustes nõuet proovitöö lähtekoodi esitamisele, peaks Hankija hindama
ka selliseid pakkumusi, kus lähtekoodi pole esitatud, või kui Hankija ei sätestaks nõuet, et
oodatav lähtekood peab olema see, millele on nõuded esitatud RHAD-is, peaks Hankija
hindama suvalist proovitööd, mille lähtekood pakkumuse koosseisu lisati. Nt hankija tellib
maja, aga pakkuja esitab vaid paigaldus- ja kasutusjuhendi ilma ehitusmaterjalideta. Või
hankija tellib maja, aga hoovis on hunnik auto varuosi koos dokumentidega, kuidas auto
kokku monteerida. Eeltoodu vältimiseks on Hankija esitanud oma nõude väga selgelt ja
lisanud selguse huvides tingimusele juurde ka selgituse, et nõutud eesmärgipärased
dokumendid kuuluvad hindamisele. Igale pakkujale, kes soovib Riigihankes osaleda, peaks
olema selge, et hindamine toimub kooskõlas hindamismetoodikaga, mitte
Vastavustingimustega. Seega leiab Hankija, et Vastavustingimused on üheselt arusaadavad
ehk lugedes RHAD-i kogumis, ei saa jõuda järeldusele, et Hankija peaks vastavustingimuste
kontrollimise raames kontrollima seda, mida peab hindama hankemenetluse järgmises etapis.
Hankija ei vali edukat pakkumust pelgalt maksumuse pinnalt, mistõttu ei saa jõuda
järeldusele, et Hankija ei ole Vastavustingimustes nõutud dokumentide sisulist vastavust
RHAD-i nõuetele üldse kontrollinud. Hankija kinnitab, et Nõuetes toodud nõuetele vastavust
on kontrollitud ja hinnatud hindamise faasis ehk just seal, kus Hankija väitis seda tegevat.
6.17.5. Vaidlustaja loogikast lähtudes oleks pakkumuse vastavuse kontrollimisel tulnud
kontrollida ka rakenduse mõõtmistulemusi, sest Nõuded sätestasid muuhulgas nõudeid ka
süsteemi töökiiruse mõõtmisele, kuid kiiruse testide läbiviimiseks on vaja kõigepealt
rakendused kokku ehitada ja käima panna, aga tulles tagasi maja analoogia juurde, ei piisa
sellest, et tormikindluse testimiseks lasta tuulel puhuda ehitusmaterjalide peale ehk kõikide
nõuete täitmist ei saa hinnata pelgalt lähtekoodi pealt. Isegi, kui proovida kontrollida
proovitöö nõuete vastavust pelgalt lähtekoodi pealt (mida RHAD ei sätestanud), ei saa kumbki
osapool (ei pakkuja ega Hankija) olla veendunud, et rakendus käitub täpselt nii nagu
lähtekoodis kirjas (puudulik testimine, arenduse ja käitamise keskkondade erinevus jne).
Mistõttu Hankija selline vastavuskontroll ei oleks läbipaistev ega kontrollitav (RHS § 3 p 1).
Lisaks ei saaks sellise sisutühja vastavuskontrolli teostamisel rakendada vaidlusaluse
Riigihanke hindamismetoodikat, mis kohustas Hankijat proovitööde lahenduse sisulist
vastavust hindama pakkumuste hindamise faasis. Vaidlustaja seisukoht, et vastavustingimused
ei olnud Vaidlustajale ega teistele pakkujale selged ja üheselt mõistetavad, on otsitud.
6.17.6. Hankijale jääb arusaamatuks vaidlustuses esitatud nõude loogika, sest kui Hankija
oleks kontrollinud Nõuetes esitatud tingimuste täitmist pakkumuste vastavuse kontrolli
raames, oleks ainus pakkumus, mida Hankija ei peaks tagasi lükkama ja mis pääseks
hindamise vooru, Kolmanda isiku pakkumus, sest Kolmanda isiku proovitöö lahendus oli
ainus, kus Hankija ei tuvastanud ühtegi puudust.
Kui lähtuda Vaidlustaja seisukohast, et Vaidlustaja proovitööl ei esinenud puudusi (millega
Hankija ei nõustu) ja Vaidlustaja proovitöö lahendus vastas RHAD-i nõuetele, mida Hankija
oleks pidanud Vaidlustaja arvates tuvastama vastavuse kontrolli raames, siis eeldab
Vaidlustaja, et tema proovitöö lahendus peaks saama maksimumpunktid. Hankija saaks
Vaidlustaja proovitööle omistada maksimumpunktid vaid dokumenteerimise, arhitektuuri ja
funktsionaalsuse eest. Hankija ei saaks muuta Vaidlustaja proovitööle omistatud
väärtuspunkte testide mõõtmistulemuste (kiirus) eest, sest vastavalt hindamismetoodikale
need ei muutu, kuna vastavalt hindamismetoodikale lähevad mõõtmistulemused igal juhul
22 (40)
arvesse, kui proovitöös toodud funktsionaalsuse testides on saadud vähemalt 5 punkti ning
kõik proovitöös nõutud automaattesti toimingud on korrektselt realiseeritud. Arvestades
asjaoluga, et Hankija ei tagane seiskohast, et Kolmanda isiku proovitöö lahenduses ei
esinenud ühtegi puudust, ja kuna tema testide mõõtmistulemus oli kiireim, siis jääksid testide
mõõtmistulemuste (kiirus) eest omistatud väärtuspunktid nii Vaidlustajal kui Kolmandal isikul
samaks. Seega ka sellisel juhul ei saaks Vaidlustaja pakkumus ikkagi edukaks, sest
väärtuspunktide summeerimisel jääks Vaidlustaja teisele kohale Kolmanda isiku järel.
Kokkuvõttes saaks Vaidlustaja pakkumus Riigihankes edukaks vaid juhul, kui Kolmanda isiku
pakkumuses esineks mittevastavusi RHAD-is esitatud nõuetele ja Vaidlustaja pakkumuses
puudusi üldse ei esineks.
6.17.7. Kolmanda isiku proovitöös ei esinenud ühtegi puudust ja Vaidlustaja väited puuduste
esinemisest on väärad. Vaidlustaja ei ole näinud Kolmanda isiku ärisaladusega kaetud
proovitöö lahendust ega saanud tutvuda pakkumusele lisatud paigaldus- ja
kasutusjuhenditega. Vaidlustaja eeldab, et ainult tema realiseeritud proovitöö lahend on
ainuõige ja teistsugused mõttekäigud ja realisatsioonid on valed ja seetõttu ei vasta nõuetele.
Hankija rõhutab, et RHAD-is olid esitatud nõuded kogu tulemile, mitte aga lahenduskäigule.
Vaidlustaja sisulised väited Kolmanda isiku pakkumuse mittevastavuse kohta põhinevad
oletustel ning kiirusetesti salvestistel, mis ei kajasta kogu proovitöö lahenduste RHAD-i
nõuetele vastavuse hindamise protsessi ja on kontekstist välja rebitud.
6.17.8. Vaidlustaja 20.01.2025. a täiendavates seisukohtades on toetutud Vaidlustaja kaasatud
asjatundja A.S.-i arvamusele. Hankija rõhutab, et tegemist ei ole menetleja poolt määratud
eksperdiga (KES § 3), mistõttu ei saa tema avaldatud arvamuste osas eeldada täielikku
erapooletust ega ka eksperdi taset. Kahtlemata A.S.-i pädevuses automaattestide alal, kuid
arvesse võttes, et Vaidlustaja kaasatud asjatundja pole saanud tutvuda Kolmanda isiku
pakkumuse ja sellest tulenevalt ka proovitöö töötava lahendusega ega selle kohta koostatud
dokumentatsiooniga, on asjatundja arvamus kujundatud oletuste ja Vaidlustaja poolt ette antud
info põhjalt. Lisaks on integratsioonitestid (automaattestid) vaid üks osa proovitöö
lahendusest.
6.17.9. Vaidlustaja väidab, et Kolmanda isiku testrakendus ei vasta RHAD-is toodud nõuetele,
sest on jäetud realiseerimata vajalikud toimingud. Muuhulgas väidab Vaidlustaja, et
Kolmanda isiku testrakendus teeb toiminguid viisil, mis ei ole kasutajaliideses tavakasutajale
kättesaadavad. Hankija eeltooduga ei nõustu, kuna Kolmanda isiku põhirakenduse
kasutajaliideses (UI-s) on automaattesti kasutatavad võimalused olemas ka tavakasutaja jaoks.
Seega on nende võimaluste kasutamine lubatud tegevus ja ei lähe vastuollu RHAD-i nõudega,
kus lubatud ei ole toimingud, mida tavakasutaja teha ei saa või mille tegemiseks tavakasutajal
puuduvad andmed. Vaidlustaja on eeldanud, et automaattesti kasutaja ei tea andmeid ja ei
saagi teada, kuna andmetel ei ole tema väidete kohaselt andmeridade juures unikaalseid
tunnuseid (identifikaatoreid), millega nende sisu siduda. Hankija rõhutab, et andmeridadel on
juures unikaalne tunnus ning see konkreetne nõue tuleneb Nõuete alamjaotusest „Arendustöö
Kuludokumentide kuvamine, valimine ja seisundite muutmine“, kus on selgelt sätestatud, et
tabeli veergudes kuvatavas andmestikus on lahter „Tunnus - Kuludokumendi unikaalne tunnus
projekti lõikes“. Kuna proovitööde hindamisel ja kiirustestide läbiviimisel kasutas Hankija
enda loodud andmekomplekti, mis oli kõikidele pakkujatele identne, ei ole tegemist kasutaja
jaoks tundmatute andmetega. Seega Vaidlustaja väide, et konkreetsete ridadega toimingute
tegemiseks peab tavakasutaja real asuvaid andmeid nägema ja selleks vajalikud toimingud
tegema, ei vasta tõele. Antud väide on toodud oletuse põhjal, et automaattesti teostamise ajal
ei ole kasutajale andmed teada, kuid Vaidlustaja väites on jäetud arvestamata asjaoluga, et
kasutajale on juba eelnevalt teada reanumbrid ja nendes ridades sisalduvad andmed.
Kuna Hankija andis Nõuetes automaattesti toimingute kirjelduses ette rea numbrid, siis võttis
Hankija automaattestide puhul arvesse, et kasutaja teab antud ridadel olevaid andmeid ning
soovib neid muuta.
6.17.10. Nõuete alamjaotuses „Automaattestis realiseeritavad toimingud ja nende järjekord“
on toodud kõik nõutud toimingud, kuid Vaidlustaja on oma lahenduses tuletanud
alamtoimingud (ridadele liikumine) ja eeldab, et ka kõik teised pakkujad oleksid pidanud sama
tegema. Nii see ei ole. Kolmanda isiku proovitöös on kõik automaattesti toimingud
realiseeritud vastavalt proovitöö nõuetes toodule. Lisaks on RHAD-is ridade liikumine ka
eraldi toiminguna välja toodud (Nõuete alamjaotuses „Automaattestis realiseeritavad
toimingud ja nende järjekord“ p 12 – „liigu reale 3353“) ja selline ridade vahel liikumine on
23 (40)
Kolmanda isiku proovitöös realiseeritud (nõutud liikumised reale on proovitöös teostatud).
Vaidlustaja on oma täiendavates seisukohtades väitnud, et pagineerimine on Riigihankes
nõutav ja toob näiteks ühe RHAD-i dokumendi pealkirjaga
„Nõuded_arenduse_teostamiseks“, kus dokumentide kogumis on dokument pealkirjaga „RFN
2.8.0“, milles on nõue 104: Loetelu kuvamisel tuleb kasutada paginatsiooni, kus ühel lehel
kuvatakse korraga kokkulepitud arv kirjeid. Sellest tulenevalt eeldas Vaidlustaja, et
pagineerimine on nõutud ka proovitöö lahenduses. Hankija juhib tähelepanu, et Nõuded ei
sätestanud pagineerimise nõuet. Proovitöö pidi vastama Nõuetes toodud tingimustele, mitte
teistele RHAD-i dokumentidele. Vastav selgitustaotlus on Riigihankest huvitatud isiku poolt
ka esitatud6 . Hankijalt küsiti, kas mingid nõuded RHAD-i hulgas olevatest dokumentidest
(„Nõuded_arenduse_teostamiseks.zip“, „RFN-2.8.0.pdf“) käivad juba ka proovitöö kohta,
mitte ainult hilisemate arenduste kohta, ning paluti täpselt välja tuua, mis nõudeid peab
proovitöö raames täitma sealt alt ning muudest dokumentidest, mis pole otseselt proovitööga
seotud dokumendid (ehk v.a. „Nõuded proovitöö teostamiseks_.docx“,
„Proovitöö_näidisfail_andmed.xlsx“ ning „Hindamismetoodika kirjeldus.docx“). Hankija
selgitas, et pakkujad ei pea lähtuma muudest dokumentidest, kui ainult „Nõuded proovitöö
teostamiseks_.docx“, „Proovitöö_näidisfail_andmed.xlsx“ ning „Hindamismetoodika
kirjeldus.docx“ failidest. Eeltoodust tulenevalt on Vaidlustaja seisukohta pagineerimise
kohaldumise kohta proovitöölahendile väär. Hankija rõhutab, et Kolmanda isiku proovitöös
oli paginatsioon realiseeritud, mistõttu ei vasta vaidlustuses toodud väide paginatsiooni
puudumise kohta ka tõele.
6.17.11. Hankija ei nõustu Vaidlustaja täiendavates seisukohtades esitatud väitega, et
Kolmanda isiku testrakendus ei vii läbi toimingu õnnestumise kontrolle. Vaidlustaja väited
antud punktis põhinevad üksnes tema enda tõlgendusele nõuetest ja oletustele Kolmanda isiku
proovitöö lahendusele.
Hankija kordab oma algses vastuses toodud selgitusi - toimingu läbiviimise kohta pidi
testrakendus kirjutama andmebaasi info, kas toiming õnnestus või mitte ning toimingu
ebaõnnestumise korral pidi andmebaasi lisama ka info, miks toiming ebaõnnestus.
Testrakenduse põhiülesandeks oli RHAD-is nõutud toimingute läbiviimine, tehes neid
etteantud järjekorras. RHAD ei sätestanud eraldi järelkontrollide teostamise nõuet.
Kolmanda isiku proovitöös on lahendatud toimingu õnnestumise teated andmebaasis
väärtusega TRUE.
Kuna Vaidlustaja ei ole proovitööde lahendust ega selle juhendeid näinud, on talle teadmata
ka Kolmanda isiku juhendites lahti selgitatud andmebaasi logitavad väärtused.
Ka Vaidlustaja ise on oma täiendavates seisukohtades selgitanud, et testrakendus ei tohtinud
otse pöörduda (andmeid lugeda) põhirakenduse andmebaasist. Sellega kinnitab Vaidlustaja ise
loogikat, et järelkontroll ei olnud nõutud.
Kokkuvõttes on Hankija seisukohal, et Vaidlustaja manipuleerib nõuete tõlgendamisega ja
püüab neid esitada viisil, mida RHAD ei nõudnud või ei kohustanud teostama.
6.17.12. Täiendavates seisukohtades väidab Vaidlustaja, et Kolmanda isiku proovitöö
lahenduses ei kuvata rakenduste sätteid konsoolis ning toob välja, et Nõuete alamjaotus
„Rakenduse integratsiooni testid“ p-i 13 kohaselt on rakenduse nõutavateks säteteks vähemalt
„headless“ ja DEBUG ja lisab sealjuures, et antud sätted peaksid kajastuma konsoolis
testrakenduse käivitamisel. Hankija sellega ei nõustu ja viitab ebakõlale, mille ka Vaidlustaja
ise on välja toonud. Kui Vaidlustaja rõhub sätete kuvamisele, siis nõue keskendub hoopis
sätete haldamisele. Käsurealt peab saama hallata rakenduse vastavaid sätteid.
Antud punktiga on Hankija nõudnud, et oleks võimalik nimetatud sätteid hallata ja rakendust
nende abil erinevates režiimides käivitada, mitte aga nende näitamist konsoolis või logis.
Kolmanda isiku rakendus ei pidanudki neid andmeid kuvama, küll aga on Hankija
kontrollinud, et antud sätteid saab käsureal hallata/muuta. Lisaks väidab Vaidlustaja, et
Hankija ei kontrollinud üldse Nõuete p-is 13 toodud nõuete täitmist. See väide ei vasta tõele,
sest Vaidlustaja tugineb oma väites ainult kiirustesti salvestisele ja logidele, mitte aga kogu
proovitöö hindamisprotsessile (mida Vaidlustaja ei saanudki näha), mille raames kontrollis
Hankija kõikide RHAD-is esitatud nõuete täitmist, sh eelpool viidatud Nõuete p-i 13 nõude
täitmist. Kuna Vaidlustaja ei ole näinud Kolmanda isiku proovitöö lahendust ega
dokumentatsiooni ning lähtub oma arvamuse kujundamisel salvestisest ja logidest, mis
puudutavad ainult ühte osa hindamisest, ei vasta väide tõele.
Kolmanda isiku pakkumuse dokumentatsioonis on kajastatud info Nõuete p-is 13 toodud
6 Vt riigihangete register, sõnumi ID: 875296.
24 (40)
sätete haldamise kohta (vt 5_2_paigaldusjuhend.pdf, peatükk 1.2. Testrakenduse
sfosintegration-tests paigaldus; 5_3_kasutusjuhend.pdf, peatükk 1.3. Testrakendus;
vastavustingimustes edastatud lähtekood: 5_1_sfos-test-assignment 3\sfos-test-
assignment\sfos-integration-tests -> README.MD (hankijapoolne soovitus: avada Notepad
programmiga)).
6.17.13. Vaidlustaja väidab, et Hankija ei ole kontrollinud Kolmanda isiku proovitöö
lahenduse nõuetele vastavust objektiivselt.
Hankijal puudub eelistus ühe või teise pakkuja suhtes. Hindamismetoodika alusel osutus
edukaks Kolmanda isiku pakkumus.
6.17.14. Hankija ei nõustu Vaidlustaja väitega, et mõõtmistesti logis vigade esinemine
kinnitab juba iseenesest logi ebaadekvaatsust ning vastuolu mõõtmistulemustega. Hankija on
vea esinemist logis esialgses vastuses selgitanud ja jääb seisukohale, et antud viga ei
mõjutanud tulemust. Logis ilmnenud viga tekkis andmete eksportimisel CSV faili.
6.17.15. Vaidlustaja väidab, et Kolmanda isiku testrakendus ei käivitunud ilma lähtekoodi
muutmata käsurealt. Vaidlustaja tõlgendab vääralt Hankija videos nähtavat käitumist ja
kõlanud lauseid. Ekslikult on administraator videos öelnud, et muutis java faili, kuid tegelikult
tahtis administraator öelda, et muutis yml faili. Antud fail on nähtav ka Vaidlustaja
täiendavates seisukohtades esitatud kuvatõmmiselt „Kuvatõmmis kolmanda isiku 2.testi
videost“, mille kohta on ka Vaidlustaja ise öelnud, et tegemist on konfiguratsiooni failiga.
RmIT-i administraator muutis oma tegevuste käigus ainult rakenduste konfiguratsioonifaile,
sh ka Vaidlustaja enda oma, mida on vaja teha, et rakendus kohaldada RmIT-i keskkonnaga,
mille kõiki detailseid parameetreid ükski pakkuja ei teadnud. Selline tegevus
(konfiguratsioonifailide muutmine) on administraatorite igapäeva tegevus ning ei muuda
rakenduste sisu ega eesmärki.
Seega on õige, et RmIT-i administraator muutis Kolmanda isiku testrakenduse
konfiguratsioonis komponentide omavahelist suhtlust, kuid antud tegevus ei ole lähtekoodi
muutmine. Väär on Vaidlustaja väide java failide muutmise kohta teades, et neid ei ole
tegelikult muudetud.
Lisaks toob Vaidlustaja lähtekoodi muutmise tõestuseks välja asjaolu, et RmIT-i
administraatoril on avatud fail „TestConfig.java“ ning järeldab sellest üheselt, et lähtekoodi
on seetõttu muudetud. Hankija märgib, et antud fail võib olla avatud ka vaatamiseks, mitte
muutmiseks. Nt sisaldub seal failis ka osaliselt info süsteemsete kasutajatunnuste ja
andmebaasi ühenduste kohta jne. Täiendavates seisukohtades on Vaidlustaja tsiteerinud
asjatundjat (A.S.), kes toob välja, et „DokerFile“ on muudetud 22.11.2024. a, kuid antud
kuupäev muutub Windows operatsioonisüsteemis mistahes muudatuse tegemisel, isegi siis,
kui selleks oli tühiku lisamine ja kohene eemaldamine, mis iseenesest ei tingi faili sisulist
muutust. Hankija ei saa välistada, et midagi sarnast on toimunud ka antud failiga, kuid
kinnitab, et Kolmanda isiku proovitöö lähtekoodi ei ole muudetud. Eeltoodut saab
vaidlustuskomisjon valideerida Vaidlustaja 20.02.2025 vastuse Lisaks oleva asjatundja
arvamuse lk 6 lisatud pildi ja riigihangete registris oleva Kolmanda isiku proovitöö
testrakenduse lähtekoodi (vastavustingimuste p 5 > 5_1_sfos-test-assignment 3.zip > sfos-
test-assignment > sfosintegration-tests > Dockerfile) võrdlemisel, mille sisu on identsed.
Seega ei vasta tõele Vaidlustaja väide, et Kolmanda isiku lähtekoodi on muudetud. Hankija
jääb seisukohale, et administraatori tegevused olid kooskõlas Kolmanda isiku esitatud
paigaldus- ja kasutusjuhenditega ning oma tegevustega ei muutnud Hankija Kolmanda isiku
proovitöö lähtekoodi sisulist toimimist ega eesmärki, samuti on Kolmanda isiku proovitöö
testrakendus, vastupidiselt Vaidlustaja väidetule, juhendite järgi käivitatav erinevatest
masinatest. Vastav juhend on esitatud Kolmanda isiku pakkumuse dokumentatsioonis olevas
paigaldusjuhendis (vt 5_2_paigaldusjuhend.pdf peatükk 1.2. Testrakenduse sfos-
integrationtests paigaldus) ja vastav salvestised on Vaidlustajale endale edastatud, mistõttu on
Vaidlustaja vastav väide arusaamatu.
6.17.16. Täiendavates seisukohtades väidab Vaidlustaja, et videotest nähtuva põhjal võiks
eeldada, et lisaks ülaltoodule (lähtekoodi muutmisele ja rakenduse teisest masinast
mittekäivitumisele) ei ole Kolmanda isiku testrakenduste sätteid võimalik käsurealt hallata, ja
toob näiteks „headless“ ja DEBUG režiimis käivitamist, lisades viiteks ekraanipildi enda
proovitöö testi videost, kus on kuvatud antud käsureavõtmed.
Hankija märgib, et Vaidlustaja on taas arvamusel, et kõik lahendused, mis erinevad tema
omast, on valed. Hankija on eespool selgitanud, et neid sätteid ei pea ilmtingimata kuvama
25 (40)
konsoolis, kuid sellest ei saa järeldada, et nõuded ei ole realiseeritud ja Hankija ei ole neid
kontrollinud. Vaidlustaja on enda väidete tõestuseks tuginenud ainult videos nähtaval osalisel
infol, justkui oleks kõik väärtused hardcodetud (jäigalt, muutmisvõimaluseta kodeeritud)
rakenduse lähtekoodi, kuid see ei vasta tõele, kuna see on moonutatud nägemus.
[Kolmanda isiku ärisaladus]
6.17.17. Vaidlustaja väidab, et Kolmas isik ei ole esitanud paigaldus- ja kasutusjuhendit ning
et dokumentatsioonis puuduvad testrakenduse võrguväliselt teisest masinast testimise kohta
juhised. Antud avaldus on väär. Need dokumendid on vaidlustuskomisjonile kättesaadavad
Kolmanda isiku pakkumuse koosseisust, lisaks on dokumentides kirjeldatud testrakenduse
võrguväliselt teisest masinast testimise juhised, mida Hankija on kajastanud eespool. Hankija
on mitmes oma vastuse punktis viidanud sellele, et üks või teine Kolmanda isiku proovitöö
lahenduse detail on kirjas nendes juhenddokumentides, mida Vaidlustaja korduvalt väidab
puudu olevat.
6.17.18. Kokkuvõtvalt on ilmne, et Kolmanda isiku proovitöös ei esine ühtegi mittevastavust
RHAD-is sätestatud nõuetele, mille alusel võiks rahuldada vaidlustuses toodud nõude - anda
Kolmanda isiku proovitööle vähem hindepunkte. Kolmanda isiku proovitöö on puudusteta.
6.17.19. Hankija lükkab tagasi Vaidlustaja argumendid Kolmanda isiku pakkumuse
hindamisel ebaõigesti antud punktide kohta. Sisuliselt kordab Vaidlustaja kõike, mis tema
hinnangul on Kolmanda isiku pakkumuses valesti ja jõuab järeldusele, et Kolmanda isiku
automaattesti toimingud ei ole seetõttu proovitöös korrektselt realiseeritud, mistõttu ei saaks
mõõtmistesti tulemustega arvestada. Hankija sellega ei nõustu. Hankija on kõik Vaidlustaja
väited eespool ümber lükanud ning oma vastuses ka kinnitanud, et Kolmanda isiku
automaattesti toimingud olid kõik realiseeritud vastavalt proovitöö nõuetes toodule, mistõttu
ei saa Hankija Kolmanda isiku proovitööle omistada 0 punkti.
6.17.20. Samuti väidab Vaidlustaja, et kuna tema hinnangul ei ole Kolmanda isiku
juhenddokumentatsioon piisav, sest tema oletuste kohaselt ei saanud kõigi komponentide
paigaldamine või funktsionaalsuse kasutamine õnnestuda, oleks vastavas kriteeriumi alusel
tulnud Kolmanda isiku pakkumusele anda 20 punkti asemel 0 punkti. Ka selle väitega Hankija
ei nõustu, sest Kolmanda isiku juhendmaterjal on piisav kõikide komponentide
paigaldamiseks ja funktsionaalsuse kasutamiseks.
6.17.21. Hankija ei nõustu Vaidlustaja väidetega, et tema pakkumust on ebaõiglaselt hinnatud,
kuivõrd seal ei esine ühtegi puudust.
Esiteks, Hankija ei saa anda Vaidlustaja proovitöö hindamiskriteeriumi alamkriteeriumi
testide mõõtetulemuste (kiirus) eest 30 punkti (27 asemel), sest Kolmanda isiku nõuetekohane
proovitöö testitulemus oli kiirem. Seega olid Vaidlustaja proovitöö testide mõõtetulemuste
eest omistatud punktid õiguspärased.
Teiseks, Hankija ei saa nõustuda, et Vaidlustaja proovitöös ei esinenud puudust nr 1. Tegemist
ei ole mitmeti tõlgendatava nõudega, nagu väidab Vaidlustaja. Vaidlustaja ei ole vaidlustuses
ega täiendavates seisukohtades esitanud ühtegi argumenti, mis seda arvamust muudaks.
[Vaidlustaja ärisaladus]
Kolmandaks, Hankija ei saa nõustuda ka sellega, et Vaidlustaja proovitöös ei esinenud puudust
nr 2. [Vaidlustaja ärisaladus]
7. Kolmas isik, Nortal AS, vaidleb vaidlustusele vastu (Kolmanda isiku vastus esitati
10.01.2025. a ja 20.01.2025. kirjadega) ning palub jätta selle rahuldamata järgmistel põhjustel.
7.1. Vaidlustaja on vaidlustanud Kolmanda isiku pakkumuse vastavaks tunnistamise.
Vaidlustaja hinnangul on see otsus õigusvastane, kuna Kolmanda isiku proovitöö nn
testrakendus ei vasta kuues punktis Riigihanke nõuetele. Vaidlustaja arusaam on ekslik.
7.2. Vaidlustaja on vaidlustuses lugenud Nõuete tingimused pakkumuse
vastavustingimusteks. Tegemist pole pakkumuse vastavustingimustega vaid nõuetega, mille
täidetust pidi Hankija vastavalt RHAD-ile kontrollima pakkumuste hindamise faasis.
Pakkumuse vastavustingimuseks, mille täitmist peab hankija RHS §-i 114 alusel kontrollima,
saab olla ainult niisugune tingimus, mille täitmine on pakkujale kohustuslik. Hankija ei ole
nõudnud pakkujatelt, et proovitöö peab kõigis aspektides vastama Nõuetele.
26 (40)
7.3. Vastavustingimuse „Proovitöö“ viimane lause sedastab otsesõnu, et pakkumus lükatakse
tagasi paigaldus- ja/või kasutusjuhendi mitteesitamisel. Teisisõnu, vastavuskontrollis
kontrolliti vaid proovitöö esitamise fakti ning seda, kas proovitöö sisaldab paigaldus- ja/või
kasutusjuhendit. Proovitöö sisulise uurimise juurde liiguti pakkumuste hindamise etapis (RHS
§ 117), mida kinnitab Hankija kehtestatud Hindamismetoodika. Viimase järgi antakse kas
vähe või üldse mitte punkte proovitööle, milles on erinevaid puudusi, sealhulgas ja eeskätt
Nõuete valguses (vt Hindamismetoodika p 3.8). Sellest tuleneb omakorda, et proovitöö
kooskõla Nõuetega ei saanud olla pakkumuse vastavustingimus, kuna hindamisele kuuluvad
vaid vastavad pakkumused (RHS § 117 lg 1). Järelikult on Vaidlustaja etteheited Kolmanda
isiku proovitööle pakkumuse vastavaks tunnistamise otsuse kontekstis asjakohatud.
7.4. Käsitlusi, kuidas vaidlustuskomisjon peaks sellises olukorras toimima, on erinevaid. Üks
võimalus on jätta Vaidlustaja nõue Kolmanda isiku pakkumuse vastavaks tunnistamise otsuse
kehtetuks tunnistamiseks RHS § 192 lg 3 p-i 7 alusel vaidlustamiseõiguse puudumise tõttu
läbi vaatamata. Teine variant on jätta vaidlustus asjaomases osas rahuldamata.
7.5. Vaidlustaja on vaidlustanud Kolmanda isiku pakkumuse edukaks tunnistamise, leides
kokkuvõtlikult, et Hankija on Kolmanda isiku pakkumusele andnud liiga palju hindepunkte ja
Vaidlustaja omale liiga vähe. Kolmas isik ei nõustu nende hinnangutega.
7.6. Kolmandal isikul on kahtlus, kas vaidlustuskomisjon saab Vaidlustaja etteheited
Kolmanda isiku proovitöö aadressil, mille viimane esitas ekslikult Kolmanda isiku
pakkumuse vastavaks tunnistamise vaidlustamise kontekstis, üle võtta Kolmanda isiku
pakkumuse edukaks tunnistamist puudutava nõude lahendamise juurde. Sellegipoolest esitab
Kolmas isik oma selgitused kõigis Vaidlustaja esile toodud punktides.
Vaidlustaja etteheited on spekulatiivsed ja väärad, mis valdavalt on tingitud sellest, et
Vaidlustajal puudub täielik ligipääs Kolmanda isiku proovitööle.
Kuivõrd Kolmandale isikule pole teada Vaidlustaja täpsemad etteheited tema enda proovitöö
hindamise osas, ei saa Kolmas isik sel teemal informeeritult seisukohta avaldada.
7.7. Väidetav puudus nr 1 (ridade valimine).
Vaidlustaja vaatleb väidetava mittevastavuse nr 1 aluseks olevat nõuet liiga kitsalt. RHAD-i
tingimusi, sh nõudeid proovitööle, tuleb vaadelda süstemaatiliselt ja kogumis. Nii on lisaks
Vaidlustaja välja toodule oluline arvestada, et Nõuded sätestavad seoses ridade valimisega
järgmist:
Valiku tegemine:
1) vali etteantud kohast alates „10, 20, 50, 100, 1000, 10 000“ rida või „kõik read“;
2) üksiku rea valimine/valiku eemaldamine;
3) mitme rea korraga valimine/valiku eemaldamine;
4) valik „Eemalda kogu valik“.
Seega on Nõuetes selgelt kirjas, et kasutajal peab olema võimalus mitme rea korraga
valimiseks ja valikute eemaldamiseks. Samuti peab kasutajal olema võimalik etteantud kohast
alates valida 10, 20, 50, 100, 1000, 10 000 rida või siis kõik read. Kolmas isik realiseeris
valikute tegemise funktsionaalsuse vastavalt nõuetele, võimaldades kasutajal kasutajaliideses
mh mugavalt ja intuitiivselt ridu mitme kaupa valida. Kolmanda isiku lahenduse Selenium
testid emuleerivad kasutaja toiminguid, teostades täpselt samu tegevusi, mis on kasutajate
jaoks kasutajaliidesesse loodud. Seega on nii kasutajaliides kui testid nõuetekohased.
Nõuete alamjaotus „Automaattestis realiseeritavad toimingud ja nende järjekord“ sätestab
eraldi sammudena tegevused, kus kasutaja peab kindlale reale liikuma (nt sammudes nr 12 ja
17). Seda ka Kolmanda isiku loodud testides vastavalt nõuetele emuleeritakse. Vaidlustaja
viidatud testlogides nr 8, 20 ja 21 selliseid nõudeid ei ole. Ka see kinnitab, et Kolmanda isiku
testid käituvad vastavalt nõuetele.
7.8. Väidetav puudus nr 2 (toimingu õnnestumise kontrollimine).
Selle väidetava puuduse puhul on oluline esitada Nõuetes esitatud tingimus täielikul kujul (lk
6 p 11): Testrakendus peab kirjutama andmebaasi eraldi tabelisse automaattestis tehtud
toimingute tulemused ja toimingute käigus kasutatud sisendandmed. Näiteks jaotuses
„Automaattestis realiseeritavad toimingud ja nende järjekord“ p 5 valitud 33 juhuslike
ridade numbrid. Täpsem salvestamise nõue on välja toodud konkreetse automaattesti
toimingu juures. Seega on sisuline nõue vaidlusaluses osas, et testrakendus peab automaattesti
toimingute „tulemused“ kirjutama andmebaasi.
27 (40)
7.8.1. Seoses sõnumi ID 877859 all peetud teabevahetusega tuleb arvestada, et RHS § 46 lg 3
kohaselt ei tohi riigihanke alusdokumentide kohta esitatavad selgitused sisaldada uut teavet,
ilma milleta ei ole pakkumuste esitamine võimalik või muutuksid juba esitatud pakkumused
riigihanke alusdokumentidele mittevastavaks või muutuks nende sisu. Selgituste ja selgitamist
võimaldavate dokumentide alusel on keelatud riigihanke alusdokumente muuta. Vastavalt
vaidlustuskomisjoni praktikale tuleb RHS § 46 lg 3 vastu eksivad selgitused jätta kõrvale, st
neil ei ole toimet. Seega saab Hankija selgitusi arvesse võtta niivõrd, kuivõrd need haakuvad
Nõuetesse kirja panduga. Proovitöö nõuded ei näe ette, et automaattesti toimingute „tulemus“
peaks tingimata sisaldama mh teavet toimingu (eba)õnnestumise kohta.
7.8.2. Siiski kontrollivad Kolmanda isiku loodud testid iga toimingu õnnestumist ja kirjutavad
tulemuse andmebaasi tabelisse. Vaidlustaja poolt tõendina esitatud logis on antud kontrolli
tulemus nähtav veerus D, kus iga rea väärtus on TRUE. See näitab, et kõik logis kajastuvad
toimingud on edukalt õnnestunud. Juhul, kui esineks ebaõnnestumised, oleks vastava rea
veeru D väärtus FALSE ja veerus E kajastuks ebaõnnestumise põhjus. Täpselt sama info oleks
ka nõuetekohaselt andmebaasis salvestatud. Seega on Kolmanda isiku lahendus
nõuetekohane. Niisamuti kirjutab Kolmanda isiku lahendus andmebaasi teisigi toimingu
tulemusi nagu nt sammu teostamisele kulunud aeg.
7.9. Väidetav puudus nr 4 (rakenduse sätete kajastamine)
Vaidlustaja esile toodud nõuet tuleb sisustada Hankija poolt 19.08.2024. a huvitatud ettevõtja
küsimusele antud selgituse valguses (sõnumi ID 876080). Hankijalt küsiti:
1) „Võimalus käivitada rakendus DEBUG-režiimis (vaikimisi DEBUG väljas). - palun
täpsustada, mida DEBUG režiim peaks täpsemalt muutma testide jooksutamises.
1a) Kas see režiim aktiveerib ainult nö aeglase jooksutamise (pausi pikkus siis kasutaja
poolt ette antud või vaikeväärus)? Või midagi muud? Või teeb midagi lisaks?
Hankija vastas: 1) 1a) Ei. Rakenduse kiirema töö tagamiseks on pakkujale jäetud võimalus
INFO (WARN, ERROR) režiimis tekitada logi minimaalselt (default). DEBUG režiimi mõte
on, et selles režiimis laiendatakse rakenduse logi.
Tegu on RHAD-i sisuga kooskõlas oleva ja seega RHS § 46 lg 3 mõttes lubatava
selgituse/täpsustusega. Seega tuleb seda hanketingimuse sisustamisel arvesse võtta.
Kolmanda isiku testrakendus käivitati logitasemega INFO, mis on vaikimisi logitasemeks.
Vastavalt Hankija selgitusele on jäetud pakkujale võimalus selles režiimis tekitada logi
minimaalselt. Muu testrakendust puudutav info nagu sätted, millega rakendus käivitati,
kajastatakse logitasemetel DEBUG ja TRACE. Logitasemeid saab seadistada testrakenduse
käivitamisel vastavalt juhendile. Seega on Kolmanda isiku testrakendus nõuetele vastav.
7.10. Väidetav puudus nr 5 (logis toimingute mõõtmistulemuste kajastamine, logiandmete
vastuolu summaarse ajakuluga).
7.10.1. Vaidlustaja viidatud logifaili esimeses veerus ehk veerus A kajastub tegevuse
identifikaator (tegevuse järjekorranumber). Järjekorranumbri genereerimiseks kasutatakse
andmebaasi sequence’it. Selline lahendus garanteerib, et numbrid jooksevad alati järjest.
Vaadates logifaili kõiki ridu, on näha, et veerus A kajastuvad järjekorranumbrid jooksevad
katkematult järjest vahemikus 110–218. Lisaks esineb logi väljavõttes üks rida, mille
järjekorranumber on 403. Eelnevast järeldub selgelt, et rida numbriga 403 on sattunud logi
väljavõttesse ekslikult ja ei ole selle konkreetse käivitamise ajal tekkinud. Testid on jooksnud
edukalt ja logides on õiged tulemused. Logirea nr 403 järjekorranumber ja aeg näitavad, et
see on tekkinud hiljem ja seega ei mõjutanud see mitte mingil viisil antud testi tulemusi, kuna
testi läbiviimisel seda rida veel ei olnud.
7.10.2. Logiväljavõtte veerus F kajastub vastava sammu toimingu aeg. Logirea 403 puhul on
toimingu ajaks 83 ms. Vaidlustaja viitab, et logifaili sammus ID 208 on kõikide sammude
koguaeg 11826 ms ja see erineb kõikide logiridade aja summast täpselt 83 ms võrra. Ka see
tõestab, et rida ID-ga 403 on ekslikult väljavõttesse sattunud. Kui see rida eemaldada, siis
klapib kõikide ridade aegade summa real ID-ga 208 kajastatud ajaga. Järelikult Vaidlustaja
arvatud probleemi tegelikult ei esine.
7.11. Väidetav puudus nr 6 (rakenduse käivitamine).
7.11.1. Kolmanda isiku testrakenduse dokumentatsioonis on põhjalikult kirjeldatud, kuidas
testrakendust põhirakendusega erinevast masinast käivitada. Tehniliselt sõltub Kolmanda
28 (40)
isiku testrakendus põhirakendusest ainult kahe parameetri kaudu, mille saab vastavalt
nõuetele käsurea kaudu käivitamisel ette anda. Parameetrid on põhirakenduse URL ja
andmebaasi ühenduse URL. Juhul, kui põhirakendus ja andmebaas on testrakendusele
kättesaadavad, siis testid käivituvad. Testide käivitamine töötab täpselt samamoodi samas kui
ka erinevas masinas juhul, kui põhirakendus ja andmebaas on käivitatud ning need on
testrakendusele URL-i kaudu kättesaadavad.
7.11.2. Testrakenduse käivitamist põhirakendusega erinevast masinast on Kolmas isik
korduvalt testinud ja juhendi järgi käivitades see töötab. Vaidlustaja viidatud salvestiselt ei ole
näha, millisel viisil üritas Hankija esialgu testrakendust käivitada. Võimalik, et testi läbiviijal
ei tulnud välja käsurea kaudu keskkonnamuutuja seadmine. Videost on näha, kuidas Hankija
käivitab testrakenduse küll juhendist erineval viisil, aga siiski edukalt. Hankija käivitas
testrakenduse ja Chrome’i eraldi konteinerites ning avas pordi 4444, mis on sellise
käivitusviisi puhul korrektne ja vajalik. Selline käivitusviis ei muuda testi tulemusi.
Testrakenduse käivitamiseks on veel erinevaid viise ja Hankija võib valida endale kõige
sobivama, eeldusel et sellest testi andmed ei muutu. Antud juhul kinnitavad salvestis ja seal
näha olevad logid testimise korrektsust.
7.12. Seega on Kolmanda isiku proovitöös kõik kõnealused nõuded täidetud. Täpselt juhendi
järgi tegutsedes käivituvad testid nii samas kui erinevas masinas.
Vaidlustaja on osutanud Hankija 19.08.2024. a selgitustele (sõnumi ID 876721), mille järgi
rakendus ja testid käivitatakse erinevates masinates, siis tegelikult RHAD ei sätesta nõuet, et
testid ja rakendus peavad olema käivitatavad erinevatest masinatest. Seega ei tohiks RHS §
46 lg-st 3 lähtuvalt neid selgitusi arvesse võtta. Ent isegi kui lugeda need selgitused toimet
omavaks, siis täidab Kolmanda isiku proovitöö ikkagi kõik nõuded.
7.13. Väidetav puudus nr 7 (nõutava paigaldus- ja kasutusjuhendi puudumine).
Tuginedes väidetava puuduse nr 6 käsitluse all antud selgitusele on Kolmanda isiku proovitöö
lahendus kõikidele nõuetele vastav ka seonduvalt väidetava puudusega nr 7. Kolmanda isiku
testrakenduse dokumentatsioonis on kirjeldatud, kuidas testrakendust käivitada. Täpselt
juhendi järgi tegutsedes käivitamine õnnestub.
7.14. Kolmanda isiku proovitöös ei esine Vaidlustaja väidetud puudujääke. Kuivõrd kõik
Vaidlustaja väited selle kohta, miks tuleks Kolmanda isiku pakkumusele anda vähem
hindepunkte, tulenevad nendest mitteesinevatest puudujääkidest, siis puudub alus hinnata
Kolmanda isiku proovitööd mõõtmistulemuste ja dokumentatsiooni kriteeriumide alusel
maksimumist väiksemate punktidega.
7.15. 23.01.2025. a esitas Kolmas isik täiendavad seisukohad.
7.15.1. Kolmas isik ei nõustu Vaidlustaja väitega, et Nõuetes esitatud nõuded on pakkumuse
vastavustingimused. Kolmanda isikuga sama arusaama jagab ka Hankija.
7.15.2. Vaidlustaja arvates on Hankija ja Kolmanda isiku õiguslik käsitlus pakkumuse
vastavustingimuste ja hindamiskriteeriumide vahest „pelgalt formaalne“. Nii saab
iseloomustada aga just Vaidlustaja positsiooni. Vaidlustaja küll väidab, et RHAD-i tuleb
vaadelda „terviklikult“, kuid seejärel rebib ta kontekstist välja kaks sõna vastavustingimusest
„Proovitöö“, et siis sellest tuletada, et vastavus Nõuetele on kohustuslik vastavustingimus.
Seda tehes jätab Vaidlustaja tähelepanuta kohe järgmised sõnad tingimuses: [---] ja
hindamisele kuuluva proovitöö [---]. Vaidlustaja jätab täielikult kõrvale muud asjasse
puutuvad alusdokumendid, eeskätt hindamismetoodika.
7.15.3. Vaidlustaja täiendavatest seisukohtadest näib, et Vaidlustaja on arvamusel, et
pakkumuse vastavustingimused tulenevad mingist RHS-ist ja RHAD-ist kõrgemal asuvast
loogikast. Pakkumuse vastavustingimused on hankija määrata ja kui vastavustingimused on
vaidlustamistähtaja möödumisel muutunud lõplikuks, siis peavad nii pakkujad, hankija ise kui
vaidlust lahendav organ lähtuma hankija kehtestatud tingimustest.
7.15.4. Vaidlustaja väide, et Hankija käsitluse järgi võinuks pakkujad esitada ka suvalised või
isegi tühjad failid, on demagoogia. Kui vastavustingimus nõuab proovitöö lähtekoodi ja
paigaldus- ja kasutusjuhendi esitamist, siis tuleb need ka esitada. Nõutud materjali
põhimõttelisest esitamisest (st kas kood või juhend on faktiliselt esitatud) tuleb rangelt eristada
29 (40)
seda, kas materjali sisu erinevais punktides vastab mingitele spetsiifilistele nõuetele.
7.15.5. Vaidlustaja väitel ei tohi hanketingimusi tõlgendada ainult Hankija arusaamast
lähtuvalt, kuid jõuab siis järelduseni, et hanketingimusi tuleb tõlgendada üksnes Vaidlustaja,
arusaamast lähtuvalt. Kolmas isik ei jaga Vaidlustaja vaadet nagu pidanuks proovitöö
tingimata ja kõigis punktides vastama Nõuetele.
7.15.6. Vaidlustaja teeb põhimõttelise vea arvates, et ühed ja samad nõuded saavad olla
ühtaegu nii pakkumuse vastavustingimused kui pakkumuste hindamise kriteeriumid. Tegu on
olemuslikult vastandlike tingimustega. Vastavustingimus on jah/ei põhine miinimumnõue,
hindamiskriteerium on mitmete erinevate arvuliste väärtustega vabatahtlik skaala
(hindamismetoodika mõttes „parem“ pakkumus saab preemiaks rohkem hindepunkte). Seega,
vastavustingimus on täitmiseks kohustuslik, hindamiskriteerium mitte.
RHS § 85 lg 1 teine lause sätestab, et pakkumuste hindamise kriteeriumina ei või kasutada
§-ide 99–101 alusel kehtestatavaid kvalifitseerimise tingimusi. Sellest reeglist on erand (§ 101
lg 1 p 6), kuid seegi erand on lubatud vaid siis, kui samu andmeid ei kasutata ühtaegu nii
pakkumuste hindamiseks kui pakkujate kvalifitseerimiseks. Kuna pakkuja kvalifitseerimise
tingimus, nii nagu ka pakkumuse vastavustingimus, on jah/ei põhine miinimumnõue, kehtib
RHS § 85 lg 1 analoogia mutatis mutandis ka pakkumuse vastavustingimuste ja pakkumuste
hindamise kriteeriumide omavahelise suhte kontekstis.
7.15.7. Vaidlustaja väide, et tema vaidlustus sisaldab „alternatiivseid nõudeid“, on mõistmatu,
kuna alternatiivseid nõudeid vaidlustus ei sisalda. Alternatiivne nõue tähendab, et vaidlustaja
taotleb primaarselt tulemust X ning juhul kui tema primaarnõue peaks jääma rahuldamata, siis
sekundaarselt tulemust Y. Vaidlustaja vaidlustus niimoodi üles ehitatud ei ole. Vaidlustaja on
nõudnud: tunnistada kehtetuks Rahandusministeeriumi Infotehnoloogiakeskuse 23.12.2024
otsused AS-i Nortal pakkumuse vastavaks tunnistamise ja edukaks tunnistamise kohta. Seega
on Vaidlustaja ilma mistahes alternatiivsuseta nõudnud kahe erineva hankeotsuse kehtetuks
tunnistamist.
7.15.8. Seoses täiendavates seisukohtades esitatud peamiste uute väidetega märgib Kolmas
isik alljärgnevat.
7.15.8.1. Väidetav puudus nr 1 (ridade valimine)
Vaidlustaja tõlgendus RHAD-ile on liiga kitsas ja moonutab nende sisu. Vaidlustaja teeb
katseülesande nõuetest meelevaldseid ja ebakorrektseid järeldusi. Testi stsenaariumit tuleb
vaadelda tervikuna ja Nõuetes on selgelt öeldud, millistes testi sammudes peab mõnele
konkreetsele reale liikuma. Seda peab tegema sammudes 12, 17 ja 19. Sealjuures eelnevad
need sammud masstegevuse ridadele 13, 18 ja 20. Seega on testi stsenaariumis väga täpselt
ette öeldud, millal peab konkreetsetele ridadele liikuma ja iga muu käitumine muudaks
lahenduse nõuetele mittevastavaks. Kolmas isik on realiseerinud oma lahenduse täpselt
nõudeid järgides.
Vaidlustaja väide, et mõne masstegevuse puhul (nt tegevused 8 ja 21) peab testrakendus ridu
või lehekülgi ükshaaval avama ning mõne teise puhul (nt tegevused 1, 6, 11, 13, 16, 18, 20)
ei pea seda tegema, on arusaamatu ja põhjendamatu. Eriti arvestades, et osade masstegevuste
järel näeb testi stsenaarium järgmise sammuna ette kindla rea avamise. Vaidlustaja väide, et
tavakasutaja võib osasid tegevusi pimesi teha, ei ole õige. Testimisel peab lähtuma etteantud
stsenaariumist, arvestades sellega, et kõik testis teostatavad toimingud peavad olema ka
tavakasutajale tehtavad. Kolmanda isiku proovitöös on need nõuded täidetud.
7.15.8.2. Seoses nn pagineerimisega leiab Vaidlustaja, et pagineerimine on Riigihankes
nõutav, viidates sealjuures RHAD-i dokumendile „RFN 2.8.0“ ja selle nõudele 104. Samuti
väidab Vaidlustaja, et Kolmanda isiku lahenduses on pagineerimine teostamata. Kõigepealt,
Vaidlustaja viimane väide on väär. Kolmanda isiku proovitöös on nimekirjade pagineerimine
realiseeritud vastavalt kõikidele nõuetele. Seda kinnitab kuvatõmmis [Kolmanda isiku
ärisaladus].
Lisaks on Vaidlustaja viide dokumendile „RFN 2.8.0“ proovitöö kontekstis tegelikult
asjakohatu, kuna proovitöö ei pidanudki vastama eelnimetatud dokumendi nõuetele – ei
selleks, et täita mõni vastavustingimus ega selleks, et pälvida kõrgemaid hindepunkte. „RFN
2.8.0“ on dokument, mis sätestab kõigi Hankija haldusala toodangus kasutatavate rakenduste
ristfunktsionaalsed nõuded. See on lisatud RHAD-i, et pakkujatel oleks teave, milliste nõuete
täitmisega peavad nad potentsiaalse arenduspartnerina tulevikus arvestama. Riigihankes
30 (40)
piiratud ressursside juures tehtav proovitöö ei pea vastama standarditele, mida nõutakse
toodangkeskkonda paigaldatavalt tarkvaralt. Eelöeldut kinnitab ka asjaolu, et Hankija on
Kolmanda isiku poolt pakkumuste esitamise eel esitatud sõnaselge küsimuse peale, millised
RHAD-i dokumendid kohalduvad proovitööle, loetlenud kõik asjaomased dokumendid ja
nende seas ei ole „RFN 2.8.07 “.
Eelnevast tuleneb, et isegi kui „RFN 2.8.0“ oleks proovitöö suhtes kohaldatav (mida see ei
ole), siis Kolmanda isiku proovitöö ikkagi täidab Vaidlustaja viidatud pagineerimise nõude.
7.15.8.3. Väidetav puudus nr 2 (toimingu õnnestumise kontrollimine).
Kolmas isik kinnitab taas, et tema testrakendus kontrollib iga toimingu õnnestumist ja
salvestab vastava info nõuetekohaselt andmebaasi.
Kolmanda isiku testrakendus kirjutab iga toimingu sisu andmebaasi. Logi väljavõttes kajastub
see veerus C. Testi esimene samm on nt „1. Vali kõik read“. Veerg D kajastab kontrolli
tulemust, näidates, kas tegevus õnnestus või ebaõnnestus. Õnnestumise korral on selge, mida
toiming tegi, sest vastav selgitus kajastub iga rea veerus C. Näiteks esimese sammu
õnnestumise korral valiti kõik read. Ebaõnnestumise korral on vajalik salvestada täiendav
info, sest midagi läks teistmoodi ja sellisel juhul kajastaks veerg E ebaõnnestumise põhjust.
7.15.8.4. Väidetav puudus nr 4 (rakenduse sätete kajastamine).
Vaidlustaja väide nagu testrakendus ei logiks infot „headless“ režiimi kasutamise kohta, on
ekslik ja alusetu oletus. Testrakendus kirjutab mh ka seda infot konsooli. „Headless“ režiimis
käivitamise korral tekivad logisse näiteks järgmised read [Kolmanda isiku ärisaladus].
Samamoodi kajastub konsooli logis info, kui „headless“ on välja lülitatud.
7.15.8.5. Väidetav puudus nr 5 (logis toimingute mõõtmistulemuste kajastamine, logiandmete
vastuolu summaarse ajakuluga).
Väidetav puudus nr 5 on Vaidlustaja otsitud süüdistus. Nii Hankija kui Kolmas isik on oma
eelnevates põhjendustes põhjalikult selgitanud, et üks ekslikult logi väljavõttesse sattunud rida
ei muuda mingil viisil testide tulemust. Logidest on selgelt näha kõik testi sammud, nende
järjekorranumbrid, teave tegevuse sisu ja õnnestumise kohta ning igale sammule kulunud
ajad. Samuti on logis näha koondrida, mis kajastab mh testide koguaega ja see aeg ühtib
üksikute ridade summaga. Ekslikult logisse sattunud real ei ole mingit mõju testidele ega
tulemustele.
7.15.8.6. Väidetav puudus nr 6 (rakenduse käivitamine).
Nõuded sätestavad: Testid käivitatakse vähemalt kahes RmIT hallatavas seadmes, mille
spetsifikatsioonid on toodud „Nõuded ja arhitektuur“ peatükis ning mis on samad kõigi
pakkujate jaoks. Seda nõuet meelevaldselt tõlgendades leiab Vaidlustaja, et põhirakendust ja
integratsiooniteste peab olema võimalik käivitada erinevates seadmetes. Tegelikult ei ole
kõnealuses tingimuses sellele ühtegi viidet. Nõue on, et teste käivitatakse vähemalt kahes
seadmes, aga seejuures ei ole öeldud, et põhirakendus peab testide käivitamisel erinevas
seadmes jooksma. Kolmanda isiku testrakendust saab vastavalt juhendile edukalt käivitada
erinevas seadmes, aga sellegipoolest on vale eeldada, et seda nõuavad lausa Nõuded.
7.15.8.7. Tuginedes asjatundja A.S.-i arvamusele ja viidates konkreetsetele koodiridadele
väidab Vaidlustaja, et käsurealt ei ole võimalik hallata rakenduse „headless“ ja logitaseme
sätteid. See ei ole õige, sest Kolmanda isiku testrakendust on võimalik vastavate käsurea
parameetritega käivitada ja viidatud koodilõigud ei takista seda. Kinnituseks on kuvatõmmis
testide käivitamise sätetest, mida on võimalik hallata käsurealt [Kolmanda isiku ärisaladus].
Ka kuvatõmmiselt testide käivitamisel tekkivast konsooli logi lõigust, kus on näha käsurealt
ette antud parameetrite kasutamine. [Kolmanda isiku ärisaladus].
7.15.9. Seoses Vaidlustaja täiendavatele seisukohtadele lisatud asjatundja A.S.-i arvamusega
märgib Kolmas isik:
1) menetlusosalise esitatud asjatundja arvamus ei ole eksperdiarvamus RHS-i tähenduses.
Menetlusosalise enda initsiatiivil kogutud ja esitatud kolmanda osapoole, keda
menetlusosaline peab asjaomase valdkonna spetsialistiks, hinnang on (pelgalt) dokumentaalne
tõend. Seega ei ole sellisel dokumendil mingit ettemääratud (teistest tõenditest suuremat)
tõendijõudu. Menetlusosalise esitatud asjatundja arvamust tuleb hinnata kogumis teiste
tõendite ja asjas tuvastatud asjaoludega nii nagu iga teist tõendit. Vaidlustuskomisjon ei ole
7 Vt riigihangete register, sõnumi ID: 875269.
31 (40)
seotud asjatundja arvamusega;
2) Vaidlustaja sai kaasatud asjatundjale edastada üksnes need lähteandmed, mis on teada
talle endale. Asjatundja arvamus, mis on antud teades vaid murdosa kõigist asjasse puutuvaist
asjaoludest, ei ole usaldusväärne. Seega leiab Kolmas isik, et A.S.-i arvamus tuleb
ebausaldusväärsuse tõttu kõrvale jätta
VAIDLUSTUSKOMISJONI PÕHJENDUSED
Taotluse läbivaatamine
8. Vaidlustaja esitas vaidlustuses taotluse Kolmanda isiku proovitöö kohta teabe
avaldamiseks, paludes avaldada Vaidlustajale Kolmanda isiku proovitöö testrakenduse
paigaldus- ja kasutusjuhend ning testrakenduse konfiguratsioonifail (Hankija poolt muutmata
kujul), samuti proovitöö põhirakenduse kuvatõmmis, millest nähtub saki „Kõik seisundid“
terviklik vaade.
Kolmas isik palus vaidlustuskomisjonil taotlust mitte rahuldada, kuna peab küsitud materjale
EKTÄKS § 5 lg 2 alusel oma ärisaladuseks. Seda avaldas Kolmas isik ka juba oma
pakkumuses esitatud failis „AS-i Nortal pakkumuses sisalduv ärisaladus“. Kolmanda isiku
hinnangul on tema meeskond proovitöösse panustanud olulisi töötunde ja proovitöös
kajastuvad erinevad tehnilised lahendused, mille avaldamine konkurendile tekitaks
Kolmandale isikule olulist kahju. Seetõttu on asjaomasel teabel Kolmanda isiku jaoks oluline
kaubanduslik väärtus.
Vaidlustuskomisjon teavitas menetlusosalisi oma 13.01.2025 teates nr 12.2-10/2 muuhulgas
sellest, et ei rahulda Vaidlustaja taotlust avaldada talle nõutud teave, kuna vaidlustuskomisjon
on seisukohal, et eelnimetatud andmete puhul on tegemist Kolmanda isiku ärisaladusega
EKTÄKS § 5 lg 2 mõttes. Vaidlustuskomisjon jääb oma varem avaldatud seisukoha juurde.
Põhjusel, et pakkujate proovitööd sisaldavad pakkujate ärisaladust, on ka käesolev otsus
tehtud erinevates versioonides.
Kolmanda isiku pakkumuse vastavaks tunnistamise otsus
9. Vaidlustaja on seisukohal, et Hankija oleks pidanud Kolmanda isiku pakkumuse RHS § 114
lg 2 alusel tagasi lükkama, kuna selles esitatud proovitöös esineb Vaidlustaja hinnangul
vähemalt 6 mittevastavust Nõuetele.
Hankija ja Kolmas isik on seisukohal, et Nõuetes toodu ei ole käsitletav vastavustingimustena,
kuna Proovitöö oli aluseks pakkumuste hindamisele, mistõttu Hankija ei pidanud kontrollima
pakkumuste vastavuse kontrolli etapis pakkumuste vastavust Nõuetele.
Seega tuleb vaidlustuse lahendamiseks esmalt tuvastada, kas Nõuetes sisalduv on käsitletav
vastavustingimustena või mitte, ehk kas Hankija pidi kontrollima pakkujate esitatud
proovitööde vastavust Nõuetele pakkumuste vastavuse kontrollimisel. Jaatava vastuse korral
tuleb Hankija otsus kehtetuks tunnistada asjakohase vastavuse kontrolli teostamata jätmise
põhjusel, eitava vastuse korral tuleb vaidlustus Kolmanda isiku pakkumuse vastavaks
tunnistamise otsusele jätta rahuldamata.
10. RHAD-i dokumendis Vastavustingimused on kehtestatud 8 vastavustingimust.
Vastavustingimus PROOVITÖÖ on sõnastatud järgmiselt:
Pakkuja peab esitama dokumendis „Nõuded proovitöö teostamiseks“ toodud nõuetele vastava
ja hindamisele kuuluva proovitöö lähtekoodi koos paigaldus- ja kasutusjuhendiga. Paigaldus-
ja/või kasutusjuhendi mitteesitamisel lükatakse pakkumus tagasi.
Küsimused ettevõtjale:
1. Pakkuja esitab proovitöö lähtekoodi (arhiiv). Vabas vormis dokument
2. Pakkuja esitab paigaldusjuhendi. (Vabas vormis dokument)
3. Pakkuja esitab kasutusjuhendi. (Vabas vormis dokument)
Vaidlust ei saa olla selles, et Proovitöö kriteerium on üks kahest Riigihankes kehtestatud
hindamise kriteeriumist (osakaaluga 60 punkti. Kvaliteet - hankija hinnatav).
Kriteeriumi „Proovitöö“ hindamisel antakse punkte pakkumuste sisu kõrvutamisel ja
proovitöö mõõtmistulemuste eest. Hindamismetoodika on toodud riigihanke alusdokumendis
„Hindamismetoodika kirjeldus“8.
Hindamismetoodika p-i 3 Hanke proovitöö teostus alapunktides 3.1-3.8 on Hankija
8 Vt RHAD-i dokument „Hindamiskriteeriumid ja hinnatavad näitajad“.
32 (40)
kirjeldanud põhjalikult pakkumuste hindamist Proovitöö kriteeriumi alusel.
11. Vaidlustuskomisjon on seisukohal, et Nõuded ei ole käsitletavad pakkumuste vastavuse
tingimusena ning Hankija ei pidanud kontrollima Kolmanda isiku pakkumuse (ega ühegi teise
pakkumuse) vastavuse kontrollimisel nende vastavust Nõuetes sisalduvatele tingimustele.
Seda järgmistel põhjustel:
1) kui Hankija kontrolliks proovitöö vastavust Nõuetele juba pakkumuste vastavuse
kontrollimisel muutuks Proovitöö kriteerium hindamiskriteeriumina mõttetuks, sest kui
hindamisele pääseksid vaid need proovitööd, mis vastavad täielikult Nõuetele, tuleks Hankijal
anda kõigile neile maksimumpunktid;
2) Hindamismetoodikast nähtub ilmselgelt, et Hankija on näinud ette, et hinnatakse
pakkumusi, mis kogu ulatuses võivad ka Nõuetele mitte vastata, ning sellisel juhul antakse
proovitööle konkreetse alamkriteeriumi alusel lihtsalt vähem punkte. Nt alamkriteeriumi 2
Arhitektuuri põhimõtete jälgimine puhul antakse 10 punkti, kui: Tulemi arhitektuur on loodud
proovitöös kirjelduses „Nõuded ja arhitektuur“ etteantud juhiste põhjal. Realiseeritud on kõik
komponendid, kasutatud on etteantud raamistikke ja andmebaasi mootorit. Rakendus
kohaldub erinevate ekraani suuruste ja resolutsioonidega. Haldusliideses on realiseeritud
sorteerimise filtrid, SQL päringud ja päringu tulemi eksportimine. Tulemis esineb kaks
puudust ning 5 punkti, kui Tulemi arhitektuuris on jälgitud etteantud nõudeid, kuid ei ole
realiseeritud kõiki nõutud komponente või ei ole kasutatud soovitatud raamistikke. Esineb
kolm puudust.
Alamkriteeriumi 4 Testide mõõtmistulemused (kiirus) on märgitud: Mõõtmistulemused
lähevad arvesse ainult juhul, kui proovitöös toodud funktsionaalsuse testides on saadud
vähemalt 5 punkti ning kõik proovitöös nõutud automaattesti toimingud on korrektselt
realiseeritud. Juhul kui automaattesti toimingud ei ole realiseeritud vastavalt proovitöö
nõuetes toodule, siis omistatakse käesolevale kriteeriumile 0 punkti;
3) pakkumuste vastavuse kontrollimine riigihanke alusdokumentides esitatud tingimustele
(RHS § 114) ja pakkumuste hindamine vastavalt riigihanke alusdokumentides määratud
hindamise kriteeriumidele (RHS § 117) on olemuslikult erinevad hankemenetluse instituudid.
Kui vastavustingimustele vastavuse puhul tuleb hankijal otsus teha nö skaalal vastab/ei vasta,
siis pakkumuste hindamisel tuleb lähtuda hindamise kriteeriumidest e sellest, mida hankija
üldse hinnata soovib ning millise osakaalu hankija on hindamisel mingi asjaolu esinemisele
või puudumisele andnud. RHAD-i dokumendist „Hindamiskriteeriumid ja hinnatavad
näitajad“ ning Hindamismetoodikast nähtub, et Hankija ei ole kehtestanud Nõudeid
vastavustingimusena vaid alusena (hindamiskriteeriumi) Proovitöö kriteeriumi
kohaldamiseks;
4) vastavustingimuse PROOVITÖÖ sõnastusest (vt käesoleva otsuse p 10) nähtub, et
vastavustingimuseks on hindamisele kuuluva proovitöö lähtekoodi koos paigaldus- ja
kasutusjuhendiga esitamine. Seega leiab vaidlustuskomisjon, et pakkumuse vastavuse
kontrollimisel pidi Hankija tuvastama üksnes fakti, et pakkuja on esitanud pakkumuses
proovitöö lähtekoodi ning paigaldus- ja kasutusjuhendi ega pidanud hakkama kontrollima
proovitöö sisulist vastavust Nõuetele. Loomulikult pidi Hankija seejuures kontrollima, et
tegemist on asjakohaste dokumentidega (asjasse puutumatute dokumentide esitamine on
pakkumuse tagasilükkamise alus).
12. Eeltoodud põhjustel vastab vaidlustuskomisjon p-is 9 püstitatud küsimusele eitavalt ja on
seisukohal, et ükski Vaidlustaja põhjendustest (Kolmanda isiku proovitöö väidetavad
mittevastavused Nõuetele) ei saa olla aluseks Kolmanda isiku pakkumuse tagasilükkamisele,
kuna tegemist ei ole vastavustingimustega. Hankija on õigesti tuvastanud, et Kolmanda isiku
pakkumuses sisaldus proovitöö lähtekood koos paigaldus- ja kasutusjuhendiga
(vaidlustuskomisjon on kontrollinud nende olemasolu Vaidlustaja pakkumuses).
Hankija otsus Kolmanda isiku pakkumuse vastavaks tunnistamiseks on kooskõlas RHS § 114
lg-ga 1, alused selle kehtetuks tunnistamiseks puuduvad ja vaidlustus Kolmanda isiku
pakkumuse vastavaks tunnistamise otsusele tuleb jätta rahuldamata.
Kolmanda isiku pakkumuse edukaks tunnistamise otsus
13. Vaidlustaja taotleb Kolmanda isiku pakkumuse edukaks tunnistamise otsuse kehtetuks
tunnistamist kahel põhjusel:
1) Kolmanda isiku pakkumusele on antud Proovitöö kriteeriumi alusel liiga palju punkte;
2) Vaidlustaja pakkumusele on antud Proovitöö kriteeriumi alusel liiga vähe punkte.
33 (40)
14. Vaidlustuskomisjon on seisukohal, et proovitöö puhul on tegemist nn loovtööga, mille
hindamine Proovitöö kriteeriumi alusel on selle kriteeriumi olemusest tulenevalt valdavas
ulatuses Hankija kaalutlusotsus, mis oma hinnangulise iseloomu tõttu on vaidlustuskomisjoni
või kohtu poolt kontrollitav üksnes piiratud ulatuses. Hankija enda poolt on eelnimetatud
subjektiivsuse aspekti minimeerimiseks kehtestatud Hindamismetoodika p-is 3.2, et
Proovitöö kriteeriumi alamkriteeriumidest lähtudes hindab proovitöid Hankija
hindamiskomisjon (edaspidi Komisjon) konsensuslikult. See tähendab, et Komisjoni liikmed
pidid iga alamkriteeriumi osas antavas hindes jõudma üksmeelele. Vaidlustuskomisjonil ei ole
alust kahelda Komisjoni liikmete pädevuses ja seda ei ole teinud ka Vaidlustaja.
15. Nn loovtööde kohtuliku kontrolli ulatust selgitades on Riigikohus oma 11.12.2020 otsuses
nr 3-20-1198 (p 17) siiski märkinud, et ülalpool rahvusvahelist piirmäära korraldatud avaliku
hankemenetluse puhul peavad vaidlustuskomisjon ja kohtud hankija otsuse hinnangulisele
iseloomule vaatamata [---] minema kaugemale ilmselgete vigade testist ja kontrollima
sisuliselt kaebaja pakkumusele antud hinnangute põhjendatust, iseäranis, kas hindamisel
arvestati asjakohaseid, täielikke ja tõendatud fakte ning õiguse üldpõhimõtteid, samuti, kas
hindamine toimus RHAD-s teatavaks tehtud hindamiskriteeriumide kohaselt (RHS § 117 lg 1).
VAKO ja kohtud ei pea sedalaadi hinnangute kontrollimisel asendama hankija hinnanguid
enda omadega ega kõrvaldama kõiki mõeldavaid kahtlusi (vt ka kolleegiumi otsus nr
3-20-718/28, p 18). Kõrvaldada tuleb aga vähemalt olulised kahtlused ning sellest ei piisa
üldsõnalistest ja põhistamata selgitustest (kolleegiumi otsus nr 3-20-924/, p 31; otsus asjas
nr 3-3-1-50-15, p 23). [---]
Seoses pakkumuste hindamisega selgitas Riigikohus eelviidatud otsuse p-is 20 ka järgmist:
[---] Hindamiskomisjonile peab jääma vabadus oma tööd korraldada, muutmata
hindamiskriteeriume ega nende osakaale. Üldjuhul tuleks lisaks sisulistele
hindamiskriteeriumidele RHAD-s määrata kindlaks hindamismetoodika (sh punktiskaala),
kuid see ei pea olema ammendav, teisisõnu võib seda pärast pakkumuste avamist kohandada
konkreetsetele pakkumustele. Hankijatel ei ole kvalitatiivse hindamise kriteeriumidesse
võimalik kirja panna kõiki detaile, mis võivad hindamisel oluliseks osutuda. Vajaduse korral
võib aga jätta metoodika ka ette kindlaks määramata ja kujundada see tervikuna alles pärast
pakkumuste avamist (Euroopa Kohtu otsus asjas nr C-6/15: Dimarso, p-d 27-31; C-252/10
P:Evropaïki Dynamiki, p 35). Hindamismetoodika kohandamise õigus annab hankijale
pakkumuste hindamisel suurema otsustusruumi kui pakkumuste vastavuse kontrollimisel (vrd
kolleegiumi otsus nr 3-19-1464/41, p 13). Hindamismetoodika võib põhineda nii
absoluutskaalal kui ka samas hankes esitatud pakkumuste suhtelisel võrdlusel. Suhtelise
hindamismetoodika puhul peab võrdlemine olema dokumenteeritud. Ka absoluutse
hindamisskaala puhul peab hankija vajaduse korral selgitama sarnaste pakkumuste erinevat
hindamist.
16. Kuigi osana pakkumuse hindamisest on pakkumuste hindamine vaidlustuses käsitletavate
alamkriteeriumide alusel Hankija ainupädevuses ning nagu eespool märgitud, annavad need
alamkriteeriumid juba olemuslikult hindajale suure hinnanguruumi, põhinedes võrdlemisi
subjektiivsetel elementidel (vt Riigikohtu 09.08.2016 otsuse nr 3-3-1-51-16 p 16), peab
vaidlustuskomisjon Riigikohtu otsusest nr 3-20-1198 tulenevalt käesoleval juhul kontrollima,
kas pakkumuste hindamisel Hankija (Komisjon):
1) lähtus RHAD-is kehtestatud hindamiskriteeriumidest, nende alakriteeriumidest ning
hindamise korrast;
2) arvestas hindamisel asjakohaseid, täielikke ja tõendatud fakte.
Juhindudes Riigikohtu otsuse nr 3-20-1198 p-ist 21 [---] Seejuures on piisav, kui pakkumuse
edukaks tunnistamise korraldusest või selles viidatud dokumendist nähtuvad, millistele
alustele hankija otsustused tuginevad (kolleegiumi otsus asjas nr 3-3-1-45-12, p 29). Väga
üldsõnalised põhjendused võivad olla vastuolus RHS § 117 lg-ga 1 ja § 47 lg 4 p-ga 3, vaidluse
korral saab aga hankija otsuse põhjendusi kohtumenetluses täpsustada. [---] arvestab
vaidlustuskomisjon Hankija otsuse põhjendatuse kontrollimisel ka Hankija poolt
vaidlustusmenetluses esitatud asjakohaseid põhjendusi.
17. Hindamismetoodikas on Proovitöö kriteeriumis kehtestatud neli alamkriteeriumi, millest
lähtudes Hankija hindamiskomisjon (edaspidi Komisjon) pakkumusi hindas:
1) Dokumenteerimine - maksimumpunktid 20;
2) Arhitektuuri põhimõtte jälgimine - maksimumpunktid 20;
3) Funktsionaalsus - maksimumpunktid 30;
4) Testide mõõtmistulemused - maksimumpunktid 30.
34 (40)
Iga alamkriteeriumi puhul on kehtestatud, millistel asjaoludel antakse selle alamkriteeriumi
alusel 20, 15, 10, 5 või 0 punkti.
Vaidlustuskomisjon leiab, et pakkumuste hindamiseks Proovitöö kriteeriumi alusel on Hankija
kehtestanud Hindamismetoodikas enamiku alamkriteeriumide kohta võrdlemisi täpse
5-astmelise punktide andmise skaala (erandiks on alamkriteerium Testide mõõtmistulemused,
mille puhul on määratud, et parima mõõtmistulemusega proovitöö saab maksimumpunktid
(30) ning teised proovitööd vastavalt tulemuste pingereale teatud protsendi
maksimumpunktidest), samas on jäetud täpselt lahti kirjutama alamkriteeriumide enda sisu.
Komisjoni koostatud proovitöö hindamise kokkuvõtted, sh Nortal AS-i proovitöö hindamise
kokkuvõte ning Wisercat Estonia OÜ proovitöö hindamise kokkuvõte, on äärmiselt
üldsõnalised, piirdudes juhul, kui proovitööle on antud mingi alamkriteeriumi alusel
maksimumpunktid, vaid hindamisskaalal vastavate punktide andmise aluse tsiteerimisega või
puuduste tuvastamisel puuduste lühida välja toomisega.
Kolmanda isiku pakkumuse hindamine
18. Vaidlustuskomisjon märgib esmalt, et Kolmanda isiku proovitöös väidetavalt esinevaid
puudusi on vaidlustuses kirjeldatud eelkõige Kolmanda isiku pakkumuse mittevastavust
kinnitavate asjaoludena ning alles teises järjekorras on Vaidlustaja Kolmanda väitnud, et kui
neid ei saa käsitleda mittevastavusena vastavustingimustele, tuleb neid käsitleda Kolmanda
isiku hindamise kontekstis. Kuna Komisjoni hinnangul vastas Kolmanda isiku proovitöö täies
ulatuses Nõuetele ning sai hindamisel kõikides Proovitöö kriteeriumi alamkriteeriumides
maksimumpunktid, on ilmne, et Komisjoni koostatud dokument Nortal AS - proovitöö
hindamise kokkuvõte, ei sisalda mingeid vastuväiteid vaidlustuses esitatud seisukohtadele.
Seega saab Kolmanda isiku pakkumuse hindamist käsitlevas osas lähtuda üksnes Hankija
vastustes vaidlustusele esitatud seisukohtadest. Samas viitab vaidlustuskomisjon juba varem
märgitule, et pakkumuste hindamine on Hankija ainupädevuses.
19. Vaidlustaja on seisukohal, et Hankija on hinnanud Kolmanda isiku proovitööd ebaõigesti
alamkriteeriumi Dokumenteerimine ja alamkriteeriumi Testide mõõtmistulemused alusel.
20. Punktide andmiseks alamkriteeriumi Dokumenteerimine alusel on Hindamismetoodikas
nähtud ette järgmine kord.
Kriteerium/ 20 15 10 5 0
punktid
Dokumen- Proovitöö lahendus punkte Dokumentatsioonis punkte Dokumentatsiooni
teerimine on ulatuslikult ei esineb vähesel ei järgides ei ole
dokumenteeritud omistata määral puudujääke, omistata võimalik
tekstiliselt ja kuid need ei takista komponentide
graafiliselt. komponentide paigaldus või
Dokumentatsioon paigaldamist ja funktsionaalsuse
on esitatud funktsionaalsuse kasutamine või
struktureeritult ja kasutamist. üleantavas
on loogilise arhiivis puuduvad
ülesehitusega. .git kataloogid.
Kirjeldatud on Proovitöö ei ole
funktsionaalsus, üle antud arhiivi
logimine ja testide kujul.
loogika. Paigaldus-
ja seadistusjuhendid
on loogilise
ülesehitusega ja
lihtsalt mõistetavad.
Esitatud on
andmemudel.
Juhendite järgi
õnnestub kõikide
komponentide
paigaldamine ja
kõikide
funktsionaalsuste
testimine.
35 (40)
Arhiiviga koos on
tarnitud nõutud .git
kataloogid.
21. Vaidlustaja leiab, et Kolmanda isiku proovitööd on alamkriteeriumi Dokumenteerimine
alusel ebaõigesti hinnatud 20 punktiga ning Kolmanda isiku proovitööle ei saa selle
alamkriteeriumi alusel üldse punkte anda. Seda kokkuvõtlikult järgmistel põhjustel:
1) Kolmanda isiku dokumentatsiooni järgides ei ole võimalik komponentide paigaldus või
funktsionaalsuse kasutamine. Kolmanda isiku proovitööd ei olnud võimalik ilma Hankija
administraatori tehtud muudatusteta käivitada ega nõutud automaatteste käivitada (testida).
Selleks, et Hankija saaks Kolmanda isiku proovitööd Riigihankes nõutud tingimustel, sh
avalikku võrku kasutades Java rakendusest ning Docker-konteineri kaudu, käivitada ja testida
selliselt, et rakendus ja testid käivitatakse erinevates masinates, pidi Hankija tegema
Kolmanda isiku proovitöö konfiguratsioonifailis olulisi muudatusi, milliste tegemist ei olnud
Kolmanda isiku proovitöö paigaldus- ja kasutusjuhendis kirjeldatud. Kolmanda isiku
testrakenduse juhenddokumentatsioon ei olnud piisav, et selle kohaselt oleks õnnestunud kõigi
komponentide paigaldamine või funktsionaalsuse kasutamine;
2) dokumentatsiooni hindamisel ei oma tähtsust, et Hankija proovitööde testimisel masina
nr 2 testitulemusi ei arvestanud – proovitöö dokumentatsioon peab Hankija poolt
testrakenduse käivitamiseks ja kasutamiseks ette nähtud nõuete täitmiseks olema piisav ja
täielik, sh peab juhendmaterjal olema piisav ja täielik, kui rakendusi käivitatakse pilveseadme
kaudu ning selliselt, et rakendus ja testid käivitatakse erinevates masinates;
3) Hindamismetoodika kohaselt eeldab maksimumpunktide (20 punkti) andmine
alamkriteeriumis Dokumenteerimine mh, et paigaldus- ja seadistusjuhendid on loogilise
ülesehitusega ja lihtsalt mõistetavad ning et juhendite järgi õnnestub kõikide komponentide
paigaldamine ja kõikide funktsionaalsuste testimine. Hindamismetoodika kohaselt ei anta
alamkriteeriumis Dokumenteerimine punkte (s.o antakse 0 punkti), kui dokumentatsiooni
järgides ei ole võimalik komponentide paigaldus või funktsionaalsuse kasutamine. Kuivõrd
Kolmanda isiku proovitöö paigaldus- ja kasutusjuhendi kohaselt ei olnud võimalik
testrakendust kõigil ette nähtud tingimustel käivitada, ei ole tegemist ebaolulise puudusega
vaid selgelt puudusega, mis takistas testrakenduse käivitamist ja testimist.
Hankija ja Kolmas isik on seisukohal, et Vaidlustaja poolt välja toodud puudusi Kolmanda
isiku proovitöös seoses alamkriteeriumiga Dokumenteerimine ei esine.
22. Vaidlustuskomisjon ei nõustu Vaidlustajaga, et Vaidlustaja poolt välja toodud asjaoludel
ei saanud Kolmanda isiku proovitööd hinnata alamkriteeriumi Dokumenteerimine alusel 20
punktiga:
1) tegemist on pakkumuse hindamisega, mille puhul Hankija moodustatud spetsialistidest
hindamiskomisjonil on kaalutlusõigus. Dokumendis Nortal AS - proovitöö hindamise
kokkuvõte on Komisjon põhjendanud Kolmanda isiku pakkumusele alamkriteeriumi
Dokumenteerimine alusel 20 punkti andmist järgmiselt: Proovitöö lahendus on ulatuslikult
dokumenteeritud tekstiliselt ja graafiliselt. Dokumentatsioon on esitatud struktureeritult ja on
loogilise ülesehitusega. Kirjeldatud on funktsionaalsus, logimine ja testide loogika.
Paigaldus- ja seadistusjuhendid on loogilise ülesehitusega ja lihtsalt mõistetavad. Esitatud
on andmemudel. Juhendite järgi õnnestub kõikide komponentide paigaldamine ja kõikide
funktsionaalsuste testimine. Arhiiviga koos on tarnitud nõutud .git kataloogid.
Vaidlustuskomisjon möönab, et eeltoodud põhjendus vastab täpselt Hindamismetoodikas
pakkumusele alamkriteeriumi Dokumentatsioon alusel 20 punkti andmise alusele9, kuid on
ilmne, et Hankija hinnangul õnnestus Kolmanda isiku juhendite järgi kõikide komponentide
paigaldamine ja kõikide funktsionaalsuste testimine;
2) Vaidlustaja peamiseks vastuväiteks Kolmanda isiku pakkumuse hindamise õigsusele
käsitletava alamkriteeriumi alusel on see, et Kolmanda isiku testrakendust polnud võimalik
teises testis (video Nortal AS 2 masin – Copy.Mp4) ilma administraatori poolsete
muudatusteta käivitada, seega pidid esinema puudused Kolmanda isiku esitatud
juhendmaterjalides. Vaidlustaja hinnangul muutis administraator mh Kolmanda isiku
testrakenduse lähtekoodi.
Puudub vaidlus, et videost Nortal AS 2 masin – Copy.Mp4 nähtub, et RmIT administraator
muutis Kolmanda isiku testrakenduse konfiguratsioonis komponentide omavahelist suhtlust.
9 Samas sõnastuses on Hankija põhjendanud ka Vaidlustaja proovitööle käsitletava alamkriteeriumi alusel 20
punkti andmist.
36 (40)
Siiski tuleb nõustuda Hankijaga, et lähtekoodi ei muudetud, vähemalt puuduvad selle kohta
ühesed tõendid. Hankija on selgitanud, et ei avaldanud RHAD-is kõiki tehnilisi sätteid, mis
kehtivad RmIT-i hallatavates võrkudes ja seadmetes, kuna nende järgimine oleks tekitanud
pakkujatele ebaproportsionaalselt suure töökoormuse proovitöö teostamisel, mistõttu kasutas
Hankija RmIT-i administraatorit, kes aitas konfigureerimise abil pakkujate põhirakenduse ja
testrakenduse kohaldumist RmIT-i keskkonda. Vaidlustuskomisjon nõustub Hankija
selgitusega, et portide muutmise vajadus tekkis sellest, et administraator pidas vajalikuks
käivitada Kolmanda isiku testrakenduse JAR-i dockeri konteinerist väljast, mis tulenes
Hankija hallatavast keskkonna spetsiifikast. Eeltoodu saavutamiseks publitseeriti Seleniumi
pordid 4444:4444 dockeri konteinerist välja. Eraldi võimalust, et JAR oleks dockerist välja
tõstetav, RHAD-is ei nõutud, mistõttu ei lugenud Hankija antud tegevust Kolmanda isiku
veaks. RmIT-i administraator muutis Kolmanda isiku testrakenduse konfiguratsioonis
komponentide omavahelist suhtlust (pordid), mitte komponente endid, nende sisu ega
eesmärke. Seega leiab vaidlustuskomisjon, et Vaidlustaja väidetud puudust ei esinenud;
3) Kolmanda isiku pakkumuses on esitatud paigaldus- ja kasutusjuhend, sh on
paigaldusjuhendis toodud juhend proovitöö testrakenduse erinevatest masinatest käitamise
juhend (vt paigaldusjuhendi osa 1.2 Testrakenduse sfos-integration-tests paigaldus).
23. Punktide andmiseks alamkriteeriumi Testide mõõtmistulemused alusel on
Hindamismetoodikas nähtud ette järgmine kord.
Kriteerium/punktid
Testide mõõtmistulemused (kiirus). Lahendused järjestatakse lahenduse testide
Mõõtmistulemused lähevad arvesse ainult juhul, kui mõõtmistulemiste alusel. Kiiremini toimiva
proovitöös toodud funktsionaalsuse testides on lahenduse pakkuja saab 30 punkti
saadud vähemalt 5 punkti ning kõik proovitöös (maksimumpunktid). Lahenduse kiirust hinnatakse
nõutud automaattesti toimingud on korrektselt millisekundilise täpsusega.
realiseeritud. Järgnevatele mõõtmisele pääsenud lahendustele
Juhul kui automaattesti toimingud ei ole jagatakse punkte järgnevalt:
realiseeritud vastavalt proovitöö nõuetes toodule, • 2 koht 90% maksimumpunktidest ehk 27
siis omistatakse käesolevale kriteeriumile 0 punkti. punkti;
Juhul kui proovitöös toodud funktsionaalsuse testide • 3 koht 80% maksimumpunktidest ehk 24
eest on saadud 0 punkti, siis omistatakse käesolevale punkti;
kriteeriumile 0 punkti. [---]
24. Dokumendis Nortal AS - proovitöö hindamise kokkuvõte on Komisjon põhjendanud
Kolmanda isiku pakkumusele maksimumpunktide andmist alamkriteeriumi Testide
mõõtmistulemused (kiirus) alusel lakooniliselt: Mõõtmistulemus: 16 sekundit ja 572
millisekundit (16572ms).
25. Vaidlustaja leiab, et Kolmanda isiku proovitööd on alamkriteeriumi Testide
mõõtmistulemused alusel ebaõigesti hinnatud. Kolmanda isiku proovitöö sai selle
alamkriteeriumi alusel maksimaalsed 30 punkti, kuid oleks pidanud saama 0 punkti. Seda
kokkuvõtlikult järgmistel põhjustel:
1) Kolmanda isiku proovitöö mõõtmistulemusi ei saa arvestada, kuna Hindamismetoodika
p 3.8 sätestab alamkriteeriumi Testide mõõtmistulemused puhul: Mõõtmistulemused lähevad
arvesse ainult juhul, kui proovitöös toodud funktsionaalsuse testides on saadud vähemalt 5
punkti ning kõik proovitöös nõutud automaattesti toimingud on korrektselt realiseeritud. Juhul
kui automaattesti toimingud ei ole realiseeritud vastavalt proovitöö nõuetes toodule, siis
omistatakse käesolevale kriteeriumile 0 punkti;
2) Kolmanda isiku proovitöö testrakendus jättis automaattestis realiseeritavates
toimingutes kirjeldatud tegevuste tegemisel selleks vajalike toimingutega ja nende tegemiseks
kuluva ajaga arvestamata. Kolmanda isiku pakkumust on alamkriteeriumi Testide
mõõtmistulemused alusel õigusvastaselt hinnatud, kuivõrd kõnealuste ridade valimise ja
toimingu õnnestumise kontrollimisega seotud vajalike toimingutega arvestamata jätmine
tähendab, et proovitöös nõutud automaattesti toimingud ei ole Kolmanda isiku proovitöös
korrektselt realiseeritud. Seega ei ole ka nõutud toimingute tegemiseks tegelikult kuluv aeg
Kolmanda isiku testrakenduse alusel tuvastatav ning mõõtmistulemust (16572 millisekundit)
ei või Hindamismetoodika kohaselt arvestada;
3) Kolmanda isiku testrakenduse genereeritud testide mõõtmistulemused on
logiandmetega vastuolus. Kuigi Kolmanda isiku testrakenduse kohaselt oli Kolmanda isiku
automaattestis realiseeritavate toimingute summaarseks ajaks 16572 millisekundit, siis
testrakenduse koostatud logis toodud toimingute aegade kohaselt on nõutavaid toiminguid läbi
37 (40)
viidud kolme minuti jooksul (kell 09:21 ja 09:24). Seega on alus ka arvata, et testimise
tulemused ei pruugi olla õiged ning nendega ei või arvestada;
4) Kolmanda isiku proovitöö mittevastavusi logi ja mõõtmistulemuste konsoolis esitamata
jätmise ning rakenduse sätete kajastamata jätmise osas tuleb arvestada alamkriteeriumi
Testide mõõtmistulemused rakendamisel.
26. Vaidlustuskomisjon ei nõustu Vaidlustajaga, et Vaidlustaja poolt välja toodud asjaoludel
ei saanud Kolmanda isiku proovitööd hinnata alamkriteeriumi Testide mõõtmistulemused
alusel 30 punktiga.
26.1. Nõuetest ei nähtu, et Hankija oleks ette kirjutanud eraldi sammuna toimingu
õnnestumise kontrolli. Kuna toimingu õnnestumise või ebaõnnestumise kuvamise formaati
Hankija ette ei andnud, tuli see pakkujatel endal luua. Kolmanda isiku andmebaasi logides on
nähtav, et toimingute õnnestumise või ebaõnnestumise kohta on info olemas (vt
FAIL1_nortal_test_log.csv)10. Seega vastas Kolmanda isiku proovitöö testrakendus Nõuetes
toodud tingimustele ning puudub alus eeldada, et Kolmanda isiku testrakendustes ei ole
summaarse ajakulu arvestamisel arvestatud toimingu õnnestumise kontrollile kuluva ajaga.
Kolmanda isiku proovitöös on lahendatud toimingu õnnestumise teated andmebaasis
väärtusega TRUE.
26.2. Vaidlustuskomisjon nõustub Hankija selgitusega (vt käesoleva otsuse p-id 6.10, 6.11),
et Vaidlustaja väidetud puudust, et Kolmanda isiku testrakenduste logis ei ole toimingute
mõõtmistulemused korrektselt kajastatud ning logiandmed on vastuolus summaarse
ajakuluga, ei esine.
Hankija jooksutas teste kahel korral (vt FAIL4_molema_testi_logi.xlsx) 11 (edaspidi Fail)
ning Hankija selgituste kohaselt sattus logi eksportimisel andmebaasist üks rida IT tehniliste
põhjuste tõttu valesse kohta. Arvesse läinud testi osas ei oma Vaidlustaja poolt välja toodud
toimingu 403 rida tähtsust, kuna see pärineb mitte arvesse minevast testi jooksutamisest.
Failist, kus sisalduvad mõlema testi jooksutamise logi, nähtub, et toimingu 403 rida on
ilmselgelt paigutatud valesti andmete eksportimisel CSV faili. Failist on nähtav, et 402-
toimingu reale järgneb kohe 404 ja vahelt on puudu toimingu 403 rida, mis on ekslikult
paigutunud ülespoole (ridade 149 ja 150 vahele). Ajaliselt ning järjekorranumbri järgi peaks
toimingu 403 rida olema 402 ja 404 vahel. Vaidlustaja märgitud aeg (ca 3 minutit) näitab, et
Vaidlustaja on võtnud selle testi andmetest, mis arvesse ei läinud. Hankija arvestas
toimingutele kuluvat aega millisekundites, mis on kuvatud ka logides. Vastavalt arvesse läinud
testi logile oli antud toimingu reaalne ajakulu 86 millisekundit, mida Hankija arvestas ka
hindamisel. Logidest lähtuvalt on rea 403 toimingu teostamiseks aega kulunud 83
millisekundit. Rea 403 puhul tegemist toiminguga Nõuete alamjaotuse „Automaattestis
realiseeritavad toimingud ja nende järjekord“ p-ist 8: Täiendavalt valida read 126, 26535,
41223-41250, 83610-83620,91425, 91428, 91431 toiminguga. P-is 8 nõutud toiming tuleb
teostada p-is 7 nõutud toimingu järgselt. Logidest on nähtav, et p-is 8 nõutud toiming on
kuvatud p-is 7 nõutud toimingute keskel, mitte järel. Lisaks nähtub logist, et toiming 403, mis
kajastab ridade valimist, teostatakse arvesse minema testi korral toimingus 185 ehk toiming
403 kuvatakse ekslikult logides topelt ja seetõttu ei tohiks antud rea andmed kajastuda
automaattesti lõpptulemuses (logi rida 218).
26.3. Hindamise ning pakkumuse edukaks tunnistamise koondprotokollist nähtub, et
lahenduse testide mõõtmistulemuste alusel oli parim Kolmanda isiku lahendus - 16572
millisekundit. Seega on Hankija hinnanud Kolmanda isiku proovitööd alamkriteeriumi
Testide mõõtmistulemused alusel põhjendatult 30 punktiga.
Vaidlustaja pakkumuse hindamine
27. Vaidlustaja on seisukohal, et Hankija on hinnanud tema proovitööd ebaõigesti Proovitöö
kriteeriumi alakriteeriumi Funktsionaalsus ja alamkriteeriumi Testide mõõtmistulemused
alusel.
28. Vaidlustaja on seisukohal, et Hankija on tema proovitööd ebaõigesti hinnatud, vähendades
alamkriteeriumi Funktsionaalsus alusel tema proovitööle antavaid punkte, andes 30 punkti
10 Esitatud koos Hankija 10.01.2025. a vastusega vaidlustusele.
11 Esitatud koos Hankija 10.01.2025. a vastusega vaidlustusele.
38 (40)
asemel ebaõigesti 10 punkti. Vaidlustaja väitel on Hankija valesti leidnud, et Vaidlustaja
proovitöö funktsionaalsuses esineb kaks puudust, kuid kuna Vaidlustaja proovitöö
funktsionaalsuses puudusi ei esine, tuleb Vaidlustaja proovitööle anda maksimumpunktid.
29. Punktide andmiseks alakriteeriumi Funktsionaalsus alusel on Hindamismetoodikas nähtud
ette järgmine kord.
Kriteerium/punk 30 20 10 5 0
tid
Funktsionaalsus Nõutud Nõutud Nõutud Nõutud Nõutud
(testjuhud: funktsionaals funktsionaals funktsionaals funktsionaals funktsionaals
rakenduse us on us on us on us on us on osaliselt
funktsionaalsus täielikult täielikult täielikult täielikult realiseeritud
realiseeritud realiseeritud realiseeritud realiseeritud või esineb
(sh ridade sh ridade sh ridade sh ridade neli või
lukustamine) lukustamine. lukustamine. lukustamine. rohkem
ja puudusi ei Esineb üks Esineb kaks Esineb kolm puudust.
esine puudus. puudust. puudust.
30. Dokumendis Wisercat Estonia OÜ – proovitöö hindamise kokkuvõte on Hankija seoses
Vaidlustaja proovitöö hindamisega alamkriteeriumi Funktsionaalsus alusel toonud välja kaks
puudust.
[Vaidlustaja ärisaladus]
Eeltoodust lähtudes leiab vaidlustuskomisjon, et Hankija välja toodud puudus nr 1 Vaidlustaja
proovitöös esineb.
[Vaidlustaja ärisaladus]
34. Eelkõige märgib vaidlustuskomisjon, et vaidlusalune tingimus on sõnastatud Nõuete
alamjaotise „Arendustöö „Kuludokumentide kuvamine, valimine ja seisundite muutmine“
osas Valiku tegemine:
1. Vali etteantud kohast alates „10, 20, 50, 100, 1 000, 10 000” rida või „kõik read“;
02.09.2024. a on hankemenetluses osalemisest huvitatud isik esitanud Hankijale järgmise
küsimuse:
Nõuetes on kirjas “Vali etteantud kohast alates „10, 20, 50, 100, 1 000, 10 000” rida või „kõik
read“.
Küsimus:
Kas valik “kõik read” tähendab:
a) kõikide kuludokumentide ridade valimise võimalust kogu tabeli ulatuses,
b) etteantud kohast alates kõikide kuludokumentide ridade valimise võimalust,
c) mõlemad variandid?
05.09.2024. a vastas Hankija:
Valik “kõik read” tähendab: Variant a) kõikide kuludokumentide ridade valimise võimalust
kogu tabeli ulatuses.
On ilmne, et Hankija ja Vaidlustaja mõistavad Hankija poolt 05.06.2025. a antud vastuse sisu
erinevalt, kuid juhul, kui Hankija vastust sisustada teisiti, kui tuleneb Nõuetes toodud
tingimusest, oleks see vastuolus RHS § 46 lg-ga, millest tulenevalt ei saa selgitusega muuta
riigihanke alusdokumente.
35. Vaidlustuskomisjon mõistab vaidlusalust nõuet nii, et valik „kõik read“ peab olema
kuvatud Valiku tegemine „Vali etteantud kohast alates „10, 20, 50, 100, 1 000, 10 000” rida
või „kõik read“; valiku tegemise juures.
[Vaidlustaja ärisaladus]
Eeltoodust lähtudes leiab vaidlustuskomisjon, et Hankija välja toodud puudus nr 2 Vaidlustaja
proovitöös esineb.
36. Eeltoodust nähtub, et Vaidlustaja proovitöö hindamine alamkriteeriumi Funktsionaalsus
aluse 10 punktiga on kooskõlas Hindamismetoodikaga.
37. Vaidlustaja leiab, et Hankija on tema proovitööd alamkriteeriumi Testide mõõtetulemused
alusel ebaõigesti hinnatud, vähendades punkte 3 punkti võrra, andes 30 punkti asemel 27
39 (40)
punkti.
Hindamismetoodika kirjelduses on käsitletava alamkriteeriumi alusel punktide andmiseks
kehtestatud kord, mille puhul Lahendused järjestatakse lahenduse testide mõõtmistulemiste
alusel. Kiiremini toimiva lahenduse pakkuja saab 30 punkti (maksimumpunktid). Lahenduse
kiirust hinnatakse millisekundilise täpsusega.
Järgnevatele mõõtmisele pääsenud lahendustele jagatakse punkte järgnevalt:
• 2 koht 90% maksimumpunktidest ehk 27 punkti; kehtestatud
Seega näeb Hindamismetoodika kirjeldus ette, et esimene lahendus saab maksimumpunktid
(30) ning iga järgmine lahendus 10% vähem. Kuna Vaidlustaja proovitöö sai selle
alamkriteeriumi alusel hindamisel teise koha, Kolmanda isiku järel ning Vaidlustaja hinnangul
oleks Kolmanda isiku proovitöö pidanud saama selle alamkriteeriumi alusel hindamisel 0
punkti, tuleb maksimumpunktid (30 punkti) selle alamkriteeriumi alusel anda Vaidlustaja
pakkumusele kui algselt Kolmanda isiku järel kohal olnud pakkumusele.
38. Kuna vaidlustuskomisjon on seisukohal, et Hankija on hinnanud alamkriteeriumi Testide
mõõtmistulemused alusel Kolmanda isiku proovitööd õigesti (vt käesoleva otsuse p-id 26-
26.3) on Vaidlustaja pakkumuse hindamine alamkriteeriumi Testide mõõtmistulemused alusel
27 punktiga kooskõlas Hindamismetoodikaga.
39. Kuna vaidlustuskomisjoni hinnangul on Kolmanda isiku ja Vaidlustaja pakkumuste
hindamine olnud kooskõlas RHAD-iga, eelkõige Hindamismetoodikaga, vastab Hankija otsus
Kolmanda isiku pakkumuse vastavaks tunnistamiseks RHS § 117 lg-le 1 ning alused selle
kehtetuks tunnistamiseks puuduvad.
Vaidlustusmenetluse kulud
40. Lähtudes sellest, et vaidlustus jääb RHS § 197 lg 1 p-i 4 alusel rahuldamata, kuuluvad
vaidlustusmenetluse kulude osas kohaldamisele RHS § 198 lg-d 3 ja 8.
40.1. Hankija ei ole esitanud taotlust lepingulise esindaja kulude väljamõistmiseks.
40.2. Kolmas isik on esitanud tähtaegselt taotlused lepingulise esindaja kulude
väljamõistmiseks Vaidlustajalt kogusummas 4987,50 eurot (käibemaksuta), 22 h 10 min
õigusabi osutamise eest keskmise tunnihinnaga 225 eurot.
Vaidlustuskomisjon leiab, et asja keerukust ja materjalide mahukust silmas pidades on
Kolmanda isiku lepingulise esindaja kulud mõnevõrra ülepaisutatud. Vaidlustuskomisjon
möönab, et Vaidlustusmenetlus on keskmisest oluliselt keerukam ning mahukam, kuid leiab
siiski, et vajalikud ja põhjendatud on Kolmanda isiku lepingulise esindaja kulud 18 töötunni
ulatuses, seega 4050 eurot (käibemaksuta), mis tuleb Vaidlustajalt välja mõista.
40.3. Vaidlustaja kulud vaidlustusmenetluses jäävad Vaidlustaja kanda.
(allkirjastatud digitaalselt)
Taivo Kivistik
40 (40)