Web-sovelluksen päästä päähän -testaaminen Cypress-testaustyökalulla
Huoponen, Janetta (2020)
Kandidaatintyö
Huoponen, Janetta
2020
School of Engineering Science, Tietotekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2020042322226
https://urn.fi/URN:NBN:fi-fe2020042322226
Tiivistelmä
Sovellusten koon kasvu ja monimutkaisuus asettavat nykyaikaiselle ohjelmistotuotannon toimintatavoille korkeat vaatimukset perinteistä laatuajattelua poissulkematta. Sovelluksen on toimittava odotetulla tavalla ja tehokkaasti. Päästä päähän -testaus on sujuva tapa varmistaa edellä mainitut asiat. Kyseisen testaustason periaatteena on testata sovelluksen toiminnallisuuksia alusta loppuun ja tutkia järjestelmää kokonaisuutena. Tämän kandidaatintyön tavoitteena oli selvittää, kuinka modernien yksisivuisten web-sovellusten päästä päähän -testaus voidaan käytännössä toteuttaa Cypress-testaustyökalun avulla. Aluksi ohjelmistotestausta taustoitettiin yleisesti ja sen jälkeen lukija perehdytettiin päästä päähän -testaustasoon. Tämän jälkeen esiteltiin päästä päähän -testaukseen soveltuvia testaustyökaluja ja toteutettiin testaussuunnitelma. Kohdesovellukselle toteutettiin suunnitelman pohjalta valitut testitapaukset. Työn merkittävimpinä johtopäätöksenä voidaan pitää Cypressin soveltuvan kaikenlaisten web-sovellusten selaintason testaukseen. Erityisesti se sopii JavaScript-pohjaisten yksisivuisten web-sovellusten päästä päähän testaukseen. Käytännön osuudessa esiteltyjä testejä mukaillen voidaan mallintaa loppukäyttäjän toimintaa kohdesovelluksen toiminnallisuuksista riippumatta. Työn lopuksi pohdittiin tehtyjä valintoja ja niiden seurauksia, sekä käytännön osuuden onnistumista. Web applications become bigger and more complicated over time. This has created a need for new and agile ways of developing software. The quality of software is a top priority and it cannot be compromised. The applications need to be efficient and work as intended. Endto-End testing is a way to ensure above features. It is a level of testing that makes sure the system works as a whole. The purpose of this thesis was to find out how modern single page applications can be End-to-End tested with a relatively new testing tool, Cypress. At first, software testing is addressed generally and then the focus is shifted towards End-to-End testing. After that some alternative tools are presented and a testing plan is established. Selected test cases are implemented based on the testing plan and the process of writing tests is described. The most important result of this thesis is that Cypress is a surprisingly versatile tool and it can be used to test all kinds of web applications. It is particularly useful when used to End-to-End test JavaScript-based single page applications. By altering the presented test cases it is possible to simulate the end user’s actions in the application under testing. To conclude, the different choices and the success of the practical work were analyzed.