{"id":56,"date":"2019-03-08T12:52:52","date_gmt":"2019-03-08T12:52:52","guid":{"rendered":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/?post_type=chapter&#038;p=56"},"modified":"2019-05-06T23:43:03","modified_gmt":"2019-05-06T23:43:03","slug":"tarkvara-testimise-alused","status":"publish","type":"chapter","link":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/chapter\/tarkvara-testimise-alused\/","title":{"raw":"Tarkvara testimise alused","rendered":"Tarkvara testimise alused"},"content":{"raw":"Oleme n\u00fc\u00fcdseks tuvastanud, millega testija \u00fcldiselt tegeleb ja miks testimine on oluline nii tarkvaraarenduses kui ka k\u00f5ikide teiste toodete arendamise puhul \u2013 et saavutada k\u00f5ikidele ootustele ja n\u00f5uetele vastav s\u00fcsteem v\u00f5i toode. J\u00e4rgnevalt tutvume aga l\u00e4hemalt sellega, milliseid erinevaid meetodeid on v\u00f5imalik tarkvara testimisel kasutada ning millistel erinevatel tasemetel on tarkvara testimist v\u00f5imalik teha. Eelmises peat\u00fckis tutvusime juba l\u00fchidalt <em>funktsionaalse<\/em> ja <em>mittefunktsionaalse<\/em> testimisega. Testimist on aga v\u00f5imalik liigitada v\u00e4ga mitmel erineval viisil:\r\n<ul>\r\n \t<li style=\"font-weight: 400\">testija <em>vaatenurga<\/em> alusel;<\/li>\r\n \t<li style=\"font-weight: 400\">testitava <em>objekti v\u00f5i sihtm\u00e4rgi<\/em> alusel;<\/li>\r\n \t<li style=\"font-weight: 400\">testitava osa <em>taseme<\/em> alusel;<\/li>\r\n \t<li style=\"font-weight: 400\">selle alusel, kas testimist viib l\u00e4bi <em>inimene v\u00f5i programm<\/em>.<\/li>\r\n<\/ul>\r\n<h5>\u201cMusta kasti\u201d testimine vs \u201cValge kasti\u201d testimine<\/h5>\r\nTestimise liike on v\u00f5imalik nn musta ja valgesse kasti jagada selle alusel, millist <em>vaatenurka<\/em> omab testija. Kui testitakse kasutaja vaatenurgast ehk <em>teadmata programmi koodi sisu ja struktuuri<\/em>, on tegemist <strong>musta kasti<\/strong> testimisega. Kui aga testija tegeleb ka <em>programmi koodi lugemisega<\/em>, et esmalt tuvastada koodi abil k\u00f5ik lubatud ja v\u00f5imalikud tegevused s\u00fcsteemis, on tegemist <strong>valge kasti<\/strong> testimisega ehk <strong>klaaskasti<\/strong> testimisega.\r\n\r\nMusta kasti testimiseks ei ole testijal vaja programmeerimise ega koodi lugemise oskust ja seda tehakse valdavalt kasutades programmi kasutajaliidest ehk kasutajale n\u00e4htavat s\u00fcsteemi osa. Testija avab s\u00fcsteemi nii nagu ka kasutaja seda teeks ning katsetab erinevaid s\u00fcsteemi tegevusi ning omadusi. Kasutajaliides on n\u00e4iteks k\u00f5ikidel veebilehtedel \u2013 nagu n\u00e4iteks Facebook, Google ja ka e-\u00f5pikul, mida praegu loed. K\u00e4esolevas kursuses keskendumegi peamiselt musta kasti testimisele.\r\n\r\nValge kasti ehk klaaskasti testimise puhul on vaatenurgaks <em>s\u00fcsteemi looja vaatenurk<\/em> ja on vajalik ka programmeerimise v\u00f5i v\u00e4hemalt koodi lugemise oskus, et aru saada, millised reeglid, piirangud ja tegevused on koodi sisse kirjutatud. Valge kasti testimise eeliseks on see, et testijal ei ole vaja kasutada kasutajaliidest, mist\u00f5ttu saab testimist alustada arendusprotsessis ajaliselt varem, enne kui disainerid ja arendajad on s\u00fcsteemile loonud kasutajaliidese. Testija saab otse koodi lisada sisendeid ehk n\u00e4iteks teksti, mida kasutajaliideses saab sisestada tekstiv\u00e4ljale, ning j\u00e4lgida tulemust samuti otse koodis.\r\n<h5>Testimise liigid sihtm\u00e4rkide alusel<\/h5>\r\nLisaks on v\u00f5imalik testimist liigitada ka testitavate <em>sihtm\u00e4rkide<\/em> alusel. Eelmises peat\u00fckis k\u00e4sitletud funktsionaalne ja mittefunktsionaalne testimine kuuluvad selle liigituse alla - esimese puhul on sihtm\u00e4rgiks funktsionaalsed n\u00f5uded ehk s\u00fcsteemis v\u00f5imalikud tegevused (funktsionaalsused) ja teise puhul on sihtm\u00e4rgiks mittefunktsionaalsed n\u00f5uded ehk s\u00fcsteemi omadused.\r\n\r\nTestimise sihtm\u00e4rgiks v\u00f5ib lisaks olla ka \u00fcks j\u00e4rgnevatest:\r\n<ul>\r\n \t<li style=\"font-weight: 400\">S\u00fcsteemi <strong>turvalisus<\/strong> (<em>turvatestimine<\/em>) ehk kas s\u00fcsteem peab vastu k\u00fcberr\u00fcnnakutele ja pahatahtlikele kasutajatele<\/li>\r\n \t<li style=\"font-weight: 400\">S\u00fcsteemi <strong>j\u00f5udlus<\/strong> (<em>j\u00f5udlustest<\/em>) ehk kas s\u00fcsteemi ja selles toimetamise kiirus vastab ootustele<\/li>\r\n \t<li style=\"font-weight: 400\">S\u00fcsteemi <strong>toimimine suure koormuse all<\/strong> (<em>koormustest<\/em>) ehk kas s\u00fcsteem t\u00f6\u00f6tab ootustele vastavalt ka suure kasutajate arvu v\u00f5i andmemahu puhul<\/li>\r\n<\/ul>\r\n<h6>Kasutatavuse testimine<\/h6>\r\n\u00dcheks testimise sihtm\u00e4rgiks v\u00f5ib lisaks olla ka\u00a0<strong>kasutatavuse testimine<\/strong>, millega veendutakse, kas k\u00f5ik s\u00fcsteemi tegevused on kergelt leitavad ja kasutatavad ning kas s\u00fcsteemi kasutamine on \u00fcle\u00fcldiselt mugav. Kasutatavuse testimist on v\u00f5imalik l\u00e4bi viia mitmel erineval moel. N\u00e4iteks on \u00fcheks eelistatuimaks lahenduseks luua stsenaariumid, mille alusel antakse s\u00fcsteem inimestele kasutamiseks ning j\u00e4lgitakse, kuidas nad stsenaariumis kirjeldatud tegevustega hakkama saavad. Sageli aga ei ole v\u00f5imalik selliseks testimiseks kasutajaid leida, mist\u00f5ttu kasutatakse ka <strong>kasutatavuse\u00a0<\/strong><strong>heuristikute<\/strong> ehk <strong>\u00fcldtuntud reeglite\u00a0<\/strong>j\u00e4rgi kasutatavuse kontrollimist. Antud reegleid on 10 ja need on kujutatud j\u00e4rgnevatel kaartidel, kus iga kaardi p\u00f6\u00f6rdel on kirjeldatud nende t\u00e4hendus.\r\n\r\n[h5p id=\"9\"]\r\n<h5>Testimise tasemed<\/h5>\r\nLisaks sellele, et testijatel on v\u00f5imalik testida erinevaid sihtm\u00e4rke, nagu funktsionaalsused, turvalisus ja kasutatavus, saab jaotada testimist ka selle alusel, millist s\u00fcsteemi taset parajasti testitakse. K\u00f5ige madalamal tasemel testimiseks peetakse <strong>\u00fchiktestimist<\/strong> (ehk <em>unit testing<\/em>), kus tehakse testid s\u00fcsteemi v\u00e4ikseimatele osadele \u2013 n\u00e4iteks \u00fchele kindlale funktsioonile, mis m\u00f5ne e-poe puhul v\u00f5iks olla n\u00e4iteks sisselogimine. J\u00e4rgmine testimise tase on <strong>integratsioonitestimine<\/strong>, millega testitakse erinevate s\u00fcsteemi osade vahelisi seoseid ja kuidas need osad teineteist m\u00f5jutavad. Kasutades taas e-poe n\u00e4idet, kus \u00fcheks osaks on sisselogimine ja teiseks v\u00f5ib olla ostukorv, siis integratsioonitestimise abil on v\u00f5imalik tuvastada n\u00e4iteks seda, kas sisselogimides j\u00e4id enne sisselogimist ostukorvi lisatud asjad alles v\u00f5i mitte. Nii \u00fchikteste kui ka integratsiooniteste tehakse tavaliselt <em>automaattestidena<\/em>. K\u00f5rgeimal testimise tasemel ehk <strong>s\u00fcsteemitestimisel<\/strong> keskendutakse kogu s\u00fcsteemi testimisele, et tagada k\u00f5ikide s\u00fcsteemi n\u00f5uete t\u00e4itmine.\r\n<h5>Automaattestimine<\/h5>\r\nArendusprojektides loodavad s\u00fcsteemid v\u00f5ivad kujuneda v\u00e4ga suureks, mist\u00f5ttu v\u00f5tab nende testimine palju aega. Lisaks on oht, et \u00fcks v\u00e4ike muudatus suures s\u00fcsteemis v\u00f5ib tekitada vigu, mis m\u00f5jutavad kogu s\u00fcsteemi toimimist. Selleks, et iga muudatuse j\u00e4rel testija kogu s\u00fcsteemi k\u00e4sitsi \u00fcle vaatama ei peaks, kasutatakse automaattestimist.<strong> Automaattestimise<\/strong> puhul kirjutavad kas arendajad v\u00f5i testijad automaattestimiseks m\u00f5eldud rakendust kasutades v\u00e4ikseid programme, mis testivad s\u00fcsteemis v\u00f5imalikke tegevusi ja reegleid.\r\n\r\n&nbsp;\r\n\r\nN\u00e4iteks on v\u00f5imalik kirjutada automaattest e-kooli kasutajanime abil sisselogimise kohta. Selleks peab esmalt testija v\u00f5i arendaja m\u00e4rkima automaattesti loomisel \u00e4ra funktsiooni, mida automaattest kontrollib. Seej\u00e4rel saab ta \u00e4ra m\u00e4rkida, mis kasutajanime ja parooli test kasutama peab. L\u00f5petuseks saab ta ka \u00e4ra m\u00e4rkida, mis vaate s\u00fcsteem testis sisselogimise j\u00e4rel peab olema avatud ning kontrollida, kas s\u00fcsteem tuvastab sisseloginud kasutaja.\r\n\r\n&nbsp;\r\n\r\n[h5p id=\"8\"]\r\n<h5>Testlood<\/h5>\r\nSelleks, et testija t\u00f6\u00f6 oleks sihip\u00e4rane ja organiseeritud, loovad testijad enne testimist testlood, mida testimisel j\u00e4rgida. Testlugu koosneb reeglina j\u00e4rgnevatest osadest, mis kujutatakse tabeli kujul:\r\n<ol>\r\n \t<li><strong>Pealkiri<\/strong> ehk mida testitakse;<\/li>\r\n \t<li><strong>Kirjeldus<\/strong>, kus v\u00f5imalik m\u00e4rkida, millist keskkonda kasutatakse testimisel ja milliseid vahendeid testimisel kasutatakse;<\/li>\r\n \t<li><strong>Eeltingimused<\/strong> ehk mis tingimused peavad olema t\u00e4idetud enne testloo alustamist (n\u00e4iteks Kasutaja peab olema sisselogitud);<\/li>\r\n \t<li><strong>Sammud<\/strong> ehk punkthaaval kirjeldatud kasutaja nupuvajutused ja tekstid, mida sisestatakse tekstiv\u00e4ljadele;<\/li>\r\n \t<li><strong>Oodatud tulemus<\/strong> ehk kirjeldus sellest, mida s\u00fcsteem antud testloo tulemusel tegema peab (n\u00e4iteks e-poes kauba lisamisel ostukorvi Kasutaja valitud toode lisati edukalt ostukorvi ja ostukorvi ikoonil kuvatud number suurenes \u00fche v\u00f5rra);<\/li>\r\n \t<li><strong>Tegelik tulemus<\/strong> ehk kuidas s\u00fcsteem tegelikult k\u00e4itus testloo l\u00e4bimise tulemusel (t\u00e4idetakse peale testloo l\u00e4bimist testimisel).<\/li>\r\n<\/ol>\r\n<h5>R\u00fchmat\u00f6\u00f6 (kasutatavuse testimine ja testlugude kasutamine testimisel)<\/h5>\r\n<ol>\r\n \t<li>Valige \u00fcks j\u00e4rgnevatest s\u00fcsteemidest: YouTube, Twitter, Facebook. <strong>Olge testimisel hoolikad, et mitte teha tegevusi, mida te oma kontoga ei soovi teha.<\/strong> Tavap\u00e4raselt tehakse testimist selleks eraldi seadistatud keskkondades, kuid antud juhul kasutate reaalseid infos\u00fcsteeme.\r\n<ol>\r\n \t<li style=\"list-style-type: none\"><\/li>\r\n<\/ol>\r\n<\/li>\r\n \t<li>Valige v\u00e4lja 3 funktsionaalsust v\u00f5i osa s\u00fcsteemis, mida testida (n\u00e4iteks sisselogimine, kasutajanime muutmine, unustatud parooli taastamine). M\u00f5ned n\u00e4ited iga mainitud s\u00fcsteemi kohta:\r\n<ol>\r\n \t<li>Sisselogimine (k\u00f5ikides s\u00fcsteemides)<\/li>\r\n \t<li>Video lisamine (YouTube)<\/li>\r\n \t<li>Pildi lisamine (Twitter, Facebook)<\/li>\r\n \t<li>Kommentaari lisamine v\u00f5i kustutamine (YouTube, Facebook)<\/li>\r\n \t<li>S\u00e4utsu lisamine (Twitter)<\/li>\r\n<\/ol>\r\n<\/li>\r\n \t<li>Kirjutage nende funktsionaalsuste testimise kohta testlood. <strong>\u00c4rge piirduge iga asja testimise juures vaid \u00fche testlooga <\/strong>\u2013 kirjutage ka testlugusid selle kohta, kuidas s\u00fcsteem peaks toimima, kui funktsionaalsust\u00a0<strong>sihilikult valesti kasutada<\/strong> (nt j\u00e4tke kohustuslikud vormiv\u00e4ljad t\u00fchjaks).<\/li>\r\n \t<li>Viige l\u00e4bi testimine, kasutades kirja pandud testlugusid.<\/li>\r\n \t<li>Pange kirja testimise tulemused.<\/li>\r\n \t<li>N\u00fc\u00fcd viige l\u00e4bi antud s\u00fcsteemi kasutatavuse testimine, kasutades selleks peat\u00fckis kaartidena kujutatud\u00a0k\u00fcmmet kasutatavuse\u00a0<em>heuristikut<\/em> ehk reeglit. Pange kirja tulemused.<\/li>\r\n<\/ol>\r\nKasutatud allikad:\r\n\r\nNielsen Norman Group. (24. aprill, 1994). 10 Usability Heuristics for User Interface Design. https:\/\/www.nngroup.com\/articles\/ten-usability-heuristics\/","rendered":"<p>Oleme n\u00fc\u00fcdseks tuvastanud, millega testija \u00fcldiselt tegeleb ja miks testimine on oluline nii tarkvaraarenduses kui ka k\u00f5ikide teiste toodete arendamise puhul \u2013 et saavutada k\u00f5ikidele ootustele ja n\u00f5uetele vastav s\u00fcsteem v\u00f5i toode. J\u00e4rgnevalt tutvume aga l\u00e4hemalt sellega, milliseid erinevaid meetodeid on v\u00f5imalik tarkvara testimisel kasutada ning millistel erinevatel tasemetel on tarkvara testimist v\u00f5imalik teha. Eelmises peat\u00fckis tutvusime juba l\u00fchidalt <em>funktsionaalse<\/em> ja <em>mittefunktsionaalse<\/em> testimisega. Testimist on aga v\u00f5imalik liigitada v\u00e4ga mitmel erineval viisil:<\/p>\n<ul>\n<li style=\"font-weight: 400\">testija <em>vaatenurga<\/em> alusel;<\/li>\n<li style=\"font-weight: 400\">testitava <em>objekti v\u00f5i sihtm\u00e4rgi<\/em> alusel;<\/li>\n<li style=\"font-weight: 400\">testitava osa <em>taseme<\/em> alusel;<\/li>\n<li style=\"font-weight: 400\">selle alusel, kas testimist viib l\u00e4bi <em>inimene v\u00f5i programm<\/em>.<\/li>\n<\/ul>\n<h5>\u201cMusta kasti\u201d testimine vs \u201cValge kasti\u201d testimine<\/h5>\n<p>Testimise liike on v\u00f5imalik nn musta ja valgesse kasti jagada selle alusel, millist <em>vaatenurka<\/em> omab testija. Kui testitakse kasutaja vaatenurgast ehk <em>teadmata programmi koodi sisu ja struktuuri<\/em>, on tegemist <strong>musta kasti<\/strong> testimisega. Kui aga testija tegeleb ka <em>programmi koodi lugemisega<\/em>, et esmalt tuvastada koodi abil k\u00f5ik lubatud ja v\u00f5imalikud tegevused s\u00fcsteemis, on tegemist <strong>valge kasti<\/strong> testimisega ehk <strong>klaaskasti<\/strong> testimisega.<\/p>\n<p>Musta kasti testimiseks ei ole testijal vaja programmeerimise ega koodi lugemise oskust ja seda tehakse valdavalt kasutades programmi kasutajaliidest ehk kasutajale n\u00e4htavat s\u00fcsteemi osa. Testija avab s\u00fcsteemi nii nagu ka kasutaja seda teeks ning katsetab erinevaid s\u00fcsteemi tegevusi ning omadusi. Kasutajaliides on n\u00e4iteks k\u00f5ikidel veebilehtedel \u2013 nagu n\u00e4iteks Facebook, Google ja ka e-\u00f5pikul, mida praegu loed. K\u00e4esolevas kursuses keskendumegi peamiselt musta kasti testimisele.<\/p>\n<p>Valge kasti ehk klaaskasti testimise puhul on vaatenurgaks <em>s\u00fcsteemi looja vaatenurk<\/em> ja on vajalik ka programmeerimise v\u00f5i v\u00e4hemalt koodi lugemise oskus, et aru saada, millised reeglid, piirangud ja tegevused on koodi sisse kirjutatud. Valge kasti testimise eeliseks on see, et testijal ei ole vaja kasutada kasutajaliidest, mist\u00f5ttu saab testimist alustada arendusprotsessis ajaliselt varem, enne kui disainerid ja arendajad on s\u00fcsteemile loonud kasutajaliidese. Testija saab otse koodi lisada sisendeid ehk n\u00e4iteks teksti, mida kasutajaliideses saab sisestada tekstiv\u00e4ljale, ning j\u00e4lgida tulemust samuti otse koodis.<\/p>\n<h5>Testimise liigid sihtm\u00e4rkide alusel<\/h5>\n<p>Lisaks on v\u00f5imalik testimist liigitada ka testitavate <em>sihtm\u00e4rkide<\/em> alusel. Eelmises peat\u00fckis k\u00e4sitletud funktsionaalne ja mittefunktsionaalne testimine kuuluvad selle liigituse alla &#8211; esimese puhul on sihtm\u00e4rgiks funktsionaalsed n\u00f5uded ehk s\u00fcsteemis v\u00f5imalikud tegevused (funktsionaalsused) ja teise puhul on sihtm\u00e4rgiks mittefunktsionaalsed n\u00f5uded ehk s\u00fcsteemi omadused.<\/p>\n<p>Testimise sihtm\u00e4rgiks v\u00f5ib lisaks olla ka \u00fcks j\u00e4rgnevatest:<\/p>\n<ul>\n<li style=\"font-weight: 400\">S\u00fcsteemi <strong>turvalisus<\/strong> (<em>turvatestimine<\/em>) ehk kas s\u00fcsteem peab vastu k\u00fcberr\u00fcnnakutele ja pahatahtlikele kasutajatele<\/li>\n<li style=\"font-weight: 400\">S\u00fcsteemi <strong>j\u00f5udlus<\/strong> (<em>j\u00f5udlustest<\/em>) ehk kas s\u00fcsteemi ja selles toimetamise kiirus vastab ootustele<\/li>\n<li style=\"font-weight: 400\">S\u00fcsteemi <strong>toimimine suure koormuse all<\/strong> (<em>koormustest<\/em>) ehk kas s\u00fcsteem t\u00f6\u00f6tab ootustele vastavalt ka suure kasutajate arvu v\u00f5i andmemahu puhul<\/li>\n<\/ul>\n<h6>Kasutatavuse testimine<\/h6>\n<p>\u00dcheks testimise sihtm\u00e4rgiks v\u00f5ib lisaks olla ka\u00a0<strong>kasutatavuse testimine<\/strong>, millega veendutakse, kas k\u00f5ik s\u00fcsteemi tegevused on kergelt leitavad ja kasutatavad ning kas s\u00fcsteemi kasutamine on \u00fcle\u00fcldiselt mugav. Kasutatavuse testimist on v\u00f5imalik l\u00e4bi viia mitmel erineval moel. N\u00e4iteks on \u00fcheks eelistatuimaks lahenduseks luua stsenaariumid, mille alusel antakse s\u00fcsteem inimestele kasutamiseks ning j\u00e4lgitakse, kuidas nad stsenaariumis kirjeldatud tegevustega hakkama saavad. Sageli aga ei ole v\u00f5imalik selliseks testimiseks kasutajaid leida, mist\u00f5ttu kasutatakse ka <strong>kasutatavuse\u00a0<\/strong><strong>heuristikute<\/strong> ehk <strong>\u00fcldtuntud reeglite\u00a0<\/strong>j\u00e4rgi kasutatavuse kontrollimist. Antud reegleid on 10 ja need on kujutatud j\u00e4rgnevatel kaartidel, kus iga kaardi p\u00f6\u00f6rdel on kirjeldatud nende t\u00e4hendus.<\/p>\n<div id=\"h5p-9\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-9\" class=\"h5p-iframe\" data-content-id=\"9\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Heuristikud\"><\/iframe><\/div>\n<\/div>\n<h5>Testimise tasemed<\/h5>\n<p>Lisaks sellele, et testijatel on v\u00f5imalik testida erinevaid sihtm\u00e4rke, nagu funktsionaalsused, turvalisus ja kasutatavus, saab jaotada testimist ka selle alusel, millist s\u00fcsteemi taset parajasti testitakse. K\u00f5ige madalamal tasemel testimiseks peetakse <strong>\u00fchiktestimist<\/strong> (ehk <em>unit testing<\/em>), kus tehakse testid s\u00fcsteemi v\u00e4ikseimatele osadele \u2013 n\u00e4iteks \u00fchele kindlale funktsioonile, mis m\u00f5ne e-poe puhul v\u00f5iks olla n\u00e4iteks sisselogimine. J\u00e4rgmine testimise tase on <strong>integratsioonitestimine<\/strong>, millega testitakse erinevate s\u00fcsteemi osade vahelisi seoseid ja kuidas need osad teineteist m\u00f5jutavad. Kasutades taas e-poe n\u00e4idet, kus \u00fcheks osaks on sisselogimine ja teiseks v\u00f5ib olla ostukorv, siis integratsioonitestimise abil on v\u00f5imalik tuvastada n\u00e4iteks seda, kas sisselogimides j\u00e4id enne sisselogimist ostukorvi lisatud asjad alles v\u00f5i mitte. Nii \u00fchikteste kui ka integratsiooniteste tehakse tavaliselt <em>automaattestidena<\/em>. K\u00f5rgeimal testimise tasemel ehk <strong>s\u00fcsteemitestimisel<\/strong> keskendutakse kogu s\u00fcsteemi testimisele, et tagada k\u00f5ikide s\u00fcsteemi n\u00f5uete t\u00e4itmine.<\/p>\n<h5>Automaattestimine<\/h5>\n<p>Arendusprojektides loodavad s\u00fcsteemid v\u00f5ivad kujuneda v\u00e4ga suureks, mist\u00f5ttu v\u00f5tab nende testimine palju aega. Lisaks on oht, et \u00fcks v\u00e4ike muudatus suures s\u00fcsteemis v\u00f5ib tekitada vigu, mis m\u00f5jutavad kogu s\u00fcsteemi toimimist. Selleks, et iga muudatuse j\u00e4rel testija kogu s\u00fcsteemi k\u00e4sitsi \u00fcle vaatama ei peaks, kasutatakse automaattestimist.<strong> Automaattestimise<\/strong> puhul kirjutavad kas arendajad v\u00f5i testijad automaattestimiseks m\u00f5eldud rakendust kasutades v\u00e4ikseid programme, mis testivad s\u00fcsteemis v\u00f5imalikke tegevusi ja reegleid.<\/p>\n<p>&nbsp;<\/p>\n<p>N\u00e4iteks on v\u00f5imalik kirjutada automaattest e-kooli kasutajanime abil sisselogimise kohta. Selleks peab esmalt testija v\u00f5i arendaja m\u00e4rkima automaattesti loomisel \u00e4ra funktsiooni, mida automaattest kontrollib. Seej\u00e4rel saab ta \u00e4ra m\u00e4rkida, mis kasutajanime ja parooli test kasutama peab. L\u00f5petuseks saab ta ka \u00e4ra m\u00e4rkida, mis vaate s\u00fcsteem testis sisselogimise j\u00e4rel peab olema avatud ning kontrollida, kas s\u00fcsteem tuvastab sisseloginud kasutaja.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"h5p-8\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-8\" class=\"h5p-iframe\" data-content-id=\"8\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Testimise liigid\"><\/iframe><\/div>\n<\/div>\n<h5>Testlood<\/h5>\n<p>Selleks, et testija t\u00f6\u00f6 oleks sihip\u00e4rane ja organiseeritud, loovad testijad enne testimist testlood, mida testimisel j\u00e4rgida. Testlugu koosneb reeglina j\u00e4rgnevatest osadest, mis kujutatakse tabeli kujul:<\/p>\n<ol>\n<li><strong>Pealkiri<\/strong> ehk mida testitakse;<\/li>\n<li><strong>Kirjeldus<\/strong>, kus v\u00f5imalik m\u00e4rkida, millist keskkonda kasutatakse testimisel ja milliseid vahendeid testimisel kasutatakse;<\/li>\n<li><strong>Eeltingimused<\/strong> ehk mis tingimused peavad olema t\u00e4idetud enne testloo alustamist (n\u00e4iteks Kasutaja peab olema sisselogitud);<\/li>\n<li><strong>Sammud<\/strong> ehk punkthaaval kirjeldatud kasutaja nupuvajutused ja tekstid, mida sisestatakse tekstiv\u00e4ljadele;<\/li>\n<li><strong>Oodatud tulemus<\/strong> ehk kirjeldus sellest, mida s\u00fcsteem antud testloo tulemusel tegema peab (n\u00e4iteks e-poes kauba lisamisel ostukorvi Kasutaja valitud toode lisati edukalt ostukorvi ja ostukorvi ikoonil kuvatud number suurenes \u00fche v\u00f5rra);<\/li>\n<li><strong>Tegelik tulemus<\/strong> ehk kuidas s\u00fcsteem tegelikult k\u00e4itus testloo l\u00e4bimise tulemusel (t\u00e4idetakse peale testloo l\u00e4bimist testimisel).<\/li>\n<\/ol>\n<h5>R\u00fchmat\u00f6\u00f6 (kasutatavuse testimine ja testlugude kasutamine testimisel)<\/h5>\n<ol>\n<li>Valige \u00fcks j\u00e4rgnevatest s\u00fcsteemidest: YouTube, Twitter, Facebook. <strong>Olge testimisel hoolikad, et mitte teha tegevusi, mida te oma kontoga ei soovi teha.<\/strong> Tavap\u00e4raselt tehakse testimist selleks eraldi seadistatud keskkondades, kuid antud juhul kasutate reaalseid infos\u00fcsteeme.\n<ol>\n<li style=\"list-style-type: none\"><\/li>\n<\/ol>\n<\/li>\n<li>Valige v\u00e4lja 3 funktsionaalsust v\u00f5i osa s\u00fcsteemis, mida testida (n\u00e4iteks sisselogimine, kasutajanime muutmine, unustatud parooli taastamine). M\u00f5ned n\u00e4ited iga mainitud s\u00fcsteemi kohta:\n<ol>\n<li>Sisselogimine (k\u00f5ikides s\u00fcsteemides)<\/li>\n<li>Video lisamine (YouTube)<\/li>\n<li>Pildi lisamine (Twitter, Facebook)<\/li>\n<li>Kommentaari lisamine v\u00f5i kustutamine (YouTube, Facebook)<\/li>\n<li>S\u00e4utsu lisamine (Twitter)<\/li>\n<\/ol>\n<\/li>\n<li>Kirjutage nende funktsionaalsuste testimise kohta testlood. <strong>\u00c4rge piirduge iga asja testimise juures vaid \u00fche testlooga <\/strong>\u2013 kirjutage ka testlugusid selle kohta, kuidas s\u00fcsteem peaks toimima, kui funktsionaalsust\u00a0<strong>sihilikult valesti kasutada<\/strong> (nt j\u00e4tke kohustuslikud vormiv\u00e4ljad t\u00fchjaks).<\/li>\n<li>Viige l\u00e4bi testimine, kasutades kirja pandud testlugusid.<\/li>\n<li>Pange kirja testimise tulemused.<\/li>\n<li>N\u00fc\u00fcd viige l\u00e4bi antud s\u00fcsteemi kasutatavuse testimine, kasutades selleks peat\u00fckis kaartidena kujutatud\u00a0k\u00fcmmet kasutatavuse\u00a0<em>heuristikut<\/em> ehk reeglit. Pange kirja tulemused.<\/li>\n<\/ol>\n<p>Kasutatud allikad:<\/p>\n<p>Nielsen Norman Group. (24. aprill, 1994). 10 Usability Heuristics for User Interface Design. https:\/\/www.nngroup.com\/articles\/ten-usability-heuristics\/<\/p>\n","protected":false},"author":26,"menu_order":5,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-56","chapter","type-chapter","status-publish","hentry"],"part":3,"_links":{"self":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/pressbooks\/v2\/chapters\/56","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/wp\/v2\/users\/26"}],"version-history":[{"count":9,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/pressbooks\/v2\/chapters\/56\/revisions"}],"predecessor-version":[{"id":216,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/pressbooks\/v2\/chapters\/56\/revisions\/216"}],"part":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/pressbooks\/v2\/parts\/3"}],"metadata":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/pressbooks\/v2\/chapters\/56\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/wp\/v2\/media?parent=56"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/pressbooks\/v2\/chapter-type?post=56"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/wp\/v2\/contributor?post=56"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/wp\/v2\/license?post=56"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}