Ei-toiminnallisella testauksella tarkoitetaan ohjelmistotestausta, jolla testataan ohjelmistosovelluksen ei-toiminnallisia näkökohtia.
Ei-toiminnallista testausta on monenlaista, ja joitakin ohjelmistotestaustyyppejä voidaan pitää sekä toiminnallisena että ei-toiminnallisena testauksena samanaikaisesti.
Ei-toiminnallinen testaus on välttämätöntä, koska siinä arvioidaan keskeisiä käyttäjäkriteerejä, kuten suorituskykyä ja käytettävyyttä, ja tarkistetaan, toimiiko ohjelmisto odotetulla tavalla sen perustoimintojen ulkopuolella.
Tässä artikkelissa tarkastelemme ei-toiminnallisen testauksen määritelmää ja ominaisuuksia sekä ei-toiminnallisen testauksen tyyppejä, lähestymistapoja ei-toiminnalliseen testaukseen ja testaustyökaluja, joiden avulla voit optimoida ja parantaa omia ei-toiminnallisia testausprosessejasi.
Mitä on ei-toiminnallinen testaus?
Ei-toiminnallinen testaus on mikä tahansa ohjelmistotestaus, jossa testataan ohjelmiston rakentamisen ei-toiminnallisia näkökohtia.
Esimerkkejä ei-toiminnallisesta testauksesta ovat testaus, jonka tarkoituksena on arvioida kapasiteettia, suorituskykyä, käytettävyyttä, palautumista ja siirrettävyyttä.
Näiden muiden kuin toiminnallisten kriteerien laadun ja tilan tarkistaminen on yhtä tärkeää kuin ohjelmiston toimintojen tarkistaminen, mutta näitä parametreja ei testata tavanomaisessa toiminnallisessa testauksessa.
Muulla kuin toiminnallisella testauksella tarkoitetaan lähinnä sitä, että testataan, miten ohjelmiston toiminnot toimivat, eikä niinkään sitä, toimivatko ne.
1. Milloin tarvitset ei-toiminnallista testausta?
Ei-toiminnallinen testaus suoritetaan ohjelmistotestauksen järjestelmätestauksen vaiheessa sen jälkeen, kun yksikkötestaus ja integrointitestaus on suoritettu.
Järjestelmätestauksen aikana testaajat suorittavat sekä toiminnallista että ei-toiminnallista testausta aloittaen toiminnallisesta testauksesta.
Kun testaajat ovat todenneet, että ohjelmisto toimii odotetulla tavalla, he suorittavat ei-toiminnallisen testauksen arvioidakseen, täyttääkö ohjelmisto myös muut kuin toiminnalliset parametrit.
Toiminnallinen testaus on yleensä tarpeen suorittaa ennen ei-toiminnallista testausta, koska on mahdotonta testata sellaisten toimintojen luotettavuutta tai suorituskykyä, jotka eivät toimi lainkaan. Ei-toiminnallinen testaus on yksi ohjelmistotestauksen viimeisistä vaiheista ennen käyttäjän hyväksymistestausta ja tuotteen lopullista julkaisua.
2. Kun et tarvitse ei-toiminnallista testausta
On aina tärkeää testata ohjelmiston muita kuin toiminnallisia osia, ellei niitä ole jo testattu ja todettu riittäviksi.
Vaikka olisit testannut ohjelmiston muita kuin toiminnallisia parametreja jo aiemmin, voi olla tarpeen testata muita kuin toiminnallisia parametreja uudelleen, esimerkiksi jos ohjelmistoon on lisätty uusia ominaisuuksia tai jos koodiin on tehty muutoksia, jotka voivat vaikuttaa suorituskykyyn ja luotettavuuteen.
Ei-toiminnallisen testauksen tavoitteet
Ei-toiminnallisen testauksen tavoitteena on tarkistaa, että tuote vastaa käyttäjien odotuksia, ja optimoida tuote ennen julkaisua.
Se voi myös auttaa kehittäjiä ja testaajia ymmärtämään ohjelmistoa paremmin ja käyttämään tätä tietoa tulevissa optimoinneissa.
1. Laadunvalvonta
Ei-toiminnallisella testauksella pyritään testaamaan tekijöitä, jotka vaikuttavat tuotteen käytettävyyteen, luotettavuuteen, ylläpidettävyyteen, siirrettävyyteen ja tehokkuuteen.
Näiden elementtien testaamisella varmistetaan, että markkinoille saatettu tuote on riittävän laadukas ja vastaa käyttäjien odotuksia suorituskyvyn, latausaikojen ja käyttäjäkapasiteetin osalta.
2. Riskienhallinta
Ei-toiminnallinen testaus vähentää myös tuotteen markkinoille saattamiseen liittyviä riskejä ja kustannuksia maksimoimalla tiimin mahdollisuudet julkaista tyydyttävä tuote.
Tarkistamalla ohjelmiston rakentamisen ei-toiminnalliset parametrit on mahdollista vähentää tuotteen julkaisukustannuksia, koska myöhemmän jatkokehityksen ja ohjelmistomuutosten tarve vähenee.
3. Optimointi
Ei-toiminnallinen testaus auttaa testaajia ja kehittäjiä optimoimaan ohjelmiston rakentamisen ja suorituskyvyn asennuksen, käyttöönoton, toteutuksen ja käytön aikana.
Ei-toiminnallisen testauksen avulla voit myös optimoida tapaa, jolla hallitset ja seuraat ohjelmiston rakentamista.
4. Tietojen kerääminen
Ei-toiminnallisen testauksen avulla testaajat voivat kerätä ja tuottaa mittauksia ja metriikoita, joita testausryhmät voivat käyttää sisäiseen tutkimukseen ja kehittämiseen.
Voit käyttää ei-toiminnallisesta testauksesta keräämiäsi tietoja ymmärtämään, miten tuotteesi toimii ja miten voit optimoida sitä tehokkaammin käyttäjien kannalta.
5. Tietämyksen lisääminen
Ei-toiminnallinen testaus parantaa ja syventää testausryhmän tietämystä tuotteen käyttäytymisestä ja siinä käytetyistä tekniikoista.
Tämä ei ainoastaan auta testaustiimejä ymmärtämään paremmin ohjelmistoa, jonka parissa he työskentelevät, vaan se voi myös tarjota hyödyllistä tietoa, joka auttaa testaajia ymmärtämään paremmin tulevia versioita.
Kuka osallistuu ei-toiminnalliseen testaukseen?
Ei-toiminnallisen testauksen suorittavat yleensä testaajat laadunvarmistusympäristössä, mutta joskus kehittäjät voivat suorittaa ei-toiminnallista testausta myös kehityksen aikana.
Järjestelmätestauksen suorittavat lähes aina testaajat, ja tässä testausvaiheessa tehdään suurin osa ei-toiminnallisesta testauksesta.
Jos ei-toiminnalliset testit epäonnistuvat, testaajat lähettävät ohjelmiston takaisin kehittäjille, jotta nämä korjaavat suorituskyvyssä olevat virheet ennen uutta testausta.
Ei-toiminnallisen testauksen edut
Ei-toiminnallisesta testauksesta on monia etuja, ja ei-toiminnallinen testaus on olennainen vaihe järjestelmätestauksessa.
Ilman ei-toiminnallista testausta testausryhmät eivät pystyisi varmistamaan, että ohjelmisto todella täyttää asiakkaan vaatimukset tai että se täyttää ohjelmistokehityssuunnitelmassa asetetut vaatimukset.
1. Ohjelmiston suorituskyvyn parantaminen
Ei-toiminnallinen testaus voi auttaa testaajia ja kehittäjiä parantamaan ohjelmistosovellusten yleistä suorituskykyä. Ei-toiminnalliset testit tunnistavat alueet, joilla ohjelmiston suorituskyky on puutteellinen, esimerkiksi latausnopeuden tai käsittelykapasiteetin osalta, ja kehottavat ohjelmistotiimejä tekemään muutoksia näiden puutteiden korjaamiseksi.
Näin varmistetaan, että ohjelmistotiimit julkaisevat ohjelmiston yleisölle vasta, kun se on valmis ja kun sen suorituskyky on riittävän hyvä.
2. Pidä ohjelmisto turvallisena
Muuhun kuin toiminnalliseen testaukseen kuuluu tietoturvatestaus, joka on ratkaisevan tärkeää sen varmistamiseksi, että ohjelmisto on turvallinen ja suojattu ulkoisilta uhkilta ja hyökkäyksiltä.
Tietoturvatestauksen avulla testaajat ja kehittäjät voivat tarkistaa, että ohjelmisto suojaa luottamukselliset tiedot asianmukaisesti ja että siinä on riittävä suojaus nykyaikaisia verkkohyökkäyksiä vastaan.
3. Ohjelmiston käyttäjäystävällisyyden lisääminen.
Ei-toiminnallinen testaus on paras tapa tehdä ohjelmistostasi käyttäjäystävällisempi, erityisesti tekemällä käytettävyystestausta, jossa arvioidaan, kuinka helppoa käyttäjien on oppia käyttämään ja käyttämään ohjelmistoa.
Käyttäjäystävällisyys on erittäin tärkeää, koska se määrittää, kuinka tyytyväisiä käyttäjät ovat ohjelmistoosi, ja varmistaa, että käyttäjät pystyvät hyödyntämään kaikkea, mitä ohjelmistosi tarjoaa.
4. Varmistetaan, että ohjelmisto vastaa käyttäjien tarpeita
Sen varmistamisen, että ohjelmisto vastaa käyttäjien tarpeita, pitäisi olla yksi kaikkien ohjelmistokehitys- ja testausryhmien tärkeimmistä tavoitteista. Sen lisäksi, että käyttäjät odottavat ohjelmiston olevan toimiva, he odottavat myös, että ohjelmisto toimii hyvin, toimii sujuvasti ja suojaa luottamukselliset tiedot.
Ei-toiminnallinen testaus on yksi ainoista tavoista varmistaa, että ohjelmisto täyttää nämä vaatimukset.
Ei-toiminnallisen testauksen haasteet
Ei-toiminnallisessa testauksessa on joitakin haittoja. Vaikka ei-toiminnallinen testaus on olennaista ohjelmistotestauksen järjestelmätestauksen vaiheessa, ei-toiminnallinen testausprosessi voi aiheuttaa haasteita ohjelmistotyöryhmille, joilla ei ole riittävästi resursseja ja työkaluja.
1. Toisto
Ohjelmistotestauksessa ei-toiminnallinen testaus on suoritettava aina, kun kehittäjät päivittävät ohjelmistoa tai kun koodia muutetaan. Tämä tarkoittaa, että ei-toiminnallinen testaus voi olla hyvin toistuvaa, mikä vie aikaa ja väsyttää testaajia.
Väsyneet testaajat, jotka suorittavat hyvin toistuvia tehtäviä, ovat myös todennäköisemmin hajamielisiä ja tekevät virheitä.
2. Kustannukset
Koska ei-toiminnallinen testaus on niin toistuvaa, se voi olla myös melko kallista, erityisesti manuaaliseen ei-toiminnalliseen testaukseen tukeutuville testausryhmille.
Ohjelmistotiimien on varattava aikaa ja budjetti tiheään ei-toiminnalliseen testaukseen, ja ohjelmistokehittäjät joutuvat maksamaan lisämaksuja tästä ylimääräisestä testauksesta.
Mitä testaamme ei-toiminnallisessa testauksessa?
Ei-toiminnallisella testauksella voidaan testata monia erilaisia ei-toiminnallisia parametreja, joista jokainen vaikuttaa järjestelmän laatuun ja käytettävyyteen. Kukin näistä parametreista testataan järjestelmän testauksen aikana testaussuunnitelmassa esitettyjen kriteerien perusteella.
1. Turvallisuus
Tietoturvatestaus on eräänlaista ei-toiminnallista testausta, jossa mitataan, miten hyvin järjestelmä on suojattu ulkoisilta uhkilta ja hyökkäyksiltä. Näitä ovat tahalliset tietoturvaloukkaukset sekä tietovuodot ja muut yleiset tietoturvaloukkaukset.
Tietoturvatestaus on tärkeä vaihe ei-toiminnallisessa testauksessa, koska se antaa loppukäyttäjille ja asiakkaille varmuuden siitä, että heidän tietonsa ovat turvassa.
2. Luotettavuus
Testaajat käyttävät ei-toiminnallista testausta arvioidakseen ohjelmiston luotettavuutta ja varmistaakseen, että ohjelmisto pystyy jatkuvasti suorittamaan määritellyt toiminnot virheettömästi.
Toiminnallisella testauksella varmistetaan, että ohjelmisto suorittaa keskeiset toimintonsa, mutta vain ei-toiminnallisella testauksella testataan näiden tulosten luotettavuutta ja toistettavuutta.
3. Selviytymiskyky
Selviytymiskyky kuvaa, miten ohjelmistojärjestelmä reagoi, jos sen toiminta epäonnistuu, ja selviytymiskykytestauksella varmistetaan, että jos virheitä ja vikoja ilmenee, järjestelmä pystyy palautumaan.
Selviytymiskykytestauksessa voidaan tarkistaa, pystyykö ohjelmisto tallentamaan tietoja, jotta tietojen menetys olisi mahdollisimman vähäistä esimerkiksi äkillisen vian sattuessa.
4. Saatavuus
Ohjelmiston käytettävyydellä tarkoitetaan sitä, missä määrin käyttäjä voi luottaa järjestelmään sen toiminnan aikana. Tätä kutsutaan myös vakaudeksi, ja se testataan vakaustestauksella.
Vakavuustestaus muistuttaa jossain määrin luotettavuustestausta, koska siinä tarkistetaan, pystyykö järjestelmä toimimaan odotettujen standardien mukaisesti jatkuvasti.
5. Käytettävyys
Käytettävyystestaus on toinen tärkeä ei-toiminnallisen testauksen tyyppi ohjelmistotestauksessa. Tämäntyyppisessä testauksessa arvioidaan, kuinka hyvin käyttäjä pystyy oppimaan, käyttämään ja käyttämään ohjelmistojärjestelmää noudattamalla näytöllä annettuja ohjeita ja muita perusoppaita.
Käytettävyystestaus on tärkeää, sillä jos ohjelmisto ei ole erittäin helppokäyttöinen, useimmat käyttäjät yksinkertaisesti hylkäävät sen tai valitsevat jonkin muun vaihtoehdon.
6. Skaalautuvuus
Skaalautuvuuden testauksella testataan, missä määrin ohjelmistosovellus voi laajentaa käsittelykapasiteettiaan vastaamaan kasvavaa kysyntää.
Jos ohjelmisto on esimerkiksi suunniteltu siten, että sitä voi käyttää useampi käyttäjä yhdessä verkossa samanaikaisesti, miten se toimii, kun kymmenen käyttäjää kirjautuu sisään samanaikaisesti? Vaikuttavatko suuremmat käyttäjämäärät merkittävästi suorituskykyyn tai latausaikoihin?
7. Yhteentoimivuus
Yhteentoimivuuden testaus on eräänlainen ei-toiminnallinen testaus, jossa tarkistetaan, kuinka hyvin ohjelmistojärjestelmä on liitettävissä muihin ohjelmistojärjestelmiin.
Tämä on erityisen tärkeää silloin, kun ohjelmisto on suunniteltu osaksi useita tuotteita, jotka kaikki integroituvat toisiinsa.
8. Tehokkuus
Ohjelmistotestauksen tehokkuudella tarkoitetaan sitä, missä määrin ohjelmistojärjestelmä pystyy käsittelemään kapasiteettia, määrää ja vasteaikaa.
Testaajat voivat esimerkiksi arvioida, kuinka monta käyttäjää voi kirjautua järjestelmään kerralla, kuinka kauan kestää hakea tietoja tietokannasta tai kuinka nopeasti ohjelmisto pystyy suorittamaan perustehtäviä.
9. Joustavuus
Joustavuus mittaa sitä, missä määrin ohjelmistojärjestelmä voi toimia erityyppisten laitteistojen ja oheislaitteiden kanssa.
Esimerkiksi se, kuinka paljon RAM-muistia ohjelmisto vaatii tai vaatiiko se tietyn määrän suorittimia. Mitä alhaisemmat vaatimukset ohjelmistosovellukselle asetetaan, sitä joustavampi ohjelmisto on.
10. Siirrettävyys
Siirrettävyystestauksella testataan, kuinka joustavasti ohjelmisto voidaan siirtää nykyisestä laitteisto- tai ohjelmistoympäristöstä ja kuinka helppoa se on.
Siirrettävyys on tärkeää, koska se vaikuttaa siihen, miten helposti loppukäyttäjät voivat hallita ohjelmistoja ja siirtää niitä eri järjestelmien välillä.
11. Uudelleenkäytettävyys
Uudelleenkäytettävyystestaus on eräänlainen ei-toiminnallinen testaus, jossa testataan, voidaanko ohjelmistojärjestelmän osia muuntaa uudelleenkäytettäviksi toisessa sovelluksessa.
Vaikka uudelleenkäytettävyystestaus ei yleensä vaikuta asiakkaisiin ja loppukäyttäjiin, se on hyvä osoitus siitä, miten tehokkaasti kehittäjät luovat komponentteja, joita voidaan käyttää uudelleen tulevaisuudessa.
Muiden kuin toiminnallisten testien ominaisuudet
Sen ymmärtäminen, mitä ei-toiminnalliset testit ovat, edellyttää ei-toiminnallisten testien ominaisuuksien ymmärtämistä. Nämä ominaisuudet määrittelevät ei-toiminnallisen testauksen ohjelmistotestauksessa.
1. Mitattavissa
Ei-toiminnallinen testaus on aina kvantitatiivista ja mitattavaa, mikä tarkoittaa, että testaajat eivät käytä subjektiivisia ilmaisuja, kuten ”hieno” tai ”hyvä”, vaan kuvaavat ei-toiminnallisen testauksen tuloksia numeroin ja faktoin.
Sen sijaan, että esimerkiksi latausajat kuvattaisiin ”nopeiksi” tai ”hitaiksi”, ei-toiminnallisen testauksen pitäisi johtaa konkreettisiin lukuihin, joista käy ilmi latauskertojen määrä.
2. Erityinen
Kun suoritetaan muuta kuin toiminnallista testausta, testien tarkoituksen olisi oltava ohjelmiston suunnittelumäärittelyjen mukainen.
Jos esimerkiksi ohjelmistoprojektisuunnitelmassa viitataan käyttäjien määrään, joiden pitäisi pystyä kirjautumaan sisään kerralla, tämä olisi asetettava etusijalle ei-toiminnallisessa testauksessa.
3. Tuntematon
Vaikka ei-toiminnallinen testaus voidaan suunnitella erityisesti mittaamaan projektisuunnitelmissa määriteltyjä ominaisuuksia, monissa tapauksissa näitä ominaisuuksia ei määritellä etukäteen.
Tässä tapauksessa testaajien olisi yksinkertaisesti suoritettava ei-toiminnallista testausta arvioidakseen ohjelmistoa kunkin parametrin perusteella ja verrattava niitä myöhemmin odotuksiin.
Muiden kuin toiminnallisten testien elinkaari
Koska ei-toiminnallisella testauksella ei tarkoiteta tiettyä vaihetta ohjelmistotestauksen elinkaaressa, vaan yksinkertaisesti testaustyyppiä, joka yleensä suoritetaan ohjelmistotestauksen järjestelmätestauksen vaiheessa, ei-toiminnallisen testauksen elinkaari voi vaihdella paljonkin eri hankkeiden välillä.
Yleensä se noudattaa samanlaista elinkaarta kuin muutkin ohjelmistotestauksen tyypit, joka alkaa projektin vaatimusten analysoinnilla ja päättyy testien suorittamiseen ja syklin täyttämiseen.
1. Ohjelmistovaatimusten analysointi
Ei-toiminnallisen testauksen elinkaaren ensimmäinen vaihe on ohjelmistovaatimusten analysointi. Ohjelmistotiimit työskentelevät sovelluksia rakentaessaan ja testatessaan tiettyjen kriteerien mukaisesti, ja näiden kriteerien pitäisi määrätä, millaisia testejä on suoritettava.
2. Testauksen suunnittelu
Elinkaaren seuraava vaihe on testauksen suunnittelu. Testauksen suunnitteluvaiheessa laadunvarmistusjohtaja laatii yksityiskohtaisen testaussuunnitelman, jossa kerrotaan yksityiskohtaisesti, mitä testataan, kuka suorittaa testauksen ja mitä testaustapoja, -menetelmiä ja -työkaluja käytetään.
Testaussuunnitelman tulisi sisältää kaikki tarvittavat yksityiskohdat, joita testaajat tarvitsevat testitapausten luomiseksi ja toteuttamiseksi.
3. Testitapausten luominen
Testitapausten luominen on seuraava ei-toiminnallisen testauksen vaihe. Tässä vaiheessa kehitetään ei-toiminnallisia testitapauksia, joita testaajat suorittavat myöhemmässä vaiheessa testatakseen järjestelmän ei-toiminnalliset vaatimukset.
Testitapauksissa kuvataan, mitä testataan, miten se testataan ja mikä on testin odotettu tulos.
4. Testiympäristön asetukset
Seuraava vaihe ei-toiminnallisen testauksen elinkaaressa on testiympäristön perustaminen ennen testauksen aloittamista.
Testausympäristö on paikka, jossa kaikki testaus tapahtuu, ja siellä on resursseja ja työkaluja, joita käytät muiden kuin toiminnallisten testien suorittamiseen.
Testausryhmä valmistelee testiympäristön ennen testin suorittamista.
5. Testin suorittaminen
Testauksen suorittaminen on ei-toiminnallisen testauksen elinkaaren seuraava vaihe. Se sisältää aiemmin luotujen testitapausten suorittamisen ohjelmistosovellusten eri näkökohtien, kuten tietoturvan, latausajan, kapasiteetin ja siirrettävyyden, testaamiseksi.
Testiryhmä suorittaa jokaisen testitapauksen erikseen ja tarkistaa kunkin testin tuloksen verrattuna odotettuun tulokseen.
6. Syklin toistaminen
Ei-toiminnallisen testauksen elinkaaren viimeinen vaihe on syklin täyttäminen ja toistaminen. Kun kaikki testitapaukset on suoritettu, testaajat tarkistavat, mitkä testit ovat läpäisseet ja mitkä eivät.
Epäonnistuneet testit osoittavat yleensä, että testissä on vika, joka kehittäjien on korjattava. Kun kehittäjät ovat korjanneet tai muokanneet koodia, ohjelmistotestaussykli toistuu uudelleen, kunnes virheitä ei löydy.
Selvitän hieman sekaannusta:
Ei-toiminnallinen testaus vs. toiminnallinen testaus
Toiminnallinen testaus ja ei-toiminnallinen testaus ovat kaksi erilaista mutta yhtä tärkeää ohjelmistotestauksen tyyppiä, joiden avulla arvioidaan yhdessä, täyttääkö ohjelmistosovellus käyttäjien vaatimukset, jotka on määritelty projektin toimeksiannossa.
Vaikka molemmat ovat välttämättömiä testaustyyppejä, joiden avulla ohjelmistotiimit voivat tunnistaa ohjelmistojen rakennusvirheet, toiminnallinen ja ei-toiminnallinen testaus eroavat toisistaan täysin.
1. Mitä eroa on toiminnallisella ja ei-toiminnallisella testauksella?
Toiminnallisen ja ei-toiminnallisen testauksen ero on siinä, mitä ne testaavat. Toiminnallisessa testauksessa testataan sovelluksen toimintoja ja tarkistetaan, toimivatko ne odotetulla tavalla. Ei-toiminnallisella testauksella testataan muita sovelluksen osa-alueita, jotka vaikuttavat käyttäjätyytyväisyyteen ja sovelluksen laatuun.
Toiminnallinen ja ei-toiminnallinen testaus suoritetaan ohjelmistotestauksen eri vaiheissa, mutta molemmat testaustyypit suoritetaan yleensä järjestelmän testausvaiheessa.
Sekä toiminnallinen että ei-toiminnallinen testaus voivat auttaa meitä ymmärtämään, miten hyvin sovellus toimii ja suoriutuuko se tehtävistään asianmukaisesti.
Jos testaat esimerkiksi mobiilisovellusta, jonka avulla käyttäjät voivat tallentaa tehtävä- ja ostoslistoja, toiminnallisessa testauksessa voidaan testata esimerkiksi uuden listan luomista, listan tallentamista ja olemassa olevien listojen muokkaamista.
Ei-toiminnallisella testauksella voidaan arvioida, miten hyvin sovellus toimii eri mobiililaitteilla, miten nopeasti listat latautuvat ja miten paljon sovelluksen suorituskykyyn vaikuttaa, kun taustalla on käynnissä muita sovelluksia.
2. Johtopäätös: ei-toiminnallinen testaus vs. toiminnallinen testaus
Sekä toiminnallinen että ei-toiminnallinen testaus ovat tärkeitä ohjelmistotestauksen muotoja, joiden avulla testaajat ja laadunvarmistusryhmät voivat arvioida, täyttääkö sovellus sen nykyiset vaatimukset.
Toiminnallisessa testauksessa testataan ohjelmiston toimintoja, kun taas ei-toiminnallisessa testauksessa testataan muita näkökohtia, jotka voivat vaikuttaa suorituskykyyn, tehokkuuteen ja turvallisuuteen.
Yksikkötestaus, integrointitestaus ja API-testaaminen ovat kaikki toiminnallisen testauksen muotoja. Ohjelmistotestauksen jokaisessa vaiheessa testaajat arvioivat, miten hyvin toiminnot ja ominaisuudet toimivat joko yksittäin tai yhdessä, ja tunnistavat virheitä ja puutteita, jotka estävät toimintoja toimimasta odotetulla tavalla.
Tietoturvatestaus, käytettävyystestaus, siirrettävyystestaus ja kuormitustestaus ovat kaikki muun kuin toiminnallisen testauksen muotoja, joiden avulla testaajat voivat arvioida, miten hyvin sovellus toimii ja tukee käyttäjien tarpeita.
Muun kuin toiminnallisen testauksen tyypit
Ei-toiminnallista testausta on monenlaista, ja jokainen niistä testaa ohjelmistosovelluksen suorituskyvyn tai tehokkuuden eri ei-toiminnallista näkökohtaa.
Kukin näistä testityypeistä testaa eri parametreja, ja joissakin testeissä samoja parametreja voidaan testata eri tavoin.
1. Suorituskykytestit
Suorituskykytestit ovat eräänlainen ei-toiminnallinen testi, jolla tarkistetaan, miten hyvin eri ohjelmistokomponentit toimivat. Sen sijaan, että testattaisiin niiden toimivuutta, mikä on toiminnallisen testauksen tehtävä, suorituskykytesteillä voidaan testata vasteaikoja, pullonkauloja ja vikapisteitä. Suorituskykytestauksen avulla testaajat voivat varmistaa, että ohjelmisto on laadukas ja että se on nopea, vakaa ja luotettava.
2. Stressitestit
Stressitestaus on eräänlaista ei-toiminnallista testausta, jossa testataan, miten hyvin ohjelmisto toimii, kun sitä rasitetaan epätavallisen paljon. Tämä voi tarkoittaa esimerkiksi sitä, että testataan, miten ohjelmisto toimii, kun joku yrittää käyttää monia eri ominaisuuksia kerralla tai kun useita muita sovelluksia on käynnissä samaan aikaan.
Stressitestauksella pyritään tunnistamaan raja, jossa ohjelmisto lakkaa toimimasta kunnolla, ja mitä tapahtuu, kun järjestelmä on stressin alaisena. Sen avulla testaajat ymmärtävät, pystyykö järjestelmä palautumaan ja ilmoittaako se käyttäjille asianmukaisilla virheilmoituksilla.
3. Kuormitustestit
Kuormitustestaus on testaustyyppi, jossa arvioidaan, miten hyvin ohjelmisto käyttäytyy sekä normaaliolosuhteissa että raskaammissa kuormituksissa. Sitä käytetään sen määrittämiseen, kuinka paljon ohjelmisto voi käsitellä samanaikaisesti ilman, että suorituskyky kärsii.
Kuormitustestauksen avulla voidaan testata, miten sovellukset toimivat, kun monet käyttäjät käyttävät niitä samanaikaisesti tai kun käyttäjät yrittävät ladata paljon tietoja samanaikaisesti.
Kuormitustestaus on tärkeää, jos haluat tarkistaa, onko ohjelmistosi skaalautuva.
4. Turvallisuustestit
Tietoturvatesteissä arvioidaan ohjelmistosovelluksia ja etsitään haavoittuvuuksia ohjelmiston tietoturvassa. Näihin kuuluvat mahdolliset tietoturvariskit, jotka voivat johtaa tietojen katoamiseen tai tietoturvaloukkauksiin, jotka paljastavat luottamuksellisia tietoja.
Tietoturvatestaus on tärkeää, koska sillä varmistetaan, että tuote on riittävästi suojattu hakkeroinnilta, tietomurroilta ja muilta ulkoisilta tietoturvauhilta.
Esimerkkejä tietoturvatesteistä, joita testaajat voivat suorittaa, ovat tietoturvatarkastukset, eettinen hakkerointi, tunkeutumistestaus, tietoturvaskannaus ja asennon arviointi.
5. Päivitys- ja asennustestit
Päivitys- ja asennustestaus on eräänlainen ei-toiminnallinen ohjelmistotestaus, jossa tarkistetaan, miten hyvin ohjelmisto toimii eri koneilla.
Tämäntyyppisen testauksen tarkoituksena on varmistaa, että uudet käyttäjät voivat helposti asentaa ohjelmiston koneilleen ja että nykyiset käyttäjät voivat päivittää sen, kun uusia päivityksiä julkaistaan.
Päivitys- ja asennustestaus on tärkeää, koska loppukäyttäjien on voitava asentaa tuotteesi helposti, jos he työskentelevät sen kanssa yhteensopivalla koneella.
6. Tilavuuskokeet
Volyymitestaus on testaustyyppi, jonka tarkoituksena on tarkistaa, mitä tapahtuu, kun tietokantaan lisätään suuria tietomääriä kerralla. Näin selvitetään, pystyykö sovellus käsittelemään suuria tietomääriä ja mitä järjestelmälle tapahtuu, jos se ei pysty käsittelemään suuria tietomääriä.
Volyymitestaus tunnetaan myös nimellä tulvatestaus, ja sen avulla voit arvioida tietojen häviämistä ja virheilmoituksia, joita esiintyy, kun järjestelmään lisätään merkittäviä määriä tietoja.
Volyymitestaus on ainoa tapa varmistaa, että ohjelmisto pystyy käsittelemään käyttäjien odottamia tietomääriä.
7. Elvytystestit
Elpymistesteissä ohjelmistojärjestelmä pakotetaan epäonnistumaan, jotta voidaan testata, kuinka hyvin järjestelmä palautuu kaatumisen jälkeen.
Elvytystestaus voi auttaa testaajia ymmärtämään, miten ohjelmisto palauttaa tiedot ja estää tietojen häviämisen, jos laitteisto irrotetaan käytön aikana, jos ohjelmisto irrotetaan verkosta tiedonsiirron aikana tai jos järjestelmä käynnistetään yllättäen uudelleen.
Tämäntyyppinen testaus on tärkeää, koska järjestelmät, joissa ei ole asianmukaisia palautusprotokollia, voivat kärsiä vakavista tietojen menetyksistä tällaisissa onnettomuuksissa.
Mitä tarvitset ei-toiminnallisen testauksen aloittamiseen?
Ennen kuin aloitat ei-toiminnallisen testauksen, sinun on varmistettava, että olet valmistellut testausympäristön ja kerännyt tarvittavat työkalut ja tiedot.
1. Testaussuunnitelma
Ennen kuin aloitat ei-toiminnallisen testauksen, varmista, että sinulla on valmis testaussuunnitelma, jonka asianmukaiset henkilöt ovat allekirjoittaneet.
Testaussuunnitelmassasi on oltava kaikki olennaiset yksityiskohdat siitä, mitä aiot testata ja miten. Siinä olisi selvitettävä, milloin käytetään manuaalista testausta ja milloin automaattista testausta, sekä hahmotettava kaikkien testausprosessiin osallistuvien roolit ja vastuualueet.
2. Testitapaukset
Ennen kuin voit suorittaa muita kuin toiminnallisia testejä, sinun on luotava testitapauksia. Jokaisessa testitapauksessa hahmotellaan tietty asia, jota aiot testata, selitetään, miten aiot testata sen, ja kuvataan testin odotettu tulos.
Jos suoritat esimerkiksi kuormitustestausta, esimerkkitestitapauksena voi olla sen testaaminen, miten ohjelmisto käyttäytyy, kun kymmenen käyttäjää käyttää samaa moduulia samaan aikaan.
3. Toiminnallinen verifiointi
Ohjelmistokomponenteille ei voi tehdä ei-toiminnallista testausta, jos ne eivät ole toiminnallisia.
Jos esimerkiksi haluat testata, kuinka monta käyttäjää ohjelmisto pystyy käsittelemään yhtä aikaa, on ensin varmistettava, että yksittäiset käyttäjät voivat todella kirjautua ohjelmistoon.
Ennen kuin aloitat ei-toiminnallisen testauksen, varmista, että kaikki toiminnalliset testit on läpäisty ja että ohjelmisto toimii odotetulla tavalla.
Tämä tarkoittaa yleensä sitä, että savutestaus, virheettömyystestaus, yksikkötestaus, integrointi ja toiminnallinen järjestelmätestaus on jo suoritettu.
4. Testausvälineet
Ennen kuin aloitat ei-toiminnallisen testauksen, kerää yhteen kaikki testaustyökalut, joita haluat käyttää testien suorittamiseen.
Käytitpä sitten automaatiotyökaluja osittain automatisoida joitakin testejäsi tai dokumentointityökaluja, joiden avulla voit hallita ja tallentaa testiraportteja myöhempää käyttöä varten, varmista, että haluamasi työkalut ovat käytettävissä ja käyttövalmiina ja että kaikki testausryhmän jäsenet osaavat käyttää kutakin työkalua oikein.
5. Testausympäristö
Määritä testausympäristö ennen kuin aloitat ei-toiminnallisen testauksen. Sinulla saattaa jo olla sopiva testausympäristö, varsinkin jos voit käyttää samaa ympäristöä ei-toiminnalliseen ja toiminnalliseen järjestelmätestaukseen.
Ihanteellisessa testausympäristössä voit testata kaikkia tarvittavia elementtejä oikeilla laitteilla.
Jos esimerkiksi testaat äänenvoimakkuuden käsittelyä älypuhelimissa, on parempi testata sitä todellisella älypuhelimella kuin yrittää jäljitellä mobiiliympäristöä pöytätietokoneella.
Ei-toiminnallinen testausprosessi
Ohjelmiston rakentamisen ei-toiminnallisten näkökohtien testaaminen on monivaiheinen prosessi, johon kuuluu testiympäristön valmistelu, testitapausten luominen, testidatan kerääminen ja ei-toiminnallisten testien suorittaminen.
Testausprosessi on mahdollista jakaa pieniin osiin, jotta sitä olisi helpompi seurata ei-toiminnallisen testauksen aloittelijoille.
1. Ei-toiminnallisen testauksen valmiustarkastukset
Ennen kuin voit aloittaa ei-toiminnallisen testauksen, on tärkeää varmistaa, että olet valmis tähän testausvaiheeseen.
Tämä voi tarkoittaa, että arvioidaan viimeisen testausvaiheen poistumiskriteerit sen varmistamiseksi, että ohjelmisto on läpäissyt sen, ja varmistetaan, että ohjelmisto on läpäissyt kaikki toiminnalliset testit, joita vaaditaan ennen ei-toiminnallisen testauksen suorittamista.
Jotkin tiimit saattavat luoda ei-toiminnalliselle testaukselle sisäänpääsykriteerit, jotka sisältävät kaikki ehdot, joiden on täytyttävä ennen kuin ei-toiminnallinen testaus alkaa.
2. Luo testaussuunnitelma
Olet ehkä jo suorittanut tämän vaiheen aiemmin, jos suoritat ei-toiminnallista testausta osana järjestelmätestausta ja noudatat järjestelmätestaussuunnitelmaa. Testisuunnitelmassa esitetään kaikki testit, jotka sinun on suoritettava, ja miten aiot suorittaa ne.
Ilman selkeää testaussuunnitelmaa on helppo unohtaa suoritettavien testien laajuus ja tavoitteet.
3. Luo testitapauksia
Seuraava vaihe ei-toiminnallisessa testauksessa on testitapausten luominen, jotka on suunniteltu testaamaan ohjelmiston kutakin ei-toiminnallista parametria.
Jokaisella testitapauksella on oltava testitapauksen tunnus, testitapauksen nimi, kuvaus ja yksityiskohtaiset tiedot testin odotetusta lopputuloksesta sekä etukäteen määritetyt hyväksymis- tai hylkäämiskriteerit. Tämä auttaa testaajia ymmärtämään, miten kukin testi suoritetaan ja mitä tuloksia on odotettavissa.
4. Kerää testitiedot
Ennen kuin voit suorittaa kunkin testitapauksen, sinun on kerättävä testitiedot, joita käytät kussakin testitapauksessa.
Tämä tarkoittaa yleensä koodin ja tietojen keräämistä eri moduuleista ja komponenteista, jotka muodostavat testattavat toiminnot ja alueet. Jos maksimoit testien kattavuuden, sinulla pitäisi olla paljon testidataa käytettävänäsi.
5. Valmista testiympäristö
Seuraava vaihe ei-toiminnallisessa testauksessa on testiympäristön valmistelu. Testiympäristö on testauspalvelin, jota käytät monenlaiseen ohjelmistotestaukseen.
Sen avulla voit luoda identtiset olosuhteet, joissa voit testata ohjelmistoasi, ja määrittää ohjelmistosi erilaisilla kokoonpanoilla kokoonpanotestausta, tietoturvatestausta ja muunlaista ei-toiminnallista testausta varten.
6. Ei-toiminnallisten testien suorittaminen
Kun testiympäristö on valmis, on aika suorittaa ei-toiminnalliset testit. Voit päättää suorittaa testit tyypin mukaisessa järjestyksessä, esimerkiksi aloittaa suorituskykytestauksella ennen tietoturvatestejä ja muita ei-toiminnallisia testejä.
Kun suoritat jokaisen testin, merkitse tulokset testausraporttiin. Jos automatisoit testausta, automatisointityökalulla on myös standardoitu tapa raportoida tulokset selkeästi ja yksiselitteisesti.
7. Raportoi testitulokset
Kun olet suorittanut jokaisen testitapauksen, kokoa ei-toiminnallisten testien tulokset yhdeksi raportiksi.
Raportissa on oltava selkeät tiedot kunkin testin tuloksista ja yksiselitteinen tieto siitä, onko testi läpäisty vai hylätty.
Noudata standardoitua rakennetta testiraportissasi, jotta varmistat, että kaikki tiedot, jotka sinun on välitettävä, ovat mukana.
8. Korjaa viat
Kun testaustulokset on saatu, palauta ohjelmisto kehittäjille, jos testit ovat epäonnistuneet tai jos olet havainnut korjausta vaativia ei-toiminnallisia virheitä.
Jos ohjelmisto ei esimerkiksi pysty käsittelemään sopivaa määrää käyttäjiä kerralla tai jos suorituskyky hidastuu liikaa, kun useita ohjelmia on käynnissä samanaikaisesti, nämä ongelmat on todennäköisesti korjattava koodissa, jotta käyttäjät ovat tyytyväisiä tuotteeseen.
9. Toista testausjakso
Kun kehittäjät ovat korjanneet kaikki ei-toiminnallisen testauksen alkuvaiheessa havaitut virheet, testaussykli voi alkaa uudelleen.
Kehittäjät testaavat tekemänsä muutokset ja toimittavat uuden version takaisin QA-testaajille, jotka sitten suorittavat koko testauspaketin alkaen savutestauksesta, yksikkötestauksesta, integrointitestauksesta ja lopuksi järjestelmätestauksesta.
Testausjakso toistetaan, kunnes missään vaiheessa ei esiinny virheitä tai puutteita, minkä jälkeen rakennelma voi siirtyä testauksen viimeiseen vaiheeseen: käyttäjän hyväksymistestaukseen.
Ei-toiminnallisen testauksen testitapaukset
Testitapaukset ovat tärkeä osa kaikkea ohjelmistotestausta, ja kun teet sekä toiminnallista että ei-toiminnallista testausta, käytät testitapauksia määrittelemään, mitä aiot testata ja miten aiot testata sen.
Jokaista testitapausta voidaan pitää minitestinä, ja jokaisella testitapauksella on omat määritellyt tuotokset ja tulokset.
1. Mitä ovat ei-toiminnallisen testauksen testitapaukset?
Testitapaus on joukko toimenpiteitä, jotka suoritetaan ohjelmistorakennelmalle sen testaamiseksi, täyttääkö se ohjelmistosuunnitelmassa määritellyt ehdot. Jokainen testitapaus kertoo testaajille, mitä testataan ja miten, ja se on suunniteltu testaamaan ohjelmistosovelluksen tiettyä toimintoa tai muuta kuin toiminnallista ominaisuutta.
Ei-toiminnallisiin testitapauksiin voi kuulua esimerkiksi sen testaaminen, mitä tapahtuu, kun joku yrittää käyttää järjestelmän suojattuja tietoja, tai sen testaaminen, kuinka nopeasti ohjelmisto latautuu käynnistettäessä.
2. Miten suunnitella ei-toiminnalliset testitapaukset?
Kun suunnittelet testitapauksia ei-toiminnallista testausta varten, on tärkeää noudattaa tavanomaisia testitapauskäytäntöjä ja pitää samalla mielessä ei-toiminnallisten testien tavoitteet.
Seuraa alla olevia ohjeita, kun haluat kirjoittaa ei-toiminnallista testausta varten testitapauksia, joissa hahmotellaan selkeästi, mitä testaajien on tehtävä kunkin testin suorittamiseksi.
1. Määrittele alue, jonka haluat kattaa
Mieti kunkin testitapauksen osalta, mitä ohjelmiston osa-aluetta kyseinen testitapaus koskee.
Jos esimerkiksi kirjoitat testitapauksia asennus- ja päivitystestausta varten, voit sisällyttää testitapauksia, joissa arvioidaan, kuinka helppo sovellus on asentaa eri laitteisiin ja kuinka kauan kestää ohjelmiston päivittäminen uuden korjauksen avulla.
2. Luo yksilöllinen testitapauksen ID
Jokaisella testitapauksella on oltava yksilöllinen testitapauksen tunnus. Näin testitapauksen kuvaus ja tulokset on helppo löytää myöhemmin, ja jos kahdella testitapauksella on samanlaiset nimet tai kuvaukset, ei ole epäselvyyttä siitä, mihin testitapaukseen viitataan.
3. Nimeä ja kuvaile kukin testi
Vaikka testitapauksen tunnus yksilöi testin, haluat myös antaa nimen ja kuvauksen jokaiselle kirjoittamallesi testitapaukselle.
Sen pitäisi olla yksinkertainen nimi, joka tiivistää, mitä olet testaamassa, kun taas kuvaus on yksittäinen lause, jossa tätä käsitellään hieman yksityiskohtaisemmin.
Kuvauksen on oltava riittävän selkeä, jotta testaajat tietävät, mitä testataan ja miten se testataan, sekä kaikki erityisehdot, jotka testin on täytettävä.
4. Määritä odotettu tulos
Kerro kunkin testitapauksen osalta tulos, jonka pitäisi syntyä, jos ohjelmisto toimii odotetulla tavalla.
Muissa kuin toiminnallisissa testeissä, kuten suorituskyvyn testauksessa ja kuormitustestauksessa, tämä voi monissa tapauksissa tarkoittaa sitä, että ohjelmisto yksinkertaisesti jatkaa toimintaansa normaalisti hidastumatta, hidastumatta tai kaatumatta.
Toisissa tapauksissa se voi tarkoittaa, että tietyt virheilmoitukset ilmoittavat käyttäjälle ongelmasta ja suosittelevat ratkaisua.
5. Suosittele testaustekniikoita
Suosittele kunkin testitapauksen osalta, millaisia testaustekniikoita ja ei-toiminnallisia testausvälineitä testaajan olisi mielestäsi käytettävä testauksen aikana.
Ei-toiminnallisessa testauksessa testaajat voivat käyttää hyvin erilaisia lähestymistapoja eri testaustyyppeihin.
Esimerkiksi kuormitustestaus ja stressitestaus saattavat vaatia automaatiota, koska erittäin raskaan liikenteen simulointi manuaalisesti on epäkäytännöllistä, kun taas muut testaustyypit saattavat olla helpompia toteuttaa ilman erityisiä työkaluja tai teknologioita.
6. Hanki jokaisesta testitapauksesta vertaisarviointi
Ennen kuin allekirjoitat jokaisen testitapauksen, pyydä jotakuta, jonka kanssa työskentelet, arvioimaan jokainen tapaus vertaisarvioinnilla. Tämä voi olla toinen testaaja tai QA:n johtaja.
Vertaisarvioinnilla varmistetaan, että testitapaukset ovat riittävän selkeitä, jotta ulkopuolinen testaaja voi seurata niitä, eivätkä ne sisällä epäselvyyksiä tai virheitä, jotka voisivat johtaa virheelliseen testaukseen.
3. Esimerkkejä muista kuin toiminnallisista testitapauksista
Jos kirjoitat testitapauksia ei-toiminnallista testausta varten, ne saattavat näyttää jotakuinkin seuraavilta ei-toiminnallisen testauksen esimerkeiltä.
Esimerkki skaalautuvuuden testauksesta
Testitapauksen tunnus: 6671
Testitapauksen nimi: Usean käyttäjän kirjautumistesti
Kuvaus: Emuloi 20+ käyttäjän kirjautumista ohjelmistoon samanaikaisesti automaatiotyökalujen avulla.
Odotetut tulokset: Ohjelmiston pitäisi toimia normaalisti jokaiselle käyttäjälle, ja jokaisen käyttäjän pitäisi kirjautua sisään onnistuneesti alle 5 sekunnissa.
Yhteensopivuuden testaus esimerkki
Testitapauksen tunnus: 5214
Testitapauksen nimi: Sovelluksen lataaminen Opera-selaimessa
Kuvaus: Lataa sovellus Opera-selaimessa.
Odotetut tulokset: Sovellus latautuu normaalisti Opera-selaimessa, jossa on vakionäytön resoluutio ja asettelu.
Manuaaliset vai automatisoidut ei-toiminnalliset testit?
Kun valitset eri ei-toiminnallisten testaustekniikoiden välillä, sinun on päätettävä, haluatko tehdä manuaalisia vai automatisoituja ei-toiminnallisia testejä.
Manuaalisia testejä suorittavat ihmistestaajat, mikä tarkoittaa, että niiden suorittaminen on yleensä aikaa vievämpää, mutta ne tarjoavat myös mahdollisuuksia kokeilevaan testaukseen.
Automatisoidut ei-toiminnalliset testit ovat nopeampia ja tietyllä tavalla luotettavampia, mutta ne vaativat myös enemmän resursseja tai työkaluja. Automaatio ja hyperautomaatio ovat yhä suositumpia testauksessa, erityisesti ei-toiminnallisessa testauksessa.
Manuaalinen ei-toiminnallinen testaus: Hyödyt, haasteet ja prosessit
Manuaalisen ei-toiminnallisen testauksen suorittavat ainoastaan testaajat, jotka testaavat jokaisen yksittäisen ei-toiminnallisen elementin itsenäisesti.
Manuaalisia ei-toiminnallisia testejä suorittaessaan testaajien on kerättävä tietoa ohjelmistosta, luotava yksittäisiä testitapauksia, jotka vastaavat testaussuunnitelmaa, ja suoritettava nämä testitapaukset manuaalisesti.
Tämä vie paljon aikaa, mutta se tarkoittaa myös sitä, että QA-testaajilla on vapaus päättää, mitä testataan ja miten.
1. Manuaalisen testauksen etuja ovat muun muassa:
● Manuaalinen testaus voi olla automaattista testausta halvempaa, koska se ei vaadi erityistä teknologiaa tai teknistä osaamista.
● Manuaalinen testaus antaa testaajille mahdollisuuden tarjota inhimillistä näkemystä ja subjektiivisuutta siitä, miten ohjelmisto toimii ja toimiiko se tyydyttävästi.
● Manuaalista testausta voidaan käyttää järjestelmän testaamiseen tilanteissa, joissa automatisointi on mahdotonta.
● Manuaalisen testauksen avulla testaajat voivat arvioida järjestelmän visuaalisia näkökohtia, kuten graafista käyttöliittymää ja muita tekijöitä, jotka voivat vaikuttaa käytettävyyteen.
● Manuaalinen testaus tarjoaa testaajille laajemman näkökulman järjestelmään kokonaisuutena ja siihen, miten eri moduulit ja komponentit toimivat yhdessä.
Manuaalisessa testauksessa on kuitenkin myös haittoja.
2. Manuaalisen testauksen haasteita ovat mm:
● Joitakin ei-toiminnallisen testauksen tyyppejä, kuten kuormitustestausta ja suorituskykytestausta, on epäkäytännöllistä suorittaa manuaalisesti.
● Manuaalinen testaus vie huomattavasti enemmän aikaa kuin automatisoitu ei-toiminnallinen testaus.
● Manuaaliset testaajat voivat häiriintyä, menettää keskittymiskykynsä ja tehdä virheitä, varsinkin kun he suorittavat hyvin toistuvia testaustehtäviä.
Automatisoitu ei-toiminnallinen testaus: Hyödyt, haasteet ja prosessit
Automaattinen ei-toiminnallinen testaus suoritetaan automaattisten skriptien ja testausvälineiden avulla. Automaattisia testausmenetelmiä käytettäessä testaajat voivat tehdä testejä taustalla samalla kun he hoitavat muita tehtäviä, kun automaattiset testit on käynnistetty.
1. Ei-toiminnallisten testien automatisoinnin etuja ovat muun muassa seuraavat:
1. Säästät aikaa ja resursseja vähentämällä aikaa, jonka käytät pitkiin ja aikaa vieviin tehtäviin.
2. Automaation avulla on mahdollista lisätä testien kattavuutta kattamalla laajempi valikoima komponentteja ja ominaisuuksia.
3. Automaattisia testejä on helpompi tehdä usein, koska niiden suorittamiseen kuluu vähemmän aikaa.
4. Automatisoitu testaus sopii erinomaisesti aikaa vieviin testaustehtäviin, kuten kuormitustestaus, volyymitestaus ja stressitestaus, joita on hyvin vaikea suorittaa manuaalisesti.
5. Automatisoidun testauksen yhteydessä syntyvien virheiden mahdollisuus on pienempi.
Automaattiseen testaukseen liittyy kuitenkin myös joitakin haittoja, minkä vuoksi se ei aina ole oikea lähestymistapa kaikentyyppiseen ei-toiminnalliseen testaukseen.
2. Automaattisen ei-toiminnallisen testauksen haasteita ovat muun muassa seuraavat:
1. Automaattisen testauksen perustaminen on kalliimpaa kuin manuaalisen testauksen.
2. Testausautomaation perustaminen voi viedä aikaa ja teknisiä resursseja.
3. Testauksen automatisointi ei anna tilaa tutkivalle testaukselle.
4. Testien automatisointi vaatii edelleen aikaa testitapausten luomiseen.
Johtopäätökset: Manuaalinen tai automatisoitu
ei-toiminnallinen testaus?
Useimmissa ohjelmistotestaustyypeissä manuaalisen ja automaattisen testauksen yhdistäminen tuottaa yleensä parhaat tulokset. Näin testaustiimit voivat hyötyä automaattisen testauksen tehokkuudesta, luotettavuudesta ja tarkkuudesta ja samalla suorittaa tutkivaa testausta, jonka avulla testaajat voivat arvioida ohjelmistoa subjektiivisemmasta näkökulmasta.
Ei-toiminnallisessa testauksessa sekä manuaalinen että automatisoitu testaus ovat käytännössä välttämättömiä useimmille testausryhmille.
Manuaalista testausta käytetään parhaiten muiden kuin toiminnallisten testaustehtävien, kuten käytettävyystestauksen, suorittamiseen, kun taas automatisoitua testausta käytetään useimmiten sellaisten testien suorittamiseen, jotka olisivat liian aikaa vieviä ja vaikeita suorittaa manuaalisesti, kuten stressitestaus tai volyymitestaus.
Ei-toiminnallinen testaus on yksi ilmeisimmistä alueista, joilla voidaan käyttää testiautomaatiotekniikoita, koska se on kvantitatiivinen, mitattavissa oleva testaustyyppi, jossa ei vaadita subjektiivisia tuloksia.
Muiden testaustyyppien tapaan ei-toiminnallinen testaus suoritetaan yleensä sekoittaen manuaalista testausta ja automatisoitua testausta.
Automaattinen testaus on kuitenkin käytännössä välttämätöntä monissa ei-toiminnallisissa testaustyypeissä, ja ei-toiminnallisen testauksen parametrien ja mittareiden vuoksi automatisointi soveltuu tähän testaustyyppiin paremmin kuin toiminnalliseen testaukseen.
Parhaat käytännöt ei-toiminnallista testausta varten
Kun teet ei-toiminnallista testausta ensimmäistä kertaa, parhaiden testauskäytäntöjen noudattaminen voi auttaa sinua standardoimaan testausprosessin ja optimoimaan testien tehokkuuden.
Parhaat käytännöt toimivat ohjeina ohjelmistotestausryhmille, jotka haluavat parantaa testausprosesseja ja mukautua alan standardeihin.
1. Käytä automaatiotyökaluja
Ei-toiminnallisessa testauksessa on muita testaustyyppejä tärkeämpää käyttää automatisointityökaluja tietyntyyppisten testien automatisointiin, erityisesti volyymi-, stressi- ja kuormitustestaukseen.
Tämäntyyppisissä testeissä tarkistetaan yleensä, miten hyvin ohjelmisto toimii käyttäjien, tietojen ja liikenteen aiheuttaman kovan paineen alaisena, ja näitä olosuhteita voi olla hyvin vaikea jäljitellä manuaalisesti.
Tämäntyyppisten ei-toiminnallisten testien automatisointi on paitsi tehokkaampaa myös tarkempaa ja antaa testaajille mahdollisuuden toistaa suurempia kuormituksia ja rasituksia helposti.
2. Vertaisarviointi kaikista asiakirjoista
Pyydä kollegojasi tarkistamaan luomasi testitapaukset ja pyydä myös testausryhmäsi kollegoja tarkistamaan vikailmoitukset, testiraportit, testaussuunnitelmat ja muut testausprosessin aikana luodut viralliset dokumentaatiot.
Tämä vähentää pienten virheiden riskiä, jotka voisivat aiheuttaa vakavia viivästyksiä testaus- ja kehitysprosessissa.
3. Määrittele mitattavat vaatimukset
Kun määrittelet ohjelmiston vaatimukset ennen ei-toiminnallisen testauksen aloittamista, varmista, että jokainen vaatimus on objektiivinen ja mitattavissa.
Näin testaajien on helpompi varmistaa testauksen aikana, täyttääkö ohjelmisto nämä vaatimukset, eikä tulkinnanvaraa jää.
Mitä pidetään ”nopeana” tai ”tehokkaana”? Käytä numeroita ja määrällisiä arvoja määritelläksesi, mitä etsit.
4. Harkitse huolellisesti testausmittareita
Ennen kuin päätät, mitä mittareita aiot käyttää ohjelmiston suorituskyvyn mittaamiseen, mieti, mitä ohjelmiston käyttäjät haluavat ja mitkä mittarit vastaavat ohjelmistosuunnitelmaa ja vaatimuksia.
Useimpien ohjelmistojen pitäisi olla nopeita ja luotettavia, mutta mitä muita mittareita käyttäjät ehkä etsivät? Onko olemassa ohjelmistokohtaisia mittareita, jotka olisi otettava huomioon testausprosessin aikana?
Ei-toiminnallisen testin tulostyypit
Kun suoritat ei-toiminnallista testausta, saat erityyppisiä tuotoksia suorittamistasi testeistä.
Nämä ovat yleensä aivan erilaisia kuin toiminnallisen testauksen tulokset, jotka ovat usein selkeämmin rajattuja, koska toiminnallisilla testeillä vain testataan, toimiiko toiminto niin kuin sen pitäisi.
Toiminnallisen testauksen tapaan testaajien tulisi asettaa selkeät odotukset jokaiselle testitapaukselle, jotta on helppo määrittää, läpäiseekö kukin testi vai ei.
1. Absoluuttiset luvut
Suorituskykytestausta, stressitestausta ja muunlaista ei-toiminnallista testausta tehtäessäsi saatat useimmiten tarkastella nopeuksia ja muita absoluuttisia lukuja.
Suorituskykytestauksessa tarkistetaan, kuinka nopeasti järjestelmä pystyy suorittamaan tietyt tehtävät, ja tämä mitataan sekunteina tai millisekunteina.
Jos teet kuormitustestausta, voit arvioida, kuinka paljon dataa ohjelmisto pystyy käsittelemään kerralla kaatumatta tai viiveettä.
2. Virheilmoitukset
Ei-toiminnallisessa testauksessa tarkistetaan myös, miten järjestelmä toimii virheiden, kuten tietoturvavirheiden, validointivirheiden ja konfigurointivirheiden, ilmetessä.
On tärkeää, että järjestelmät näyttävät tarkat ja selkeät virheilmoitukset virheiden ilmetessä, jotta käyttäjät voivat korjata ongelman ja jatkaa ohjelmiston käyttöä.
Virheilmoituksia pitäisi esiintyä myös tietoturvatestauksen aikana, kun järjestelmä estää käyttäjiä rikkomasta ohjelmiston sisäänrakennettuja tietoturvaominaisuuksia.
3. Törmäykset
Kaatuminen on merkki järjestelmän vikaantumisesta, ja se osoittaa yleensä, että järjestelmä ei kykene suoriutumaan testaamallasi tasolla, ja se voi tarkoittaa, että testi on läpäisty.
Joissakin tapauksissa järjestelmä saattaa kaatua ja silti läpäistä testitapauksen, jonka parissa työskentelet, esimerkiksi jos järjestelmä kestää vaaditun määrän stressiä tai liikennettä ennen kaatumista.
Ei-toiminnallista testausta suorittaessaan testaajien on odotettava, että järjestelmä kaatuu säännöllisesti, etenkin kun se viedään äärirajoille stressitestauksessa ja muissa suorituskykytesteissä.
Esimerkkejä muista kuin toiminnallisista testeistä
Ei-toiminnalliset testausesimerkit ovat samanlaisia kuin edellä esitetyt ei-toiminnallisia testitapauksia koskevat esimerkit.
Voit tarkastella esimerkkejä ei-toiminnallisista testeistä, jotta ymmärrät paremmin, mitä ei-toiminnallinen testaus on ja mitä sillä testataan ohjelmistosovelluksessa.
1. Esimerkki suorituskyvyn testauksesta
Jos työstät mobiilisovellusta, joka yhdistää käyttäjät verkkotietokantaan, on tärkeää, että suuri määrä käyttäjiä voi käyttää ja ladata tietoja tietokannasta samanaikaisesti.
Tämä on myös tärkeä osa skaalautuvuuden testausta, etenkin jos sovelluksen käyttäjämäärää halutaan kasvattaa tulevaisuudessa.
Tämän jälkeen testataan, miten järjestelmä reagoi, kun esimerkiksi 1000 käyttäjää yrittää käyttää samaa tietokantaa samaan aikaan, ja asetetaan vaatimukset sille, kuinka nopeasti sovelluksen pitäisi latautua tässä tilanteessa.
2. Yhteensopivuuden testaus
Jos testaat uutta asiakirjahallintasovellusta, sinun on testattava, että se toimii kaikilla laitteilla, joille se on tarkoitettu.
Tämä tarkoittaa, että voit testata, että voit asentaa ja ladata sovelluksen kaikkiin uusimpiin Windows- ja Mac-versioihin sekä kaikkiin muihin käyttöjärjestelmiin (kuten Linuxiin), joiden kanssa haluat ohjelmiston olevan yhteensopiva.
3. Turvallisuuden testaus
Kun teet tietoturvatestausta, testaat joitakin tapoja, joilla ihmiset voivat yrittää päästä käsiksi luottamuksellisiin tietoihin tai rikkoa ohjelmiston turvatoimia, jotta voit varmistaa, että järjestelmä käyttäytyy näissä tilanteissa odotetulla tavalla.
Voit esimerkiksi kirjautua sisään käyttäjänä ja yrittää päästä käsiksi tiedostoihin, joihin sinulla ei ole turvallisuusselvitystä, varmistaaksesi, että järjestelmä ei anna sinun käyttää näitä tiedostoja.
Havaittujen virheiden ja vikojen tyypit
ei-toiminnallisen testauksen avulla
Ei-toiminnallinen testaus voi paljastaa paljon vikoja ja puutteita, joita ei ole yhtä helppo löytää kuin toiminnallisessa testauksessa havaittuja. Tämä johtuu siitä, että ei-toiminnallinen testaus edellyttää usein, että testaajat tarkistavat erilaisia kokoonpanoja, asetuksia ja olosuhteiden yhdistelmiä arvioidakseen, miten hyvin järjestelmä toimii lukemattomissa eri asetuksissa.
1. Suorituskyvyn puutteet
Suorituskykyvirheitä syntyy, kun järjestelmä toimii, mutta se ei toimi niin nopeasti tai tehokkaasti kuin odotat sen toimivan.
Saatat esimerkiksi huomata, että järjestelmä ei lataudu riittävän nopeasti tietyissä olosuhteissa tai jopa kaatuu, jos liian moni käyttäjä kirjautuu sisään samanaikaisesti.
Suorituskykyvirheet eivät täysin estä ihmisiä käyttämästä ohjelmistoasi, mutta ne voivat tehdä ohjelmistostasi vähemmän käyttökelpoisen ja epätodennäköisemmin käyttäjien vaatimusten mukaisen.
2. Turvallisuuspuutteet
Turvallisuusvirheet ovat virheitä, jotka vaikuttavat ohjelmistojärjestelmän ja siihen tallennettujen tietojen turvallisuuteen.
Turvallisuuspuutteita voi syntyä esimerkiksi silloin, jos käyttäjät pääsevät käsiksi luottamuksellisiin tietoihin, joihin heillä ei pitäisi olla pääsyä, tai jos sovelluksen tiettyjä osia ei ole suojattu asianmukaisesti salasanalla tai jos salaus epäonnistuu.
Nämä voivat johtaa tietoturvaloukkauksiin, joilla voi olla vakavia vaikutuksia ohjelmiston julkaisijan maineeseen.
3. Toiminnalliset viat
Vaikka ei-toiminnallista testausta ei ole suunniteltu testaamaan ohjelmistosovelluksen toimintoja, joissakin tapauksissa ei-toiminnallisella testauksella voidaan tunnistaa ohjelmistossa olevia toiminnallisia vikoja.
Esimerkiksi luotettavuustestauksen tarkoituksena ei ole testata, toimiiko sovellus, vaan testata, toimiiko sovellus luotettavasti toistuvilla yrityksillä.
Tämä voi paljastaa, että jotkin ominaisuudet eivät toimi luotettavasti oikein, kun toiminto toistetaan, ja nämä voidaan luokitella toiminnallisiksi virheiksi.
Yleiset ei-toiminnallisen testauksen mittarit
Muut kuin toiminnallisen testauksen mittarit kuvaavat niitä mittareita, joilla mitataan järjestelmän suorituskykyä ja tehokkuutta.
Erilaiset ei-toiminnallisen testauksen tyypit perustuvat erilaisiin mittareihin, ja voit käyttää erilaisia mittareita projektin lopullisista tavoitteista riippuen.
1. Aika
Aikamittarit mittaavat, kuinka kauan tiettyjen tehtävien suorittaminen kestää tai kuinka kauan käyttäjät joutuvat odottamaan toimintojen latautumista.
Esimerkkejä aikamittareista ovat transaktioiden tai latausten määrä, jotka sovellus voi tehdä tietyssä ajassa, eri toimintojen vasteajat ja aika, joka sovellukselta kuluu tietyn toiminnon suorittamiseen.
Erilaiset testit mittaavat tuloksia sekunteina tai esityksenä siitä, kuinka monta operaatiota sekunnissa on suoritettu.
2. Avaruus
Tila on toinen tärkeä mittari ei-toiminnallisessa testauksessa. Tilamittareilla voidaan testata, kuinka paljon suorittimen tilaa järjestelmä vaatii tai kuinka paljon tilaa kiintolevyltä ohjelmisto vie, kun se on asennettu kokonaan.
Esimerkkejä tilamittareista ovat välimuisti, keskusmuisti ja lisämuisti.
Ohjelmistot, jotka vaativat paljon tilaa toimiakseen moitteettomasti, voivat sopia pienemmälle asiakasmäärälle.
3. Käytettävyys
Joissakin ei-toiminnallisen testauksen mittareissa otetaan huomioon järjestelmän käytettävyys, esimerkiksi se, kuinka kauan kestää kouluttaa käyttäjät käyttämään järjestelmää oikein, kuinka monta vaihtoehtoa käyttäjien on navigoitava keskeisten toimintojen suorittamiseksi tai kuinka monta hiiren napsautusta tiettyjen tehtävien suorittaminen vaatii.
Muilla kuin toiminnallisilla testeillä voidaan mitata kutakin näistä mittareista määrällisesti, ja alhaisemmat luvut merkitsevät yleensä korkeampaa käytettävyyttä.
4. Luotettavuus
Toinen tärkeä mittari ei-toiminnallisessa testauksessa on luotettavuus. Luotettavuus kuvaa todennäköisyyttä, että järjestelmä käyttäytyy samalla tavalla kerta toisensa jälkeen tai toimii kuten sen pitäisi pitkän ajanjakson ajan.
Esimerkkejä luotettavuuden mittaamiseen käytetyistä mittareista ovat keskimääräinen vikaantumisaika, vikaantumisaste, käytettävyys ja käyttökatkosten todennäköisyys.
Jokainen näistä mittareista auttaa testaajia varmistamaan, että järjestelmä voi toimia pitkään ilman vikoja tai kaatumisia.
5. Kestävyys
Robustisuus mittaa sitä, miten hyvin järjestelmä selviytyy vioista ja miten hyvin se pystyy palautumaan vikatilanteessa.
Esimerkkejä kestävyyttä mittaavista mittareista ovat aika, joka järjestelmältä kuluu palautumiseen vian jälkeen, katastrofaaliseen vikaan johtavien tapausten prosenttiosuus ja todennäköisyys, että datatiedostot vioittuvat järjestelmän vikaantumisen jälkeen.
Nämä ovat tärkeitä mittareita, koska käyttäjät odottavat, että järjestelmät voivat joskus kaatua menettämättä kaikkia tietoja tai vahingoittamatta tiedostoja.
6. Siirrettävyys
Siirrettävyysmittarit mittaavat, kuinka helposti ohjelmisto voidaan siirtää eri järjestelmiin tai siirtää uuteen paikkaan verkossa.
Esimerkkejä siirrettävyyttä mittaavista mittareista ovat muun muassa ei-siirrettävän koodin prosenttiosuus ja niiden järjestelmien määrä, joissa ohjelmistoa voidaan käyttää.
Ihannetapauksessa ohjelmistot, joita voidaan käyttää useissa eri järjestelmissä, ovat helpommin siirrettävissä ja siten helpommin käytettävissä ympäristöissä, jotka saattavat vaatia usein siirtoja tai siirtoja.
Strategiat muiden kuin toiminnallisten testien suorittamiseksi
Kun aloitat ei-toiminnallisen testauksen, on tärkeää lähestyä tätä testausvaihetta strategia mielessä. Laadunvarmistusjohtajien ja ohjelmistotestauksen johtajien olisi pohdittava testauksen riskejä, käytettävissään olevia resursseja ja testauksen tarkoitusta ennen ei-toiminnallisen testauksen aloittamista.
Strategian laatiminen voi auttaa sinua optimoimaan ei-toiminnalliset testit alusta alkaen.
1. Roolien ja vastuualueiden jakaminen
Ennen kuin aloitat ei-toiminnallisen testauksen, jaa roolit ja vastuualueet testaustiimin avainhenkilöille. Tämä helpottaa ei-toiminnallisen testauksen työmäärän hallintaa ja varmistaa, että kokeneet testaajat vastaavat suorittamiesi testien laadun ja tehokkuuden ylläpitämisestä.
Varmista, että näihin tehtäviin valitsemillasi henkilöillä on tarvittavat tiedot ja kokemus, jotta he pystyvät hoitamaan odottamasi tehtävät, erityisesti jos tehtävät edellyttävät teknisiä taitoja.
2. Kerää tarvittavat testausvälineet
Kerää yhteen kaikki teknologiat ja työkalut, joita haluat käyttää ei-toiminnallisen testauksen suorittamiseen. Varmista, että kaikki tiimisi jäsenet osaavat käyttää niitä tehokkaasti, ja järjestä tarvittaessa koulutusta taitojen puutteiden korjaamiseksi.
Kun varmistetaan, että kaikki tietävät, mitä testaustyökaluja käytetään ja miten niitä käytetään, ennen kuin ei-toiminnallinen testaus aloitetaan, vähennetään riskiä siitä, että testaus joudutaan keskeyttämään tai tekemään testit uudelleen puutteellisen tietämyksen vuoksi.
3. Priorisoi testaus
Ennen kuin aloitat ei-toiminnallisen testauksen, tee luettelo kaikista järjestelmän osa-alueista, jotka sinun on testattava, ja aseta ne tärkeysjärjestykseen kiireellisyyden ja tärkeyden perusteella.
Voit asettaa ei-toiminnallisen testauksen tärkeysjärjestykseen sen mukaan, kuinka suuri riski liittyy kuhunkin testaamasi järjestelmän osa-alueeseen.
Esimerkiksi tietoturvan perustestaus voidaan tehdä, koska riittävää tietoturvaa pidetään erittäin tärkeänä nykyaikaisissa ohjelmistoissa. Mitä aikaisemmin tunnistat riskialttiit viat, sitä pienempi vaikutus niillä voi olla järjestelmän muihin osiin.
7 parasta ei-toiminnallista testaustyökalua
Ei-toiminnalliset testaustyökalut voivat virtaviivaistaa testausprosessia, tehdä testauksen automatisoinnista helpompaa ja kustannustehokkaampaa sekä auttaa laadunvarmistusjohtajia hallitsemaan testaus- ja dokumentointiprosessia.
Verkossa on saatavilla paljon ilmaisia ei-toiminnallisia testaustyökaluja sekä joitakin työkaluja, joiden päivittämisestä voi maksaa kuukausimaksun.
1. ZAPTEST ILMAINEN painos
ZAPTEST on suosittu ohjelmistotestityökalu, jonka avulla käyttäjät voivat suorittaa sekä toiminnallisia että ei-toiminnallisia ohjelmistotestejä nopeasti ja helposti. ZAPTESTin avulla voit automatisoida ohjelmistotestejä ja hyödyntää RPA-tekniikkaa eri toimintojen ja olosuhteiden jäljittelemiseen ei-toiminnallisessa testauksessa.
ZAPTEST FREE -versio on vain pelkistetty versio yritysversiosta, joka tarjoaa monia samoja toimintoja pienemmässä mittakaavassa. Voit hakea tukea ZAPTEST-foorumilta ja tehdä suorituskykytestejä rajattomilla virtuaalikäyttäjillä.
2. Appium
Appium on ilmainen ohjelmistotestityökalu, joka soveltuu parhaiten mobiilisovellusten testaamiseen useilla eri alustoilla, kuten iOS- ja Android-laitteilla. Appium tarjoaa käyttäjille paljon joustavuutta, jotta he voivat suunnitella omia testauskehyksiään ja -strategioitaan ja samalla hyötyä Appiumin tarjoamista automaatio-ominaisuuksista.
3. Loadium
Loadium on ei-toiminnallinen testaustyökalu, jota käytetään parhaiten suorituskyvyn testaukseen ja kuormitustestaukseen, kahteen ei-toiminnallisen testauksen tyyppiin, jotka on paljon helpompi suorittaa automaatiotyökalujen avulla.
Loadiumin avulla käyttäjät voivat suorittaa laajamittaisia kuormitustestejä, ja se tarjoaa mukautettuja ratkaisuja, joiden avulla voit räätälöidä testit ohjelmiston tavoitteiden mukaan.
Voit kokeilla Loadiumia ilmaiseksi tai maksaa sovelluksen täysversion lataamisesta.
4. Obkio
Obkio on ohjelmistotestaustyökalu, joka auttaa QA:n johtajia ja testauspäälliköitä priorisoimaan ja luokittelemaan ongelmat niiden vakavuuden perusteella. Obkio havaitsee ongelmat ennen käyttäjiä, tarjoaa käyttäjille älykkäitä ilmoituksia ja voi auttaa havaitsemaan ongelman sijainnin.
Obkio ei ole tarkoitettu vain ei-toiminnalliseen testaukseen, vaan se on erittäin hyödyllinen ilmainen testaustyökalu, jota voidaan käyttää testauksen elinkaaren kaikissa vaiheissa.
5. SonarQube
SonarQube on avoimen lähdekoodin tietoturvatestityökalu, joka voi analysoida koodia automaattisesti virheiden ja haavoittuvuuksien havaitsemiseksi. SonarQube on kirjoitettu Javalla, ja sen avulla voit analysoida koodia yli kahdellakymmenellä eri ohjelmointikielellä, ja järjestelmän selkeän käyttöliittymän ansiosta on helppo havaita ongelmat, jotka voivat aiheuttaa tietoturva-aukkoja tulevaisuudessa.
6. Tsung
Tsung on toinen ei-toiminnallinen testaustyökalu, joka on ihanteellinen, jos haluat automatisoida kuormitus- ja stressitestauksen, mutta et tule toimeen Loadiumin ilmaisen version kanssa.
Tsung on avoimen lähdekoodin työkalu, jonka avulla käyttäjät voivat suorittaa suuren määrän kuormitustestausta useilla eri protokollilla ja palvelimilla, mukaan lukien HTTP ja SOAP.
Tsung on täysin ilmainen, ja sen avulla testaajat voivat varmistaa, että heidän työstämänsä ohjelmisto tarjoaa korkean suorituskyvyn erilaisissa haastavissa olosuhteissa.
7. Sikuli
Sikuli on toinen sovellus, joka käyttää robottiprosessien automatisointia testausprosessin automatisointiin. Sovellus voi automatisoida mitä tahansa, mikä näkyy näytöllä. Voit käyttää Sikulia muiden kuin web-pohjaisten sovellusten testaamiseen ja virheiden nopeaan toistamiseen.
Ei-toiminnallisen testauksen tarkistuslista, vinkkejä ja temppuja
Ennen kuin aloitat ei-toiminnallisen testauksen, tarkista, että sinulla on kaikki, mitä tarvitset perusteellisten ei-toiminnallisten testien suorittamiseen valmistellussa ympäristössä.
Seuraa alla olevaa tarkistuslistaa, josta löydät vinkkejä ja niksejä ennen ei-toiminnallisen testauksen aloittamista.
1. Työskentele aikataulun mukaan
Rakennat ohjelmistotestit testiaikataulun ympärille riippumatta siitä, sisällytätkö sen testaussuunnitelmaasi vai luotko sitä varten erillisen asiakirjan.
Jos löydät enemmän vikoja ja puutteita kuin odotit, saatat joskus poiketa aikataulusta, mutta aikataulun laatiminen aluksi voi auttaa ohjaamaan testaajia ja motivoida heitä työskentelemään tehokkaasti, etenkin kun teet aikaa vieviä manuaalisia testejä.
2. Määritä testiryhmäsi
Vastuualueiden jakaminen ja testiryhmän jäsenten virallisten roolien ja nimikkeiden määrittäminen voi auttaa varmistamaan, että testausprosessi sujuu ongelmitta.
Kerro selkeästi roolit ja vastuualueet tiimissäsi ennen testauksen aloittamista ja anna eri testaajille vastuu ei-toiminnallisen testauksen eri osa-alueista, jotta jokainen on vastuussa omista tehtävistään.
3. Työkalujen ja teknologioiden valinta ennen testausta
Jos päätät käyttää tiettyjä työkaluja ja teknologiaa vasta, kun olet aloittanut ei-toiminnallisen testauksen, tämä voi hidastaa testausprosessia ja aiheuttaa hämmennystä testaajien keskuudessa.
Tee sen sijaan tutkimusta etukäteen ja päätä, haluatko käyttää jotakin työkalua ennen testauksen aloittamista. Näin nämä työkalut on helppo sisällyttää testaussuunnitelmaan ja kouluttaa testaajat käyttämään niitä ennen testauksen aloittamista.
4. Hanki aina virallinen hyväksyntä testeille ja dokumentaatiolle.
Testaus on laadunvarmistusprosessi, ja paras tapa maksimoida suorittamiesi testien arvo on suorittaa myös suunnittelemiesi ja suorittamiesi testien perus-QA.
Ota käyttöön yksinkertaisia protokollia, joiden mukaan testaajien on pyydettävä QA:n johtajia ja esimiehiä tarkistamaan ja allekirjoittamaan testaussuunnitelmat ja -raportit ennen seuraavaan vaiheeseen siirtymistä.
Tämä lisää huomattavasti mahdollisuutta, että testausvirheet havaitaan ja korjataan ajoissa.
7 virhettä ja sudenkuoppaa, joita kannattaa välttää ei-toiminnallisia testejä toteutettaessa.
Jos olet uusi ei-toiminnallisessa testauksessa, voi olla helppoa tehdä joitakin yleisiä virheitä, joihin testaajat ja laadunvarmistuksen ammattilaiset usein sortuvat.
Ei-toiminnallinen testaus on monimutkainen työ, jossa ohjelmistoa tarkastellaan kaikista näkökulmista.
Alla on luettelo yleisimmistä sudenkuopista, joita testaajat tekevät suorittaessaan ei-toiminnallista testausta.
1. Ei suunnittelua
Jos olet uusi ei-toiminnallisessa testauksessa, saatat ajatella, että voit vain sukeltaa suoraan testausvaiheeseen laatimatta perusteellista testaussuunnitelmaa etukäteen.
Jotkin testausryhmät saattavat laatia puutteellisia testausasiakirjoja tai pinnallisia tiivistelmiä testaussuunnitelmasta, joissa ei esitetä riittävästi niitä toimia, jotka testaajien on toteutettava muun kuin toiminnallisen testauksen aikana.
2. Testauksen huono hallinnointi
Ongelmia voi syntyä, jos testejä hallinnoidaan väärin missä tahansa testausprosessin vaiheessa. Riittämätön hallinta voi tarkoittaa, että testaajilla ei ole riittävästi resursseja testien perusteelliseen suorittamiseen tai että testaajille ei anneta riittävästi aikaa testata kaikkia rakennuksen osa-alueita.
Testauspäälliköiden on kyettävä oppimaan tekemistään virheistä ja kehittämään tehokkaampia testaussuunnitelmia jatkossa.
3. Huono viestintä
Huono viestintä voi aiheuttaa paljon ongelmia testausprosessin aikana, erityisesti ei-toiminnallisessa testauksessa.
Tämä voi tarkoittaa huonoa viestintää testaustiimin sisällä tai huonoa viestintää testaajien, kehittäjien ja sidosryhmien välillä.
Näin tapahtuu usein silloin, kun testaajat eivät ylläpidä testausdokumentteja asianmukaisesti tai eivät ole säännöllisesti yhteydessä muihin osastoihin testausprosessin aikana.
4. Kehittäjien huomiotta jättäminen
Testaajat ja kehittäjät työskentelevät yleensä melko erillään toisistaan, mutta tiiviissä yhteistyössä kehittäjien kanssa työskentelevät testausryhmät voivat hyötyä lisätiedosta siitä, miten ohjelmisto toimii ja miten eri moduulit ovat vuorovaikutuksessa keskenään.
Kehittäjien ottaminen mukaan testausprosessiin tai palautteen pyytäminen kehittäjiltä tärkeinä ajankohtina voi auttaa testausryhmiä laatimaan tehokkaampia ja perusteellisempia testaussuunnitelmia.
5. Testauksen tarkoitus
Monet testaajat uskovat edelleen, että testauksen tarkoituksena on tarkistaa, että ohjelmisto toimii, tai osoittaa sidosryhmille ja sijoittajille, että ohjelmisto toimii.
Sen sijaan testaajien tulisi lähestyä testausta sillä asenteella, että testauksen tarkoituksena on etsiä virheitä.
Testaajat, jotka eivät löydä virheitä, voivat olla tyytyväisiä siihen, että heidän testaamassaan ohjelmistossa ei ole virheitä, vain jos he ovat varmoja siitä, että he ovat tutkineet kaikki mahdolliset virheet.
6. Manuaaliset ja automaattiset virheet
On tärkeää käyttää aikaa sen pohtimiseen, onko manuaalinen testaus vai automatisoitu testaus parempi kunkin suorittamasi testaustyypin kannalta.
Automatisoidut testausmenetelmät soveltuvat erittäin hyvin lähes kaikkiin ei-toiminnallisen testauksen muotoihin, ja toiminnalliseen testaukseen tottuneet testaustiimit saattavat erehtyä olettamaan, että he voivat testata ei-toiminnallisia ominaisuuksia manuaalisesti aivan yhtä helposti.
7. Väärien testausvälineiden käyttö
On helppo valita väärät testausvälineet ja -tekniikat ennen ei-toiminnallisen testauksen aloittamista, varsinkin jos testausryhmät ovat tottuneet suorittamaan manuaalista testausta eivätkä ole tottuneet käyttämään testausvälineitä.
Tutki etukäteen muita kuin toiminnallisia testausmenetelmiä, joita haluat käyttää, ja valitse ohjelmistotyökalut ja automaatiotyökalut, jotka täyttävät projektisi erityisvaatimukset.
Päätelmä
Ei-toiminnallinen testaus on testausprosessin olennainen vaihe, jonka avulla testaajat voivat tarkistaa, miten hyvin järjestelmä toimii ja missä määrin se täyttää ei-toiminnalliset vaatimukset, kuten latausajat, kapasiteetti ja tietoturva.
Ei-toiminnallisen testauksen suorittamiseen on monia eri tapoja, mutta nykyaikaisten automatisointityökalujen avulla on helpompi maksimoida testien kattavuus ja tarkkuus tinkimättä tulosten laadusta.
Usein kysytyt kysymykset ja resurssit
Jos haluat lisätietoja ei-toiminnallisesta testauksesta, verkossa on paljon usein kysyttyjä kysymyksiä ja resursseja.
Tutustu alla oleviin suosikkiresursseihimme ei-toiminnalliseen testaukseen tai lue vastaukset joihinkin usein kysyttyihin kysymyksiin ei-toiminnallisesta testauksesta.
1. Parhaat ei-toiminnallisen testauksen kurssit
Verkossa on tarjolla paljon kursseja, joiden avulla voit laajentaa tietämystäsi ei-toiminnallisista testausmenetelmistä ja -lähestymistavoista.
Osa näistä kursseista on ilmaisia, ja osa voi tarjota todistuksen tai pätevyyden maksua vastaan. Jos haluat suorittaa akkreditoidun kurssin, voit kysyä työnantajaltasi, voisiko hän sponsoroida sinua ja kattaa opintokustannukset.
Joitakin parhaita ei-toiminnallisen testauksen kursseja ovat muun muassa:
- TSG: Ei-toiminnallinen koulutus 2 päivän kurssi
- Udemy: 2023 Software Testing Bootcamp
- Edx: Software Testing Professional Certificate
- Kasvattava: Suorituskykytestausautomaatio 101
2. Mitkä ovat 5 tärkeintä haastattelukysymystä ei-toiminnallisesta testauksesta?
Jos valmistaudut työhaastatteluun ohjelmistotestauksen parissa työskentelyyn, haastattelija saattaa kysyä kysymyksiä ei-toiminnallisesta testauksesta varmistaakseen, että ymmärrät, miten tämä ohjelmistotestauksen olennainen vaihe toimii. Valmistaudu haastatteluun valmistelemalla tehokkaita vastauksia yleisimpiin haastattelukysymyksiin etukäteen.
● Miten ei-toiminnallisessa testauksessa käyttämäsi lähestymistavat ja menetelmät saattavat poiketa toiminnallisessa testauksessa käyttämistäsi lähestymistavoista?
● Miten ei-toiminnallinen testaus eroaa toiminnallisesta testauksesta?
● Mitä erilaisia ei-toiminnallisen testauksen tyyppejä on olemassa?
● Miten priorisoit toiminnalliset testit ja testitapaukset?
● Missä ohjelmistotestauksen vaiheessa toiminnallinen testaus yleensä suoritetaan?
3. Parhaat YouTube-oppaat ei-toiminnallisesta testauksesta
Jos haluat oppia mieluummin videoita katselemalla, saatat löytää YouTuben opetusohjelmat ei-toiminnallisesta testauksesta hyödyllisenä tapana oppia lisää tästä ohjelmistotestauksen lajista.
Seuraavassa on joitakin parhaista nykyisin saatavilla olevista ohjelmistotestausta käsittelevistä YouTube-oppaista.
Mitä on ei-toiminnallinen ohjelmistotestaus? Ohjelmistotestauksen opetusohjelma
Ohjelmistotestauksen apu: Ei-toiminnallinen testaus
Ei-toiminnallinen testaus ohjelmistotestauksessa
Vieraile W3Schoolsissa
Toiminnallinen ja ei-toiminnallinen testaus
4. Miten ylläpitää ei-toiminnallisia testejä
Asianmukaisella testien ylläpidolla varmistetaan, että ohjelmistotestit voidaan toistaa testaustulosten laadusta tinkimättä.
Ylläpitämällä ei-toiminnallisia testejä voit varmistaa, että testaus on riittävää kehitysprosessin jokaisessa vaiheessa ja että testit päivitetään jatkuvasti muuttuvan koodin mukaan.
Voit ylläpitää muita kuin toiminnallisia testejä noudattamalla alla olevia vinkkejä.
● Kommunikoi selkeästi koko testausryhmässä testitapauksia luodessasi ja dokumentaatiota kirjoittaessasi.
● Noudata aina parhaita testisuunnittelukäytäntöjä
● Arvioidaan testausprotokollat uudelleen testausprosessin eri vaiheissa.
● Päivitä muutokset testissäsi sitä mukaa kuin etenet
Otetaan huomioon tulevat hankkeet, kun tehdään muutoksia nykyisiin testeihin
5. Onko ei-toiminnallinen testaus black box- vai white box -testausta?
Ei-toiminnallinen testaus on eräänlaista mustan laatikon testausta, mikä tarkoittaa, että testaajat eivät ole kiinnostuneita järjestelmän sisäisestä toiminnasta vaan ainoastaan sen ulkoisista tuotoksista.
Tämä eroaa white box -testauksesta, jossa testataan järjestelmän sisäistä toimintaa. Esimerkkejä valkoisen laatikon testauksesta ovat yksikkötestaus ja integrointitestaus.
Toiminnallisten ja muiden kuin toiminnallisten vaatimusten testaus ovat esimerkkejä mustan laatikon testauksesta. Tämä tarkoittaa sitä, että testaajat eivät tarvitse teknisiä taitoja tai tietokoneohjelmoinnin tuntemusta suorittaakseen mustan laatikon testauksen, eikä heidän tarvitse opetella testaamiensa järjestelmien toteuttamista.