  Software testing is an important phase in the software development life-cycle
because it helps in identifying bugs in a software system before it is shipped
into the hand of its end users. There are numerous studies on how developers
test general-purpose software applications. The idiosyncrasies of mobile
software applications, however, set mobile apps apart from general-purpose
systems (e.g., desktop, stand-alone applications, web services). This paper
investigates working habits and challenges of mobile software developers with
respect to testing. A key finding of our exhaustive study, using 1000 Android
apps, demonstrates that mobile apps are still tested in a very ad hoc way, if
tested at all. However, we show that, as in other types of software, testing
increases the quality of apps (demonstrated in user ratings and number of code
issues). Furthermore, we find evidence that tests are essential when it comes
to engaging the community to contribute to mobile open source software. We
discuss reasons and potential directions to address our findings. Yet another
relevant finding of our study is that Continuous Integration and Continuous
Deployment (CI/CD) pipelines are rare in the mobile apps world (only 26% of the
apps are developed in projects employing CI/CD) --- we argue that one of the
main reasons is due to the lack of exhaustive and automatic testing.
