dc.description.abstract |
Mobile application development is emerging as one of the focused areas in the software industry due to the exponential growth of mobile users and applications. The mobile market is highly competitive and the applications developed need to work under strict performance constraints to meet the expectations of end users. A significant challenge faced by the industry is developing multiple native variants of mobile applications to support different mobile operating systems, varying mobile devices, and varying application functional requirements. The mobile devices typically have limited memory, battery power, and processing speed, which makes performance testing of these applications very important. The current industrial practice is manual development and testing of several native variants for a mobile application. Any potential change has to be applied and tested across variants manually, which is neither efficient nor scalable.
In this thesis, the problem of developing various native variants of a mobile application is considered as a ‘software product-line engineering’ problem. The thesis proposes a novel product-line model-driven engineering approach for mobile applications that addresses the key challenges of generating of feature-based native mobile application variants for multiple platforms. Specifically, the approach deals with three types of variations in mobile applications: variation due to operating systems and their versions, software, and hardware capabilities of mobile devices, and functionalities offered by the mobile applications. The models developed are used to generate mobile variants automatically.
Due to the variation in mobile devices, the overall performance of generated variants may significantly vary across platforms. Once the native variants are generated, performance testing of mobile applications across various platforms is also of key importance to ensure that the variants are performing within acceptable limits. For this purpose, an automated model-based performance testing approach is proposed that specifically focuses on the evaluation of mobile device processing, memory, and battery consumption for native application variants.
The proposed approach is supported by an automated MOPPET tool and is applied to two industrial case studies. The tool is used to generate the application variants and test their performance. The results of applying the approach to case studies show that the proposed approach is applicable to industrial mobile applications and have the potential to significantly reduce the development and testing efforts. A questionnaire-based survey is conducted to evaluate the usefulness of the proposed approach. The analysis of the survey summarizes that the presented approach addresses the challenges of generating and performance testing of mobile application variants. |
en_US |