Järjestelmän web-sovellustestaus Selenium-työkalulla
Lehtola, Tenho (2023)
Lehtola, Tenho
2023
Automaatiotekniikan DI-ohjelma - Master's Programme in Automation Engineering
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-12-18
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-2023120410450
https://urn.fi/URN:NBN:fi:tuni-2023120410450
Tiivistelmä
Tämä diplomityö käsittelee järjestelmän web-sovellustestausta käyttäen Selenium-työkalua. Selenium on avoimen lähdekoodin projekti web-selainten automatisointiin ja projektin suosittu käyttökohde on funktionaalisten web-testien automatisointi. Työtä varten muodostettiin Selenium-työkalu Selenium projektin kirjastoja, yksikkötestikehystä ja web-ajuria käyttäen.
Työn tavoitteena oli tutkia, kuinka laajasti Selenium-työkalua voidaan käyttää web-pohjaisen järjestelmän laatuominaisuuksien testaamiseen. Työn aikana tutkittaviksi laatukriteereiksi valikoitui funktionaalinen sopivuus, suorituskyky ja tietoturvallisuus. Toinen työn tavoite oli löytää suunnittelutekniikoita, joiden käyttäminen voisi parantaa Selenium-työkalun avulla automatisoitujen web-testien ylläpidettävyyttä.
Työssä testit kohdistetaan teolliseen raportointijärjestelmään. Työn aikana Selenium-työkalun soveltuvuutta teollisen raportointijärjestelmän funktionaalisen sopivuuden testaamiseen arvioitiin teollisen raportointijärjestelmän ominaisuuksilla. Kuitenkin ominaisuudet valikoitiin tarkoituksella yleisiksi, jotta työn tuloksista on hyötyä myös muiden sovellusten testaamisessa, joilla on web-pohjainen UI. Selenium-työkalun soveltuvuutta suorituskyvyn ja tietoturvallisuuden testaamiseen arvioitiin vertailemalla Selenium-työkalua kyseisiin aihealueisiin erikoistuviin työkaluihin. Suorituskykytestauksessa vertailu tehtiin Apache JMeter™-työkaluun ja tietoturvatestauksessa vertailu tehtiin ZAP-työkaluun.
Työn tuloksissa havaittiin, että Selenium-työkalu soveltuu funktionaalisen sopivuuden testaamiseen tietyin rajoituksin. Selenium-työkalu ei sovellu hyvin suorituskyvyn tai tietoturvallisuuden testaamiseen. Tutkimus osoitti, että vain muutamat näihin aihealueisiin liittyvät toimenpiteet onnistuvat Selenium-työkalulla. Vastaavasti aihealueisiin erikoistuvat työkalut kykenevät tarjoamaan enemmän tietoturvallisuus- ja suorituskykytestaukseen liittyviä ominaisuuksia. Työtä tehtäessä pystyttiin löytämään kolme suunnittelutekniikkaa, jotka parantavat Selenium-työkalulla luotujen web-testien ylläpidettävyyttä. Subject of this master’s thesis is web application testing a system with Selenium testing tool. Selenium is an open-source project with primary motivation of providing tools for browser automation. One popular use-case for the project is to automate functional web-tests. For this work a Selenium-tool was created via the use of Selenium projects libraries, unit testing framework and a browser web-driver.
Purpose of the master’s thesis was to investigate how broadly Selenium-tool could be used to test various quality characteristics of the system with web-based UI. Quality characteristics of functional suitability, performance efficiency and security were selected. Another purpose for the thesis was to investigate different implementation techniques which use could increase the maintainability of tests created with Selenium-tool.
Requirements of the industrial reporting system were used to validate if Selenium-tool is suitable to test system’s functional suitability. However, requirements were intentionally chosen to be broad, so results of this thesis would apply to other systems with web-based UI. Selenium tools suitability for performance and security testing was reviewed by comparing it to other tools that specify in those fields. In performance testing Selenium-tool was compared to Apache JMeter™-tool and in security testing Selenium-tool was compared to ZAP-tool.
During the work, Selenium-tool was deemed suitable for testing the functional suitability with some limitations. Selenium-tool was not deemed suitable for testing performance efficiency and security. Study showed that Selenium-tool was able to fulfill only few use cases in these types of testing. On the other hand, tools specified to these types of testing could offer more performance and security testing functionalities. Three different implementation techniques were found during the work, that increase maintainability of tests created with Selenium-tool.
Työn tavoitteena oli tutkia, kuinka laajasti Selenium-työkalua voidaan käyttää web-pohjaisen järjestelmän laatuominaisuuksien testaamiseen. Työn aikana tutkittaviksi laatukriteereiksi valikoitui funktionaalinen sopivuus, suorituskyky ja tietoturvallisuus. Toinen työn tavoite oli löytää suunnittelutekniikoita, joiden käyttäminen voisi parantaa Selenium-työkalun avulla automatisoitujen web-testien ylläpidettävyyttä.
Työssä testit kohdistetaan teolliseen raportointijärjestelmään. Työn aikana Selenium-työkalun soveltuvuutta teollisen raportointijärjestelmän funktionaalisen sopivuuden testaamiseen arvioitiin teollisen raportointijärjestelmän ominaisuuksilla. Kuitenkin ominaisuudet valikoitiin tarkoituksella yleisiksi, jotta työn tuloksista on hyötyä myös muiden sovellusten testaamisessa, joilla on web-pohjainen UI. Selenium-työkalun soveltuvuutta suorituskyvyn ja tietoturvallisuuden testaamiseen arvioitiin vertailemalla Selenium-työkalua kyseisiin aihealueisiin erikoistuviin työkaluihin. Suorituskykytestauksessa vertailu tehtiin Apache JMeter™-työkaluun ja tietoturvatestauksessa vertailu tehtiin ZAP-työkaluun.
Työn tuloksissa havaittiin, että Selenium-työkalu soveltuu funktionaalisen sopivuuden testaamiseen tietyin rajoituksin. Selenium-työkalu ei sovellu hyvin suorituskyvyn tai tietoturvallisuuden testaamiseen. Tutkimus osoitti, että vain muutamat näihin aihealueisiin liittyvät toimenpiteet onnistuvat Selenium-työkalulla. Vastaavasti aihealueisiin erikoistuvat työkalut kykenevät tarjoamaan enemmän tietoturvallisuus- ja suorituskykytestaukseen liittyviä ominaisuuksia. Työtä tehtäessä pystyttiin löytämään kolme suunnittelutekniikkaa, jotka parantavat Selenium-työkalulla luotujen web-testien ylläpidettävyyttä.
Purpose of the master’s thesis was to investigate how broadly Selenium-tool could be used to test various quality characteristics of the system with web-based UI. Quality characteristics of functional suitability, performance efficiency and security were selected. Another purpose for the thesis was to investigate different implementation techniques which use could increase the maintainability of tests created with Selenium-tool.
Requirements of the industrial reporting system were used to validate if Selenium-tool is suitable to test system’s functional suitability. However, requirements were intentionally chosen to be broad, so results of this thesis would apply to other systems with web-based UI. Selenium tools suitability for performance and security testing was reviewed by comparing it to other tools that specify in those fields. In performance testing Selenium-tool was compared to Apache JMeter™-tool and in security testing Selenium-tool was compared to ZAP-tool.
During the work, Selenium-tool was deemed suitable for testing the functional suitability with some limitations. Selenium-tool was not deemed suitable for testing performance efficiency and security. Study showed that Selenium-tool was able to fulfill only few use cases in these types of testing. On the other hand, tools specified to these types of testing could offer more performance and security testing functionalities. Three different implementation techniques were found during the work, that increase maintainability of tests created with Selenium-tool.