Nefunkcinis testavimas – tai programinės įrangos testavimas, atliekamas siekiant patikrinti nefunkcinius programinės įrangos programos aspektus.
Yra daug skirtingų nefunkcinio testavimo tipų, o kai kurie programinės įrangos testavimo tipai gali būti laikomi ir funkciniu, ir nefunkciniu testavimu vienu metu.
Nefunkcinis testavimas yra būtinas, nes jo metu įvertinami esminiai naudotojo kriterijai, tokie kaip našumas ir patogumas, ir patikrinama, ar programinė įranga veikia taip, kaip tikimasi, išskyrus pagrindines jos funkcijas.
Šiame straipsnyje nagrinėjame nefunkcinio testavimo apibrėžtį ir ypatybes, nefunkcinio testavimo tipus, nefunkcinio testavimo metodus ir testavimo įrankius, kurie gali padėti optimizuoti ir patobulinti nefunkcinio testavimo procesus.
Kas yra nefunkcinis testavimas?
Nefunkcinis testavimas – tai bet kokio tipo programinės įrangos testavimas, kai tikrinami nefunkciniai programinės įrangos kūrimo aspektai.
Nefunkcinio testavimo pavyzdžiai – testavimas, skirtas įvertinti pajėgumą, našumą, tinkamumą naudoti, atkūrimą ir perkeliamumą.
Kiekvieno iš šių nefunkcinių kriterijų kokybės ir būklės tikrinimas yra toks pat svarbus kaip ir programinės įrangos funkcijų tikrinimas, tačiau šie parametrai nėra tikrinami atliekant standartinį funkcinį testavimą.
Iš esmės, nefunkcinis testavimas reiškia, kad reikia tikrinti, kaip programinės įrangos funkcijos veikia, o ne tikrinti, ar jos veikia.
1. Kada reikia nefunkcinio testavimo?
Nefunkcinis testavimas atliekamas programinės įrangos testavimo sistemos testavimo etape, po to, kai buvo atliktas vieneto testavimas ir integravimo testavimas.
Sistemos testavimo metu testuotojai atlieka funkcinį ir nefunkcinį testavimą, pradėdami nuo funkcinio testavimo.
Nustatę, kad programinė įranga veikia taip, kaip tikimasi, testuotojai atlieka nefunkcinį testavimą, kad įvertintų, ar ji atitinka ir nefunkcinius parametrus.
Paprastai funkcinį testavimą būtina atlikti prieš atliekant nefunkcinį testavimą, nes neįmanoma patikrinti funkcijų, kurios iš viso neveikia, patikimumo ar našumo. Nefunkcinis testavimas yra vienas iš paskutinių programinės įrangos testavimo etapų prieš vartotojo priėmimo testavimą ir galutinį produkto išleidimą.
2. Kai jums nereikia nefunkcinio testavimo
Visada svarbu išbandyti nefunkcinius programinės įrangos aspektus, nebent jie jau buvo išbandyti ir nustatyta, kad jie yra tinkami.
Net jei jau anksčiau atlikote programinės įrangos nefunkcinį testavimą, gali prireikti dar kartą patikrinti nefunkcinius parametrus, pavyzdžiui, jei programinė įranga papildyta naujomis funkcijomis arba jei buvo atlikti kodo pakeitimai, galintys turėti įtakos našumui ir patikimumui.
Nefunkcinio testavimo tikslai
Nefunkcinio testavimo tikslas – patikrinti, ar produktas atitinka naudotojų lūkesčius, ir optimizuoti produktą prieš jį išleidžiant.
Tai taip pat gali padėti kūrėjams ir testuotojams geriau suprasti programinę įrangą ir panaudoti šias žinias ateityje optimizuojant.
1. Kokybės kontrolė
Nefunkciniais bandymais siekiama patikrinti veiksnius, kurie daro įtaką produkto tinkamumui naudoti, patikimumui, palaikymui, perkeliamumui ir efektyvumui.
Testuojant šiuos elementus užtikrinama, kad rinkai pateikiamas produktas būtų pakankamai aukštos kokybės ir atitiktų naudotojų lūkesčius, susijusius su našumu, įkėlimo laiku ir naudotojų pajėgumais.
2. Rizikos valdymas
Nefunkcinis testavimas taip pat sumažina su produkto išleidimu į rinką susijusią riziką ir sąnaudas, nes padidina tikimybę, kad komanda išleis patenkinamą produktą.
Tikrinant programinės įrangos kūrimo nefunkcinius parametrus, galima sumažinti produkto išleidimo išlaidas, nes sumažėja poreikis vėliau toliau kurti ir keisti programinę įrangą.
3. Optimizavimas
Nefunkcinis testavimas padeda testuotojams ir kūrėjams optimizuoti programinės įrangos sukūrimą ir pagerinti jos veikimą diegimo, diegimo, vykdymo ir naudojimo metu.
Taip pat galite naudoti nefunkcinį testavimą, kad optimizuotumėte programinės įrangos kūrimo valdymą ir stebėseną.
4. Duomenų rinkimas
Nefunkcinis testavimas leidžia testuotojams rinkti ir rengti matavimus ir rodiklius, kuriuos testavimo grupės gali naudoti vidiniams tyrimams ir plėtrai.
Iš nefunkcinių bandymų gautus duomenis galite panaudoti, kad suprastumėte, kaip veikia jūsų produktas ir kaip jį efektyviau optimizuoti naudotojams.
5. Žinių gilinimas
Nefunkcinis testavimas pagerina ir sustiprina testavimo komandos žinias apie produkto elgseną ir jame naudojamas technologijas.
Tai ne tik padeda testavimo komandoms geriau suprasti programinę įrangą, su kuria jos dirba, bet ir gali suteikti naudingų žinių, kurios padės testuotojams geriau suprasti būsimas versijas.
Kas dalyvauja nefunkciniame testavime?
Nefunkcinį testavimą paprastai atlieka testuotojai QA aplinkoje, tačiau kartais kūrėjai gali atlikti nefunkcinį testavimą kūrimo metu.
Sistemos testavimą beveik visada atlieka testuotojai, ir būtent šiame testavimo etape atliekama didžioji dalis nefunkcinių testų.
Jei nefunkciniai bandymai nesėkmingi, prieš bandydami dar kartą testuotojai grąžina programinę įrangą kūrėjams, kad šie ištaisytų veikimo klaidas.
Nefunkcinio testavimo privalumai
Nefunkcinis testavimas turi daug privalumų, o nefunkcinis testavimas yra esminis sistemos testavimo etapas.
Be nefunkcinio testavimo testavimo grupės negalėtų patikrinti, ar programinė įranga iš tikrųjų atitinka kliento reikalavimus arba ar ji atitinka programinės įrangos kūrimo plane nustatytus reikalavimus.
1. Pagerinti programinės įrangos veikimą
Nefunkcinis testavimas gali padėti testuotojams ir kūrėjams pagerinti bendrą programinės įrangos programų našumą. Nefunkciniais bandymais nustatomos sritys, kuriose programinė įranga veikia nepakankamai efektyviai, pavyzdžiui, dėl įkrovimo greičio ar apdorojimo pajėgumo, ir programinės įrangos komandos raginamos atlikti pakeitimus šiems trūkumams ištaisyti.
Taip užtikrinama, kad programinės įrangos komandos viešai skelbtų programinę įrangą tik tada, kai ji yra parengta ir kai jos veikimas yra pakankamai geras.
2. Saugoti programinę įrangą
Nefunkcinis testavimas apima saugumo testavimą, kuris yra labai svarbus užtikrinant, kad programinė įranga būtų saugi ir apsaugota nuo išorinių grėsmių ir atakų.
Saugumo testavimas leidžia testuotojams ir kūrėjams patikrinti, ar programinė įranga tinkamai apsaugo konfidencialius duomenis ir ar ji pakankamai apsaugota nuo šiuolaikinių kibernetinių atakų.
3. Padidinti programinės įrangos patogumą vartotojui
Nefunkcinis testavimas yra geriausias būdas padaryti savo programinę įrangą patogesnę naudotojams, ypač atliekant tinkamumo naudoti testavimą, kurio metu įvertinama, kaip lengva naudotojams išmokti naudoti ir valdyti programinę įrangą.
Patogumas naudotojui yra labai svarbus, nes nuo jo priklauso, kaip naudotojai bus patenkinti jūsų programine įranga, ir jis užtikrina, kad naudotojai galės naudotis visomis jūsų programinės įrangos teikiamomis galimybėmis.
4. Užtikrinti, kad programinė įranga atitiktų naudotojų poreikius
Užtikrinti, kad programinė įranga atitiktų naudotojų poreikius, turėtų būti vienas svarbiausių visų programinės įrangos kūrimo ir testavimo komandų prioritetų. Vartotojai tikisi, kad programinė įranga bus ne tik funkcionali, bet ir gerai veikianti, sklandžiai veikianti ir sauganti konfidencialius duomenis.
Nefunkcinis testavimas yra vienas iš vienintelių būdų užtikrinti, kad jūsų programinė įranga atitiktų šiuos reikalavimus.
Nefunkcinio testavimo iššūkiai
Atliekant nefunkcinį testavimą yra tam tikrų trūkumų. Nors nefunkcinis testavimas yra labai svarbus programinės įrangos testavimo sistemos testavimo etape, tačiau programinės įrangos komandoms, neturinčioms pakankamai išteklių ir įrankių, nefunkcinio testavimo procesas gali kelti sunkumų.
1. Pakartojimas
Nefunkcinis testavimas atliekant programinės įrangos testavimą turi būti atliekamas kiekvieną kartą, kai kūrėjai atnaujina programinę įrangą arba kai keičiamas kodas. Tai reiškia, kad nefunkcinis testavimas gali būti labai pasikartojantis, o tai ne tik atima daug laiko, bet ir nuvargina testuotojus.
Pavargę testuotojai, atliekantys labai pasikartojančias užduotis, taip pat yra labiau linkę išsiblaškyti ir padaryti klaidų.
2. Išlaidos
Kadangi nefunkcinis testavimas yra labai pasikartojantis, jis taip pat gali būti gana brangus, ypač testavimo komandoms, kurios remiasi rankiniu nefunkciniu testavimu.
Programinės įrangos komandos turi skirti laiko ir biudžetą dažnam nefunkciniam testavimui, o programinės įrangos kūrėjai turės papildomai mokėti už šį papildomą testavimą.
Ką tikriname nefunkcinio testavimo metu?
Nefunkciniu testavimu galima patikrinti daugybę skirtingų nefunkcinių parametrų, kurių kiekvienas turi įtakos sistemos kokybei ir tinkamumui naudoti. Atliekant sistemos bandymus kiekvienas iš šių parametrų tikrinamas pagal bandymų plane nustatytus kriterijus.
1. Saugumas
Saugumo testavimas – tai nefunkcinio testavimo rūšis, kuria vertinama, kaip gerai sistema apsaugota nuo išorinių grėsmių ir atakų. Tai ir tyčiniai saugumo pažeidimai, ir duomenų nutekėjimas bei kiti įprasti pažeidimai.
Saugumo testavimas yra svarbus nefunkcinio testavimo etapas, nes galutiniams naudotojams ir klientams suteikiama garantija, kad jų duomenys yra saugūs.
2. Patikimumas
Testuotojai naudoja nefunkcinį testavimą, kad įvertintų programinės įrangos patikimumą ir užtikrintų, jog programinė įranga gali nuolat ir be trikdžių atlikti nurodytas funkcijas.
Funkciniu testavimu užtikrinama, kad programinė įranga atlieka savo pagrindines funkcijas, tačiau tik nefunkciniu testavimu tikrinamas šių rezultatų patikimumas ir pakartojamumas.
3. Išgyvenamumas
Išliekamumas apibūdina, kaip programinės įrangos sistema reaguoja į gedimus, o išliekamumo testavimas užtikrina, kad, įvykus klaidoms ir gedimams, sistema galėtų atsistatyti.
Atliekant išlikimo bandymus gali būti tikrinama, ar programinė įranga gali išsaugoti duomenis, pavyzdžiui, staigaus gedimo atveju, kad duomenys būtų kuo mažiau prarasti.
4. Prieinamumas
Programinės įrangos prieinamumas – tai laipsnis, kuriuo naudotojas gali pasikliauti sistema jos veikimo metu. Tai taip pat vadinama stabilumu, kuris tikrinamas atliekant stabilumo testus.
Stabilumo testavimas šiek tiek panašus į patikimumo testavimą, nes tikrinama, ar sistema gali nuolat veikti pagal numatytus standartus.
5. Naudojimo patogumas
Naudojamumo testavimas yra dar viena svarbi nefunkcinio testavimo rūšis programinės įrangos testavimo srityje. Atliekant šio tipo testus vertinama, kaip gerai naudotojas gali išmokti, valdyti ir naudoti programinės įrangos sistemą vadovaudamasis ekrane pateiktomis instrukcijomis ir kitais pagrindiniais vadovais.
Naudojamumo testavimas yra svarbus, nes jei programinė įranga nėra labai patogi naudoti, dauguma naudotojų paprasčiausiai jos atsisakys arba pasirinks kitą.
6. Mastelio keitimo galimybės
Masteliškumo testavimu tikrinama, kokiu mastu programinė įranga gali išplėsti savo apdorojimo pajėgumus, kad patenkintų didėjančią paklausą.
Pavyzdžiui, jei programinė įranga sukurta taip, kad ja vienu metu galėtų naudotis keli vartotojai viename tinkle, kaip ji veikia, kai vienu metu prisijungia dešimt vartotojų? Ar didesnis naudotojų skaičius turi reikšmingos įtakos našumui arba įkrovimo laikui?
7. Sąveika
Sąveikos testavimas – tai nefunkcinio testavimo rūšis, kai tikrinama, kaip gerai programinės įrangos sistema sąveikauja su kitomis programinės įrangos sistemomis.
Tai ypač svarbu, kai programinė įranga kuriama kaip tarpusavyje integruojamų produktų rinkinio dalis.
8. Efektyvumas
Programinės įrangos testavimo efektyvumas reiškia, kiek programinės įrangos sistema gali dirbti su pajėgumu, kiekiu ir atsako laiku.
Pavyzdžiui, bandytojai gali įvertinti, kiek naudotojų vienu metu gali prisijungti prie sistemos, kiek laiko užtrunka gauti duomenis iš duomenų bazės arba kaip greitai programinė įranga gali atlikti pagrindines užduotis.
9. Lankstumas
Lankstumas rodo, kiek programinės įrangos sistema gali veikti su įvairių tipų aparatine ir periferine įranga.
Pavyzdžiui, kiek operatyviosios atminties reikia programinei įrangai arba ar jai reikia tam tikro procesoriaus kiekio. Kuo mažesni reikalavimai programinei įrangai, tuo lankstesnė yra programinė įranga.
10. Portatyvumas
Perkeliamumo testavimas naudojamas siekiant patikrinti, kaip lanksčiai programinę įrangą galima perkelti iš dabartinės techninės ar programinės įrangos aplinkos ir kaip lengva tai padaryti.
Perkeliamumas svarbus, nes nuo jo priklauso, kaip lengvai galutiniai naudotojai gali valdyti programinę įrangą ir perkelti ją iš vienos sistemos į kitą.
11. Pakartotinio naudojimo galimybės
Pakartotinio panaudojamumo testavimas – tai nefunkcinio testavimo rūšis, kai tikrinama, ar programinės įrangos sistemos dalys gali būti pritaikytos pakartotiniam naudojimui kitoje programoje.
Nors pakartotinio panaudojamumo testavimas paprastai neturi įtakos klientams ir galutiniams naudotojams, jis gerai atspindi, kaip efektyviai kūrėjai kuria komponentus, kuriuos galima pakartotinai naudoti ateityje.
Nefunkcinių testų savybės
Norint suprasti, kas yra nefunkciniai testai, reikia suprasti nefunkcinių testų savybes. Šios savybės apibrėžia nefunkcinį testavimą programinės įrangos testavimo srityje.
1. Išmatuojama
Nefunkcinis testavimas visada yra kiekybinis ir išmatuojamas, o tai reiškia, kad testuotojai nenaudoja subjektyvių frazių, tokių kaip „gražus” ar „geras”, o naudoja skaičius ir faktus nefunkcinio testavimo rezultatams apibūdinti.
Pavyzdžiui, vietoj to, kad krovimo laikas būtų apibūdinamas kaip „greitas” arba „lėtas”, atliekant nefunkcinį testavimą turėtų būti pateikiami konkretūs skaičiai, rodantys, kiek kartų tai buvo padaryta.
2. Speciali svetainė
Atliekant nefunkcinį testavimą, testų tikslas turėtų būti konkrečiai susijęs su programinės įrangos projekto specifikacijomis.
Pavyzdžiui, jei programinės įrangos projekto plane nurodytas naudotojų, kurie turėtų galėti prisijungti vienu metu, skaičius, atliekant nefunkcinį testavimą tam turėtų būti teikiama pirmenybė.
3. Nežinomas
Nors nefunkcinis testavimas gali būti specialiai skirtas projekto planuose nustatytiems požymiams įvertinti, daugeliu atvejų šie požymiai nebus nurodyti iš anksto.
Šiuo atveju testuotojai turėtų tiesiog atlikti nefunkcinį testavimą, kad įvertintų programinę įrangą pagal kiekvieną parametrą, o vėliau juos palyginti su lūkesčiais.
Nefunkcinių testų gyvavimo ciklas
Kadangi nefunkcinis testavimas reiškia ne konkretų programinės įrangos testavimo gyvavimo ciklo etapą, o tiesiog testavimo rūšį, kuri paprastai atliekama programinės įrangos testavimo sistemos testavimo etape, nefunkcinio testavimo gyvavimo ciklas įvairiuose projektuose gali labai skirtis.
Apskritai, jo gyvavimo ciklas panašus į kitų tipų programinės įrangos testavimo ciklą, kuris prasideda nuo projekto reikalavimų analizės ir baigiasi testų atlikimu bei ciklo įvykdymu.
1. Programinės įrangos reikalavimų analizė
Pirmasis nefunkcinio testavimo gyvavimo ciklo etapas yra programinės įrangos reikalavimų analizė. Programinės įrangos komandos, kurdamos ir testuodamos taikomąsias programas, siekia konkrečių kriterijų, o šie kriterijai turėtų lemti, kokio tipo testus reikia atlikti.
2. Bandymų planavimas
Kitas gyvavimo ciklo etapas – bandymų planavimas. Testavimo planavimo etape QA vadovas parengs išsamų testavimo planą, kuriame bus išsamiai aprašyta, kas bus testuojama, kas atliks testavimą ir kokie testavimo metodai, būdai ir priemonės bus naudojami.
Testavimo plane turėtų būti pateikta visa būtina informacija, kurios reikia testuotojams, kad jie galėtų sukurti ir atlikti testavimo atvejus.
3. Testavimo atvejų kūrimas
Kitas nefunkcinio testavimo etapas – testavimo atvejų kūrimas. Šiame etape kuriami nefunkciniai testavimo atvejai, kuriuos testuotojai vėliau atliks, kad patikrintų sistemos nefunkcinius reikalavimus.
Testavimo atvejuose aprašoma, kas bus testuojama, kaip tai bus testuojama ir kokių rezultatų tikimasi iš testavimo.
4. Bandomosios aplinkos nustatymas
Kitas nefunkcinio testavimo gyvavimo ciklo etapas – testavimo aplinkos sukūrimas prieš pradedant testavimą.
Testavimo aplinka – tai vieta, kurioje atliekami visi bandymai, joje yra išteklių ir įrankių, kuriuos naudosite nefunkciniams bandymams atlikti.
Testavimo komanda paruošia testavimo aplinką prieš testo vykdymą.
5. Bandymų vykdymas
Testo vykdymas yra kitas nefunkcinio testavimo gyvavimo ciklo etapas. Jis apima anksčiau sukurtų testavimo atvejų vykdymą, siekiant patikrinti įvairius programinės įrangos programų aspektus, įskaitant saugumą, įkrovimo laiką, talpą ir perkeliamumą.
Testavimo grupė kiekvieną atvejį atlieka atskirai ir patikrina kiekvieno testo rezultatą pagal laukiamą rezultatą.
6. Ciklo kartojimas
Paskutinis nefunkcinio testavimo gyvavimo ciklo etapas – ciklo vykdymas ir kartojimas. Atlikę visus testavimo atvejus, testuotojai patikrina, kurie testai buvo sėkmingi, o kurie – ne.
Nepavykę testai paprastai rodo, kad yra defektas, kurį kūrėjai turi ištaisyti. Kūrėjams pataisius ar redagavus kodą, programinės įrangos testavimo ciklas kartojamas iš naujo, kol nerandama defektų.
Išaiškinti tam tikrą painiavą:
Nefunkcinis testavimas ir funkcinis testavimas
Funkcinis testavimas ir nefunkcinis testavimas yra dvi skirtingos, bet vienodai svarbios programinės įrangos testavimo rūšys, kurios kartu naudojamos siekiant įvertinti, ar programinė įranga atitinka naudotojų reikalavimus, išdėstytus projekto santraukoje.
Nors abu šie testavimo tipai yra būtini ir leidžia programinės įrangos komandoms nustatyti programinės įrangos defektus, funkcinis ir nefunkcinis testavimas visiškai skiriasi vienas nuo kito.
1. Kuo skiriasi funkcinis ir nefunkcinis testavimas?
Funkcinis ir nefunkcinis testavimas skiriasi tuo, ką jie tikrina. Funkciniu testavimu išbandomos programos funkcijos ir patikrinama, ar jos veikia taip, kaip tikimasi. Nefunkciniais bandymais tikrinami kiti programos aspektai, turintys įtakos naudotojų pasitenkinimui ir programos kokybei.
Funkcinis ir nefunkcinis testavimas atliekamas skirtingais programinės įrangos testavimo etapais, tačiau abu testavimo tipai paprastai atliekami sistemos testavimo etape.
Tiek funkcinis, tiek nefunkcinis testavimas gali padėti suprasti, kaip gerai veikia programa ir ar ji tinkamai atlieka savo darbą.
Pavyzdžiui, jei testuojate mobiliąją programėlę, kuri leidžia naudotojams išsaugoti darbų ir pirkinių sąrašus, funkciniu testavimu gali būti tikrinamos tokios funkcijos kaip naujo sąrašo sukūrimas, sąrašo išsaugojimas ir esamų sąrašų redagavimas.
Atliekant nefunkcinį testavimą gali būti vertinama, kaip gerai programa veikia skirtinguose mobiliuosiuose įrenginiuose, kaip greitai įkeliami sąrašai ir kokią įtaką programos veikimui daro fone veikiančios kitos programos.
2. Išvada: nefunkcinis testavimas ir funkcinis testavimas
Ir funkcinis, ir nefunkcinis testavimas yra svarbios programinės įrangos testavimo rūšys, kurios gali padėti testuotojams ir kokybės užtikrinimo komandoms įvertinti, ar programa atitinka dabartinius reikalavimus.
Funkciniu testavimu tikrinamos programinės įrangos funkcijos, o nefunkciniu testavimu tikrinami kiti aspektai, kurie gali turėti įtakos našumui, efektyvumui ir saugumui.
Vieneto testavimas, integracinis testavimas ir API testavimas yra funkcinio testavimo formos. Kiekviename iš šių programinės įrangos testavimo etapų testuotojai vertina, kaip gerai funkcijos ir ypatybės veikia atskirai arba kartu, ir nustato klaidas bei defektus, kurie trukdo funkcijoms veikti taip, kaip tikėtasi.
Saugumo testavimas, tinkamumo naudoti testavimas, perkeliamumo testavimas ir apkrovos testavimas – tai nefunkcinio testavimo formos, leidžiančios testuotojams įvertinti, kaip gerai programėlė atlieka savo funkcijas ir tenkina naudotojų poreikius.
Nefunkcinio testavimo tipai
Yra daug skirtingų nefunkcinio testavimo tipų, kurių kiekvienas tikrina skirtingą nefunkcinį programinės įrangos taikomosios programos našumo ar efektyvumo aspektą.
Kiekvienu iš šių testų tipų bus tikrinami skirtingi parametrai, o kai kuriais testais tie patys parametrai gali būti tikrinami skirtingais būdais.
1. Veiklos testai
Našumo testai – tai nefunkcinio testavimo rūšis, kuria tikrinama, kaip gerai veikia skirtingi programinės įrangos komponentai. Atliekant našumo testus galima ne tikrinti jų funkcionalumą, o tikrinti atsako laiką, kliūtis ir gedimo taškus. Našumo testavimas padeda testuotojams užtikrinti, kad programinė įranga būtų kokybiška, greita, stabili ir patikima.
2. Testavimas nepalankiausiomis sąlygomis
Testavimas nepalankiausiomis sąlygomis – tai nefunkcinio testavimo rūšis, kai tikrinama, kaip gerai veikia programinė įranga, kai jai tenka neįprastai didelis krūvis. Tai gali reikšti, kad reikia išbandyti, kaip programinė įranga veikia, kai vienu metu bandoma naudoti daug skirtingų funkcijų arba kai tuo pačiu metu veikia daug kitų programų.
Testavimu nepalankiausiomis sąlygomis siekiama nustatyti ribą, nuo kurios programinė įranga nustoja tinkamai veikti, ir nustatyti, kas vyksta, kai sistema patiria stresą. Tai leidžia testuotojams suprasti, ar sistema gali pati atsistatyti ir ar ji informuoja naudotojus tinkamais pranešimais apie klaidas.
3. Apkrovos bandymai
Apkrovos testavimas – tai testavimo rūšis, kuria vertinama, kaip programinė įranga elgiasi įprastomis sąlygomis ir esant didesnėms apkrovoms. Jis naudojamas siekiant nustatyti, kiek programinė įranga gali apdoroti vienu metu, kad nenukentėtų našumas.
Apkrovos testavimu galima patikrinti, kaip veikia programos, kai jomis vienu metu naudojasi daug naudotojų arba kai naudotojai vienu metu bando atsisiųsti daug duomenų.
Apkrovos testavimas svarbus, jei norite patikrinti, ar jūsų programinė įranga yra keičiamo dydžio.
4. Saugumo testai
Saugumo testais vertinamos programinės įrangos programos ir ieškoma programinės įrangos saugumo spragų. Tai apima galimą saugumo riziką, dėl kurios gali būti prarasti duomenys arba įvykti pažeidimai, atskleidžiantys konfidencialius duomenis.
Saugumo testavimas svarbus, nes juo užtikrinama, kad produktas būtų tinkamai apsaugotas nuo įsilaužimų, duomenų saugumo pažeidimų ir kitų išorinių saugumo grėsmių.
Keletas saugumo testų, kuriuos gali atlikti testuotojai, pavyzdžių: saugumo auditas, etinis įsilaužimas, įsiskverbimo testavimas, saugumo skenavimas ir padėties vertinimas.
5. Atnaujinimo ir diegimo bandymai
Atnaujinimo ir diegimo testavimas yra nefunkcinio programinės įrangos testavimo rūšis, kuria tikrinama, kaip gerai programinė įranga veikia skirtinguose kompiuteriuose.
Tokio testavimo tikslas – įsitikinti, kad nauji naudotojai gali lengvai įdiegti programinę įrangą į savo kompiuterius, o esami naudotojai gali ją atnaujinti, kai išleidžiami nauji atnaujinimai.
Atnaujinimo ir diegimo bandymai yra svarbūs, nes galutiniai naudotojai turi turėti galimybę lengvai įdiegti jūsų produktą, jei jie dirba su su juo suderinamu kompiuteriu.
6. Tūrio bandymai
Testavimas apimtimi – tai testavimo rūšis, skirta patikrinti, kas atsitinka, kai į duomenų bazę vienu metu įtraukiami dideli duomenų kiekiai. Taip nustatoma, ar programa gali apdoroti didelius duomenų kiekius ir kas nutiks sistemai, jei ne.
Apimties testavimas taip pat vadinamas „potvynio” testavimu, kurį galite naudoti duomenų praradimui ir klaidų pranešimams, atsirandantiems, kai į sistemą įtraukiamas didelis duomenų kiekis, įvertinti.
Tik bandymų apimties testavimas yra vienintelis būdas užtikrinti, kad programinė įranga galėtų apdoroti tokius duomenų kiekius, kokių iš jos tikisi naudotojai.
7. Atkūrimo bandymai
Atkūrimo bandymai – tai programinės įrangos sistemos privertimas sugesti, kad būtų patikrinta, kaip gerai sistema atsistato po gedimo.
Atkūrimo bandymai gali padėti testuotojams suprasti, kaip programinė įranga atkuria duomenis ir apsaugo nuo praradimo, jei naudojimo metu aparatinė įranga atjungiama nuo tinklo, jei perduodant duomenis programinė įranga atjungiama nuo tinklo arba jei netikėtai iš naujo paleidžiama sistema.
Tokio tipo bandymai yra svarbūs, nes sistemos, kuriose nėra tinkamų atkūrimo protokolų, gali patirti didelių duomenų nuostolių, kai įvyksta tokie nelaimingi atsitikimai.
Ko reikia norint pradėti nefunkcinį testavimą
Prieš pradėdami nefunkcinį testavimą, turite įsitikinti, kad paruošėte testavimo aplinką ir surinkote reikiamus įrankius bei duomenis.
1. Bandymų planas
Prieš pradėdami nefunkcinį testavimą, įsitikinkite, kad turite baigtą testavimo planą, kurį pasirašė atitinkami asmenys.
Testavimo plane turėtų būti pateikta visa svarbi informacija apie tai, ką ir kaip ketinate testuoti. Joje turėtų būti paaiškinta, kada naudosite rankinį, o kada – automatinį testavimą, taip pat apibrėžti visų testavimo procese dalyvaujančių asmenų vaidmenys ir pareigos.
2. Testavimo atvejai
Prieš atlikdami nefunkcinius testus, turite sukurti testavimo atvejus. Kiekviename testavimo atvejyje aprašomas konkretus dalykas, kurį ketinate testuoti, paaiškinama, kaip ketinate jį testuoti, ir aprašomas laukiamas testo rezultatas.
Pavyzdžiui, jei atliekate apkrovos testavimą, pavyzdiniu testavimo atveju gali būti tikrinama, kaip programinė įranga elgiasi, kai tuo pačiu metu tuo pačiu moduliu naudojasi dešimt naudotojų.
3. Funkcinė patikra
Negalite atlikti programinės įrangos komponentų nefunkcinio testavimo, jei jie nėra funkcionalūs.
Pavyzdžiui, jei norite išbandyti, kiek naudotojų gali prisijungti prie programinės įrangos vienu metu, pirmiausia svarbu patikrinti, ar atskiri naudotojai iš tikrųjų gali prisijungti prie programinės įrangos.
Prieš pradėdami nefunkcinį testavimą, įsitikinkite, kad visi funkciniai testai atlikti ir kad jūsų programinė įranga veikia taip, kaip tikitės.
Paprastai tai reiškia, kad jau buvo atliktas ” dūmų” testavimas, tinkamumo testavimas, vienetų testavimas, integravimas ir funkcinis sistemos testavimas.
4. Testavimo įrankiai
Prieš pradėdami nefunkcinį testavimą, surinkite visas testavimo priemones, kurias norite naudoti testams atlikti.
Nesvarbu, ar naudojate automatizavimo įrankius, kad iš dalies automatizuoti kai kuriuos testus arba dokumentavimo įrankius, padedančius tvarkyti ir saugoti bandymų ataskaitas vėlesniam naudojimui, įsitikinkite, kad įrankiai, kuriuos norite naudoti, yra prieinami ir paruošti naudoti, ir kad visi bandymų grupės nariai žino, kaip tinkamai naudoti kiekvieną įrankį.
5. Testavimo aplinka
Prieš pradėdami nefunkcinį testavimą, sukurkite testavimo aplinką. Galbūt jau turite tinkamą testavimo aplinką, ypač jei tą pačią aplinką galite naudoti nefunkciniam sistemos testavimui ir funkciniam sistemos testavimui.
Ideali testavimo aplinka leidžia išbandyti kiekvieną reikalingą elementą tinkamuose įrenginiuose.
Pavyzdžiui, jei testuojate garsumo valdymą išmaniuosiuose telefonuose, geriau tai išbandyti tikrame išmaniajame telefone, o ne bandyti imituoti mobiliąją aplinką staliniame kompiuteryje.
Nefunkcinio testavimo procesas
Programinės įrangos kūrimo nefunkcinių aspektų testavimas yra kelių etapų procesas, apimantis testavimo aplinkos paruošimą, testavimo atvejų kūrimą, testavimo duomenų rinkimą ir nefunkcinių testų vykdymą.
Testavimo procesą galima suskaidyti į nedideles dalis, kad pradedantiesiems nefunkcinio testavimo specialistams būtų lengviau juo vadovautis.
1. Nefunkcinio testavimo parengties patikrinimai
Prieš pradedant nefunkcinį testavimą svarbu patikrinti, ar esate pasirengę šiam testavimo etapui.
Tai gali reikšti, kad reikia įvertinti paskutinio testavimo etapo išėjimo kriterijus ir įsitikinti, kad programinė įranga jį išlaikė, taip pat įsitikinti, kad programinė įranga išlaikė visus reikalingus funkcinius testus prieš atliekant nefunkcinį testavimą.
Kai kurios komandos gali sukurti nefunkcinio testavimo įvesties kriterijus, kurie apima visas sąlygas, kurios turi būti įvykdytos prieš pradedant nefunkcinį testavimą.
2. Sukurti bandymų planą
Šį veiksmą galbūt jau atlikote anksčiau, jei nefunkcinį testavimą atliekate kaip sistemos testavimo dalį ir laikotės sistemos testavimo plano. Bandymų plane nurodomi visi bandymai, kuriuos reikia atlikti, ir kaip ketinate juos atlikti.
Neturint aiškaus bandymų plano, lengva pamiršti atliekamų bandymų apimtį ir tikslus.
3. Sukurti testavimo atvejus
Kitas nefunkcinio testavimo etapas – testavimo atvejų, skirtų kiekvienam programinės įrangos nefunkciniam parametrui patikrinti, kūrimas.
Kiekvienas testavimo atvejis turi turėti testavimo atvejo ID, testavimo atvejo pavadinimą, aprašymą ir išsamią informaciją apie tikėtiną testo rezultatą, taip pat iš anksto nustatytus teigiamo ar neigiamo rezultato kriterijus. Tai padeda testuotojams suprasti, kaip atlikti kiekvieną testą ir į kokius rezultatus atkreipti dėmesį.
4. Surinkite bandymų duomenis
Prieš vykdydami kiekvieną testavimo atvejį, turite surinkti testavimo duomenis, kuriuos naudosite kiekvienam testavimo atvejui.
Paprastai tai reiškia, kad reikia surinkti kodą ir duomenis iš įvairių modulių ir komponentų, kurie sudaro funkcijas ir sritis, kurias ketinate išbandyti. Jei maksimaliai didinate bandymų aprėptį, turėtumėte turėti daug bandymų duomenų, su kuriais galėtumėte dirbti.
5. Paruoškite bandomąją aplinką
Kitas nefunkcinio testavimo etapas – testavimo aplinkos paruošimas. Testavimo aplinka – tai testavimo serveris, kurį naudosite įvairių tipų programinės įrangos testams atlikti.
Ji leidžia sukurti identiškas sąlygas, kuriomis testuojama programinė įranga, ir nustatyti skirtingas programinės įrangos konfigūracijas konfigūracijos testavimui, saugumo testavimui ir kitų tipų nefunkciniams testams atlikti.
6. Atlikti nefunkcinius testus
Kai testavimo aplinka paruošta, laikas atlikti nefunkcinius testus. Galite nuspręsti testus atlikti pagal jų tipą, pavyzdžiui, pradėti nuo našumo testavimo ir tik tada pereiti prie saugumo testų ir kitų nefunkcinių testų tipų.
Atlikdami kiekvieną bandymą, rezultatus užrašykite bandymų ataskaitoje. Jei automatizuojate testavimą, jūsų automatizavimo įrankis turės standartizuotą būdą aiškiai ir nedviprasmiškai pranešti rezultatus.
7. Praneškite apie bandymų rezultatus
Atlikę kiekvieną testavimo atvejį, surinkite nefunkcinių testų rezultatus į vieną ataskaitą.
Šioje ataskaitoje turėtų būti aiškiai nurodyti kiekvieno bandymo rezultatai ir nedviprasmiškai nurodyta, ar kiekvienas bandymas buvo teigiamas, ar neigiamas.
Vadovaukitės standartizuota testo ataskaitos struktūra, kad įsitikintumėte, jog įtraukta visa informacija, kurią reikės perduoti.
8. Defektų taisymas
Gavę bandymų rezultatus, grąžinkite programinę įrangą kūrėjams, jei bandymai nepavyko arba jei nustatėte nefunkcinių klaidų, kurias reikia ištaisyti.
Pavyzdžiui, jei programinė įranga vienu metu nesugeba dirbti su tinkamu naudotojų skaičiumi arba jei veikimas pernelyg sulėtėja, kai vienu metu paleidžiamos kelios programos, šias problemas greičiausiai reikės ištaisyti programiniame kode, kad naudotojams produktas būtų tinkamas.
9. Pakartokite bandymų ciklą
Kūrėjams ištaisius visus defektus, rastus per pradinį nefunkcinio testavimo etapą, testavimo ciklą galima pradėti iš naujo.
Kūrėjai patikrina atliktus pakeitimus ir perduoda naująjį kūrinį atgal kokybės užtikrinimo testuotojams, kurie atlieka visą testavimo rinkinį, pradedant „dūmų” testavimu, vienetų testavimu, integracijos testavimu ir baigiant sistemos testavimu.
Testavimo ciklas kartojamas tol, kol nė viename taške neatsiranda klaidų ar defektų, po to galima pereiti į paskutinį testavimo etapą – naudotojo priėmimo testavimą.
Nefunkcinio testavimo testavimo atvejai
Testavimo atvejai yra svarbus programinės įrangos testavimo aspektas, o atliekant funkcinį ir nefunkcinį testavimą, testavimo atvejais apibrėžiama, ką ir kaip ketinate testuoti.
Kiekvieną testavimo atvejį galima laikyti mini testu, ir kiekvienas testavimo atvejis turės savo apibrėžtus išėjimus ir rezultatus.
1. Kas yra nefunkcinio testavimo testavimo atvejai?
Testavimo atvejis – tai rinkinys veiksmų, atliekamų su programinės įrangos kūrimu, siekiant patikrinti, ar jis atitinka programinės įrangos plane apibrėžtas sąlygas. Kiekvienas testavimo atvejis veiksmingai nurodo, ką ir kaip testuotojams reikia testuoti, ir yra skirtas konkrečiai programinės įrangos programos funkcijai ar nefunkcinei savybei testuoti.
Nefunkciniais bandymais gali būti tikrinama, kas atsitinka, kai kas nors bando pasiekti saugius sistemos duomenis, arba tikrinama, kaip greitai įkeliama programinė įranga paleidimo metu.
2. Kaip kurti nefunkcinius testavimo atvejus?
Rengiant nefunkcinių testų atvejus, svarbu laikytis standartinės testų atvejų praktikos ir nepamiršti nefunkcinių testų tikslų.
Atlikite toliau nurodytus veiksmus, kad parašytumėte nefunkcinio testavimo testavimo atvejus, kuriuose būtų aiškiai nurodyta, ką jūsų testuotojai turi atlikti, kad atliktų kiekvieną testą.
1. Apibrėžkite norimą aprėpti teritoriją
Kiekvieno testavimo atvejo atveju apsvarstykite, kokią programinės įrangos sritį šis testavimo atvejis apims.
Pavyzdžiui, jei rašote diegimo ir atnaujinimo bandymų atvejus, galite įtraukti bandymų atvejus, kuriais vertinama, kaip lengva įdiegti programą skirtinguose įrenginiuose ir kiek laiko užtrunka atnaujinti programinę įrangą naudojant naują pataisą.
2. Sukurti unikalų testavimo atvejo ID
Kiekvienas testavimo atvejis turėtų turėti unikalų testavimo atvejo ID. Tai palengvina vėlesnį testavimo atvejo aprašymo ir rezultatų paiešką ir pašalina bet kokią painiavą dėl to, apie kurį testavimo atvejį kalbama, jei du testavimo atvejai turi panašius pavadinimus ar aprašymus.
3. Įvardykite ir apibūdinkite kiekvieną testą
Testavimo atvejo ID identifikuoja testą, tačiau taip pat norėsite nurodyti kiekvieno parašyto testavimo atvejo pavadinimą ir aprašymą.
Tai turėtų būti paprastas pavadinimas, apibendrinantis tai, ką bandote, o aprašymas – vienas sakinys, kuriame tai šiek tiek išsamiau paaiškinama.
Aprašymas turėtų būti pakankamai aiškus, kad testuotojai žinotų, ką ir kaip testuoti, taip pat visas konkrečias sąlygas, kurios turi būti įvykdytos atliekant testą.
4. Nurodykite laukiamą rezultatą
Kiekvieno bandymo atvejo atveju nurodykite rezultatą, kuris turėtų būti pasiektas, jei programinė įranga veikia taip, kaip tikimasi.
Atliekant nefunkcinius bandymus, pavyzdžiui, našumo ir apkrovos bandymus, daugeliu atvejų tai gali reikšti, kad programinė įranga paprasčiausiai veikia įprastai, nelėtėja, neatsilieka ir nesugenda.
Kitais atvejais tai gali reikšti, kad pateikiami tam tikri klaidų pranešimai, kuriais naudotojui pranešama apie problemą ir rekomenduojamas jos sprendimas.
5. Rekomenduoti testavimo metodus
Kiekvieno testavimo atvejo atveju rekomenduokite, kokius testavimo metodus ir nefunkcinio testavimo įrankius, jūsų nuomone, testuotojas turėtų naudoti testavimo metu.
Atlikdami nefunkcinį testavimą, testuotojai gali taikyti labai skirtingus metodus skirtingiems testavimo tipams.
Pavyzdžiui, apkrovos testavimą ir testavimą nepalankiausiomis sąlygomis gali prireikti automatizuoti, nes nepraktiška rankiniu būdu imituoti itin didelį duomenų srautą, o kitus testavimo tipus gali būti lengviau atlikti be jokių specialių įrankių ar technologijų.
6. Gaukite kiekvieno bandymo atvejo tarpusavio peržiūrą
Prieš pasirašydami kiekvieną bandymo atvejį, paprašykite, kad jį peržiūrėtų kas nors, su kuo dirbate. Tai gali būti kitas testuotojas arba QA vadovas.
Atlikdami tarpusavio peržiūrą įsitikinkite, kad testavimo atvejai yra pakankamai aiškūs, kad jais galėtų vadovautis trečiosios šalies testuotojas, ir juose nėra dviprasmybių ar klaidų, dėl kurių testavimas galėtų būti netinkamas.
3. Nefunkcinių testų pavyzdžiai
Jei rašote testavimo atvejus nefunkciniam testavimui, jie gali būti panašūs į toliau pateiktus nefunkcinio testavimo pavyzdžius.
Masteliškumo testavimo pavyzdys
Bandymo atvejo ID: 6671
Testo atvejo pavadinimas: Kelių naudotojų prisijungimo testas
Aprašymas: Naudodami automatizavimo įrankius imituokite 20+ naudotojų prisijungimą prie programinės įrangos vienu metu.
Laukiami rezultatai: Programinė įranga kiekvienam naudotojui turėtų veikti kaip įprasta, kad kiekvienas naudotojas galėtų sėkmingai prisijungti per mažiau nei 5 sekundes.
Suderinamumo testavimo pavyzdys
Bandymo atvejo ID: 5214
Bandymo atvejo pavadinimas: Programos įkėlimas „Opera” naršyklėje
Aprašymas: Įkelkite programą į „Opera” interneto naršyklę.
Laukiami rezultatai: Rezultatai: Programa įkeliama kaip įprasta „Opera” interneto naršyklėje su standartine ekrano skiriamąja geba ir išdėstymu.
Rankiniai ar automatizuoti nefunkciniai testai?
Rinkdamiesi skirtingus nefunkcinio testavimo būdus, turite nuspręsti, ar norite atlikti rankinius, ar automatinius nefunkcinius testus.
Rankiniu būdu atliekamus testus atlieka testuotojai, todėl paprastai jiems atlikti reikia daugiau laiko, tačiau jie taip pat suteikia galimybių atlikti tiriamuosius testus.
Automatiniai nefunkciniai testai yra greitesni ir tam tikrais atžvilgiais patikimesni, tačiau jiems taip pat reikia daugiau išteklių arba įrankių. Automatizavimas ir hiperautomatizavimas tampa vis populiaresnis testavimo srityje, ypač kalbant apie nefunkcinį testavimą.
Rankinis nefunkcinis testavimas: Naudos, iššūkiai ir procesai: nauda, iššūkiai ir procesai
Rankinį nefunkcinį testavimą atlieka tik testuotojai, kurie testuoja kiekvieną atskirą nefunkcinį elementą atskirai.
Atlikdami nefunkcinius testus rankiniu būdu, testuotojai turi surinkti informaciją apie programinę įrangą, sukurti atskirus testavimo atvejus, atitinkančius testavimo planą, ir atlikti šiuos testavimo atvejus rankiniu būdu.
Tai užima nemažai laiko, tačiau tai taip pat reiškia, kad QA testuotojai gali laisvai nustatyti, kas ir kaip bus testuojama.
1. Kai kurie rankinio testavimo privalumai:
● Rankinis testavimas gali būti pigesnis nei automatinis, nes jam nereikia specifinių technologijų ar techninių žinių.
● Rankinis testavimas leidžia testuotojams žmogiškai ir subjektyviai įvertinti, kaip veikia programinė įranga ir ar ji veikia patenkinamai.
● Rankinis testavimas gali būti naudojamas sistemos testavimui atlikti tais atvejais, kai neįmanoma automatizuoti.
● Atlikdami rankinį testavimą testuotojai gali įvertinti vizualinius sistemos aspektus, pavyzdžiui, grafinę sąsają ir kitus veiksnius, kurie gali turėti įtakos tinkamumui naudoti.
● Rankinis testavimas suteikia testuotojams platesnį požiūrį į visą sistemą ir į tai, kaip įvairūs moduliai ir komponentai veikia kartu.
Tačiau rankinis testavimas turi ir trūkumų.
2. Kai kurie rankinio testavimo iššūkiai yra šie:
● Kai kuriuos nefunkcinio testavimo tipus, įskaitant apkrovos testavimą ir našumo testavimą, nepraktiška atlikti rankiniu būdu.
● Rankinis testavimas užima gerokai daugiau laiko nei automatizuotas nefunkcinis testavimas
● rankiniu būdu dirbantys testuotojai gali išsiblaškyti, prarasti dėmesį ir padaryti klaidų, ypač atlikdami labai pasikartojančias testavimo užduotis.
Automatinis nefunkcinis testavimas: Naudos, iššūkiai ir procesai: nauda, iššūkiai ir procesai
Automatinis nefunkcinis testavimas atliekamas naudojant automatinius scenarijus ir testavimo įrankius. Naudodami automatinio testavimo metodus, testuotojai gali atlikti testus fone ir tuo pat metu atlikti kitas užduotis, kai tik pradedami automatiniai testai.
1. Kai kurie iš nefunkcinių testų automatizavimo privalumų:
1. Sutaupykite laiko ir išteklių sumažindami laiko, kurį praleidžiate atlikdami ilgas ir daug laiko reikalaujančias užduotis.
2. Automatizavimas leidžia padidinti testų aprėptį, apimant platesnį komponentų ir funkcijų spektrą.
3. Automatizuotus testus galima atlikti dažnai, nes jiems atlikti reikia mažiau laiko.
4. Automatinis testavimas idealiai tinka daug laiko reikalaujančioms testavimo užduotims, pvz., apkrovos testavimui, apimties testavimui ir testavimui nepalankiausiomis sąlygomis, kurias labai sunku atlikti rankiniu būdu.
5. Atliekant automatinį testavimą yra mažesnė klaidų tikimybė.
Tačiau automatizuotas testavimas turi ir tam tikrų trūkumų, todėl jis ne visada tinka visiems nefunkcinio testavimo tipams.
2. Kai kurie automatinio nefunkcinio testavimo iššūkiai yra šie:
1. Automatizuotą testavimą sukurti yra brangiau nei rankinį testavimą
2. Bandymų automatizavimo diegimas gali užtrukti ir pareikalauti techninių išteklių.
3. Testavimo automatizavimas nesuteikia erdvės žvalgomajam testavimui
4. Automatizuojant testus vis dar reikia laiko testų atvejams kurti
Išvados: Rankiniu ar automatiniu būdu
nefunkcinis testavimas?
Daugelyje programinės įrangos testavimo tipų geriausius rezultatus paprastai pasiekiama derinant rankinį ir automatinį testavimą. Tai leidžia testavimo komandoms pasinaudoti automatizuoto testavimo efektyvumu, patikimumu ir tikslumu, kartu atliekant tiriamąjį testavimą, kuris leidžia testuotojams vertinti programinę įrangą iš subjektyvesnės perspektyvos.
Nefunkcinio testavimo srityje daugumai testavimo komandų praktiškai būtinas ir rankinis, ir automatinis testavimas.
Rankinis testavimas geriausiai tinka nefunkcinėms testavimo užduotims atlikti, pavyzdžiui, tinkamumo naudoti testavimui, o automatinis testavimas dažniausiai naudojamas testams, kuriuos atlikti rankiniu būdu būtų per daug sudėtinga ir užimtų per daug laiko, pavyzdžiui, testavimui nepalankiausiomis sąlygomis arba apimties testavimui.
Nefunkcinis testavimas yra viena akivaizdžiausių sričių, kurioje galima naudoti testavimo automatizavimo metodus, nes tai kiekybinis, išmatuojamas testavimo tipas, kuriam nereikia subjektyvių rezultatų.
Kaip ir kitų tipų testavimas, nefunkcinis testavimas paprastai atliekamas derinant rankinį ir automatinį testavimą.
Tačiau automatinis testavimas praktiškai būtinas daugeliui nefunkcinio testavimo tipų, o nefunkcinio testavimo parametrai ir rodikliai reiškia, kad automatizavimas labiau tinka šio tipo testavimui nei funkciniam testavimui.
Geriausia nefunkcinio testavimo praktika
Pirmą kartą atliekant nefunkcinį testavimą, geriausia testavimo praktika gali padėti standartizuoti testavimo procesą ir optimizuoti testų veiksmingumą.
Geriausia praktika – tai gairės programinės įrangos testavimo komandoms, norinčioms patobulinti testavimo procesus ir suderinti juos su pramonės standartais.
1. Naudokite automatizavimo įrankius
Atliekant nefunkcinį testavimą labiau nei kitų tipų testavimą, svarbu naudoti automatizavimo įrankius, kad būtų automatizuoti tam tikri testavimo tipai, ypač apimties testavimas, testavimas nepalankiausiomis sąlygomis ir apkrovos testavimas.
Atliekant tokio tipo bandymus paprastai tikrinama, kaip gerai programinė įranga veikia esant dideliam naudotojų, duomenų ir duomenų srauto spaudimui, o tokias sąlygas rankiniu būdu gali būti labai sunku imituoti.
Automatizavus tokio tipo nefunkcinius bandymus, jie bus ne tik efektyvesni, bet ir tikslesni, o bandytojai galės lengvai atkartoti didesnes apkrovas ir įtempius.
2. Visų dokumentų tarpusavio peržiūra
Be to, kad paprašytumėte kolegų peržiūrėti jūsų sukurtus bandymų atvejus, paprašykite savo testavimo grupės kolegų peržiūrėti klaidų ataskaitas, bandymų ataskaitas, bandymų planus ir kitus bandymų proceso metu sukurtus oficialius dokumentus.
Taip sumažinama mažų klaidų, dėl kurių gali smarkiai vėluoti testavimo ir kūrimo procesas, rizika.
3. Apibrėžti išmatuojamus reikalavimus
Kai prieš pradėdami nefunkcinį testavimą apibrėšite programinės įrangos reikalavimus, įsitikinkite, kad kiekvienas reikalavimas yra objektyvus ir išmatuojamas.
Taip testuotojams lengviau nustatyti, ar programinė įranga atitinka šiuos reikalavimus, ir nelieka vietos interpretacijoms.
Kas laikoma „greitu” ar „veiksmingu”? Naudokite skaičius ir kiekybines vertes, kad apibrėžtumėte, ko ieškote.
4. Atidžiai apsvarstykite testavimo rodiklius
Prieš nuspręsdami, kokius rodiklius naudosite programinės įrangos našumui matuoti, apsvarstykite, ko norės programinės įrangos naudotojai ir kokie rodikliai iš tikrųjų atitinka programinės įrangos planą ir reikalavimus.
Dauguma programinės įrangos turėtų būti greita ir patikima, tačiau kokių kitų rodiklių gali ieškoti jūsų naudotojai? Ar yra kokių nors konkrečiai programinei įrangai būdingų rodiklių, į kuriuos turėtumėte atsižvelgti testavimo proceso metu?
Nefunkcinio testo rezultatų tipai
Atlikdami nefunkcinius bandymus gausite įvairių tipų rezultatus.
Paprastai jie gerokai skiriasi nuo funkcinių testų rezultatų, kurie dažnai būna aiškesni, nes funkciniais testais paprasčiausiai tikrinama, ar funkcija veikia taip, kaip turi veikti, ar ne.
Kaip ir funkcinio testavimo atveju, testuotojai turėtų nustatyti aiškius lūkesčius kiekvienam testavimo atvejui, kad būtų lengva nustatyti, ar kiekvienas testas yra teigiamas, ar neigiamas.
1. Absoliutūs skaičiai
Atliekant našumo testavimą, testavimą nepalankiausiomis sąlygomis ir kitų tipų nefunkcinį testavimą, dažniausiai vertinami greičio ir kiti absoliutūs skaičiai.
Atliekant našumo bandymus tikrinama, kaip greitai sistema gali atlikti tam tikras užduotis, ir tai matuojama sekundėmis arba milisekundėmis.
Jei atliekate apkrovos bandymus, galite įvertinti, kiek duomenų vienu metu gali apdoroti programinė įranga, kad ji nesugestų ar neatsiliktų.
2. Klaidų pranešimų siuntimas
Atliekant nefunkcinį testavimą taip pat tikrinama, kaip sistema veikia, kai atsiranda klaidų, pavyzdžiui, saugumo, patvirtinimo ir konfigūracijos klaidų.
Svarbu, kad sistemos rodytų tikslius ir aiškius pranešimus apie klaidas, kai jų pasitaiko, kad naudotojai galėtų imtis veiksmų problemai ištaisyti ir toliau naudotis programine įranga.
Klaidų pranešimai turėtų būti rodomi ir atliekant saugumo bandymus, kai sistema neleidžia naudotojams pažeisti programinės įrangos integruotų saugumo funkcijų.
3. Avarijos
Sutrikimas yra sistemos gedimo požymis ir paprastai rodo, kad sistema negali veikti tokiu lygiu, kokiu testuojate, ir gali reikšti, kad testas nepraeina.
Kai kuriais atvejais sistema gali sugesti, bet vis tiek išlaikyti testavimo atvejį, su kuriuo dirbate, pavyzdžiui, jei sistema prieš sugriūdama atlaiko reikiamą apkrovą arba srautą.
Atlikdami nefunkcinius bandymus, bandytojai turėtų tikėtis, kad sistema reguliariai sutriks, ypač tada, kai testuojant nepalankiausiomis sąlygomis ir atliekant kitus našumo bandymus ji bus naudojama iki galo.
Nefunkcinių testų pavyzdžiai
Nefunkcinių testų pavyzdžiai yra panašūs į pirmiau pateiktus pavyzdžius, skirtus nefunkciniams testavimo atvejams.
Norėdami geriau suprasti, kas yra nefunkcinis testavimas ir ką jis tikrina programinėje įrangoje, galite peržiūrėti nefunkcinių testų pavyzdžius.
1. Veiklos testavimo pavyzdys
Jei kuriate mobiliąją programėlę, kuria naudotojai prijungiami prie internetinės duomenų bazės, svarbu, kad daug naudotojų vienu metu galėtų pasiekti ir atsisiųsti duomenis iš šios duomenų bazės.
Tai taip pat yra svarbi mastelio keitimo bandymų dalis, ypač jei ateityje norite padidinti programėlės naudotojų skaičių.
Tada išbandysite, kaip sistema reaguoja, kai, pavyzdžiui, 1000 naudotojų vienu metu bando prisijungti prie tos pačios duomenų bazės, ir nustatysite reikalavimus, kaip greitai programa turėtų būti įkeliama tokiomis sąlygomis.
2. Suderinamumo bandymai
Jei bandote naują dokumentų valdymo programą, turite patikrinti, ar ji veikia visuose įrenginiuose, kuriems ji skirta.
Tai reiškia, kad reikia patikrinti, ar galite įdiegti ir įkelti programą visose naujausiose „Windows”, „Mac” ir kitose operacinėse sistemose (pvz., ” Linux”), su kuriomis norite, kad programinė įranga būtų suderinama.
3. Saugumo testavimas
Atlikdami saugumo bandymus išbandysite kai kuriuos būdus, kuriais žmonės gali bandyti pasiekti konfidencialius duomenis arba pažeisti programinės įrangos apsaugos priemones, kad patikrintumėte, ar sistema tokiais atvejais elgiasi taip, kaip tikitės.
Pavyzdžiui, galite prisijungti kaip naudotojas ir bandyti pasiekti failus, kuriems neturite saugumo leidimo, kad įsitikintumėte, jog sistema neleis jums pasiekti šių failų.
Aptiktų klaidų ir klaidų tipai
atliekant nefunkcinį testavimą
Nefunkcinis testavimas gali atskleisti daug klaidų ir defektų, kuriuos ne taip lengva rasti kaip tuos, kurie buvo nustatyti atliekant funkcinį testavimą. Taip yra todėl, kad nefunkciniams bandymams dažnai reikia, kad bandytojai patikrintų įvairias konfigūracijas, nustatymus ir sąlygų derinius, kad įvertintų, kaip gerai sistema veikia esant daugybei skirtingų nustatymų.
1. Veiklos defektai
Veikimo defektai atsiranda tada, kai sistema veikia, bet ne taip greitai arba ne taip efektyviai, kaip tikitės.
Pavyzdžiui, galite pastebėti, kad tam tikromis sąlygomis sistema įkeliama nepakankamai greitai arba net sutrinka, jei vienu metu prisijungia per daug naudotojų.
Veikimo defektai visiškai netrukdo žmonėms naudotis jūsų programine įranga, tačiau dėl jų jūsų programinė įranga gali būti mažiau patogi naudoti ir mažiau tikėtina, kad ji atitiks naudotojų reikalavimus.
2. Saugumo trūkumai
Saugumo defektai – tai defektai, kurie turi įtakos programinės įrangos sistemos ir joje saugomų duomenų saugumui.
Saugumo trūkumų gali atsirasti, jei, pavyzdžiui, naudotojai gali pasiekti konfidencialius duomenis, prie kurių jie neturėtų prieiti, jei tam tikros programos dalys nėra tinkamai apsaugotos slaptažodžiu arba jei nepavyksta užšifruoti.
Dėl to gali būti pažeistas saugumas, o tai gali turėti didelį poveikį programinės įrangos leidėjo reputacijai.
3. Funkciniai defektai
Nors nefunkcinis testavimas neskirtas programinės įrangos funkcijoms tikrinti, kai kuriais atvejais nefunkcinis testavimas gali padėti nustatyti programinės įrangos funkcinius defektus.
Pavyzdžiui, patikimumo testavimo tikslas yra ne patikrinti, ar programėlė veikia, bet patikrinti, ar programėlė veikia patikimai pakartotinai.
Tai gali atskleisti, kad kai kurios funkcijos, kartojant veiksmą, veikia nepatikimai, ir tai gali būti laikoma funkcinėmis klaidomis.
Bendrosios nefunkcinio testavimo metrikos
Nefunkcinio testavimo metrikos apibūdina tas metrikas, kuriomis matuojamas sistemos našumas ir efektyvumas.
Skirtingi nefunkcinio testavimo tipai remiasi skirtingais rodikliais, o jūs galite rinktis įvairius rodiklius, atsižvelgdami į galutinius projekto tikslus.
1. Laikas
Laiko rodikliais matuojama, kiek laiko reikia tam tikroms užduotims atlikti arba kiek laiko naudotojai turi laukti, kol bus įkeltos funkcijos.
Keletas laiko metrikų pavyzdžių: operacijų arba atsisiuntimų, kuriuos programa gali atlikti per tam tikrą laiką, skaičius, įvairių funkcijų atsako laikas ir laikas, per kurį programa atlieka tam tikrą operaciją.
Įvairių tipų testų rezultatai matuojami sekundėmis arba pateikiami kaip operacijų per sekundę skaičius.
2. Erdvė
Erdvė yra dar vienas svarbus nefunkcinio testavimo rodiklis. Erdvės rodikliais gali būti tikrinama, kiek vietos procesoriuje reikia sistemai arba kiek vietos kietajame diske užima visiškai įdiegta programinė įranga.
Keletas erdvės rodiklių pavyzdžių apima spartinančiąją atmintį, pagrindinę atmintį ir pagalbinę atmintį.
Programinė įranga, kuriai sklandžiai veikti reikia daug vietos, gali būti tinkama mažesniam klientų skaičiui.
3. Naudojimo patogumas
Kai kuriais nefunkcinio testavimo rodikliais atsižvelgiama į sistemos tinkamumą naudoti, pavyzdžiui, kiek laiko užtrunka išmokyti naudotojus tinkamai naudotis sistema, kiek pasirinkimų naudotojams reikia pasirinkti norint atlikti pagrindines funkcijas arba kiek pelės paspaudimų reikia tam tikroms užduotims atlikti.
Nefunkciniais bandymais galima kiekybiškai įvertinti kiekvieną iš šių rodiklių, o mažesni skaičiai paprastai reiškia aukštesnį tinkamumo naudoti lygį.
4. Patikimumas
Kitas svarbus nefunkcinio testavimo rodiklis yra patikimumas. Patikimumas atspindi tikimybę, kad sistema kartas nuo karto elgsis taip pat arba ilgą laiką veiks taip, kaip turėtų.
Kai kurie patikimumui matuoti naudojami tokie rodikliai: vidutinis laikas iki gedimo, gedimų dažnis, prieinamumas ir prastovos tikimybė.
Kiekvienas iš šių rodiklių padeda testuotojams patikrinti, ar sistema gali veikti ilgą laiką be sutrikimų ar gedimų.
5. Atsparumas
Patvarumas – tai matas, rodantis, kaip gerai sistema susidoroja su trikdžiais ir kaip gerai sistema gali atsistatyti, jei įvyktų triktis.
Keletas patikimumą vertinančių rodiklių pavyzdžių: laikas, per kurį sistema atsistato po gedimo, incidentų, kurie baigiasi katastrofišku gedimu, procentinė dalis ir tikimybė, kad sugedus sistemai bus sugadinti duomenų failai.
Tai svarbūs rodikliai, nes naudotojai tikisi, kad sistemos kartais gali sugesti neprarandant visų duomenų ar nesugadinant failų.
6. Pernešamumas
Perkeliamumo rodikliais vertinama, kaip lengvai programinę įrangą galima perkelti į skirtingas sistemas arba perkelti į kitą tinklo vietą.
Keletas perkeliamumo vertinimo rodiklių pavyzdžių: neperkeliamo kodo procentinė dalis ir sistemų, kuriose gali veikti programinė įranga, skaičius.
Idealiu atveju programinė įranga, kuri gali veikti daugybėje skirtingų sistemų, yra lengviau perkeliama, todėl ją patogiau naudoti aplinkoje, kurioje gali tekti dažnai perkelti arba perkelti.
Nefunkcinių bandymų atlikimo strategijos
Pradedant nefunkcinį testavimą, svarbu į šį testavimo etapą žvelgti turint strategiją. Prieš pradėdami nefunkcinį testavimą, QA vadovai ir programinės įrangos testavimo vadovai turėtų apsvarstyti testavimo riziką, turimus išteklius ir testavimo tikslą.
Strategijos kūrimas gali padėti optimizuoti nefunkcinius testus nuo pat pradžių.
1. Paskirstykite vaidmenis ir atsakomybę
Prieš pradėdami nefunkcinį testavimą, paskirstykite vaidmenis ir atsakomybę pagrindiniams testavimo komandos nariams. Taip lengviau valdyti nefunkcinių bandymų darbo krūvį ir užtikrinti, kad patyrę testuotojai būtų atsakingi už atliekamų bandymų kokybę ir veiksmingumą.
Įsitikinkite, kad žmonės, kuriuos pasirinkote šioms pareigoms, turi pakankamai žinių ir patirties, kad galėtų atlikti užduotis, kurių iš jų tikitės, ypač jei šioms užduotims atlikti reikia techninių įgūdžių.
2. Surinkite atitinkamas testavimo priemones
Surinkite visas technologijas ir įrankius, kuriuos norite naudoti nefunkciniam testavimui atlikti. Įsitikinkite, kad visi jūsų komandos nariai žino, kaip veiksmingai jomis naudotis, ir, jei reikia, surenkite mokymus, kad užpildytumėte įgūdžių spragas.
Prieš pradedant nefunkcinį testavimą įsitikinkite, kad visi žino, kokius testavimo įrankius naudoti ir kaip jais naudotis, ir taip sumažinsite riziką, kad dėl nepakankamų žinių teks sustabdyti testavimą arba iš naujo atlikti bandymus.
3. Nustatykite testavimo prioritetus
Prieš pradėdami nefunkcinį testavimą, sudarykite visų sistemos aspektų, kuriuos reikia išbandyti, sąrašą ir nustatykite jų prioritetus pagal skubumą ir svarbą.
Nefunkcinio testavimo prioritetus galite nustatyti pagal kiekvieno testuojamos sistemos aspekto rizikos lygį.
Pavyzdžiui, gali būti atliekamas pagrindinis saugumo testavimas, nes šiuolaikinėje programinėje įrangoje tinkamas saugumas laikomas itin svarbiu. Kuo anksčiau nustatysite didelės rizikos defektus, tuo mažesnis galimas šių defektų poveikis kitiems sistemos aspektams.
7 geriausi nefunkcinio testavimo įrankiai
Nefunkcinio testavimo įrankiai gali supaprastinti testavimo procesą, palengvinti ir atpiginti testavimo automatizavimą ir padėti QA vadovams valdyti testavimo ir dokumentavimo procesą.
Internete yra daug nemokamų nefunkcinio testavimo įrankių, taip pat keletas įrankių, už kurių atnaujinimą galite mokėti mėnesinį mokestį.
1. ZAPTEST NEMOKAMAS leidimas
ZAPTEST yra populiari programinės įrangos testavimo priemonė, leidžianti naudotojams greitai ir lengvai atlikti funkcinius ir nefunkcinius programinės įrangos testus. Galite naudoti „ZAPTEST” programinės įrangos testams automatizuoti ir naudoti RPA technologiją, kad imituotumėte įvairias funkcijas ir sąlygas nefunkciniuose testuose.
„ZAPTEST FREE edition” yra tik sumažinta verslo versijos versija, kurioje yra daug tų pačių funkcijų mažesniu mastu. Galite kreiptis pagalbos į ZAPTEST forumą ir atlikti našumo bandymus su neribotu skaičiumi virtualių naudotojų.
2. Appium
„Appium” yra nemokama programinės įrangos testavimo priemonė, kuri labiausiai tinka mobiliosioms programoms testuoti įvairiose platformose, įskaitant „iOS” ir „Android” įrenginius. „Appium” suteikia naudotojams daug lankstumo kuriant savo testavimo sistemas ir strategijas, kartu pasinaudojant „Appium” siūlomomis automatizavimo galimybėmis.
3. Loadium
„Loadium” yra nefunkcinio testavimo įrankis, kurį geriausia naudoti našumo testavimui ir apkrovos testavimui – dviejų tipų nefunkciniam testavimui, kurį daug lengviau atlikti naudojant automatizavimo įrankius.
„Loadium” leidžia naudotojams atlikti didelės apimties apkrovos testus ir siūlo individualius sprendimus, kad galėtumėte pritaikyti testus savo programinės įrangos tikslams.
Galite išbandyti „Loadium” nemokamai arba susimokėti ir atsisiųsti pilną programos versiją.
4. Obkio
„Obkio” yra programinės įrangos testavimo įrankis, kuris padeda QA vadovams ir testavimo vadovams nustatyti prioritetus ir suskirstyti problemas pagal jų rimtumą. „Obkio” gali aptikti problemas anksčiau nei naudotojai, pateikti naudotojams išmaniuosius pranešimus ir padėti nustatyti problemos vietą.
„Obkio” skirta ne tik nefunkciniam testavimui, bet yra labai naudinga nemokama testavimo priemonė, kurią galima naudoti visuose testavimo gyvavimo ciklo etapuose.
5. SonarQube
„SonarQube” yra atvirojo kodo saugumo testavimo įrankis, kuris gali automatiškai analizuoti kodą ir aptikti klaidų bei pažeidžiamumų. „Java” kalba parašytą „SonarQube” galite naudoti daugiau nei dvidešimties skirtingų programavimo kalbų kodui analizuoti, o švari sistemos sąsaja leidžia lengvai aptikti problemas, dėl kurių ateityje gali atsirasti saugumo spragų.
6. Tsung
„Tsung” yra dar vienas nefunkcinio testavimo įrankis, kuris idealiai tinka, jei norite automatizuoti apkrovos ir streso testavimą, bet nesusidorojate su nemokama „Loadium” versija.
„Tsung” yra atvirojo kodo įrankis, leidžiantis naudotojams atlikti didelės apimties apkrovos bandymus su keliais protokolais ir serveriais, įskaitant HTTP ir SOAP.
„Tsung” yra visiškai nemokama ir gali padėti testuotojams užtikrinti, kad jų kuriama programinė įranga pasižymėtų dideliu našumu įvairiomis sudėtingomis sąlygomis.
7. Sikuliai
„Sikuli” yra dar viena programa, kurioje testavimo procesui automatizuoti naudojamas robotizuotas procesų automatizavimas. Programa galima automatizuoti bet ką, kas matoma ekrane. Galite naudoti „Sikuli” ne žiniatinklio programoms testuoti ir greitai atkurti klaidas.
Nefunkcinio testavimo kontrolinis sąrašas, patarimai ir gudrybės
Prieš pradėdami nefunkcinius bandymus patikrinkite, ar turite viską, ko reikia išsamiems nefunkciniams bandymams atlikti parengtoje aplinkoje.
Prieš pradėdami nefunkcinį testavimą, vadovaukitės toliau pateiktu kontroliniu sąrašu, kuriame rasite patarimų ir gudrybių.
1. Darbas pagal tvarkaraštį
Nesvarbu, ar jį įtrauksite į bandymų planą, ar sukursite atskirą dokumentą, programinės įrangos bandymus struktūruokite pagal bandymų tvarkaraštį.
Jei rasite daugiau klaidų ir defektų, nei tikitės, kartais galite nukrypti nuo grafiko, tačiau pradinis grafikas gali padėti vadovauti testuotojams ir motyvuoti juos efektyviai dirbti, ypač atliekant daug laiko reikalaujančius rankinius testus.
2. Nustatykite savo bandymų komandą
Atsakomybės delegavimas ir testavimo grupės narių priskyrimas oficialiems vaidmenims ir pavadinimams gali padėti užtikrinti, kad testavimo procesas vyktų sklandžiai.
Prieš pradėdami testavimą, komandoje aiškiai nurodykite vaidmenis ir atsakomybę ir paskirkite skirtingiems testuotojams atsakomybę už skirtingus nefunkcinio testavimo aspektus, kad kiekvienas būtų atsakingas už savo užduotis.
3. Pasirinkti priemones ir technologijas prieš pradedant bandymus
Jei nuspręsite dirbti su tam tikrais įrankiais ir technologijomis tik pradėję nefunkcinį testavimą, tai gali stabdyti testavimo procesą ir sukelti painiavą tarp testuotojų.
Vietoj to iš anksto atlikite tyrimą ir nuspręskite, ar yra kokių nors įrankių, kuriuos norite naudoti prieš pradėdami bandymus. Todėl šias priemones lengva įtraukti į bandymų planą ir prieš pradedant bandymus apmokyti testuotojus jomis naudotis.
4. Visada gaukite oficialų testų ir dokumentų patvirtinimą.
Testavimas – tai kokybės užtikrinimo procesas, todėl geriausias būdas maksimaliai padidinti atliekamų testų vertę – atlikti pagrindinius planuojamų ir atliekamų testų kokybės užtikrinimo veiksmus.
Įdiekite paprastus protokolus, pagal kuriuos testuotojai, prieš pereidami prie kito etapo, turi paprašyti QA vadovų ir vadovų peržiūrėti ir pasirašyti testavimo planus ir testavimo ataskaitas.
Tai labai padidina tikimybę, kad testavimo klaidos bus pastebėtos ir ištaisytos anksti.
7 klaidos ir spąstai, kurių reikia vengti įgyvendinant nefunkcinius testus
Jei esate naujokas nefunkcinio testavimo srityje, gali būti lengva padaryti keletą bendrų klaidų, kurias dažnai daro testuotojai ir kokybės užtikrinimo specialistai.
Nefunkcinis testavimas – tai sudėtingas darbas, kurį atliekant reikia išnagrinėti programinę įrangą iš visų pusių ir perspektyvų.
Toliau pateikiame sąrašą kai kurių dažniausiai pasitaikančių klaidų, kurias testuotojai padaro atlikdami nefunkcinį testavimą.
1. Neplanuoja
Jei esate naujokas nefunkcinio testavimo srityje, galite manyti, kad galite tiesiog pasinerti į testavimo etapą, iš anksto nesudarydami išsamaus testavimo plano.
Kai kurios testavimo komandos gali parengti neišsamius testavimo dokumentus arba paviršutiniškas testavimo plano santraukas, kuriose nėra tinkamai aprašyti veiksmai, kuriuos testuotojai turi atlikti nefunkcinio testavimo metu.
2. Netinkamas testavimo valdymas
Problemų gali kilti, jei testai netinkamai valdomi bet kuriame testavimo proceso etape. Netinkamas valdymas gali reikšti, kad testuotojai neturi tinkamų išteklių, kad galėtų kruopščiai atlikti testavimą, arba kad testuotojams neskiriama pakankamai laiko išbandyti kiekvieną kūrimo aspektą.
Testavimo vadovai turi gebėti mokytis iš padarytų klaidų ir kurti veiksmingesnius testavimo planus.
3. Prastas bendravimas
Dėl prasto bendravimo gali kilti daug problemų testavimo procese, ypač atliekant nefunkcinį testavimą.
Tai gali reikšti prastą bendravimą testavimo komandoje arba prastą bendravimą tarp testuotojų, kūrėjų ir suinteresuotųjų šalių.
Taip dažnai nutinka, kai testuotojai netinkamai tvarko testavimo dokumentus arba testavimo proceso metu nereguliariai bendrauja su kitais skyriais.
4. Kūrėjų ignoravimas
Testuotojai ir kūrėjai paprastai dirba atskirai, tačiau testavimo komandoms, kurios glaudžiai bendradarbiauja su kūrėjais, gali būti naudingos papildomos žinios apie tai, kaip veikia programinė įranga ir kaip įvairūs moduliai sąveikauja tarpusavyje.
Kūrėjų įtraukimas į testavimo procesą arba prašymas, kad kūrėjai svarbiausiais momentais pateiktų atsiliepimus, gali padėti testavimo komandoms sudaryti veiksmingesnius ir išsamesnius testavimo planus.
5. Testavimo tikslas
Daugelis testuotojų vis dar mano, kad testavimo tikslas – patikrinti, ar programinė įranga veikia, arba įrodyti suinteresuotosioms šalims ir investuotojams, kad programinė įranga veikia.
Vietoj to, testuotojai turėtų į testavimą žiūrėti su nuostata, kad testavimo tikslas – ieškoti defektų.
Defektų nerandantys testuotojai gali džiaugtis, kad jų testuojamoje programinėje įrangoje nėra klaidų, tik tada, jei jie yra įsitikinę, kad ieškojo visur, kur galima rasti defektų.
6. Rankinio ir automatinio valdymo klaidos
Svarbu skirti laiko apsvarstyti, ar kiekvienam jūsų atliekamam testavimo tipui labiau tinka rankinis, ar automatinis testavimas.
Automatinio testavimo metodai labai gerai tinka beveik visoms nefunkcinio testavimo formoms, o testavimo komandos, įpratusios prie funkcinio testavimo, gali klysti manydamos, kad nefunkcines funkcijas galima taip pat lengvai testuoti rankiniu būdu.
7. Netinkamų testavimo įrankių naudojimas
Prieš pradedant nefunkcinį testavimą lengva pasirinkti netinkamas testavimo priemones ir technologijas, ypač jei testavimo komandos yra įpratusios atlikti rankinį testavimą ir nėra įpratusios naudotis testavimo priemonėmis.
Iš anksto išnagrinėkite nefunkcinio testavimo metodus, kuriuos norite naudoti, ir pasirinkite konkrečius projekto reikalavimus atitinkančias programinės įrangos ir automatizavimo priemones.
Išvada
Nefunkcinis testavimas yra esminis testavimo proceso etapas, leidžiantis testuotojams patikrinti, kaip gerai sistema veikia ir kiek ji atitinka nefunkcinius reikalavimus, pavyzdžiui, pakrovimo laiką, talpą ir saugumo užtikrinimą.
Yra daug skirtingų būdų, kaip atlikti nefunkcinį testavimą, tačiau šiuolaikiniai automatizavimo įrankiai padeda padidinti testų aprėptį ir tikslumą, nepakenkiant rezultatų kokybei.
DUK ir ištekliai
Jei norite daugiau sužinoti apie nefunkcinį testavimą, internete rasite daug DUK ir išteklių.
Peržiūrėkite mūsų mėgstamiausius internetinius nefunkcinio testavimo šaltinius arba perskaitykite atsakymus į dažniausiai užduodamus klausimus apie nefunkcinį testavimą.
1. Geriausi nefunkcinio testavimo kursai
Internete galima rasti daugybę kursų, kurie gali padėti pagilinti žinias apie nefunkcinio testavimo metodus ir būdus.
Kai kuriuos iš šių kursų galima lankyti nemokamai, o kituose už tam tikrą mokestį galima gauti sertifikatą ar kvalifikaciją. Jei norite lankyti akredituotus kursus, galite pasiteirauti darbdavio, ar jis galėtų jus paremti ir padengti mokymo išlaidas.
Vieni geriausių nefunkcinio testavimo kursų yra šie:
- TSG: nefunkcinis 2 dienų kursas
- „Udemy”: 2023 m. programinės įrangos testavimo stovykla
- Edx: Programinės įrangos testavimo specialisto sertifikatas
- Šviečiamojo pobūdžio: Veiklos testavimo automatizavimas 101
2. Kokie yra 5 svarbiausi interviu klausimai apie nefunkcinį testavimą?
Jei ruošiatės pokalbiui dėl darbo programinės įrangos testavimo srityje, pokalbio vedėjas gali užduoti klausimų apie nefunkcinį testavimą, kad įsitikintų, jog suprantate, kaip veikia šis esminis programinės įrangos testavimo etapas. Pasiruoškite pokalbiui iš anksto parengdami veiksmingus atsakymus į dažniausiai pasitaikančius pokalbio klausimus.
● Kuo gali skirtis metodai ir būdai, kuriuos naudojate nefunkciniam testavimui, nuo metodų, kuriuos naudojate funkciniam testavimui?
● Kuo nefunkcinis testavimas skiriasi nuo funkcinio testavimo?
● Kokie yra skirtingi nefunkcinio testavimo tipai?
● Kaip nustatote funkcinių testų ir testavimo atvejų prioritetus?
● Kokiame programinės įrangos testavimo etape paprastai atliekamas funkcinis testavimas?
3. Geriausios „YouTube” pamokos apie nefunkcinį testavimą
Jei mėgstate mokytis žiūrėdami vaizdo įrašus, galbūt jums pravers „YouTube” pamokos apie nefunkcinį testavimą, kad sužinotumėte daugiau apie šį programinės įrangos testavimo būdą.
Toliau pateikiame keletą geriausių šiandien prieinamų „YouTube” mokomųjų programų apie programinės įrangos testavimą.
Kas yra nefunkcinis programinės įrangos testavimas? Programinės įrangos testavimo vadovėlis
Pagalba programinės įrangos testavimui: Nefunkcinis testavimas
Nefunkcinis testavimas programinės įrangos testavime
Apsilankykite W3Schools
Funkcinis ir nefunkcinis testavimas
4. Kaip prižiūrėti nefunkcinius testus
Tinkama bandymų priežiūra užtikrina, kad programinės įrangos bandymus būtų galima kartoti nepakenkiant bandymų rezultatų kokybei.
Palaikydami nefunkcinius testus galite užtikrinti, kad testavimas kiekviename kūrimo proceso etape būtų tinkamas ir kad testai būtų nuolat atnaujinami atsižvelgiant į nuolat kintantį kodą.
Nefunkcinius testus galite išlaikyti vadovaudamiesi toliau pateiktais patarimais.
● Aiškiai bendrauti su testavimo komanda kuriant testavimo atvejus ir rašant dokumentaciją
● Visada laikykitės geriausios bandymų projektavimo praktikos
● Iš naujo įvertinti testavimo protokolus įvairiuose testavimo proceso etapuose.
● Atnaujinkite testo pakeitimus
Atlikdami dabartinių testų pakeitimus atsižvelkite į būsimus projektus.
5. Ar nefunkcinis testavimas yra juodosios ar baltosios dėžės testavimas?
Nefunkcinis testavimas yra juodosios dėžės testavimo rūšis, t. y. testuotojams nerūpi vidinis sistemos veikimas, o tik jos išoriniai rezultatai.
Tai skiriasi nuo „baltosios dėžutės” testavimo, kai tikrinama, kaip sistema veikia iš vidaus. „Baltosios dėžės” testavimo pavyzdžiai – vieneto testavimas ir integracijos testavimas.
Funkcinių ir nefunkcinių reikalavimų testavimas yra juodosios dėžės testavimo pavyzdžiai. Tai reiškia, kad norint atlikti juodosios dėžės testavimą, testuotojams nereikia aukštesnių techninių įgūdžių ar kompiuterinio programavimo žinių, taip pat jiems nereikia mokytis, kaip įgyvendinti testuojamas sistemas.