{"id":54,"date":"2019-03-08T12:52:41","date_gmt":"2019-03-08T12:52:41","guid":{"rendered":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/?post_type=chapter&#038;p=54"},"modified":"2019-04-30T01:03:44","modified_gmt":"2019-04-30T01:03:44","slug":"kes-on-tarkvara-testija","status":"publish","type":"chapter","link":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/chapter\/kes-on-tarkvara-testija\/","title":{"raw":"Kes on tarkvara testija?","rendered":"Kes on tarkvara testija?"},"content":{"raw":"Testimine, eriti tarkvara arenduse kontekstis, v\u00f5ib esmalt k\u00f5lada millegi uue v\u00f5i v\u00f5\u00f5rana, kuid tegelikult puutume me v\u00e4hemal v\u00f5i rohkemal m\u00e4\u00e4ral kokku testimisega igap\u00e4evaselt \u2013 juba v\u00e4ga varasest east alates. Selleks, et paremini m\u00f5ista, mida testimine t\u00e4pselt endast kujutab, tuleks hetkeks keskenduda selle s\u00f5na p\u00e4ritolule. Nimelt p\u00e4rineb s\u00f5na \u201ctestimine\u201d inglise keelest \u2013 <em>testing<\/em> \u2013\u00a0ning otset\u00f5lkes t\u00e4hendab see <strong>katsetamist<\/strong>. V\u00e4ikeste lastena avastame me maailma ning seda tehes viime alatasa l\u00e4bi mitmeid katseid, alustades n\u00e4iteks sellest, kuidas testime erinevate esemete s\u00f6\u00f6davust v\u00f5i vajutame ettejuhtuvatel masinatel v\u00f5i m\u00e4nguasjadel erinevaid nuppe, et n\u00e4ha, mis juhtub. Lapsi ajendab selliseks tegevuseks uudishimu ja loovus \u2013 omadused, mis on omased ka heale testijale tarkvaraarenduse vallas.\r\n\r\nSarnaseks katsetamiseks ja avastamiseks, nagu toimetavad lapsed igap\u00e4evaelus, v\u00f5ib pidada ka tarkvara testija rolli tarkvaraarenduse protsessis, kuid antud juhul on tegemist <strong>plaanip\u00e4rase katsetamisega<\/strong>, kus luuakse eelnevalt katsetamisele kindlad tingimused, katsetamise protsess ja eeldatavad tulemused \u2013 ehk kokkuv\u00f5ttes luuakse <strong>testlugu <\/strong>\u2013 ja katse tulemused pannakse kirja. N\u00e4iteks kui soovitakse testida, mis juhtub, kui logida sisse e-Kooli vale parooliga:\r\n<ul>\r\n \t<li><em>Tingimus 1: kasutaja ei ole veel sisse logitud<\/em><\/li>\r\n \t<li><em>Tingimus 2: kasutajal on olemas e-Kooli konto<\/em><\/li>\r\n \t<li><em>Protsess: kasutaja sisestab\u00a0<strong>\u00f5ige<\/strong>\u00a0kasutajanime ja\u00a0<strong>vale<\/strong> parooli ning vajutab sisselogimise nupul.<\/em><\/li>\r\n \t<li><em>Eeldatav tulemus: sisselogimine eba\u00f5nnestub ja kuvatakse veateade<\/em><\/li>\r\n<\/ul>\r\nEhkki hea programmeerija testib alati ka ise enda koodi, veendumaks enda loodud lahenduste toimimises, on testimiseks sageli arendusprojektides ka eraldi testija, kelle \u00fclesandeks on tagada, et projekti l\u00f5pptulemuseks olev tarkvara vastab kliendi ja kasutajate ootustele ning programmeerijate loodud lahendused on loodud anal\u00fc\u00fctiku poolt kirjutatud n\u00f5uetele vastavalt. Testija peamiseks eesm\u00e4rgiks on <strong>kvaliteedi tagamine<\/strong> \u2013\u00a0sageli kasutataksegi t\u00e4nap\u00e4eval testija nimetuse asemel nimetust <em>Quality Assurance specialist<\/em> ehk <strong>kvaliteedi tagamise spetsialist<\/strong>.\r\n\r\n&nbsp;\r\n\r\nhttps:\/\/startit.ee\/it-testija-2\/\r\n\r\nNii nagu anal\u00fc\u00fctik, peab ka testija m\u00f5istma h\u00e4sti kliendi \u00e4ri ning olema v\u00f5imeline samastuma kasutajatega. Seet\u00f5ttu leidub ka olukordi, kus anal\u00fc\u00fctik on \u00fchtlasi ka testija rollis. Ehkki peamiseks eesm\u00e4rgiks on \u00e4ra hoida kriitilised vead s\u00fcsteemis ja tagada, et loodud tarkvara vastab kliendi poolt oodatud n\u00f5uetele ja kvaliteedile, tuleb ennetada selliste vigade ning probleemide tekkimist, mille v\u00e4ltimise peale teised meeskonnaliikmed ei pruugi m\u00f5elda. Selle jaoks on testija puhul oluliseks omaduseks <strong>loovus<\/strong>, et ta suudaks leida viise, kuidas arendatud s\u00fcsteemi katki teha v\u00f5i s\u00fcsteemis vigu tekitada, kasutades selleks \u00e4\u00e4rmuslikke erandjuhtumeid, millega s\u00fcsteemi kasutajad v\u00f5ivad kokku puutuda.\r\n\r\nKuigi testija ja anal\u00fc\u00fctiku rolli jaoks on vajalikud m\u00f5ned \u00fchised omadused, on neil sellest hoolimata erinevad \u00fclesanded. Tuginedes k\u00e4esolevale ja eelmisele peat\u00fckile, lahendage j\u00e4rgmine \u00fclesanne.\r\n\r\n&nbsp;\r\n\r\n[h5p id=\"7\"]\r\n\r\nTarkvaraarendus ei ole aga ainus valdkond, kus testimine on olulisel kohal. Samamoodi tuleb testida ka valdavalt k\u00f5iki tooteid, mida poest v\u00f5imalik osta, et kindlustada selle n\u00f5uete t\u00e4itmine ning . Keskenduge hetkeks \u00fchele n\u00e4itele t\u00e4iesti erinevast valdkonnast ja arutage:\r\n<ul>\r\n \t<li style=\"font-weight: 400\">Kuidas teie testiksite batuuti ja milliseid omadusi batuudi puhul testiksite?\r\n<ul>\r\n \t<li style=\"font-weight: 400\">Pidage silmas ka erandjuhtumeid, millega batuudi kasutajad v\u00f5ivad kokku puutuda.<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<em>J\u00e4rgneval pildil on v\u00f5imalik punastel ringidel vajutades n\u00e4ha n\u00e4iteid, milliseid n\u00f5udeid ja omadusi on v\u00f5imalik batuudi puhul testida. Kas leidsite t\u00e4iendavaid omadusi, mida testida?<\/em>\r\n\r\n&nbsp;\r\n\r\n[h5p id=\"4\"]\r\n\r\nTarkvara testijate t\u00f6\u00f6 ei piirdu aga ainult programmeerijate loodud lahenduste kvaliteedi tagamisega, vaid oluline on ka teiste meeskonnaliikmete \u2013 n\u00e4iteks anal\u00fc\u00fctikute \u2013 t\u00f6\u00f6 valideerimine paralleelselt programmeeritud lahendusega, sest vead ei pruugi alati seisneda programmeerijate loodud koodis, vaid ka n\u00e4iteks anal\u00fc\u00fctikute loodud dokumentatsioonis v\u00f5i kasutusjuhendis. Aastal 1999 juhtus \u00f5nnetus NASA kosmosesondiga Mars Climate Orbiter, mida olnuks v\u00f5imalik sel moel v\u00e4ltida. Nimelt kosmosesondi tarkvara luues arvestati selle kasutamisel meeterm\u00f5\u00f5dustikuga, ent NASA lennujuhid sisestasid sondi juhtides inglise m\u00f5\u00f5tes\u00fcsteemi \u00fchikuid (nt jalg, toll) ja sond h\u00e4vis Marsi atmosf\u00e4\u00e4ris.\r\n\r\n&nbsp;\r\n\r\n[caption id=\"attachment_201\" align=\"alignnone\" width=\"1024\"]<img class=\"size-large wp-image-201\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-content\/uploads\/sites\/10\/2019\/03\/Mars_Climate_Orbiter_-_mishap_diagram-1024x709.png\" alt=\"Kosmosesondi trajektooride kujutis\" width=\"1024\" height=\"709\" \/> Kosmosesondi Mars Climate Orbiter planeeritud trajektoor <em>(planned trajectory)<\/em> ja tegelik trajektoor <em>(actual trajectory),<\/em> mis l\u00f5ppes h\u00e4vimisega Marsi atmosf\u00e4\u00e4ris.[\/caption]\r\n\r\nTarkvara testijatel on testimiseks hulgaliselt erinevaid viise, ent laias laastus jagunevad need viisid kahe vahel: funktsionaalne testimine ja mittefunktsionaalne testimine. <strong>Funktsionaalne testimine<\/strong> keskendub s\u00fcsteemi <em>funktsionaalsuste <\/em>(eelmises peat\u00fckis kirjeldatud <em>funktsionaalsete n\u00f5uete<\/em>) ehk s\u00fcsteemi poolt v\u00f5imaldatavate <strong>tegevuste<\/strong> katsetamisele. Selle k\u00e4igus tuvastatakse n\u00e4iteks, kas kasutaja saab teha oodatud tegevusi, t\u00e4ita soovitud teksti- ja andmev\u00e4ljad, vajutada ootusp\u00e4rastel nuppudel ja kas s\u00fcsteem toimib peale kasutaja tehtud tegevusi ootusp\u00e4raselt. <strong>Mittefunktsionaalne testimine\u00a0<\/strong>seisneb s\u00fcsteemi <strong>omaduste<\/strong>\u00a0ehk <em>mittefunktsionaalsete n\u00f5uete <\/em>katsetamises. N\u00e4iteks on v\u00f5imalik testida, kas s\u00fcsteemi <em>kasutatavus<\/em> on lihtne ja loogiline v\u00f5i kas s\u00fcsteem toimib piisavalt efektiivselt v\u00f5i ootustele vastavalt, kui seda kasutavad korraga miljon kasutajat v\u00f5i kui s\u00fcsteemi kasutada erinevates internetibrauserites (nt <em>Google Chrome<\/em> v\u00f5i <em>Mozilla Firefox<\/em>).\r\n\r\nSarnasel moel on v\u00f5imalik jaotada ka teiste toodete testimist. P\u00f6\u00f6rdudes hetkeks tagasi batuudi n\u00e4ite juurde, saame v\u00e4lja tuua \u00fche n\u00e4ite nii funktsionaalsest kui ka mittefunktsionaalsest testimisest batuudi katsetamise puhul:\r\n<ul>\r\n \t<li>Batuudi p\u00f5rgatavus. Kas batuudil h\u00fcpates p\u00f5rkan k\u00f5rgemale \u00f5hku v\u00f5rreldes maas h\u00fcppamisega?\r\n<ul>\r\n \t<li>Selle puhul on tegemist\u00a0<em>funktsionaalse testimisega<\/em>, sest h\u00fcppamine ja k\u00f5rgemale p\u00f5rkamine on batuudi \u00fcks esmaseid funktsionaalsuseid ehk \u00fcks peamisi kasutaja tegevusi batuudiga.<\/li>\r\n<\/ul>\r\n<\/li>\r\n \t<li>Batuudi vastupidavus, kui sellel on korraga 25 last. Kas batuut peab vastu, kui sellel h\u00fcppab korraga 25 last?\r\n<ul>\r\n \t<li>Siinkohal on tegemist\u00a0<em>mittefunktsionaalse testimisega<\/em>, sest testitakse batuudi omadust (ehk vastupidavust), mitte p\u00f5rkamise funktsionaalsust ennast.<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n[h5p id=\"5\"]\r\n\r\nN\u00fc\u00fcd aga proovige lahendada sarnane \u00fclesanne <strong>tarkvara<\/strong> testimise valdkonnas.\r\n\r\n[h5p id=\"6\"]\r\n\r\nR\u00fchmat\u00f6\u00f6 (<em>funktsionaalne testimine<\/em>):\r\n<ol>\r\n \t<li>Valige r\u00fchmaga \u00fcks veebileht (n\u00e4iteks <a href=\"https:\/\/www.city24.ee\/\">City24<\/a> v\u00f5i m\u00f5ni teine sarnane veebileht, mis sisaldab palju vormiv\u00e4lju)<\/li>\r\n \t<li>Pange kirja, milliseid tegevusi kasutaja antud vormil teha saab ehk millised on antud veebilehe <em>funktsionaalsused<\/em>. N\u00e4iteks\u00a0<a href=\"https:\/\/www.city24.ee\/\">City24<\/a> puhul: sisselogimine, kinnisvara otsimine (sh alam-funktsionaalsused nagu aadressi valik, hinnavahemiku m\u00e4\u00e4ramine).<\/li>\r\n \t<li>Katsetage kirja pandud funktsionaalsuseid ja alam-funktsionaalsuseid ja laske kujutlusv\u00f5imel lennata. N\u00e4iteks proovige sisestada numbriv\u00e4ljadele t\u00e4hem\u00e4rke, tekstiv\u00e4ljadele erim\u00e4rke (nt \u20ac ja #)<\/li>\r\n \t<li>Pange enne iga katsetust kirja, millist funktsionaalsust katsetate ja mida andmev\u00e4ljadele sisestate.<\/li>\r\n \t<li>Pange kirja, millised tegevused \u00f5nnestusid ja millised mitte.<\/li>\r\n \t<li>Arutage \u2013 kas vormi funktsionaalsustel leidub vigu?<\/li>\r\n<\/ol>","rendered":"<p>Testimine, eriti tarkvara arenduse kontekstis, v\u00f5ib esmalt k\u00f5lada millegi uue v\u00f5i v\u00f5\u00f5rana, kuid tegelikult puutume me v\u00e4hemal v\u00f5i rohkemal m\u00e4\u00e4ral kokku testimisega igap\u00e4evaselt \u2013 juba v\u00e4ga varasest east alates. Selleks, et paremini m\u00f5ista, mida testimine t\u00e4pselt endast kujutab, tuleks hetkeks keskenduda selle s\u00f5na p\u00e4ritolule. Nimelt p\u00e4rineb s\u00f5na \u201ctestimine\u201d inglise keelest \u2013 <em>testing<\/em> \u2013\u00a0ning otset\u00f5lkes t\u00e4hendab see <strong>katsetamist<\/strong>. V\u00e4ikeste lastena avastame me maailma ning seda tehes viime alatasa l\u00e4bi mitmeid katseid, alustades n\u00e4iteks sellest, kuidas testime erinevate esemete s\u00f6\u00f6davust v\u00f5i vajutame ettejuhtuvatel masinatel v\u00f5i m\u00e4nguasjadel erinevaid nuppe, et n\u00e4ha, mis juhtub. Lapsi ajendab selliseks tegevuseks uudishimu ja loovus \u2013 omadused, mis on omased ka heale testijale tarkvaraarenduse vallas.<\/p>\n<p>Sarnaseks katsetamiseks ja avastamiseks, nagu toimetavad lapsed igap\u00e4evaelus, v\u00f5ib pidada ka tarkvara testija rolli tarkvaraarenduse protsessis, kuid antud juhul on tegemist <strong>plaanip\u00e4rase katsetamisega<\/strong>, kus luuakse eelnevalt katsetamisele kindlad tingimused, katsetamise protsess ja eeldatavad tulemused \u2013 ehk kokkuv\u00f5ttes luuakse <strong>testlugu <\/strong>\u2013 ja katse tulemused pannakse kirja. N\u00e4iteks kui soovitakse testida, mis juhtub, kui logida sisse e-Kooli vale parooliga:<\/p>\n<ul>\n<li><em>Tingimus 1: kasutaja ei ole veel sisse logitud<\/em><\/li>\n<li><em>Tingimus 2: kasutajal on olemas e-Kooli konto<\/em><\/li>\n<li><em>Protsess: kasutaja sisestab\u00a0<strong>\u00f5ige<\/strong>\u00a0kasutajanime ja\u00a0<strong>vale<\/strong> parooli ning vajutab sisselogimise nupul.<\/em><\/li>\n<li><em>Eeldatav tulemus: sisselogimine eba\u00f5nnestub ja kuvatakse veateade<\/em><\/li>\n<\/ul>\n<p>Ehkki hea programmeerija testib alati ka ise enda koodi, veendumaks enda loodud lahenduste toimimises, on testimiseks sageli arendusprojektides ka eraldi testija, kelle \u00fclesandeks on tagada, et projekti l\u00f5pptulemuseks olev tarkvara vastab kliendi ja kasutajate ootustele ning programmeerijate loodud lahendused on loodud anal\u00fc\u00fctiku poolt kirjutatud n\u00f5uetele vastavalt. Testija peamiseks eesm\u00e4rgiks on <strong>kvaliteedi tagamine<\/strong> \u2013\u00a0sageli kasutataksegi t\u00e4nap\u00e4eval testija nimetuse asemel nimetust <em>Quality Assurance specialist<\/em> ehk <strong>kvaliteedi tagamise spetsialist<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p>https:\/\/startit.ee\/it-testija-2\/<\/p>\n<p>Nii nagu anal\u00fc\u00fctik, peab ka testija m\u00f5istma h\u00e4sti kliendi \u00e4ri ning olema v\u00f5imeline samastuma kasutajatega. Seet\u00f5ttu leidub ka olukordi, kus anal\u00fc\u00fctik on \u00fchtlasi ka testija rollis. Ehkki peamiseks eesm\u00e4rgiks on \u00e4ra hoida kriitilised vead s\u00fcsteemis ja tagada, et loodud tarkvara vastab kliendi poolt oodatud n\u00f5uetele ja kvaliteedile, tuleb ennetada selliste vigade ning probleemide tekkimist, mille v\u00e4ltimise peale teised meeskonnaliikmed ei pruugi m\u00f5elda. Selle jaoks on testija puhul oluliseks omaduseks <strong>loovus<\/strong>, et ta suudaks leida viise, kuidas arendatud s\u00fcsteemi katki teha v\u00f5i s\u00fcsteemis vigu tekitada, kasutades selleks \u00e4\u00e4rmuslikke erandjuhtumeid, millega s\u00fcsteemi kasutajad v\u00f5ivad kokku puutuda.<\/p>\n<p>Kuigi testija ja anal\u00fc\u00fctiku rolli jaoks on vajalikud m\u00f5ned \u00fchised omadused, on neil sellest hoolimata erinevad \u00fclesanded. Tuginedes k\u00e4esolevale ja eelmisele peat\u00fckile, lahendage j\u00e4rgmine \u00fclesanne.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"h5p-7\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-7\" class=\"h5p-iframe\" data-content-id=\"7\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Rollid ja \u00fclesanded\"><\/iframe><\/div>\n<\/div>\n<p>Tarkvaraarendus ei ole aga ainus valdkond, kus testimine on olulisel kohal. Samamoodi tuleb testida ka valdavalt k\u00f5iki tooteid, mida poest v\u00f5imalik osta, et kindlustada selle n\u00f5uete t\u00e4itmine ning . Keskenduge hetkeks \u00fchele n\u00e4itele t\u00e4iesti erinevast valdkonnast ja arutage:<\/p>\n<ul>\n<li style=\"font-weight: 400\">Kuidas teie testiksite batuuti ja milliseid omadusi batuudi puhul testiksite?\n<ul>\n<li style=\"font-weight: 400\">Pidage silmas ka erandjuhtumeid, millega batuudi kasutajad v\u00f5ivad kokku puutuda.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><em>J\u00e4rgneval pildil on v\u00f5imalik punastel ringidel vajutades n\u00e4ha n\u00e4iteid, milliseid n\u00f5udeid ja omadusi on v\u00f5imalik batuudi puhul testida. Kas leidsite t\u00e4iendavaid omadusi, mida testida?<\/em><\/p>\n<p>&nbsp;<\/p>\n<div id=\"h5p-4\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-4\" class=\"h5p-iframe\" data-content-id=\"4\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Rectangle trampoline\"><\/iframe><\/div>\n<\/div>\n<p>Tarkvara testijate t\u00f6\u00f6 ei piirdu aga ainult programmeerijate loodud lahenduste kvaliteedi tagamisega, vaid oluline on ka teiste meeskonnaliikmete \u2013 n\u00e4iteks anal\u00fc\u00fctikute \u2013 t\u00f6\u00f6 valideerimine paralleelselt programmeeritud lahendusega, sest vead ei pruugi alati seisneda programmeerijate loodud koodis, vaid ka n\u00e4iteks anal\u00fc\u00fctikute loodud dokumentatsioonis v\u00f5i kasutusjuhendis. Aastal 1999 juhtus \u00f5nnetus NASA kosmosesondiga Mars Climate Orbiter, mida olnuks v\u00f5imalik sel moel v\u00e4ltida. Nimelt kosmosesondi tarkvara luues arvestati selle kasutamisel meeterm\u00f5\u00f5dustikuga, ent NASA lennujuhid sisestasid sondi juhtides inglise m\u00f5\u00f5tes\u00fcsteemi \u00fchikuid (nt jalg, toll) ja sond h\u00e4vis Marsi atmosf\u00e4\u00e4ris.<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_201\" aria-describedby=\"caption-attachment-201\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-201\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-content\/uploads\/sites\/10\/2019\/03\/Mars_Climate_Orbiter_-_mishap_diagram-1024x709.png\" alt=\"Kosmosesondi trajektooride kujutis\" width=\"1024\" height=\"709\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-content\/uploads\/sites\/10\/2019\/03\/Mars_Climate_Orbiter_-_mishap_diagram-1024x709.png 1024w, https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-content\/uploads\/sites\/10\/2019\/03\/Mars_Climate_Orbiter_-_mishap_diagram-300x208.png 300w, https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-content\/uploads\/sites\/10\/2019\/03\/Mars_Climate_Orbiter_-_mishap_diagram-768x532.png 768w, https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-content\/uploads\/sites\/10\/2019\/03\/Mars_Climate_Orbiter_-_mishap_diagram-65x45.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-content\/uploads\/sites\/10\/2019\/03\/Mars_Climate_Orbiter_-_mishap_diagram-225x156.png 225w, https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-content\/uploads\/sites\/10\/2019\/03\/Mars_Climate_Orbiter_-_mishap_diagram-350x242.png 350w, https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-content\/uploads\/sites\/10\/2019\/03\/Mars_Climate_Orbiter_-_mishap_diagram.png 1102w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption id=\"caption-attachment-201\" class=\"wp-caption-text\">Kosmosesondi Mars Climate Orbiter planeeritud trajektoor <em>(planned trajectory)<\/em> ja tegelik trajektoor <em>(actual trajectory),<\/em> mis l\u00f5ppes h\u00e4vimisega Marsi atmosf\u00e4\u00e4ris.<\/figcaption><\/figure>\n<p>Tarkvara testijatel on testimiseks hulgaliselt erinevaid viise, ent laias laastus jagunevad need viisid kahe vahel: funktsionaalne testimine ja mittefunktsionaalne testimine. <strong>Funktsionaalne testimine<\/strong> keskendub s\u00fcsteemi <em>funktsionaalsuste <\/em>(eelmises peat\u00fckis kirjeldatud <em>funktsionaalsete n\u00f5uete<\/em>) ehk s\u00fcsteemi poolt v\u00f5imaldatavate <strong>tegevuste<\/strong> katsetamisele. Selle k\u00e4igus tuvastatakse n\u00e4iteks, kas kasutaja saab teha oodatud tegevusi, t\u00e4ita soovitud teksti- ja andmev\u00e4ljad, vajutada ootusp\u00e4rastel nuppudel ja kas s\u00fcsteem toimib peale kasutaja tehtud tegevusi ootusp\u00e4raselt. <strong>Mittefunktsionaalne testimine\u00a0<\/strong>seisneb s\u00fcsteemi <strong>omaduste<\/strong>\u00a0ehk <em>mittefunktsionaalsete n\u00f5uete <\/em>katsetamises. N\u00e4iteks on v\u00f5imalik testida, kas s\u00fcsteemi <em>kasutatavus<\/em> on lihtne ja loogiline v\u00f5i kas s\u00fcsteem toimib piisavalt efektiivselt v\u00f5i ootustele vastavalt, kui seda kasutavad korraga miljon kasutajat v\u00f5i kui s\u00fcsteemi kasutada erinevates internetibrauserites (nt <em>Google Chrome<\/em> v\u00f5i <em>Mozilla Firefox<\/em>).<\/p>\n<p>Sarnasel moel on v\u00f5imalik jaotada ka teiste toodete testimist. P\u00f6\u00f6rdudes hetkeks tagasi batuudi n\u00e4ite juurde, saame v\u00e4lja tuua \u00fche n\u00e4ite nii funktsionaalsest kui ka mittefunktsionaalsest testimisest batuudi katsetamise puhul:<\/p>\n<ul>\n<li>Batuudi p\u00f5rgatavus. Kas batuudil h\u00fcpates p\u00f5rkan k\u00f5rgemale \u00f5hku v\u00f5rreldes maas h\u00fcppamisega?\n<ul>\n<li>Selle puhul on tegemist\u00a0<em>funktsionaalse testimisega<\/em>, sest h\u00fcppamine ja k\u00f5rgemale p\u00f5rkamine on batuudi \u00fcks esmaseid funktsionaalsuseid ehk \u00fcks peamisi kasutaja tegevusi batuudiga.<\/li>\n<\/ul>\n<\/li>\n<li>Batuudi vastupidavus, kui sellel on korraga 25 last. Kas batuut peab vastu, kui sellel h\u00fcppab korraga 25 last?\n<ul>\n<li>Siinkohal on tegemist\u00a0<em>mittefunktsionaalse testimisega<\/em>, sest testitakse batuudi omadust (ehk vastupidavust), mitte p\u00f5rkamise funktsionaalsust ennast.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div id=\"h5p-5\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-5\" class=\"h5p-iframe\" data-content-id=\"5\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Testimise liigid\"><\/iframe><\/div>\n<\/div>\n<p>N\u00fc\u00fcd aga proovige lahendada sarnane \u00fclesanne <strong>tarkvara<\/strong> testimise valdkonnas.<\/p>\n<div id=\"h5p-6\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-6\" class=\"h5p-iframe\" data-content-id=\"6\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"Tarkvara testimise liigitamine\"><\/iframe><\/div>\n<\/div>\n<p>R\u00fchmat\u00f6\u00f6 (<em>funktsionaalne testimine<\/em>):<\/p>\n<ol>\n<li>Valige r\u00fchmaga \u00fcks veebileht (n\u00e4iteks <a href=\"https:\/\/www.city24.ee\/\">City24<\/a> v\u00f5i m\u00f5ni teine sarnane veebileht, mis sisaldab palju vormiv\u00e4lju)<\/li>\n<li>Pange kirja, milliseid tegevusi kasutaja antud vormil teha saab ehk millised on antud veebilehe <em>funktsionaalsused<\/em>. N\u00e4iteks\u00a0<a href=\"https:\/\/www.city24.ee\/\">City24<\/a> puhul: sisselogimine, kinnisvara otsimine (sh alam-funktsionaalsused nagu aadressi valik, hinnavahemiku m\u00e4\u00e4ramine).<\/li>\n<li>Katsetage kirja pandud funktsionaalsuseid ja alam-funktsionaalsuseid ja laske kujutlusv\u00f5imel lennata. N\u00e4iteks proovige sisestada numbriv\u00e4ljadele t\u00e4hem\u00e4rke, tekstiv\u00e4ljadele erim\u00e4rke (nt \u20ac ja #)<\/li>\n<li>Pange enne iga katsetust kirja, millist funktsionaalsust katsetate ja mida andmev\u00e4ljadele sisestate.<\/li>\n<li>Pange kirja, millised tegevused \u00f5nnestusid ja millised mitte.<\/li>\n<li>Arutage \u2013 kas vormi funktsionaalsustel leidub vigu?<\/li>\n<\/ol>\n","protected":false},"author":26,"menu_order":4,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-54","chapter","type-chapter","status-publish","hentry"],"part":3,"_links":{"self":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/pressbooks\/v2\/chapters\/54","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":23,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/pressbooks\/v2\/chapters\/54\/revisions"}],"predecessor-version":[{"id":211,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/pressbooks\/v2\/chapters\/54\/revisions\/211"}],"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\/54\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/wp\/v2\/media?parent=54"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/pressbooks\/v2\/chapter-type?post=54"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/wp\/v2\/contributor?post=54"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/testimine\/wp-json\/wp\/v2\/license?post=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}