Nefunkcionālā testēšana ir programmatūras testēšana, ko veic, lai pārbaudītu programmatūras lietojumprogrammas nefunkcionālos aspektus.
Ir daudz dažādu nefunkcionālās testēšanas veidu, un dažus programmatūras testēšanas veidus vienlaikus var uzskatīt gan par funkcionālo, gan nefunkcionālo testēšanu.
Nefunkcionālā testēšana ir nepieciešama, jo tā novērtē būtiskus lietotāja kritērijus, piemēram, veiktspēju un lietojamību, un pārbauda, vai programmatūra darbojas, kā paredzēts, ārpus tās pamatfunkcijām.
Šajā rakstā mēs aplūkojam nefunkcionālās testēšanas definīciju un raksturlielumus, nefunkcionālās testēšanas veidus, pieejas nefunkcionālajai testēšanai un testēšanas rīkus, kas var palīdzēt optimizēt un uzlabot jūsu nefunkcionālās testēšanas procesus.
Kas ir nefunkcionālā testēšana?
Nefunkcionālā testēšana ir jebkura veida programmatūras testēšana, kurā tiek testēti programmatūras izveides nefunkcionālie aspekti.
Nefunkcionālās testēšanas piemēri ir testēšana, kas paredzēta, lai novērtētu jaudu, veiktspēju, lietojamību, atjaunošanu un pārnesamību.
Katra no šiem nefunkcionālajiem kritērijiem kvalitātes un statusa pārbaude ir tikpat svarīga kā programmatūras daļas funkciju pārbaude, taču šie parametri netiek pārbaudīti standarta funkcionālajā testēšanā.
Būtībā nefunkcionālā testēšana nozīmē testēt, “kā” programmatūras funkcijas darbojas, nevis testēt, “vai” tās darbojas.
1. Kad nepieciešama nefunkcionālā testēšana?
Nefunkcionālā testēšana tiek veikta programmatūras testēšanas sistēmas testēšanas posmā pēc tam, kad ir veikta vienības testēšana un integrācijas testēšana.
Sistēmas testēšanas laikā testētāji veiks gan funkcionālo, gan nefunkcionālo testēšanu, sākot ar funkcionālo testēšanu.
Kad testētāji ir pārliecinājušies, ka programmatūra darbojas, kā paredzēts, viņi veic nefunkcionālo testēšanu, lai novērtētu, vai tā atbilst arī nefunkcionālajiem parametriem.
Pirms nefunkcionālās testēšanas parasti ir jāveic funkcionālā testēšana, jo nav iespējams pārbaudīt to funkciju uzticamību vai veiktspēju, kuras vispār nedarbojas. Nefunkcionālā testēšana ir viens no pēdējiem programmatūras testēšanas posmiem pirms lietotāja pieņemšanas testēšanas un galīgās produkta izlaišanas.
2. Kad jums nav nepieciešama nefunkcionālā testēšana
Vienmēr ir svarīgi pārbaudīt programmatūras nefunkcionālos aspektus, ja vien tie jau nav pārbaudīti un atzīti par atbilstošiem.
Pat ja programmatūras nefunkcionālo testēšanu esat veicis jau iepriekš, nefunkcionālos parametrus var būt nepieciešams pārbaudīt vēlreiz, piemēram, ja programmatūrai ir pievienotas jaunas funkcijas vai kodā ir veiktas izmaiņas, kas var ietekmēt veiktspēju un uzticamību.
Nefunkcionālās testēšanas mērķi
Nefunkcionālās testēšanas mērķis ir pārbaudīt, vai produkts atbilst lietotāju vēlmēm, un optimizēt produktu pirms izlaišanas.
Tas var arī palīdzēt izstrādātājiem un testētājiem labāk izprast programmatūru un izmantot šīs zināšanas turpmākajā optimizācijā.
1. Kvalitātes kontrole
Nefunkcionālās testēšanas mērķis ir pārbaudīt faktorus, kas ietekmē produkta lietojamību, uzticamību, uzturējamību, pārnesamību un efektivitāti.
Šo elementu testēšana nodrošina, ka tirgū laistais produkts ir pietiekami kvalitatīvs un atbilst lietotāju vēlmēm attiecībā uz veiktspēju, ielādes laiku un lietotāju kapacitāti.
2. Risku pārvaldība
Nefunkcionālā testēšana arī samazina risku un izmaksas, kas saistītas ar produkta laišanu tirgū, palielinot izredzes, ka komanda izdos apmierinošu produktu.
Pārbaudot programmatūras izveides nefunkcionālos parametrus, ir iespējams samazināt produkta izlaišanas izmaksas, jo samazinās nepieciešamība pēc turpmākas izstrādes un programmatūras izmaiņām.
3. Optimizācija
Nefunkcionālā testēšana palīdz testētājiem un izstrādātājiem optimizēt programmatūras izveidi un optimizēt veiktspēju instalēšanas, iestatīšanas, izpildes un lietošanas laikā.
Varat izmantot arī nefunkcionālo testēšanu, lai optimizētu programmatūras izveides pārvaldību un uzraudzību.
4. Datu vākšana
Nefunkcionālā testēšana ļauj testētājiem apkopot un sagatavot mērījumus un rādītājus, kurus testēšanas komandas var izmantot iekšējai izpētei un attīstībai.
Varat izmantot datus, kas iegūti no nefunkcionālās testēšanas, lai saprastu, kā jūsu produkts darbojas un kā to var efektīvāk optimizēt lietotājiem.
5. Zināšanu uzlabošana
Nefunkcionālā testēšana uzlabo un pilnveido testēšanas komandas zināšanas par produkta uzvedību un tajā izmantotajām tehnoloģijām.
Tas ne tikai palīdz testēšanas komandām labāk izprast programmatūru, ar kuru tās strādā, bet arī var sniegt noderīgas zināšanas, kas palīdzēs testētājiem labāk izprast nākamās versijas.
Kas ir iesaistīts nefunkcionālajā testēšanā?
Nefunkcionālo testēšanu parasti veic testētāji QA vidē, taču dažkārt izstrādātāji var veikt nefunkcionālo testēšanu izstrādes laikā.
Sistēmas testēšanu gandrīz vienmēr veic testētāji, un šajā testēšanas posmā notiek lielākā daļa nefunkcionālo testu.
Ja nefunkcionālie testi neizdodas, testētāji nosūta programmatūru atpakaļ izstrādātājiem, lai tie pirms atkārtotas testēšanas izlabotu veiktspējas kļūdas.
Nefunkcionālās testēšanas priekšrocības
Nefunkcionālā testēšana sniedz daudz priekšrocību, un nefunkcionālā testēšana ir būtisks sistēmas testēšanas posms.
Bez nefunkcionālās testēšanas testēšanas komandas nevarētu pārbaudīt, vai programmatūra patiešām atbilst klienta prasībām vai programmatūras izstrādes plānā noteiktajām prasībām.
1. Uzlabot programmatūras veiktspēju
Nefunkcionālā testēšana var palīdzēt testētājiem un izstrādātājiem uzlabot programmatūras lietojumprogrammu vispārējo veiktspēju. Nefunkcionālie testi identificē jomas, kurās programmatūras veiktspēja ir nepietiekama, piemēram, attiecībā uz ielādes ātrumu vai apstrādes jaudu, un mudina programmatūras komandas veikt izmaiņas, lai novērstu šos trūkumus.
Tas nodrošina, ka programmatūras komandas publisko programmatūru tikai tad, kad tā ir gatava un kad tās veiktspēja ir pietiekami laba.
2. Nodrošināt programmatūras drošību
Nefunkcionālā testēšana ietver drošības testēšanu, kas ir ļoti svarīga, lai nodrošinātu, ka programmatūra ir droša un aizsargāta pret ārējiem draudiem un uzbrukumiem.
Drošības testēšana ļauj testētājiem un izstrādātājiem pārbaudīt, vai programmatūra pienācīgi aizsargā konfidenciālus datus un vai tā ir pietiekami aizsargāta pret mūsdienu kiberuzbrukumiem.
3. Palielināt programmatūras lietošanas ērtumu
Nefunkcionālā testēšana ir labākais veids, kā padarīt programmatūru lietotājam draudzīgāku, jo īpaši veicot lietojamības testēšanu, kas novērtē, cik viegli lietotājiem ir iemācīties lietot un pārvaldīt programmatūru.
Lietotājam draudzīgums ir ļoti svarīgs, jo tas nosaka, cik apmierināti lietotāji ir ar jūsu programmatūru, un nodrošina, ka lietotāji spēj pilnībā izmantot visas jūsu programmatūras sniegtās priekšrocības.
4. Nodrošināt, lai programmatūra atbilstu lietotāju vajadzībām
Nodrošināt, lai programmatūra atbilstu lietotāju vajadzībām, ir viena no visu programmatūras izstrādes un testēšanas komandu galvenajām prioritātēm. Lietotāji ne tikai sagaida, ka programmatūra būs funkcionāla, bet arī sagaida, ka programmatūra labi darbosies, darbosies raiti un aizsargās konfidenciālus datus.
Nefunkcionālā testēšana ir viens no vienīgajiem veidiem, kā nodrošināt, ka programmatūra atbilst šīm prasībām.
Nefunkcionālās testēšanas problēmas
Nefunkcionālās testēšanas veikšanai ir daži trūkumi. Lai gan nefunkcionālā testēšana ir būtiska programmatūras testēšanas sistēmas testēšanas posmā, nefunkcionālās testēšanas process var radīt problēmas programmatūras komandām, kurām nav pietiekamu resursu un rīku.
1. Atkārtošana
Nefunkcionālā testēšana programmatūras testēšanā jāveic katru reizi, kad programmatūras izstrādātāji atjaunina programmatūru vai kad tiek mainīts kods. Tas nozīmē, ka nefunkcionālā testēšana var būt ļoti atkārtojoša, kas ne tikai aizņem laiku, bet arī nogurdina testētājus.
Arī nogurušie testētāji, kas veic ļoti atkārtojošos uzdevumus, biežāk novērš uzmanību un pieļauj kļūdas.
2. Izmaksas
Tā kā nefunkcionālā testēšana ir ļoti atkārtojama, tā var būt arī diezgan dārga, jo īpaši testēšanas komandām, kas paļaujas uz manuālo nefunkcionālo testēšanu.
Programmatūras komandām ir jāparedz laiks un budžets biežai nefunkcionālai testēšanai, un programmatūras izstrādātājiem par šo papildu testēšanu būs jāmaksā papildus.
Ko mēs testējam, veicot nefunkcionālo testēšanu?
Nefunkcionālo testēšanu var izmantot, lai pārbaudītu daudzus dažādus nefunkcionālos parametrus, no kuriem katrs ietekmē sistēmas kvalitāti un lietojamību. Katrs no šiem parametriem tiek pārbaudīts sistēmas testēšanas laikā atbilstoši testēšanas plānā noteiktajiem kritērijiem.
1. Drošība
Drošības testēšana ir nefunkcionālās testēšanas veids, ar kuru mēra, cik labi sistēma ir aizsargāta pret ārējiem draudiem un uzbrukumiem. Tie ietver gan apzinātus drošības pārkāpumus, gan datu noplūdes un citus bieži sastopamus pārkāpumus.
Drošības testēšana ir svarīgs posms nefunkcionālajā testēšanā, jo tā sniedz galalietotājiem un klientiem pārliecību, ka viņu dati ir droši.
2. Uzticamība
Testētāji izmanto nefunkcionālo testēšanu, lai novērtētu programmatūras uzticamību un pārliecinātos, ka programmatūra var nepārtraukti un bez kļūmēm veikt savas noteiktās funkcijas.
Funkcionālā testēšana nodrošina, ka programmatūra veic savas galvenās funkcijas, bet tikai nefunkcionālā testēšana faktiski pārbauda šo rezultātu uzticamību un atkārtojamību.
3. Izdzīvošanas spēja
Izdzīvošanas spēja apraksta, kā programmatūras sistēma reaģē uz darbības traucējumiem, un izdzīvošanas testēšana nodrošina, ka kļūdu un traucējumu gadījumā sistēma spēj atjaunoties.
Izturības testēšanā var pārbaudīt, vai programmatūra spēj saglabāt datus, lai samazinātu datu zudumu, piemēram, pēkšņas atteices gadījumā.
4. Pieejamība
Programmatūras pieejamība attiecas uz to, cik lielā mērā lietotājs var paļauties uz sistēmu tās darbības laikā. To sauc arī par stabilitāti, un to pārbauda ar stabilitātes testēšanu.
Stabilitātes pārbaude ir līdzīga uzticamības pārbaudei, jo ar to tiek pārbaudīts, vai sistēma var pastāvīgi darboties atbilstoši gaidītajiem standartiem.
5. Izmantojamība
Lietderības testēšana ir vēl viens svarīgs nefunkcionālās testēšanas veids programmatūras testēšanā. Šis testēšanas veids ļauj novērtēt, cik labi lietotājs spēj apgūt, pārvaldīt un izmantot programmatūras sistēmu, sekojot ekrānā sniegtajiem norādījumiem un citām pamatnorādēm.
Lietojamības testēšana ir svarīga, jo, ja programmatūra nav ļoti ērti lietojama, vairums lietotāju to vienkārši pametīs vai izvēlēsies izmantot ko citu.
6. Mērogojamība
Mērogojamības testēšana pārbauda, cik lielā mērā programmatūras lietojumprogramma var paplašināt savu apstrādes jaudu, lai apmierinātu pieaugošo pieprasījumu.
Piemēram, ja programmatūra ir paredzēta vairākiem lietotājiem vienā tīklā vienlaikus, kā tā darbojas, ja vienlaicīgi pieslēdzas desmit lietotāji? Vai lielāks lietotāju skaits būtiski ietekmē veiktspēju vai ielādes laiku?
7. Savietojamība
Savietojamības testēšana ir nefunkcionālās testēšanas veids, kas pārbauda, cik labi programmatūras sistēma mijiedarbojas ar citām programmatūras sistēmām.
Tas ir īpaši svarīgi, ja programmatūra ir izstrādāta kā daļa no produktu komplekta, kas ir savstarpēji integrējami.
8. Efektivitāte
Programmatūras testēšanas efektivitāte attiecas uz to, cik lielā mērā programmatūras sistēma var tikt galā ar jaudu, daudzumu un reakcijas laiku.
Piemēram, testētāji var novērtēt, cik daudz lietotāju var vienlaicīgi pieteikties sistēmā, cik ilgs laiks nepieciešams, lai iegūtu datus no datubāzes, vai cik ātri programmatūra var veikt pamata uzdevumus.
9. Elastība
Elastība ir pakāpe, kādā programmatūras sistēma var darboties ar dažāda veida aparatūru un perifērijas ierīcēm.
Piemēram, cik daudz RAM ir nepieciešams programmatūrai vai vai tai ir nepieciešams konkrēts CPU apjoms. Jo zemākas ir prasības programmatūras lietojumam, jo elastīgāka ir programmatūra.
10. Pārnesamība
Pārnesamības testēšanu izmanto, lai pārbaudītu, cik elastīgi programmatūru var pārvietot no tās pašreizējās aparatūras vai programmatūras vides un cik viegli to izdarīt.
Pārnesamība ir svarīga, jo tā ietekmē to, cik viegli galalietotāji var pārvaldīt programmatūru un pārvietot to starp dažādām sistēmām.
11. Atkārtoti izmantojamība
Atkārtoti izmantojamības testēšana ir nefunkcionālās testēšanas veids, kas pārbauda, vai programmatūras sistēmas daļas var pārveidot atkārtotai izmantošanai citā lietojumprogrammā.
Lai gan atkalizmantojamības testēšana parasti neietekmē klientus un galalietotājus, tā labi atspoguļo to, cik efektīvi izstrādātāji veido komponentus, kurus var atkārtoti izmantot nākotnē.
Nefunkcionālo testu raksturojums
Izpratne par to, kas ir nefunkcionālie testi, ietver izpratni par nefunkcionālo testu īpašībām. Šīs īpašības definē nefunkcionālo testēšanu programmatūras testēšanā.
1. Izmērāms
Nefunkcionālā testēšana vienmēr ir kvantitatīva un izmērāma, kas nozīmē, ka testētāji neizmanto subjektīvas frāzes, piemēram, “jauki” vai “labi”, bet gan izmanto skaitļus un faktus, lai aprakstītu nefunkcionālās testēšanas rezultātus.
Piemēram, tā vietā, lai ielādes laiku raksturotu kā “ātru” vai “lēnu”, nefunkcionālās testēšanas rezultātā būtu jāsniedz konkrēti skaitļi, kas parāda, cik reizes tas noticis.
2. Īpašs
Veicot nefunkcionālo testēšanu, testu mērķim jābūt saistītam ar programmatūras projekta specifikācijām.
Piemēram, ja programmatūras projekta plānā ir norādīts lietotāju skaits, kuriem jābūt iespējai pieteikties vienlaicīgi, nefunkcionālās testēšanas laikā tam jāpiešķir prioritāte.
3. Nezināms
Lai gan nefunkcionālo testēšanu var īpaši izstrādāt, lai noteiktu projekta plānos noteiktos atribūtus, daudzos gadījumos šie atribūti nav iepriekš noteikti.
Šajā gadījumā testētājiem vienkārši jāveic nefunkcionālā testēšana, lai novērtētu programmatūru, pamatojoties uz katru parametru, un vēlāk salīdzinātu to ar gaidīto.
Nefunkcionālo testu dzīves cikls
Tā kā nefunkcionālā testēšana neattiecas uz konkrētu posmu programmatūras testēšanas dzīves ciklā, bet vienkārši uz testēšanas veidu, kas parasti notiek programmatūras testēšanas sistēmas testēšanas posmā, nefunkcionālās testēšanas dzīves cikls dažādos projektos var ievērojami atšķirties.
Kopumā tā darbojas līdzīgi kā citi programmatūras testēšanas veidi, proti, sākas ar projekta prasību analīzi un beidzas ar testu izpildi un cikla izpildi.
1. Programmatūras prasību analīze
Nefunkcionālās testēšanas dzīves cikla pirmais posms ir programmatūras prasību analīze. Programmatūras komandas, veidojot un testējot lietojumprogrammas, strādā saskaņā ar konkrētiem kritērijiem, un šie kritēriji nosaka, kāda veida testi ir jāveic.
2. Testu plānošana
Nākamais dzīves cikla posms ir testu plānošana. Testēšanas plānošanas posmā QA vadītājs sastādīs detalizētu testēšanas plānu, kurā būs detalizēti aprakstīts, kas tiks testēts, kas veiks testēšanu un kādas testēšanas pieejas, metodes un rīki tiks izmantoti.
Testēšanas plānā jāiekļauj visa nepieciešamā informācija, kas testētājiem nepieciešama, lai izveidotu un izpildītu testēšanas gadījumus.
3. Testēšanas gadījumu izveide
Testēšanas gadījumu izveide ir nākamais nefunkcionālās testēšanas posms. Šajā posmā tiek izstrādāti nefunkcionālie testa gadījumi, kurus testētāji vēlāk izpildīs, lai pārbaudītu sistēmas nefunkcionālās prasības.
Testēšanas gadījumi apraksta, kas tiks testēts, kā tas tiks testēts un kāds ir gaidāmais testa rezultāts.
4. Testēšanas vides iestatīšana
Nākamais posms nefunkcionālās testēšanas dzīves ciklā ir testēšanas vides izveide pirms testēšanas uzsākšanas.
Testēšanas vide ir vieta, kur notiek testēšana, un tajā ir pieejami resursi un rīki, kurus izmantosiet nefunkcionālo testu veikšanai.
Testēšanas komanda sagatavo testa vidi pirms testa izpildes.
5. Testa izpilde
Testa izpilde ir nākamais nefunkcionālās testēšanas dzīves cikla posms. Tā ietver iepriekš izveidoto testu gadījumu izpildi, lai pārbaudītu dažādus programmatūras lietojumprogrammu aspektus, tostarp drošību, ielādes laiku, jaudu un pārnesamību.
Testēšanas komanda izpilda katru gadījumu atsevišķi un pārbauda katra testa rezultātu, salīdzinot to ar gaidīto rezultātu.
6. Cikla atkārtošana
Nefunkcionālās testēšanas dzīves cikla pēdējais posms ir cikla izpilde un atkārtošana. Pēc visu testu gadījumu izpildes testētāji pārbauda, kuri testi ir izturējuši un kuri neizturējuši.
Neveiksmīgi testi parasti norāda uz defektu, kas jānovērš izstrādātājiem. Kad izstrādātāji ir labojuši vai rediģējuši kodu, programmatūras testēšanas cikls atkārtojas, līdz netiek atklāti defekti.
Dažu neskaidrību noskaidrošana:
Nefunkcionālā testēšana pret funkcionālo testēšanu
Funkcionālā testēšana un nefunkcionālā testēšana ir divi dažādi, bet vienlīdz svarīgi programmatūras testēšanas veidi, kurus kopā izmanto, lai novērtētu, vai programmatūras lietojumprogramma atbilst lietotāju prasībām, kas noteiktas projekta aprakstā.
Lai gan abi ir nepieciešami testēšanas veidi, kas ļauj programmatūras komandām identificēt defektus programmatūras izveidē, funkcionālā un nefunkcionālā testēšana ir pilnīgi atšķirīgas.
1. Kāda ir atšķirība starp funkcionālo un nefunkcionālo testēšanu?
Atšķirība starp funkcionālo un nefunkcionālo testēšanu ir tajā, ko tās testē. Funkcionālā testēšana testē lietojumprogrammas funkcijas un pārbauda, vai tās darbojas, kā paredzēts. Nefunkcionālā testēšana pārbauda citus lietojumprogrammas aspektus, kas ietekmē lietotāja apmierinātību un lietojumprogrammas kvalitāti.
Funkcionālā un nefunkcionālā testēšana notiek dažādās programmatūras testēšanas fāzēs, taču abi testēšanas veidi parasti tiek veikti sistēmas testēšanas fāzē.
Gan funkcionālā, gan nefunkcionālā testēšana var palīdzēt mums saprast, cik labi darbojas lietojumprogramma un vai tā pienācīgi veic savu darbu.
Piemēram, ja testējat mobilo lietotni, kas ļauj lietotājiem saglabāt darāmo darbu sarakstus un iepirkumu sarakstus, funkcionālajā testēšanā var pārbaudīt tādas funkcijas kā jauna saraksta izveide, saraksta saglabāšana un esošo sarakstu rediģēšana.
Ar nefunkcionālo testēšanu var novērtēt, cik labi lietojumprogramma darbojas dažādās mobilajās ierīcēs, cik ātri ielādējas saraksti un cik lielā mērā lietojumprogrammas veiktspēju ietekmē tas, ka fonā darbojas citas lietojumprogrammas.
2. Secinājums: nefunkcionālā testēšana pret funkcionālo testēšanu
Gan funkcionālā, gan nefunkcionālā testēšana ir svarīgi programmatūras testēšanas veidi, kas var palīdzēt testētājiem un kvalitātes nodrošināšanas komandām novērtēt, vai lietojumprogramma atbilst tās pašreizējām prasībām.
Funkcionālā testēšana pārbauda programmatūras funkcijas, bet nefunkcionālā testēšana pārbauda citus aspektus, kas var ietekmēt veiktspēju, efektivitāti un drošību.
Vienības testēšana, integrācijas testēšana un API testēšana ir funkcionālās testēšanas veidi. Katrā no šiem programmatūras testēšanas posmiem testētāji novērtē, cik labi funkcijas un līdzekļi darbojas atsevišķi vai kopā, un identificē kļūdas un defektus, kas traucē funkcijām darboties, kā paredzēts.
Drošības testēšana, lietojamības testēšana, pārnesamības testēšana un slodzes testēšana ir nefunkcionālās testēšanas veidi, kas ļauj testētājiem novērtēt, cik labi lietotne pilda savas funkcijas un atbalsta lietotāju vajadzības.
Nefunkcionālās testēšanas veidi
Ir daudz dažādu nefunkcionālās testēšanas veidu, no kuriem katrs pārbauda atšķirīgu programmatūras lietojumprogrammas veiktspējas vai efektivitātes nefunkcionālo aspektu.
Katrs no šiem testu veidiem pārbauda dažādus parametrus, un daži testi var pārbaudīt vienus un tos pašus parametrus dažādos veidos.
1. Veiktspējas testi
Veiktspējas testi ir nefunkcionālu testu veids, kas pārbauda, cik labi darbojas dažādi programmatūras komponenti. Veiktspējas testi var pārbaudīt nevis to funkcionalitāti, kas ir funkcionālās testēšanas uzdevums, bet gan reakcijas laiku, vājās vietas un atteices punktus. Veiktspējas testēšana palīdz testētājiem nodrošināt, ka programmatūra ir kvalitatīva, ātra, stabila un uzticama.
2. Stresa testi
Stresa testēšana ir nefunkcionālās testēšanas veids, kas pārbauda, cik labi programmatūra darbojas, kad tā tiek pakļauta pārmērīgi lielam stresam. Tas varētu nozīmēt programmatūras veiktspējas testēšanu, ja kāds mēģina izmantot daudz dažādu funkciju vienlaicīgi vai vienlaicīgi izmanto daudzas citas lietojumprogrammas.
Stresa testēšanas mērķis ir noteikt robežu, pie kuras programmatūra pārstāj darboties pareizi, un to, kas notiek, kad sistēma tiek pakļauta stresam. Tas ļauj testētājiem saprast, vai sistēma spēj pati atjaunoties un vai tā informē lietotājus ar atbilstošiem kļūdas ziņojumiem.
3. Slodzes testi
Slodzes testēšana ir testēšanas veids, ar kuru novērtē, cik labi programmatūra darbojas gan parastos apstākļos, gan arī tad, kad tiek radītas lielākas slodzes. To izmanto, lai noteiktu, cik daudz programmatūra var apstrādāt vienlaicīgi, negatīvi neietekmējot veiktspēju.
Slodzes testēšanu var izmantot, lai pārbaudītu, kā lietojumprogrammas darbojas, ja tās vienlaicīgi izmanto daudz lietotāju vai ja lietotāji vienlaicīgi mēģina lejupielādēt daudz datu.
Slodzes testēšana ir svarīga, ja vēlaties pārbaudīt, vai jūsu programmatūra ir mērogojama.
4. Drošības testi
Veicot drošības testus, tiek novērtētas programmatūras lietojumprogrammas un meklētas programmatūras drošības nepilnības. Tie ietver iespējamos drošības riskus, kas var izraisīt datu zudumu vai pārkāpumus, kuru rezultātā var tikt atklāti konfidenciāli dati.
Drošības testēšana ir svarīga, jo tā nodrošina, ka produkts ir pienācīgi aizsargāts pret uzlaušanu, datu aizsardzības pārkāpumiem un citiem ārējiem drošības apdraudējumiem.
Daži drošības testu piemēri, ko testētāji var veikt, ir drošības audits, ētiska hakeru darbība, iekļūšanas testēšana, drošības skenēšana un stāvokļa novērtēšana.
5. Jaunināšanas un uzstādīšanas testi
Atjaunināšanas un instalēšanas testēšana ir nefunkcionālas programmatūras testēšanas veids, kas pārbauda, cik labi programmatūra darbojas dažādās iekārtās.
Šāda veida testēšanas mērķis ir pārliecināties, ka jaunie lietotāji var viegli instalēt programmatūru savos datoros un ka esošie lietotāji var to atjaunināt, kad tiek izdoti jauni atjauninājumi.
Jaunināšanas un instalēšanas testēšana ir svarīga, jo galalietotājiem ir jāspēj viegli instalēt jūsu produktu, ja viņi strādā ar datoru, kas ir saderīgs ar to.
6. Tilpuma testi
Apjoma testēšana ir testēšanas veids, kas tiek veikts, lai pārbaudītu, kas notiek, kad datubāzei vienlaicīgi tiek pievienoti lieli datu apjomi. Tas nosaka, vai lietojumprogramma spēj apstrādāt lielus datu apjomus un kas notiek ar sistēmu, ja tā to nespēj.
Apjoma testēšanu sauc arī par plūdu testēšanu, un to var izmantot, lai novērtētu datu zudumus un kļūdu ziņojumus, kas rodas, pievienojot sistēmai ievērojamu datu apjomu.
Apjoma testēšana ir vienīgais veids, kā nodrošināt, ka programmatūra spēj apstrādāt datu apjomus, ko no tās sagaida lietotāji.
7. Atgūšanas testi
Atjaunošanas testos programmatūras sistēma tiek piespiesta atteikties, lai pārbaudītu, cik labi sistēma atgūst sevi pēc avārijas.
Atjaunošanas testēšana var palīdzēt testētājiem saprast, kā programmatūra atjauno datus un novērš zudumus, ja aparatūra lietošanas laikā tiek atvienota no tīkla, ja programmatūra tiek atslēgta no tīkla datu pārsūtīšanas laikā vai ja sistēma tiek negaidīti restartēta.
Šāda veida testēšana ir svarīga, jo sistēmas bez atbilstošiem atjaunošanas protokoliem var ciest nopietnus datu zudumus, ja notiek šādi negadījumi.
Kas jums nepieciešams, lai sāktu nefunkcionālo testēšanu
Pirms sākat nefunkcionālo testēšanu, jums jāpārliecinās, ka esat sagatavojis testēšanas vidi un apkopojis nepieciešamos rīkus un datus.
1. Testēšanas plāns
Pirms sākat nefunkcionālo testēšanu, pārliecinieties, ka jums ir pabeigts testēšanas plāns, ko ir parakstījuši attiecīgie darbinieki.
Testēšanas plānā jāietver visa attiecīgā informācija par to, ko un kā plānojat testēt. Tajā būtu jāizskaidro, kad izmantosiet manuālo testēšanu un kad – automātisko testēšanu, kā arī jānorāda testēšanas procesā iesaistīto personu lomas un pienākumi.
2. Testēšanas gadījumi
Pirms varat veikt nefunkcionālos testus, ir jāizveido testēšanas gadījumi. Katrā testa gadījumā ir aprakstīta konkrēta testējamā lieta, paskaidrots, kā to testēsiet, un aprakstīts gaidāmais testa rezultāts.
Piemēram, ja veicat slodzes testēšanu, piemēram, testēšanas piemērs var būt programmatūras darbības pārbaude, ja desmit lietotāji vienlaicīgi izmanto vienu un to pašu moduli.
3. Funkcionālā verifikācija
Jūs nevarat veikt programmatūras komponentu nefunkcionālo testēšanu, ja tie nav funkcionāli.
Piemēram, ja vēlaties pārbaudīt, cik lietotāju programmatūra spēj nodrošināt vienlaicīgu pieteikšanos, vispirms ir svarīgi pārbaudīt, vai atsevišķi lietotāji patiešām var pieteikties programmatūrā.
Pirms sākat nefunkcionālo testēšanu, pārliecinieties, ka visi funkcionālie testi ir izturēti un programmatūra darbojas, kā paredzēts.
Tas parasti nozīmē, ka jau ir veiktas dūmu testēšana, funkcionalitātes testēšana, vienības testēšana, integrācija un funkcionālā sistēmas testēšana.
4. Testēšanas rīki
Pirms sākat nefunkcionālo testēšanu, apkopojiet visus testēšanas rīkus, ko vēlaties izmantot, lai veiktu testus.
Neatkarīgi no tā, vai izmantojat automatizācijas rīkus, lai daļēji automatizēt dažus testus vai dokumentācijas rīkiem, kas palīdz pārvaldīt un uzglabāt testēšanas pārskatus vēlākai lietošanai, pārliecinieties, ka rīki, kurus vēlaties izmantot, ir pieejami un gatavi lietošanai un ka visi testēšanas komandas dalībnieki zina, kā pareizi lietot katru rīku.
5. Testēšanas vide
Pirms nefunkcionālās testēšanas uzsākšanas izveidojiet testēšanas vidi. Iespējams, jums jau ir piemērota testēšanas vide, jo īpaši, ja varat izmantot vienu un to pašu vidi nefunkcionālai sistēmas testēšanai un funkcionālai sistēmas testēšanai.
Ideāla testēšanas vide ļauj pārbaudīt katru nepieciešamo elementu pareizajās ierīcēs.
Piemēram, ja testējat skaļuma apstrādi viedtālruņu ierīcēs, labāk to testēt ar reālu viedtālruņa ierīci, nevis mēģināt emulēt mobilo vidi ar galddatoru.
Nefunkcionālās testēšanas process
Programmatūras izveides nefunkcionālo aspektu testēšana ir daudzpakāpju process, kas ietver testēšanas vides sagatavošanu, testēšanas gadījumu izveidi, testēšanas datu vākšanu un nefunkcionālo testu izpildi.
Testēšanas procesu ir iespējams sadalīt nelielos gabaliņos, lai to būtu vieglāk sekot iesācējiem nefunkcionālās testēšanas jomā.
1. Nefunkcionālās testēšanas gatavības pārbaudes
Pirms sākat nefunkcionālo testēšanu, ir svarīgi pārbaudīt, vai esat gatavs šim testēšanas posmam.
Tas var nozīmēt pēdējā testēšanas posma izejas kritēriju novērtēšanu, lai pārliecinātos, ka programmatūra to ir izturējusi, un pārliecināšanos, ka programmatūra ir izturējusi visus nepieciešamos funkcionālos testus, pirms tiek veikta nefunkcionālā testēšana.
Dažas komandas var izveidot nefunkcionālās testēšanas sākuma kritērijus, kas ietver visus nosacījumus, kuriem jābūt izpildītiem pirms nefunkcionālās testēšanas uzsākšanas.
2. Izveidot testēšanas plānu
Iespējams, šo soli jau esat veicis iepriekš, ja veicat nefunkcionālo testēšanu kā daļu no sistēmas testēšanas un sekojat sistēmas testēšanas plānam. Testēšanas plānā ir izklāstīti visi veicamie testi un to veikšanas veids.
Bez skaidra testu plāna ir viegli pazaudēt no redzesloka veicamo testu apjomu un mērķus.
3. Izveidot testa gadījumus
Nākamais nefunkcionālās testēšanas posms ir testēšanas gadījumu izveide, lai pārbaudītu katru programmatūras nefunkcionālo parametru.
Katram testa gadījumam ir jābūt testa gadījuma ID, testa gadījuma nosaukumam, aprakstam un sīkākai informācijai par gaidāmo testa iznākumu, kā arī visiem iepriekš noteiktajiem apstiprināšanas vai noraidīšanas kritērijiem. Tas palīdz testētājiem saprast, kā veikt katru testu un kādus rezultātus meklēt.
4. Testa datu vākšana
Pirms katra testa gadījuma izpildes ir jāsavāc testa dati, kas tiks izmantoti katram testa gadījumam.
Tas parasti nozīmē, ka ir jāapkopo kods un dati no dažādiem moduļiem un sastāvdaļām, kas veido testējamās funkcijas un jomas. Ja jūs maksimāli palielināt testu pārklājumu, jums ir jābūt daudz testēšanas datu, ar kuriem strādāt.
5. Testēšanas vides sagatavošana
Nākamais nefunkcionālās testēšanas posms ir testēšanas vides sagatavošana. Testēšanas vide ir testēšanas serveris, ko izmantosiet, lai veiktu dažāda veida programmatūras testēšanu.
Tas ļauj jums izveidot identiskus nosacījumus, kuros testēt programmatūru, un iestatīt programmatūru ar dažādām konfigurācijām konfigurācijas testēšanai, drošības testēšanai un citiem nefunkcionālās testēšanas veidiem.
6. Veikt nefunkcionālos testus
Kad testa vide ir gatava, ir pienācis laiks veikt nefunkcionālos testus. Varat nolemt testus izpildīt pēc to veida, piemēram, sākot ar veiktspējas testēšanu, pirms pāriet pie drošības testiem un cita veida nefunkcionāliem testiem.
Veicot katru testu, atzīmējiet rezultātus testēšanas ziņojumā. Ja automatizējat testēšanu, jūsu automatizācijas rīkam būs arī standartizēts veids, kā skaidri un nepārprotami ziņot par rezultātiem.
7. Ziņot par testu rezultātiem
Pēc katra testa gadījuma izpildes apkopojiet nefunkcionālo testu rezultātus vienā ziņojumā.
Šim ziņojumam jābūt skaidram par katra testa rezultātiem un nepārprotami jānorāda, vai katrs tests ir vai nav izturēts.
Ievērojiet standartizētu testa ziņojuma struktūru, lai pārliecinātos, ka ir iekļauta visa informācija, kas jums būs jānodod tālāk.
8. Defektu novēršana
Kad testēšanas rezultāti ir saņemti, nododiet programmatūru atpakaļ izstrādātājiem, ja testi nav bijuši veiksmīgi vai ja esat identificējis nefunkcionālas kļūdas, kas jānovērš.
Piemēram, ja programmatūra neapstrādā vienlaicīgi piemērotu lietotāju skaitu vai ja veiktspēja pārāk palēninās, ja vienlaikus darbojas vairākas programmas, šīs problēmas, visticamāk, būs jānovērš kodā, lai nodrošinātu, ka lietotāji ir apmierināti ar produktu.
9. Testēšanas cikla atkārtošana
Kad izstrādātāji ir novērsuši visus sākotnējā nefunkcionālās testēšanas posmā konstatētos defektus, testēšanas ciklu var sākt no jauna.
Izstrādātāji pārbaudīs veiktās izmaiņas un nodos jauno versiju atpakaļ QA testētājiem, kuri pēc tam veiks pilnu testēšanu, sākot ar “dūmu” testēšanu, vienības testēšanu, integrācijas testēšanu un beidzot ar sistēmas testēšanu.
Testēšanas cikls tiek atkārtots, līdz nevienā punktā nav nevienas kļūdas vai defekta, un pēc tam var sākt testēšanas pēdējo posmu – lietotāja pieņemšanas testēšanu.
Testēšanas gadījumi nefunkcionālai testēšanai
Testēšanas gadījumi ir svarīgs programmatūras testēšanas aspekts, un, veicot gan funkcionālo, gan nefunkcionālo testēšanu, jūs izmantosiet testēšanas gadījumus, lai noteiktu, ko un kā testēsiet.
Katru testa gadījumu var uzskatīt par mini testu, un katram testa gadījumam ir definēti savi iznākumi un rezultāti.
1. Kas ir testa gadījumi nefunkcionālai testēšanai?
Testa gadījums ir darbību kopums, kas tiek veikts ar programmatūras izveidi, lai pārbaudītu, vai tā atbilst programmatūras plānā definētajiem nosacījumiem. Katrs testa gadījums efektīvi norāda testētājiem, kas un kā ir jāpārbauda, un ir paredzēts, lai pārbaudītu konkrētu programmatūras lietojumprogrammas funkciju vai nefunkcionālu iezīmi.
Nefunkcionālie testēšanas gadījumi var ietvert testēšanu, kas notiek, kad kāds mēģina piekļūt drošiem datiem sistēmā, vai testēšanu, cik ātri programmatūra ielādējas, to palaižot.
2. Kā izstrādāt nefunkcionālos testēšanas gadījumus?
Veidojot testēšanas gadījumus nefunkcionālai testēšanai, ir svarīgi ievērot standarta testēšanas gadījumu praksi, vienlaikus paturot prātā nefunkcionālo testu mērķus.
Veiciet tālāk aprakstītās darbības, lai uzrakstītu testēšanas gadījumus nefunkcionālai testēšanai, kuros skaidri norādīts, kas jūsu testētājiem ir jādara, lai veiktu katru testu.
1. Nosakiet apgabalu, kuru vēlaties aptvert
Katram testa gadījumam apsveriet, kādu programmatūras jomu šis testa gadījums aptvers.
Piemēram, ja rakstāt testēšanas gadījumus instalēšanas un atjaunināšanas testēšanai, varat iekļaut testēšanas gadījumus, kuros novērtē, cik viegli ir instalēt lietojumprogrammu dažādās ierīcēs un cik ilgā laikā programmatūru var atjaunināt, izmantojot jaunu labojumu.
2. Izveidot unikālu testa gadījuma ID
Katram testa gadījumam ir jābūt unikālam testa gadījuma ID. Tas atvieglo testa gadījuma apraksta un rezultātu atrašanu vēlāk un novērš neskaidrības par to, uz kuru testa gadījumu jūs atsaucaties, ja diviem testa gadījumiem ir līdzīgi nosaukumi vai apraksti.
3. Nosauciet un aprakstiet katru testu
Lai gan testa gadījuma ID identificē testu, katram rakstītajam testa gadījumam ir jānorāda arī nosaukums un apraksts.
Tam vajadzētu būt vienkāršam nosaukumam, kas īsumā raksturo testējamo darbību, savukārt apraksts ir viens teikums, kas to nedaudz sīkāk paskaidro.
Aprakstam jābūt pietiekami skaidram, lai testētāji zinātu, kas un kā jātestē, kā arī jebkādus īpašus nosacījumus, kas jāizpilda testā.
4. Norādiet gaidāmo rezultātu
Katram testa gadījumam norādiet, kādam rezultātam būtu jāparādās, ja programmatūra darbojas, kā paredzēts.
Nefunkcionālos testos, piemēram, veiktspējas testēšanā un slodzes testēšanā, daudzos gadījumos tas var nozīmēt, ka programmatūra vienkārši turpina darboties normāli, nepalēninot, neaizkavē vai nesabojājas.
Citos gadījumos tas var nozīmēt, ka tiek parādīti konkrēti kļūdu ziņojumi, lai informētu lietotāju par problēmu un ieteiktu risinājumu.
5. Ieteikt testēšanas metodes
Katram testēšanas gadījumam ieteiksiet testēšanas paņēmienus un nefunkcionālās testēšanas rīkus, kas, jūsuprāt, testētājam būtu jāizmanto testēšanas laikā.
Nefunkcionālajā testēšanā testētāji var izmantot ļoti atšķirīgas pieejas dažādiem testēšanas veidiem.
Piemēram, slodzes testēšanai un stresa testēšanai var būt nepieciešama automatizācija, jo ir nepraktiski manuāli simulēt ļoti lielu datplūsmu, savukārt citus testēšanas veidus var būt vieglāk veikt bez īpašiem rīkiem vai tehnoloģijām.
6. Katra testa gadījuma salīdzinošā pārskatīšana
Pirms parakstat katru testa gadījumu, saņemiet, lai katru gadījumu pārskata kāds, ar kuru strādājat kopā. Tas var būt cits testētājs vai QA vadītājs.
Veicot testu gadījumu salīdzinošo pārskatīšanu, pārliecinieties, ka tie ir pietiekami skaidri, lai tos varētu izmantot trešās puses testētājs, un tajos nav neskaidrību vai kļūdu, kas varētu izraisīt nepareizu testēšanu.
3. Nefunkcionālo testu piemēri
Ja rakstāt testēšanas gadījumus nefunkcionālai testēšanai, tie varētu izskatīties līdzīgi tālāk minētajiem nefunkcionālās testēšanas piemēriem.
Mērogojamības testēšanas piemērs
Testa gadījuma ID: 6671
Testa gadījuma nosaukums: Vairāku lietotāju pieteikšanās tests
Apraksts: Izmantojot automatizācijas rīkus, varat imitēt vairāk nekā 20 lietotāju, kas vienlaicīgi piesakās programmatūrai.
Gaidāmie rezultāti: Programmatūrai jāstrādā kā parasti katram lietotājam, ļaujot katram lietotājam sekmīgi pieteikties mazāk nekā 5 sekunžu laikā.
Savietojamības testēšanas piemērs
Testa gadījuma ID: 5214
Testa gadījuma nosaukums: Pieteikuma ielādēšana pārlūkprogrammā Opera
Apraksts: Uzlādējiet lietojumprogrammu tīmekļa pārlūkprogrammā Opera.
Gaidāmie rezultāti: Programma tiek ielādēta kā parasti Opera tīmekļa pārlūkprogrammā ar standarta displeja izšķirtspēju un izkārtojumu.
Manuāli vai automatizēti nefunkcionālie testi?
Izvēloties starp dažādām nefunkcionālās testēšanas metodēm, jums būs jāizlemj, vai vēlaties veikt manuālus vai automatizētus nefunkcionālos testus.
Manuālos testus veic testētāji, un tas nozīmē, ka to veikšana parasti aizņem vairāk laika, taču tie sniedz arī izpētes testēšanas iespējas.
Automatizēti nefunkcionālie testi ir ātrāki un zināmā mērā uzticamāki, taču tie prasa arī vairāk resursu vai rīku. Automatizācija un hiperautomatizācija kļūst aizvien populārāka testēšanā, īpaši attiecībā uz nefunkcionālo testēšanu.
Manuālā nefunkcionālā testēšana: Priekšrocības, izaicinājumi un procesi.
Manuālo nefunkcionālo testēšanu veic tikai testētāji, kuri testē katru atsevišķo nefunkcionālo elementu neatkarīgi.
Veicot manuālus nefunkcionālus testus, testētājiem ir jāsavāc informācija par programmatūru, jāizveido atsevišķi testa gadījumi, kas atbilst testa plānam, un šie testa gadījumi jāizpilda manuāli.
Tas aizņem daudz laika, taču tas nozīmē arī to, ka QA testētājiem ir brīvība noteikt, kas un kā tiek testēts.
1. Dažas no manuālās testēšanas priekšrocībām ir šādas:
● Manuālā testēšana var būt lētāka nekā automatizētā testēšana, jo tai nav nepieciešamas īpašas tehnoloģijas vai tehniskās zināšanas.
● Manuālā testēšana ļauj testētājiem sniegt cilvēcisku ieskatu un subjektīvu pieeju tam, kā programmatūra darbojas un vai tā darbojas apmierinoši.
● Manuālo testēšanu var izmantot, lai veiktu sistēmas testēšanu scenārijos, kurus nav iespējams automatizēt.
● Manuālā testēšana ļauj testētājiem novērtēt sistēmas vizuālos aspektus, piemēram, grafisko saskarni un citus faktorus, kas var ietekmēt lietojamību.
● Manuālā testēšana sniedz testētājiem plašāku skatījumu uz sistēmu kopumā un to, kā dažādi moduļi un komponenti darbojas kopā.
Tomēr manuālai testēšanai ir arī trūkumi.
2. Dažas no manuālās testēšanas problēmām ir šādas:
● Dažus nefunkcionālās testēšanas veidus, tostarp slodzes testēšanu un veiktspējas testēšanu, nav praktiski veikt manuāli.
● Manuālā testēšana aizņem ievērojami vairāk laika nekā automatizētā nefunkcionālā testēšana.
● Manuāli testētāji var novērsties, zaudēt koncentrēšanos un kļūdīties, jo īpaši veicot ļoti atkārtojošus testēšanas uzdevumus.
Automatizēta nefunkcionālā testēšana: Priekšrocības, izaicinājumi un procesi: ieguvumi, izaicinājumi un procesi
Automatizētu nefunkcionālo testēšanu veic ar automatizētiem skriptiem un testēšanas rīkiem. Izmantojot automatizētas testēšanas metodes, testētāji var veikt testus fonā, kamēr tiek veikti citi uzdevumi, tiklīdz ir uzsākti automatizētie testi.
1. Daži no nefunkcionālo testu automatizēšanas ieguvumiem ir šādi:
1. Ietaupiet laiku un resursus, samazinot laika patēriņu gariem un laikietilpīgiem uzdevumiem.
2. Automatizācija ļauj palielināt testu pārklājumu, aptverot plašāku komponentu un funkciju klāstu.
3. Automatizētus testus ir vieglāk veikt bieži, jo to veikšanai nepieciešams mazāk laika.
4. Automatizēta testēšana ir ideāli piemērota tādiem laikietilpīgiem testēšanas uzdevumiem kā slodzes testēšana, apjoma testēšana un stresa testēšana, kurus ir ļoti grūti veikt manuāli.
5. Veicot automatizētu testēšanu, ir mazāka kļūdu rašanās iespēja.
Tomēr automatizētai testēšanai ir arī daži trūkumi, kas nozīmē, ka tā ne vienmēr ir pareizā pieeja visiem nefunkcionālās testēšanas veidiem.
2. Dažas no automatizētās nefunkcionālās testēšanas problēmām ir šādas:
1. Automatizēta testēšana ir dārgāka nekā manuāla testēšana.
2. Testu automatizācijas iestatīšana var prasīt laiku un tehniskos resursus.
3. Testu automatizācija nepieļauj izpētes testēšanu
4. Testu automatizēšana joprojām prasa laiku testu gadījumu izveidei.
Secinājums: Manuāli vai automatizēti
nefunkcionālā testēšana?
Vairumā programmatūras testēšanas veidu vislabākos rezultātus parasti nodrošina manuālās un automātiskās testēšanas apvienošana. Tas ļauj testēšanas komandām gūt labumu no automatizētās testēšanas efektivitātes, uzticamības un precizitātes, vienlaikus veicot arī izpētes testēšanu, kas ļauj testētājiem novērtēt programmatūru no subjektīvākas perspektīvas.
Nefunkcionālajā testēšanā lielākajai daļai testēšanas komandu ir praktiski nepieciešama gan manuāla, gan automatizēta testēšana.
Manuālo testēšanu vislabāk izmanto, lai veiktu ar funkcijām nesaistītus testēšanas uzdevumus, piemēram, lietojamības testēšanu, savukārt automātisko testēšanu visbiežāk izmanto, lai veiktu testus, kuru manuāla veikšana būtu pārāk laikietilpīga un sarežģīta, piemēram, stresa testēšanu vai apjoma testēšanu.
Nefunkcionālā testēšana ir viena no acīmredzamākajām jomām, kurā var izmantot testēšanas automatizācijas metodes, jo tā ir kvantitatīvs, izmērāms testēšanas veids, kurā nav nepieciešami subjektīvi rezultāti.
Tāpat kā citu veidu testēšanu, arī nefunkcionālo testēšanu parasti veic, izmantojot manuālās testēšanas un automatizētās testēšanas kombināciju.
Tomēr automatizēta testēšana ir praktiski nepieciešama daudziem nefunkcionālās testēšanas veidiem, un nefunkcionālās testēšanas parametri un metrikas nozīmē, ka automatizācija ir piemērotāka šāda veida testēšanai nekā funkcionālajai testēšanai.
Nefunkcionālās testēšanas labākā prakse
Ja nefunkcionālo testēšanu veicat pirmo reizi, testēšanas paraugprakses ievērošana var palīdzēt jums standartizēt testēšanas procesu un optimizēt testu efektivitāti.
Labākā prakse kalpo kā vadlīnijas programmatūras testēšanas komandām, kas vēlas uzlabot testēšanas procesus un saskaņot tos ar nozares standartiem.
1. Automatizācijas rīku izmantošana
Nefunkcionālajā testēšanā vairāk nekā citos testēšanas veidos ir svarīgi izmantot automatizācijas rīkus, lai automatizētu dažus testēšanas veidus, jo īpaši apjoma testēšanu, stresa testēšanu un slodzes testēšanu.
Šāda veida testēšanā parasti tiek pārbaudīts, cik labi programmatūra darbojas zem liela lietotāju, datu un datplūsmas spiediena, ko manuāli var būt ļoti grūti imitēt.
Šāda veida nefunkcionālo testu automatizēšana būs ne tikai efektīvāka, bet arī precīzāka un ļaus testētājiem viegli atkārtot lielākas slodzes un spriegumu.
2. Visas dokumentācijas salīdzinošā pārskatīšana
Palūdziet kolēģiem ne tikai pārskatīt jūsu izveidotos testēšanas gadījumus, bet arī lūdziet kolēģus no testēšanas komandas pārskatīt kļūdu ziņojumus, testēšanas pārskatus, testēšanas plānus un cita veida oficiālo dokumentāciju, kas izveidota testēšanas procesa laikā.
Tas samazina nelielu kļūdu risku, kas var izraisīt nopietnus kavējumus testēšanas un izstrādes procesā.
3. Definēt izmērāmas prasības
Kad pirms nefunkcionālās testēšanas uzsākšanas definējat programmatūras prasības, pārliecinieties, ka katra prasība ir objektīva un izmērāma.
Tādējādi testētājiem testēšanas laikā ir vieglāk pārliecināties, vai programmatūra atbilst šīm prasībām, un netiek pieļauta interpretācija.
Kas ir “ātrs” vai “efektīvs”? Izmantojiet skaitļus un kvantitatīvas vērtības, lai noteiktu, ko meklējat.
4. Rūpīgi apsveriet testēšanas rādītājus
Pirms izlemjat, kādus rādītājus izmantosiet, lai novērtētu programmatūras veiktspēju, apsveriet, ko vēlas programmatūras lietotāji un kādi rādītāji faktiski atbilst programmatūras plānam un prasībām.
Lielākajai daļai programmatūras jābūt ātrai un uzticamai, bet kādi vēl rādītāji varētu būt svarīgi jūsu lietotājiem? Vai ir kādi programmatūrai specifiski rādītāji, kas jums jāņem vērā testēšanas procesā?
Nefunkcionālā testa rezultātu veidi
Veicot nefunkcionālo testēšanu, no veiktajiem testiem saņemsiet dažāda veida rezultātus.
Tie parasti ir diezgan atšķirīgi no funkcionālo testu rezultātiem, kas bieži vien ir skaidrāki, jo funkcionālie testi vienkārši pārbauda, vai funkcija darbojas, kā tai vajadzētu vai nē.
Līdzīgi kā funkcionālās testēšanas gadījumā, testētājiem ir jānosaka skaidras prasības katram testa gadījumam, kas ļauj viegli noteikt, vai katrs tests ir vai nav izturēts.
1. Absolūtie skaitļi
Veicot veiktspējas testēšanu, stresa testēšanu un cita veida nefunkcionālo testēšanu, visbiežāk tiek pārbaudīti ātrumi un citi absolūtie skaitļi.
Veiktspējas testēšanā tiek pārbaudīts, cik ātri sistēma var veikt noteiktus uzdevumus, un tas tiek mērīts sekundēs vai milisekundēs.
Ja veicat slodzes testēšanu, varat novērtēt, cik daudz datu programmatūra var apstrādāt vienlaicīgi bez darbības traucējumiem vai kavēšanās.
2. Kļūdu ziņojumi
Nefunkcionālā testēšana pārbauda arī to, kā sistēma darbojas, ja rodas kļūdas, piemēram, drošības kļūdas, validācijas kļūdas un konfigurācijas kļūdas.
Ir svarīgi, lai sistēmas parādītu precīzus un skaidrus kļūdu ziņojumus, kad rodas kļūdas, lai lietotāji varētu veikt pasākumus problēmas novēršanai un turpināt lietot programmatūru.
Kļūdas ziņojumiem jāparādās arī drošības testēšanas laikā, kad sistēma neļauj lietotājiem pārkāpt programmatūrā iebūvētās drošības funkcijas.
3. Avārijas
Sadursme ir sistēmas kļūmes pazīme, un tā parasti norāda, ka sistēma nespēj darboties testēšanas līmenī, un var nozīmēt, ka tests nav izturēts.
Dažos gadījumos sistēma var sabrukt, tomēr joprojām var izturēt testēšanas gadījumu, ar kuru strādājat, piemēram, ja sistēma pirms sabrukšanas iztur vajadzīgo stresa vai datplūsmas apjomu.
Veicot nefunkcionālo testēšanu, testētājiem ir jārēķinās ar regulāriem sistēmas sabrukumiem, jo īpaši, ja stresa testēšanas un citu veiktspējas testu laikā sistēma tiek darbināta līdz maksimumam.
Nefunkcionālo testu piemēri
Nefunkcionālo testu piemēri ir līdzīgi iepriekš minētajiem piemēriem par nefunkcionālajiem testa gadījumiem.
Lai labāk saprastu, kas ir nefunkcionālā testēšana un ko tā pārbauda programmatūras lietojumprogrammā, varat apskatīt nefunkcionālo testu piemērus.
1. Veiktspējas testēšanas piemērs
Ja strādājat pie mobilās lietojumprogrammas, kas savieno lietotājus ar tiešsaistes datubāzi, ir svarīgi, lai liels lietotāju skaits varētu vienlaicīgi piekļūt un lejupielādēt datus no šīs datubāzes.
Tā ir arī būtiska mērogojamības testēšanas daļa, jo īpaši, ja nākotnē vēlaties palielināt lietotnes lietotāju skaitu.
Pēc tam testēsiet, kā sistēma reaģē, piemēram, ja 1000 lietotāju vienlaicīgi mēģina piekļūt vienai un tai pašai datubāzei, un noteiksiet prasības, cik ātri lietojumprogrammai jāaizlādējas šādā situācijā.
2. Savietojamības testēšana
Ja testējat jaunu dokumentu pārvaldības lietojumprogrammu, ir jāpārbauda, vai tā darbojas visās ierīcēs, kurām tā ir paredzēta.
Tas nozīmē, ka varat pārbaudīt, vai lietojumprogrammu var instalēt un ielādēt visās jaunākajās Windows, Mac un citās operētājsistēmu (piemēram, Linux) versijās, ar kurām vēlaties, lai programmatūra būtu saderīga.
3. Drošības testēšana
Veicot drošības testēšanu, testēsiet dažus no veidiem, kā cilvēki var mēģināt piekļūt konfidenciāliem datiem vai pārkāpt programmatūras drošības aizsardzības pasākumus, lai pārbaudītu, vai sistēma šajās situācijās darbojas tā, kā jūs to sagaidāt.
Piemēram, varat pieteikties kā lietotājs un mēģināt piekļūt failiem, kuriem jums nav drošības pielaides, lai pārliecinātos, ka sistēma neļauj jums piekļūt šiem failiem.
Atklāto kļūdu un kļūdu veidi
ar nefunkcionālo testēšanu
Nefunkcionālā testēšana var atklāt daudz kļūdu un defektu, kurus nav tik viegli atrast kā tos, kas identificēti funkcionālās testēšanas laikā. Tas ir tāpēc, ka nefunkcionālā testēšana bieži prasa, lai testētāji pārbauda dažādas konfigurācijas, iestatījumus un apstākļu kombinācijas, lai novērtētu, cik labi sistēma darbojas neskaitāmos dažādos iestatījumos.
1. Veiktspējas defekti
Veiktspējas defekti rodas tad, ja sistēma darbojas, bet tā nedarbojas tik ātri vai tik efektīvi, kā jūs to sagaidāt.
Piemēram, var gadīties, ka noteiktos apstākļos sistēma netiek ielādēta pietiekami ātri vai pat sabrūk, ja vienlaicīgi piesakās pārāk daudz lietotāju.
Veiktspējas defekti pilnībā neliedz cilvēkiem izmantot jūsu programmatūru, taču tie var padarīt jūsu programmatūru mazāk lietojamu un mazāk ticamu lietotāju prasību izpildi.
2. Drošības defekti
Drošības defekti ir tādi defekti, kas ietekmē programmatūras sistēmas un tajā glabāto datu drošību.
Drošības trūkumi var rasties, ja, piemēram, lietotāji var piekļūt konfidenciāliem datiem, kuriem tiem nevajadzētu piekļūt, vai ja atsevišķas lietojumprogrammas daļas nav pareizi aizsargātas ar paroli, vai ja neizdodas šifrēšana.
Tas var izraisīt drošības pārkāpumus, kas var nopietni ietekmēt programmatūras izdevēja reputāciju.
3. Funkcionālie defekti
Lai gan nefunkcionālā testēšana nav paredzēta programmatūras lietojumprogrammas funkciju testēšanai, dažos gadījumos nefunkcionālā testēšana var identificēt programmatūras funkcionālos defektus.
Piemēram, uzticamības testēšanas mērķis nav pārbaudīt, vai lietotne darbojas, bet gan pārbaudīt, vai lietotne darbojas droši atkārtotos mēģinājumos.
Tas var atklāt, ka dažas funkcijas nedarbojas pareizi, ja darbība tiek atkārtota, un tās var klasificēt kā funkcionālas kļūdas.
Bieži sastopamie nefunkcionālās testēšanas rādītāji
Nefunkcionālās testēšanas metrikas apraksta tās metrikas, ar kurām mēra sistēmas veiktspēju un efektivitāti.
Dažādi nefunkcionālās testēšanas veidi balstās uz dažādām metrikām, un atkarībā no projekta galīgajiem mērķiem varat izvēlēties izmantot dažādas metrikas.
1. Laiks
Laika rādītāji mēra, cik ilgs laiks nepieciešams, lai veiktu noteiktus uzdevumus, vai cik ilgi lietotājiem jāgaida, līdz ielādējas funkcijas.
Daži laika rādītāju piemēri ir transakciju vai lejupielādes skaits, ko lietojumprogramma var veikt noteiktā laikā, dažādu funkciju reakcijas laiks un laiks, kas nepieciešams, lai lietojumprogramma pabeigtu konkrētu operāciju.
Dažāda veida testos rezultāti tiek mērīti sekundēs vai kā operāciju skaits sekundē.
2. Telpa
Vēl viens svarīgs nefunkcionālās testēšanas rādītājs ir telpa. Telpas rādītāji var pārbaudīt, cik daudz vietas procesora procesoram ir nepieciešams sistēmai vai cik daudz vietas cietajā diskā aizņem programmatūra, kad tā ir pilnībā instalēta.
Daži vietas rādītāju piemēri ir kešatmiņa, galvenā atmiņa un palīgatmiņa.
Programmatūra, kuras netraucētai darbībai ir nepieciešams daudz vietas, var būt piemērota mazākam klientu skaitam.
3. Izmantojamība
Dažos nefunkcionālās testēšanas rādītājos tiek ņemta vērā sistēmas lietojamība, piemēram, cik ilgs laiks ir nepieciešams, lai apmācītu lietotājus pareizi lietot sistēmu, cik daudz izvēļu lietotājiem ir jāizvēlas, lai veiktu galvenās funkcijas, vai cik daudz peles klikšķu ir nepieciešams, lai veiktu noteiktus uzdevumus.
Ar nefunkcionāliem testiem var kvantitatīvi izmērīt katru no šiem rādītājiem, un zemāki skaitļi parasti nozīmē augstāku lietojamības līmeni.
4. Uzticamība
Vēl viens svarīgs nefunkcionālās testēšanas rādītājs ir uzticamība. Uzticamība atspoguļo varbūtību, ka sistēma atkal un atkal uzvedas vienādi vai darbojas tā, kā tai vajadzētu darboties ilgu laiku.
Daži metriku piemēri, ko izmanto, lai novērtētu uzticamību, ir vidējais laiks līdz atteicei, atteices biežums, pieejamība un dīkstāves varbūtība.
Katrs no šiem rādītājiem palīdz testētājiem pārbaudīt, vai sistēma var darboties ilgu laiku bez kļūmēm vai sabrukumiem.
5. Izturība
Robustitāte ir mērījums, kas parāda, cik labi sistēma tiek galā ar kļūmēm un cik labi sistēma spēj atjaunoties kļūmes gadījumā.
Daži robustuma mērīšanas metriku piemēri ir, piemēram, laiks, kas nepieciešams, lai sistēma atjaunotos pēc atteices, incidentu procentuālā daļa, kas noved pie katastrofālas atteices, un varbūtība, ka datu faili pēc sistēmas atteices tiek bojāti.
Tie ir svarīgi rādītāji, jo lietotāji sagaida, ka sistēmas dažkārt var sabojāties, nezaudējot visus datus vai nesabojājot failus.
6. Pārnesamība
Pārnesamības rādītāji mēra, cik viegli programmatūru var pārnest uz dažādām sistēmām vai pārvietot uz jaunu vietu tīklā.
Daži pārnesamības mērīšanas metriku piemēri ir nepārnesamā koda procentuālā daļa un to sistēmu skaits, kurās programmatūru var palaist.
Ideālā gadījumā programmatūra, ko var darbināt daudzās dažādās sistēmās, ir pārnēsājamāka un tādējādi ērtāk lietojama apstākļos, kad var būt nepieciešama bieža pārcelšana vai pārvietošana.
Nefunkcionālo testu veikšanas stratēģijas
Uzsākot nefunkcionālo testēšanu, ir svarīgi šim testēšanas posmam pievērsties, domājot par stratēģiju. QA vadītājiem un programmatūras testēšanas vadītājiem pirms nefunkcionālās testēšanas uzsākšanas jāapsver testēšanas riski, viņiem pieejamie resursi un testēšanas mērķis.
Stratēģijas izstrāde var palīdzēt optimizēt nefunkcionālos testus jau no paša sākuma.
1. Sadaliet lomas un pienākumus
Pirms uzsākat nefunkcionālo testēšanu, sadaliet testēšanas komandas galvenajiem dalībniekiem lomas un pienākumus. Tas atvieglo nefunkcionālās testēšanas darba slodzes pārvaldību un nodrošina, ka pieredzējuši testētāji ir atbildīgi par jūsu veikto testu kvalitātes un efektivitātes uzturēšanu.
Pārliecinieties, ka cilvēkiem, kurus izvēlaties šajos amatos, ir nepieciešamās zināšanas un pieredze, lai viņi varētu veikt uzdevumus, ko no viņiem sagaidāt, jo īpaši, ja šiem uzdevumiem ir nepieciešamas tehniskās prasmes.
2. Apkopot attiecīgos testēšanas rīkus
Apkopojiet visas tehnoloģijas un rīkus, ko vēlaties izmantot, lai veiktu nefunkcionālo testēšanu. Pārliecinieties, ka visi jūsu darbinieki zina, kā tos efektīvi izmantot, un vajadzības gadījumā organizējiet apmācības, lai novērstu prasmju trūkumus.
Pārliecinoties, ka visi zina, kurus testēšanas rīkus izmantot un kā tos izmantot, pirms tiek uzsākta nefunkcionālā testēšana, tiek samazināts risks, ka testēšana tiks pārtraukta vai testi tiks veikti atkārtoti nepietiekamu zināšanu dēļ.
3. Testēšanas prioritāšu noteikšana
Pirms sākat nefunkcionālo testēšanu, sastādiet sarakstu ar visiem sistēmas aspektiem, kas jums ir jātestē, un sakārtojiet tos prioritārā secībā atkarībā no steidzamības un svarīguma.
Varat noteikt prioritātes nefunkcionālai testēšanai, pamatojoties uz riska līmeni, kas saistīts ar katru testējamās sistēmas aspektu.
Piemēram, var veikt pamata drošības testēšanu, jo mūsdienu programmatūrā atbilstoša drošība tiek uzskatīta par ārkārtīgi svarīgu. Jo agrāk identificējat augsta riska defektus, jo mazāka var būt šo defektu iespējamā ietekme uz citiem sistēmas aspektiem.
7 labākie nefunkcionālās testēšanas rīki
Nefunkcionālās testēšanas rīki var racionalizēt testēšanas procesu, atvieglot un padarīt rentablāku testēšanas automatizāciju un palīdzēt QA vadītājiem pārvaldīt testēšanas un dokumentēšanas procesu.
Tiešsaistē ir pieejami daudzi bezmaksas nefunkcionālās testēšanas rīki, kā arī daži rīki, par kuru jaunināšanu var maksāt ikmēneša maksu.
1. ZAPTEST BEZMAKSAS izdevums
ZAPTEST ir populārs programmatūras testēšanas rīks, kas ļauj lietotājiem ātri un viegli veikt gan funkcionālus, gan nefunkcionālus programmatūras testus. Jūs varat izmantot ZAPTEST, lai automatizētu programmatūras testus un izmantotu RPA tehnoloģiju, lai imitētu dažādas funkcijas un apstākļus nefunkcionālajā testēšanā.
ZAPTEST BEZMAKSAS izdevums ir tikai samazināta uzņēmuma izdevuma versija, kas piedāvā daudzas no tām pašām funkcijām mazākā mērogā. Varat meklēt atbalstu ZAPTEST forumā un veikt veiktspējas testus ar neierobežotu skaitu virtuālo lietotāju.
2. Appium
Appium ir bezmaksas programmatūras testēšanas rīks, kas ir vispiemērotākais mobilo lietotņu testēšanai dažādās platformās, tostarp iOS un Android ierīcēs. Appium piedāvā lietotājiem lielu elastību, lai izstrādātu savas testēšanas struktūras un stratēģijas, vienlaikus izmantojot Appium piedāvātās automatizācijas iespējas.
3. Loadium
Loadium ir nefunkcionālās testēšanas rīks, ko vislabāk izmantot veiktspējas testēšanai un slodzes testēšanai – diviem nefunkcionālās testēšanas veidiem, kurus ir daudz vieglāk veikt, izmantojot automatizācijas rīkus.
Loadium ļauj lietotājiem veikt liela mēroga slodzes testus un piedāvā pielāgotus risinājumus, lai jūs varētu pielāgot testus savas programmatūras mērķiem.
Varat izmēģināt Loadium bez maksas vai samaksāt, lai lejupielādētu pilnu lietojumprogrammas versiju.
4. Obkio
Obkio ir programmatūras testēšanas rīks, kas palīdz QA vadītājiem un testu vadītājiem noteikt prioritātes un iedalīt problēmas kategorijās atkarībā no to nopietnības. Obkio var noteikt problēmas pirms to dara lietotāji, piedāvā lietotājiem viedos paziņojumus un var palīdzēt noteikt problēmas vietu.
Obkio nav paredzēts tikai nefunkcionālai testēšanai, tas ir ļoti noderīgs bezmaksas testēšanas rīks, ko var izmantot visos testēšanas dzīves cikla posmos.
5. SonarQube
SonarQube ir atvērtā koda drošības testēšanas rīks, kas var automātiski analizēt kodu, lai atklātu kļūdas un ievainojamības. SonarQube ir rakstīts Java valodā, un ar to var analizēt kodu vairāk nekā divdesmit dažādās programmēšanas valodās, turklāt sistēmas pārskatāmā saskarne ļauj viegli atklāt problēmas, kas nākotnē varētu radīt drošības ievainojamības.
6. Tsung
Tsung ir vēl viens nefunkcionālās testēšanas rīks, kas ir ideāli piemērots, ja vēlaties automatizēt slodzes un stresa testēšanu, bet jums neder Loadium bezmaksas versija.
Tsung ir atvērtā koda rīks, kas ļauj lietotājiem veikt liela apjoma slodzes testēšanu, izmantojot vairākus protokolus un serverus, tostarp HTTP un SOAP.
Tsung ir pilnīgi bezmaksas, un tas var palīdzēt testētājiem pārliecināties, ka viņu izstrādātā programmatūra nodrošina augstu veiktspējas līmeni dažādos sarežģītos apstākļos.
7. Sikuli
Sikuli ir vēl viena lietojumprogramma, kas izmanto robotizētu procesu automatizāciju, lai automatizētu testēšanas procesu. Ar šo lietojumprogrammu var automatizēt visu, kas redzams ekrānā. Varat izmantot Sikuli, lai testētu lietojumprogrammas, kas nav tīmekļa lietojumprogrammas, un ātri reproducētu kļūdas.
Nefunkcionālās testēšanas kontrolsaraksts, padomi un triki
Pirms uzsākat nefunkcionālo testēšanu, pārbaudiet, vai jums ir viss nepieciešamais, lai sagatavotā vidē veiktu rūpīgus nefunkcionālos testus.
Pirms nefunkcionālās testēšanas uzsākšanas sekojiet tālāk sniegtajam kontrolsarakstam, lai uzzinātu padomus un ieteikumus.
1. Darbs pēc grafika
Neatkarīgi no tā, vai to iekļaujat testēšanas plānā vai izveidojat tam atsevišķu dokumentu, strukturējiet programmatūras testus, izmantojot testēšanas grafiku.
Ja atklājat vairāk kļūdu un defektu, nekā gaidījāt, dažkārt var gadīties novirzīties no grafika, taču grafiks, ar ko sākt, var palīdzēt vadīt testētājus un motivēt viņus strādāt efektīvi, jo īpaši veicot laikietilpīgus manuālos testus.
2. Identificējiet savu testēšanas komandu
Pienākumu deleģēšana un oficiālu lomu un nosaukumu piešķiršana testēšanas komandas locekļiem var palīdzēt nodrošināt, ka testēšanas process norit raiti.
Pirms testēšanas uzsākšanas skaidri paziņojiet par lomām un pienākumiem savā komandā un piešķiriet dažādiem testētājiem atbildību par dažādiem nefunkcionālās testēšanas aspektiem, lai katrs būtu atbildīgs par saviem uzdevumiem.
3. Izvēlieties rīkus un tehnoloģijas pirms testēšanas
Ja jūs nolemjat strādāt ar konkrētiem rīkiem un tehnoloģijām tikai pēc tam, kad sākat nefunkcionālo testēšanu, tas var aizkavēt testēšanas procesu un radīt neskaidrības testētāju vidū.
Tā vietā veiciet iepriekšēju izpēti un izlemiet, vai ir kādi rīki, kurus vēlaties izmantot pirms testēšanas uzsākšanas. Tādējādi šos rīkus ir viegli iekļaut testēšanas plānā un apmācīt testētājus tos lietot pirms testēšanas sākuma.
4. Vienmēr saņemiet oficiālu apstiprinājumu par testiem un dokumentāciju.
Testēšana ir kvalitātes nodrošināšanas process, un vislabākais veids, kā maksimāli palielināt veikto testu vērtību, ir veikt pamata kvalitātes nodrošināšanu arī tiem testiem, kurus plānojat un veicat.
Ieviest vienkāršus protokolus, kas paredz, ka testētājiem ir jāprasa QA vadītājiem un vadītājiem pārskatīt un parakstīt testēšanas plānus un testēšanas pārskatus, pirms pāriet uz nākamo posmu.
Tas ievērojami palielina iespēju, ka testēšanas kļūdas tiks pamanītas un novērstas agrīnā posmā.
7 kļūdas un slazdi, no kuriem jāizvairās, ieviešot nefunkcionālos testus
Ja nefunkcionālajā testēšanā esat iesācējs, var viegli pieļaut dažas bieži sastopamas kļūdas, kurās bieži iekrīt testētāji un QA speciālisti.
Nefunkcionālā testēšana ir sarežģīts darbs, kas ietver programmatūras izveides izskatīšanu no visiem aspektiem un perspektīvām.
Zemāk ir uzskaitītas dažas visbiežāk sastopamās kļūdas, ko testētāji pieļauj, veicot nefunkcionālo testēšanu.
1. Neplānošana
Ja nefunkcionālajā testēšanā esat iesācējs, iespējams, domājat, ka varat vienkārši ienirt testēšanas posmā, iepriekš nesagatavojot rūpīgu testēšanas plānu.
Dažas testēšanas komandas var sastādīt nepilnīgus testēšanas dokumentus vai virspusējus testēšanas plāna kopsavilkumus, kuros nav pienācīgi izklāstītas darbības, kas testētājiem jāveic nefunkcionālās testēšanas laikā.
2. Nepareiza testēšanas pārvaldība
Problēmas var rasties, ja testi tiek nepareizi pārvaldīti jebkurā testēšanas procesa posmā. Neatbilstoša pārvaldība var nozīmēt, ka testētājiem nav atbilstošu resursu, lai veiktu rūpīgu testēšanu, vai ka testētājiem nav atvēlēts pietiekami daudz laika, lai testētu katru izveides aspektu.
Testēšanas vadītājiem ir jāspēj mācīties no pieļautajām kļūdām un turpmāk izstrādāt efektīvākus testēšanas plānus.
3. Slikta saziņa
Slikta saziņa var radīt daudz problēmu testēšanas procesā, jo īpaši nefunkcionālās testēšanas laikā.
Tas varētu nozīmēt sliktu komunikāciju testēšanas komandā vai sliktu komunikāciju starp testētājiem, izstrādātājiem un ieinteresētajām personām.
Tas bieži notiek, ja testētāji pienācīgi neuztur testēšanas dokumentus vai testēšanas procesa laikā regulāri nesazinās ar citām nodaļām.
4. Izstrādātāju ignorēšana
Testētāji un izstrādātāji parasti strādā atsevišķi, taču testēšanas komandas, kas cieši sadarbojas ar izstrādātājiem, var gūt labumu no papildu zināšanām par to, kā darbojas programmatūra un kā dažādi moduļi mijiedarbojas savā starpā.
Izstrādātāju iesaistīšana testēšanas procesā vai atgriezeniskās saites pieprasīšana no izstrādātājiem svarīgākajos brīžos var palīdzēt testēšanas komandām sastādīt efektīvākus un rūpīgākus testēšanas plānus.
5. Testēšanas mērķis
Daudzi testētāji joprojām uzskata, ka testēšanas mērķis ir pārbaudīt, vai programmatūra darbojas, vai pierādīt ieinteresētajām personām un investoriem, ka programmatūra darbojas.
Tā vietā testētājiem būtu jāpieiet testēšanai ar attieksmi, ka testēšanas mērķis ir meklēt defektus.
Testētāji, kuri neatrod defektus, var būt apmierināti, ka viņu testētajā programmatūrā nav kļūdu, tikai tad, ja viņi ir pārliecināti, ka ir meklējuši visur, kur varētu atrast defektus.
6. Manuālās un automatizācijas kļūdas
Ir svarīgi veltīt laiku tam, lai apsvērtu, vai katram testēšanas veidam, ko veicat, ir piemērotāka manuāla vai automatizēta testēšana.
Automatizētās testēšanas metodes ir ļoti labi piemērotas gandrīz visiem nefunkcionālās testēšanas veidiem, un testēšanas komandas, kas pieradušas veikt funkcionālo testēšanu, var kļūdīties, pieņemot, ka nefunkcionālās funkcijas tikpat viegli var testēt manuāli.
7. Nepareizu testēšanas rīku izmantošana
Pirms nefunkcionālās testēšanas uzsākšanas ir viegli izvēlēties nepareizus testēšanas rīkus un tehnoloģijas, jo īpaši, ja testēšanas komandas ir pieradušas veikt manuālo testēšanu un nav pieradušas izmantot testēšanas rīkus.
Iepriekš izpētiet nefunkcionālās testēšanas metodes, ko vēlaties izmantot, un izvēlieties programmatūras rīkus un automatizācijas rīkus, kas atbilst jūsu projekta specifiskajām prasībām.
Secinājums
Nefunkcionālā testēšana ir būtisks testēšanas procesa posms, kas ļauj testētājiem pārbaudīt, cik labi sistēma darbojas un cik lielā mērā tā atbilst tādām nefunkcionālajām prasībām kā ielādes laiks, jauda un drošības aizsardzība.
Ir daudz dažādu veidu, kā veikt nefunkcionālo testēšanu, taču mūsdienu automatizācijas rīki atvieglo maksimāli palielināt testu pārklājumu un precizitāti, neapdraudot rezultātu kvalitāti.
Biežāk uzdotie jautājumi un resursi
Ja vēlaties uzzināt vairāk par nefunkcionālo testēšanu, tiešsaistē ir pieejami daudzi bieži uzdotie jautājumi un resursi.
Pārlūkojiet mūsu iecienītākos tiešsaistes nefunkcionālās testēšanas resursus vai izlasiet atbildes uz dažiem visbiežāk uzdotajiem jautājumiem par nefunkcionālo testēšanu.
1. Labākie kursi par nefunkcionālo testēšanu
Tiešsaistē ir pieejami daudzi kursi, kas var palīdzēt jums paplašināt zināšanas par nefunkcionālās testēšanas metodēm un pieejām.
Daži no šiem kursiem ir pieejami bez maksas, bet citi var piedāvāt sertifikātu vai kvalifikāciju par maksu. Ja vēlaties apgūt akreditētus kursus, varat lūgt darba devējam, lai viņš jūs sponsorē un sedz mācību maksu.
Daži no labākajiem kursiem par nefunkcionālo testēšanu ir šādi:
- TSG: Nefunkcionālās apmācības 2 dienu kurss
- Udemy: Programmatūras testēšanas sākumlapa: Pilna 2023 programmatūras testēšanas sākumlapa
- Edx: Programmatūras testēšanas profesionālais sertifikāts
- Izglītojoši: Veiktspējas testēšanas automatizācija 101
2. Kādi ir 5 svarīgākie intervijas jautājumi par nefunkcionālo testēšanu?
Ja gatavojaties darba intervijai, lai strādātu programmatūras testēšanas jomā, intervētājs jums var uzdot jautājumus par nefunkcionālo testēšanu, lai pārliecinātos, ka saprotat, kā darbojas šis būtiskais programmatūras testēšanas posms. Sagatavojieties intervijai, iepriekš sagatavojot efektīvas atbildes uz biežāk uzdotajiem intervijas jautājumiem.
● Kā pieejas un metodes, ko izmantojat nefunkcionālajā testēšanā, varētu atšķirties no pieejām, ko izmantojat funkcionālajā testēšanā?
● Ar ko nefunkcionālā testēšana atšķiras no funkcionālās testēšanas?
● Kādi ir dažādi nefunkcionālās testēšanas veidi?
● Kā noteikt prioritātes funkcionālajiem testiem un testa gadījumiem?
● Kādā programmatūras testēšanas posmā parasti tiek veikta funkcionālā testēšana?
3. Labākās YouTube pamācības par nefunkcionālo testēšanu
Ja vēlaties mācīties, skatoties videoklipus, YouTube pamācības par nefunkcionālo testēšanu varētu būt noderīgs veids, kā uzzināt vairāk par šo programmatūras testēšanas veidu.
Zemāk ir daži no labākajiem šobrīd pieejamajiem YouTube pamācību materiāliem par programmatūras testēšanu.
Kas ir nefunkcionālā programmatūras testēšana? Programmatūras testēšanas apmācība
Palīdzība programmatūras testēšanas jomā: Nefunkcionālā testēšana
Nefunkcionālā testēšana programmatūras testēšanā
Apmeklējiet W3Schools
Funkcionālā un nefunkcionālā testēšana
4. Kā uzturēt nefunkcionālos testus
Pareiza testu uzturēšana nodrošina, ka programmatūras testus var atkārtot, nemazinot testu rezultātu kvalitāti.
Uzturot nefunkcionālos testus, varat nodrošināt, ka testēšana katrā izstrādes procesa posmā ir atbilstoša un ka testi vienmēr tiek atjaunināti atbilstoši pastāvīgi mainīgajam kodam.
Varat uzturēt nefunkcionālos testus, sekojot tālāk sniegtajiem padomiem.
● Veidojot testēšanas gadījumus un rakstot dokumentāciju, skaidri sazinieties ar testēšanas komandu.
● Vienmēr ievērojiet labāko testēšanas projektēšanas praksi
● Pārvērtēt testēšanas protokolus dažādos testēšanas procesa posmos.
● Testa izmaiņu atjaunināšana
Veicot izmaiņas pašreizējos testos, ņemiet vērā nākotnes projektus.
5. Vai nefunkcionālā testēšana ir melnās vai baltās kastes testēšana?
Nefunkcionālā testēšana ir “melnās kastes” testēšanas veids, kas nozīmē, ka testētāji neinteresējas par sistēmas iekšējo darbību, bet tikai par tās ārējiem rezultātiem.
Tas ir pretstats “baltās kastes” testēšanai, kas testē sistēmas iekšējo darbību. Baltās kastes testēšanas piemēri ir vienības testēšana un integrācijas testēšana.
Funkcionālo un nefunkcionālo prasību testēšana ir “melnās kastes” testēšanas piemēri. Tas nozīmē, ka testētājiem nav nepieciešamas padziļinātas tehniskās prasmes vai zināšanas par datorprogrammēšanu, lai veiktu melnās kastes testēšanu, kā arī viņiem nav jāmācās, kā ieviest testējamās sistēmas.