Fyysinen testausrobotti mobiilitestiautomaation tukena
Klasila, Sakari (2023)
Klasila, Sakari
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023052614770
https://urn.fi/URN:NBN:fi:amk-2023052614770
Tiivistelmä
Tämän opinnäytetyön tarkoituksena oli suunnitella ja toteuttaa fyysinen testausrobotti mobiilitestiautomaation tueksi. Robottia ei kehitetty korvaamaan muita automaatiotyökaluja, vaan sen tarkoituksena on avustaa mobiilitestiautomaatiota tilanteissa, joissa tarvitaan testilaitteen kosketusnäytön manipulointia fyysisin kosketuksin.
Opinnäytetyön aihe tuli tietyltä yritykseltä, mutta tämä ratkaisumalli voi hyödyttää myös muita samankaltaisissa tilanteissa olevia tahoja. Opinnäytetyö päätettiin toteuttaa yleisluontoisesti, joten siitä jätettiin pois joitain tunnistettavia sovellus- ja testiympäristökohtaisia yksityiskohtia. Työn alussa kerrottiin yleisesti mobiilitestiautomaatiosta ja niistä työkaluista, joita käytettiin testausrobotin ja valmiin testiympäristön kehittämisessä.
Robotin toteutuksessa hyödynnettiin 3D-tulostinta, jota muokattiin niin, että sen ohjaaminen oli mahdollista testiympäristöstä käyttäen vakiintuneita laiteohjausmetodeja ja G-koodi-koneohjauskieltä. Testiympäristöön luotiin uusi Python-kirjasto, johon määriteltiin ohjausmetodit, joita hyödyntäen robottia voitiin käyttää saumattomasti osana testausympäristöä.
Valmista testausrobottia testattiin luomalla sille mobiilitestausympäristö, joka sisälsi kaikki tarvittavat ominaisuudet sen toimintojen varmistamiseksi. Testilaitteina käytettiin neljää mobiililaitetta, joille testattava sovellus asennettiin. Testiympäristöön luotiin 20 identtistä testitapausta, jotka suoritettiin satunnaisesti näillä testilaitteilla. Testausrobotti suoritti kaikkien testitapausten kirjautumisvaiheet onnistuneesti.
Lopputuloksena saatiin toimiva fyysinen testausrobotti, joka toimii määrätyllä tavalla osana mobiilitestausympäristöä. Varmennustestaus osoitti laitteen luotettavuuden, ja testausrobotti otettiin heti käyttöön osaksi testausympäristöä yritykselle, joka oli aiheen alkuperäinen tarpeenasettaja. This thesis aimed to design and implement a physical testing robot to support mobile test automation. The robot was not meant to replace other automation tools but to assist in situ-ations where physical touch manipulation of the test device's touchscreen is required
The thesis provided an overview of mobile test automation and the tools used in the development of the testing robot and the test environment. The robot was implemented using a 3D printer, which was modified to be controlled from the test environment using established device control methods and G-code machine control language. A new Python library was created for the robot within the test environment, defining control methods that enabled its seamless integration into the testing environment.
The completed testing robot was tested by creating a mobile testing environment specifically designed to ensure all its functionalities. Four mobile devices were used as test devices, with the tested application installed on them. Twenty identical test cases were created in the test environment and randomly executed on each test device. The testing robot successfully completed all the login steps for each test case.
As a result, a functional physical testing robot was achieved, operating as intended as part of the mobile testing environment. Verification testing demonstrated the device's reliability, and the testing robot was immediately put into use as part of the testing environment for the company that had the initial need for it.
Opinnäytetyön aihe tuli tietyltä yritykseltä, mutta tämä ratkaisumalli voi hyödyttää myös muita samankaltaisissa tilanteissa olevia tahoja. Opinnäytetyö päätettiin toteuttaa yleisluontoisesti, joten siitä jätettiin pois joitain tunnistettavia sovellus- ja testiympäristökohtaisia yksityiskohtia. Työn alussa kerrottiin yleisesti mobiilitestiautomaatiosta ja niistä työkaluista, joita käytettiin testausrobotin ja valmiin testiympäristön kehittämisessä.
Robotin toteutuksessa hyödynnettiin 3D-tulostinta, jota muokattiin niin, että sen ohjaaminen oli mahdollista testiympäristöstä käyttäen vakiintuneita laiteohjausmetodeja ja G-koodi-koneohjauskieltä. Testiympäristöön luotiin uusi Python-kirjasto, johon määriteltiin ohjausmetodit, joita hyödyntäen robottia voitiin käyttää saumattomasti osana testausympäristöä.
Valmista testausrobottia testattiin luomalla sille mobiilitestausympäristö, joka sisälsi kaikki tarvittavat ominaisuudet sen toimintojen varmistamiseksi. Testilaitteina käytettiin neljää mobiililaitetta, joille testattava sovellus asennettiin. Testiympäristöön luotiin 20 identtistä testitapausta, jotka suoritettiin satunnaisesti näillä testilaitteilla. Testausrobotti suoritti kaikkien testitapausten kirjautumisvaiheet onnistuneesti.
Lopputuloksena saatiin toimiva fyysinen testausrobotti, joka toimii määrätyllä tavalla osana mobiilitestausympäristöä. Varmennustestaus osoitti laitteen luotettavuuden, ja testausrobotti otettiin heti käyttöön osaksi testausympäristöä yritykselle, joka oli aiheen alkuperäinen tarpeenasettaja.
The thesis provided an overview of mobile test automation and the tools used in the development of the testing robot and the test environment. The robot was implemented using a 3D printer, which was modified to be controlled from the test environment using established device control methods and G-code machine control language. A new Python library was created for the robot within the test environment, defining control methods that enabled its seamless integration into the testing environment.
The completed testing robot was tested by creating a mobile testing environment specifically designed to ensure all its functionalities. Four mobile devices were used as test devices, with the tested application installed on them. Twenty identical test cases were created in the test environment and randomly executed on each test device. The testing robot successfully completed all the login steps for each test case.
As a result, a functional physical testing robot was achieved, operating as intended as part of the mobile testing environment. Verification testing demonstrated the device's reliability, and the testing robot was immediately put into use as part of the testing environment for the company that had the initial need for it.