Automation of regression tests on the iOS mobile platform

Thesis title: Automatizace regresních testů na mobilní platformě iOS
Author: Waller, Tomáš
Thesis type: Bakalářská práce
Supervisor: Vencovský, Filip
Opponents: Hornych, Jan
Thesis language: Česky
Abstract:
Tato práce se zabývá vytvořením sady automatizovaných testů pro mobilní aplikaci na platformě iOS. Automatizované testy nám zlepšují kvalitu a rychlost testování dodávaného softwaru. Nejčastěji automatizujeme testy, které se často opakují, například regresní testy. Cílem práce je vytvoření řešení, které je vhodné pro automatizaci komplexních a rozsáhlých regresních testů. Údržba těchto testů a provádění změn musí být jednoduché a časově nenáročné i při velkém počtu testovacích případů. Toto řešení musí také být rozšiřitelné na ostatní platformy, aby bylo možné do budoucna většinu manuálního testování regresních testů nahradit automatizovanými testy. V tomto řešení bude poté část sady regresních testů dané mobilní aplikace zautomatizována. Tyto automatizované testy mají za cíl ulehčit práci manuálním testerům a je důležité, aby časté změny v testované aplikaci nezpůsobily, že údržba a změny v těchto testech budou dražší než provedení dané regresní sady manuálně. Teoretická část práce se zabývá automatizovaným testováním a definováním různých typů testování. Dále si představujeme nejlepší praktiky pro zlepšení vyspělosti automatizovaného testování. Poté popisujeme regresní sadu testů, která je cílem automatizace a ukazujeme si důležité obrazovky z testované aplikace. Nakonec se zabýváme výběrem vhodného nástroje pro implementaci řešení k tvorbě automatizovaných testů. V praktické části pak navrhujeme a implementujeme naše řešení společně s automatizovanými testy. V rámci návrhu řešení vybíráme vhodné návrhové vzory k použití a nastavujeme si jmenné konvence, strukturu složek, strukturu zdrojového souboru a představujeme si nejlepší praktiky pro tvorbu logů. Následně implementujeme naše řešení s využitím vybraných návrhových vzorů a nastavených konvencí. Nakonec v našem řešení automatizujeme vzorek ze sady regresních testů. Implementované testy byly zkušebně pouštěny a proběhla i lehká úprava již vytvořených testů, z důvodů změn v testované aplikaci. Tato úprava byla časově nenáročná a jednoduchá, z čehož lze usuzovat, že implementované řešení funguje podle představ.
Keywords: Selenium; Appium; iOS; regresní testy; automatizované testy
Thesis title: Automation of regression tests on the iOS mobile platform
Author: Waller, Tomáš
Thesis type: Bachelor thesis
Supervisor: Vencovský, Filip
Opponents: Hornych, Jan
Thesis language: Česky
Abstract:
This thesis deals with the creation of a set of automated tests for a mobile application on the iOS platform. Automated tests improve the quality and speed of the testing process of the software we deliver. Most of the time we automate tests that are often repeated, such as regression tests. The goal of this work is to create a solution that is suitable for automating complex and large-scale regression tests. Maintenance of these tests and making changes must be simple and time-efficient even with large number of test cases. This solution must also be extensible to other platforms so that most manual regression testing can be replaced by automated tests in the future. In this solution, part of the regression test suite of a given mobile application will be automated. These automated tests are intended to make the work of manual testers easier, and it is important that frequent changes to the application under test do not make maintenance and changes to these tests more expensive than performing a given regression suite manually. The theoretical part of the thesis deals with automated testing and defining different types of testing. We also envision best practices for improving the maturity of automated testing. We then describe the regression test suite that is the target of automation and show important screenshots from the application under test. Finally, we discuss the selection of an appropriate tool for implementing a solution to create automated tests. In the practical part, we design and implement our solution along with the automated tests. As part of the solution design, we select appropriate design patterns to use and set up naming conventions, folder structure, source file structure, and introduce best practices for log creation. We then implement our solution using the selected design patterns and set up conditions. Finally, we automate a sample from a set of regression tests in our solution. The implemented tests had a testing run, and a slight modification was made to the already created tests due to changes in the application under test. This modification was time-efficient and simple, suggesting that the implemented solution works as excepted.
Keywords: automation tests; Appium; regression tests; iOS; Selenium

Information about study

Study programme: Aplikovaná informatika/Aplikovaná informatika
Type of study programme: Bakalářský studijní program
Assigned degree: Bc.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 1. 12. 2022
Date of submission: 10. 12. 2023
Date of defense: 1. 2. 2024
Identifier in the InSIS system: https://insis.vse.cz/zp/71824/podrobnosti

Files for download

    Last update: