PHP-pohjaisen sovelluksen testaus
Viktor Marttinen
Abstract
Open-access reader
Viktor Marttinen
Abstract
Open-access reader
Tämä opinnäytetyö käsittelee, kuinka nykypäivänä toteutetaan web-sovellusten testausta. Opinnäytetyö tehtiin CASE-tutkimuksena verkkopeli, mikä on koodattu PHP kielellä. Verkkopelille ei ollut laadittu testaussuunnitelmaa eikä toteutettu yksiköntason testausta. \n \nTämän raportin tavoitteena oli tutkia asioita teoriassa, mitä piti käsitellä ja ratkaista kun suunnitellaan web-sovelluksen testaussuunnitelmaa ja erityisesti yksikkötestaukset, soveltaa niitä CASE-esimerkiin ja analysoida niitä, selvittää mihin täytyisi kiinnittää huomion kun suunnitellaan ja kehitetään yksikkötestaukset PHP ja muussa web-ympäristössä. \n \nTämän raportin viitekehysosuudessa tarkasteltiin teoriaa joka koskee: testausprosessia osana ohjelmistotuotantoa ja testausprosessin vaiheita. Työssä käsiteltiin testauksen menetelmiä, erityisesti yksikkötestauksia ja käytiin läpi lyhyesti testausten mittarit ja automatisointi. Empiirisessä osassa tutustuttiin XAMPPiin, NetBeansiin ja PHPUnitiin, ja toteutettiin muutama yksikkötestitapaus. Pohdinnassa havaintojen ohella nivottiin yhteen teoria- ja empiirisen osion ja mietittiin johtopäätöksestä. \n \nAineistoa kerättiin usealla eri tavalla. Tietoa hankittiin kirjallisuudesta, seminaareista ja kursseilta. Tietoa haettiin myös testausympäristöstä, jolla pyrittiin toteuttamaan muutama yksikkötason testitapaus. Menetelmänä valittiin tyypillisimmin ilmiöiden kuvaileminen ja toistaminen testausympäristössä ja niiden myöhempi analyysi ja arviointi. \n \nKokemuksena voidaan mainita, että web-pohjainen sovellusten testaus eroa tavallista sovellus-testausta. Itse yksikkötestit eivät paljon poikkea testausta mikä tahansa muu sovelluksentestausta. Selvittiin että kuin kaikki testauksen tekniikat, yksikkötestaus ei havaitse kaikkia ohjelman virheitä. Yksikkötestaus on tehokkaampaa, jos sitä käytetään muiden testausmenetelmien yhteydessä. Saadakseen hyötyä yksikkötestauksessa on ehdottomasti noudatettava testauksen teknologian sekä laadittu lähdekoodin dokumentaatio koko ohjelmiston kehitysprosessin läpi. Tuotu prosessimalli soveltuu myös muille verkkopeli-projektin osille tai jopa muille PHP-pohjaisille sovelluksille.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Tämä opinnäytetyö käsittelee, kuinka nykypäivänä toteutetaan web-sovellusten testausta. Opinnäytetyö tehtiin CASE-tutkimuksena verkkopeli, mikä on koodattu PHP kielellä. Verkkopelille ei ollut laadittu testaussuunnitelmaa eikä toteutettu yksiköntason testausta. \n \nTämän raportin tavoitteena oli tutkia asioita teoriassa, mitä piti käsitellä ja ratkaista kun suunnitellaan web-sovelluksen testaussuunnitelmaa ja erityisesti yksikkötestaukset, soveltaa niitä CASE-esimerkiin ja analysoida niitä, selvittää mihin täytyisi kiinnittää huomion kun suunnitellaan ja kehitetään yksikkötestaukset PHP ja muussa web-ympäristössä. \n \nTämän raportin viitekehysosuudessa tarkasteltiin teoriaa joka koskee: testausprosessia osana ohjelmistotuotantoa ja testausprosessin vaiheita. Työssä käsiteltiin testauksen menetelmiä, erityisesti yksikkötestauksia ja käytiin läpi lyhyesti testausten mittarit ja automatisointi. Empiirisessä osassa tutustuttiin XAMPPiin, NetBeansiin ja PHPUnitiin, ja toteutettiin muutama yksikkötestitapaus. Pohdinnassa havaintojen ohella nivottiin yhteen teoria- ja empiirisen osion ja mietittiin johtopäätöksestä. \n \nAineistoa kerättiin usealla eri tavalla. Tietoa hankittiin kirjallisuudesta, seminaareista ja kursseilta. Tietoa haettiin myös testausympäristöstä, jolla pyrittiin toteuttamaan muutama yksikkötason testitapaus. Menetelmänä valittiin tyypillisimmin ilmiöiden kuvaileminen ja toistaminen testausympäristössä ja niiden myöhempi analyysi ja arviointi. \n \nKokemuksena voidaan mainita, että web-pohjainen sovellusten testaus eroa tavallista sovellus-testausta. Itse yksikkötestit eivät paljon poikkea testausta mikä tahansa muu sovelluksentestausta. Selvittiin että kuin kaikki testauksen tekniikat, yksikkötestaus ei havaitse kaikkia ohjelman virheitä. Yksikkötestaus on tehokkaampaa, jos sitä käytetään muiden testausmenetelmien yhteydessä. Saadakseen hyötyä yksikkötestauksessa on ehdottomasti noudatettava testauksen teknologian sekä laadittu lähdekoodin dokumentaatio koko ohjelmiston kehitysprosessin läpi. Tuotu prosessimalli soveltuu myös muille verkkopeli-projektin osille tai jopa muille PHP-pohjaisille sovelluksille.
Key concepts: White-box testing, Unit testing, Black-box testing, Manual testing, Non-regression testing, Keyword-driven testing, Computer science, Test strategy