Software Testing of Mobile Applications: Challenges and Future Research Directions