University of Oulu

Automated state model extraction, testing and change detection through graphical user interface

Saved in:
Author: Aho, Pekka1,2,3
Organizations: 1University of Oulu Graduate School
2University of Oulu, Faculty of Information Technology and Electrical Engineering, Computer Science and Engineering
3Open University of the Netherlands
Format: ebook
Version: published version
Access: open
Online Access: PDF Full Text (PDF, 0.9 MB)
Persistent link: http://urn.fi/urn:isbn:9789526224060
Language: English
Published: Oulu : University of Oulu, 2019
Publish Date: 2019-11-01
Thesis type: Doctoral Dissertation
Defence Note: Academic dissertation to be presented with the assent of the Doctoral Training Committee of Information Technology and Electrical Engineering of the University of Oulu for public defence in Martti Ahtisaari -sali (L2), Linnanmaa, on 13 November 2019, at 12 noon
Tutor: Professor Juha Röning
Professor Tanja E. J. Vos
Reviewer: Professor Ana C. R. Paiva
Professor Anna Rita Fasolino
Opponent: Professor Serge Demeyer
Description:

Abstract

Testing is an important part of quality assurance, and the use of agile processes, continuous integration and DevOps is increasing the pressure for automating all aspects of testing. Testing through graphical user interfaces (GUIs) is commonly automated by scripts that are captured or manually created with a script editor, automating the execution of test cases. A major challenge with script-based GUI test automation is the manual effort required for maintaining the scripts when the GUI changes. Model-based testing (MBT) is an approach for automating also the design of test cases. Traditionally, models for MBT are designed manually with a modelling tool, and an MBT tool is used for generating abstract test cases from the model. Then, an adapter is implemented to translate the abstract test cases into concrete test cases that can be executed on system under test (SUT). When the GUI changes, the model has to be updated and the test cases can be generated from the updated model, reducing the maintenance effort. However, designing models and implementing adapters requires effort and specialized expertise.

The main research questions of this thesis are 1) how to automatically extract state-based models of software systems with GUI, and 2) how to use the extracted models to automate testing. Our focus is on using dynamic analysis through the GUI during automated exploration of the system, and we concentrate on desktop applications. Our results show that extracting state models through GUI is possible and the models can be used to generate regression test cases, but a more promising approach is to use model comparison on extracted models of consequent system versions to automatically detect changes between the versions.

see all

Tiivistelmä

Testaaminen on tärkeä osa laadun varmistusta. Ketterät kehitysprosessit ja jatkuva integrointi lisäävät tarvetta automatisoida kaikki testauksen osa-alueet. Testaus graafisten käyttöliittymien kautta automatisoidaan yleensä skripteinä, jotka luodaan joko tallentamalla manuaalista testausta tai kirjoittamalla käyttäen skriptieditoria. Tällöin scriptit automatisoivat testitapausten suorittamista. Muutokset graafisessa käyttöliittymässä vaativat scriptien päivittämistä ja scriptien ylläpitoon kuluva työmäärä on iso ongelma. Mallipohjaisessa testauksessa automatisoidaan testien suorittamisen lisäksi myös testitapausten suunnittelu. Perinteisesti mallipohjaisessa testauksessa mallit suunnitellaan manuaalisesti käyttämällä mallinnustyökalua, ja mallista luodaan abstrakteja testitapauksia automaattisesti mallipohjaisen testauksen työkalun avulla. Sen jälkeen implementoidaan adapteri, joka muuttaa abstraktit testitapaukset konkreettisiksi, jotta ne voidaan suorittaa testattavassa järjestelmässä. Kun testattava graafinen käyttöliittymä muuttuu, vain mallia täytyy päivittää ja testitapaukset voidaan luoda automaattisesti uudelleen, vähentäen ylläpitoon käytettävää työmäärää. Mallien suunnittelu ja adapterien implementointi vaatii kuitenkin huomattavan työmäärän ja erikoisosaamista.

Tämä väitöskirja tutkii 1) voidaanko tilamalleja luoda automaattisesti järjestelmistä, joissa on graafinen käyttöliittymä, ja 2) voidaanko automaattisesti luotuja tilamalleja käyttää testauksen automatisointiin. Tutkimus keskittyy työpöytäsovelluksiin ja dynaamisen analyysin käyttämiseen graafisen käyttöliittymän kautta järjestelmän automatisoidun läpikäynnin aikana. Tutkimustulokset osoittavat, että tilamallien automaattinen luominen graafisen käyttöliittymän kautta on mahdollista, ja malleja voidaan käyttää testitapausten generointiin regressiotestauksessa. Lupaavampi lähestymistapa on kuitenkin vertailla malleja, jotka on luotu järjestelmän peräkkäisistä versioista, ja havaita versioiden väliset muutokset automaattisesti.

see all

Osajulkaisut / Original papers

Osajulkaisut eivät sisälly väitöskirjan elektroniseen versioon / Original papers are not included in the electronic version of the dissertation.

  1. Aho, P., Menz, N., Räty, T., & Schieferdecker, I. (2011). Automated Java GUI modeling for model-based testing purposes. Proceedings of the 2011 Eighth International Conference on Information Technology: New Generations (ITNG) (pp. 268–273). https://doi.org/10.1109/ITNG.2011.54

  2. Aho, P., Menz, N., & Räty, T. (2011). Enhancing generated Java GUI models with valid test data. Proceedings of the 2011 IEEE Conference on Open Systems (ICOS) (pp. 310–315). https://doi.org/10.1109/ICOS.2011.6079253

  3. Aho, P., Räty, T., & Menz, N. (2013). Dynamic reverse engineering of GUI models for testing. Proceedings of the 2013 International Conference on Control, Decision and Information Technologies (CoDIT) (pp. 441–447). https://doi.org/10.1109/CoDIT.2013.6689585

  4. Aho, P., Suarez, M., Kanstrén, T., & Memon, A. M. (2013). Industrial adoption of automatically extracted GUI models for testing. Proceedings of the 3rd International Workshop on Experiences and Empirical Studies in Software Modeling (EESSMod) (pp. 49–54).

  5. Aho, P., Suarez, M., Kanstrén, T., & Memon A. M. (2014). Murphy tools: Utilizing extracted GUI models for industrial software testing. Proceedings of the 2014 IEEE 7th International Conference on Software Testing, Verification and Validation Workshops (ICSTW) (pp. 343–348). https://doi.org/10.1109/ICSTW.2014.39

  6. Aho, P., Kanstrén T., Räty, T., & Röning, J. (2014). Automated extraction of GUI models for testing. Advances in Computers, 95(2), 49–112. https://doi.org/10.1016/B978-0-12-800160-8.00002-4

  7. Aho, P., Suarez, M., Memon, A. M., & Kanstrén, T. (2015). Making GUI testing practical: Bridging the gaps. Proceedings of the 12th International Conference on Information Technology: New Generations (ITNG 2015) (pp. 439–444). https://doi.org/10.1109/ITNG.2015.77

  8. Aho, P., Alégroth, E., Oliveira, R., & Vos, T. (2016). Evolution of automated regression testing of software systems through the graphical user interface. Proceedings of the First International Conference on Advances in Computation, Communications and Services (ACCSE) (pp. 16–21).

  9. Aho, P., & Vos, T. (2018). Challenges in automated testing through graphical user interface. Proceedings of the 2018 IEEE International Conference on Software Testing Verification and Validation Workshop (ICSTW) (pp. 118–121). https://doi.org/10.1109/ICSTW.2018.00038

see all

Series: Acta Universitatis Ouluensis. C, Technica
ISSN: 0355-3213
ISSN-E: 1796-2226
ISSN-L: 0355-3213
ISBN: 978-952-62-2406-0
ISBN Print: 978-952-62-2405-3
Issue: 724
Type of Publication: G5 Doctoral dissertation (articles)
Field of Science: 113 Computer and information sciences
Subjects:
Copyright information: © University of Oulu, 2019. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.