Test suite reduction in android application using refactoring

The vast increase in demand for android applications has made android application testing inevitable. The android open source feature has led to developers of unknown level of expertise developing the application, thus raising concerns on quality issues. Currently, android applications are found lag...

Full description

Bibliographic Details
Main Author: Ahmed, Maryam Temitayo
Format: Thesis
Language:English
English
English
Published: 2016
Subjects:
Online Access:http://eprints.uthm.edu.my/10032/
Abstract Abstract here
_version_ 1855521176474877952
author Ahmed, Maryam Temitayo
author_facet Ahmed, Maryam Temitayo
author_sort Ahmed, Maryam Temitayo
description The vast increase in demand for android applications has made android application testing inevitable. The android open source feature has led to developers of unknown level of expertise developing the application, thus raising concerns on quality issues. Currently, android applications are found lagging in the area of testing. Test case generation is the most important and challenging area of software testing. Test cases tend to be large in number as redundant test cases are generated due to the presence of code smells in the software. Code smells are unnecessary codes, as a result of poor design or implementation. Several approaches have been proposed in the past by both academy and industrial researchers to tackle the high number of generated test cases in android applications, including test case minimization and prioritization technique. Nonetheless, these approaches are reactive rather than proactive. The technique used in this study is to apply code refactoring before test case generation to avoid redundant test cases from being generated. To achieve this, the detection of smells was done, followed by refactoring of detected smells. Test cases were then generated from the refactored code. More explicitly, this research presents three rules for detection of three code smells; lazy class, small method and duplicate, and three rules for their refactoring. The rules were implemented in a tool named DART (Detection and Refactoring Tool) to refactor the android source code for the reduction of test cases. The resultant source code is compared with the original source code by generating a number of branches, branch coverage and complexity using Clover. The results of this research show a reduction of about 7.7% in the cyclomatic complexity of the source code, while increasing the branch coverage with up to 9.2% increment. Also, there is a 28% reduction in the number of test cases generated. These show that refactoring can be used to reduce redundant test cases
format Thesis
id uthm-10032
institution Universiti Tun Hussein Onn Malaysia
language English
English
English
publishDate 2016
record_format EPrints
record_pdf Restricted
spelling uthm-100322023-10-01T02:07:08Z http://eprints.uthm.edu.my/10032/ Test suite reduction in android application using refactoring Ahmed, Maryam Temitayo QA Mathematics QA76 Computer software The vast increase in demand for android applications has made android application testing inevitable. The android open source feature has led to developers of unknown level of expertise developing the application, thus raising concerns on quality issues. Currently, android applications are found lagging in the area of testing. Test case generation is the most important and challenging area of software testing. Test cases tend to be large in number as redundant test cases are generated due to the presence of code smells in the software. Code smells are unnecessary codes, as a result of poor design or implementation. Several approaches have been proposed in the past by both academy and industrial researchers to tackle the high number of generated test cases in android applications, including test case minimization and prioritization technique. Nonetheless, these approaches are reactive rather than proactive. The technique used in this study is to apply code refactoring before test case generation to avoid redundant test cases from being generated. To achieve this, the detection of smells was done, followed by refactoring of detected smells. Test cases were then generated from the refactored code. More explicitly, this research presents three rules for detection of three code smells; lazy class, small method and duplicate, and three rules for their refactoring. The rules were implemented in a tool named DART (Detection and Refactoring Tool) to refactor the android source code for the reduction of test cases. The resultant source code is compared with the original source code by generating a number of branches, branch coverage and complexity using Clover. The results of this research show a reduction of about 7.7% in the cyclomatic complexity of the source code, while increasing the branch coverage with up to 9.2% increment. Also, there is a 28% reduction in the number of test cases generated. These show that refactoring can be used to reduce redundant test cases 2016-07 Thesis NonPeerReviewed text en http://eprints.uthm.edu.my/10032/2/24p%20MARYAM%20TEMITAYO%20AHMED.pdf text en http://eprints.uthm.edu.my/10032/1/MARYAM%20TEMITAYO%20AHMED%20COPYRIGHT%20DELARATION.pdf text en http://eprints.uthm.edu.my/10032/3/MARYAM%20TEMITAYO%20AHMED%20WATERMARK.pdf Ahmed, Maryam Temitayo (2016) Test suite reduction in android application using refactoring. Doctoral thesis, Universiti Tun Hussein Onn Malaysia.
spellingShingle QA Mathematics
QA76 Computer software
Ahmed, Maryam Temitayo
Test suite reduction in android application using refactoring
thesis_level PhD
title Test suite reduction in android application using refactoring
title_full Test suite reduction in android application using refactoring
title_fullStr Test suite reduction in android application using refactoring
title_full_unstemmed Test suite reduction in android application using refactoring
title_short Test suite reduction in android application using refactoring
title_sort test suite reduction in android application using refactoring
topic QA Mathematics
QA76 Computer software
url http://eprints.uthm.edu.my/10032/
work_keys_str_mv AT ahmedmaryamtemitayo testsuitereductioninandroidapplicationusingrefactoring