The increase of mobile devices with rich innovative feature has become an enabler for developing mobile applications (mobile apps) that offer users an advance and extremely-localized context-aware content. Nowadays mobile apps are developed to address more critical areas of people’s daily computing needs, which bring concern on the applications’ quality. In order to build a high quality and more reliable applications, there is a need for effective testing techniques to test the apps. The most recent testing technique focuses on graphical user interface (GUI) events with little attention to context events. This makes it difficult to identify other defects in the changes that can be inclined by context in which an application runs. The major challenge in testing mobile apps that react to context events is how to identify the events from an application during testing. This study proposes an approach (named TEGDroid) for testing mobile apps considering the two sets of events: GUI and context events. This approach comprises five steps which are; extraction of resources from APK file, static analysis of the extracted app’s byte code to identify GUI events, analysis of mobile apps’ permission to identify different scenarios of context events, generation of test case based on the GUI and context events and validation of the test cases using code coverage and mutation testing. Experiment was performed on real world open source mobile apps to evaluate TEGDroid. Results from the experimental evaluation indicates that the approach is effective in identifying context events and had 61%-91% coverage across the seven (7) selected applications. Results from the mutation analysis shows that 100% of the mutants were killed. This indicates that TEGDroid have the capability to detect faults in mobile apps