Interview-Questions-Img

Android Penetration Testing Tutorial For Beginners - Interview Question

Interview Questions

Some key mobile testing types are: 

  • Functional Testing

  • Performance Testing

  • Memory Leakage Testing 

  • Interrupt Testing

  • Usability testing

  • Installation Testing

  • Security Testing

  • Recover-ability Testing

  • Compatibility Testing.

The key challenges faced while testing mobile applications are:

  • Performance: The performance of an application is important as it helps to retain users. If an app is sluggish, then the features will be overlooked. Also, many apps run in the background and consume CPU cycles, causing battery drainage. 

  • User Experience: The success of an app clearly depends on how well-defined and creative its user interface is. The interaction between the mobile app and the user should be simple and easy. Some factors that can affect user experience are font size, choice of colors, readability, touch speed, processing time, etc.

Security: The users share their personal information on the app, and it's imperative to take measures to ensure data privacy. Testing your application on a private and secure cloud will provide the necessary measures and ensure data breaches don't happen.

Some of the basic types of mobile apps can be categorized into:

  • Native apps: These are built for a specific platform or operating system. 

  • Web apps: These are responsive versions of websites that can work on different mobile operating systems or OS because they're delivered using a mobile browser.

  • Hybrid apps: These are a combination of both native and mobile web apps. They have cross-platform compatibility but can still access the phone's hardware. They're developed using Ionic, Swift, Objective C, HTML5, and others.

Emulator is a software program that allows one computer system to imitate the features of another computer. 

A simulator is a software that copies something from a real-life situation into a virtual environment. It can provide outcomes depending on various assumptions and actions without causing any risk.

Bug shows a mistake, shortcoming, or failure in the product/application or its framework being manufactured that produces unforeseen results. The bugs mainly found in mobile testing are critical, major, minor, and block. 

  • Critical bugs disable the app's main functionality and are primarily fixed. 

  • Major bug is when a particular feature is not able to perform its functions as expected. 

  • Minor bug does not affect the app's basic functions, but it happens when there is incorrect hyphenation, a missing space, etc. 

  • Block bugs block further testing because the app or software crashes in a specific environment.

Some of the advantages of automation testing are:

  • More scripts can be tested simultaneously, resulting in an increase in the test coverage. 

  • It provides round-the-clock coverage as automated tests can be run all-time in a 24*7 environment.

  • The test cases are run at a faster speed and bugs are identified early on in the development cycle and fixed, resulting in an overall reduction in the cost. 

  • It helps businesses complete the testing process faster with greater accuracy and coverage, thereby resulting in a high return of investment.

  • Severity refers to the extent to which a particular defect can create an impact on the software.
  • Priority is how fast the defect needs to get fixed. The higher the priority, the sooner the defect should be resolved.

  • Applications should be tested on multiple devices and mobile handsets.

  • Mobile applications should be tested with the help of changing ports and IP addresses. So, it can be tested whether it is getting connected and disconnected properly.

  • Testing on different devices like downloading the mobile application and installing on the particular device and uninstallation as well

  • Testing the functionality and making calls or messages to other devices.

  • Testing the mobile application through different browsers like Firefox, Chrome, Opera, and Safari, etc.

  • Compatibility testing, e.g., attaching the photo or other attachments.

  • Functional testing, application performance testing, interrupt testing, and other negative testing entering invalid credentials and other behavior of an application.

The automation tool used to perform mobile testing must have the following things:

  • The tool should be able to support multiple programming languages.

  • The tool must support running your tests across several mobile platforms. 

  • The tool must be able to integrate easily with the tools you already use as part of your CI/CD processes.

  • The tool should be able to create tests without coding.

  • The tool should support different operating systems like Android, IOS, or any other version.

Some of the mobile application testing tools are: Appium, Robotium, Espresso, Xamarin.UITest, Ranorex Studio, LambdaTest, Kobiton, Apptim, etc.

Vulnerability can be called as the weakness in a system, network, software, tool, etc. that can be exploited and cause further issues like loss of data, hacking, etc.

  • It allows being proactive in the real-world approach of evaluating IT infrastructure security. 

  • It allows staying on top of your security and can help prevent financial loss. 

  • It helps to detect multiple attacks and respond accordingly on time. 

  • Judge how successfully network defenses perform when encountering an attack.

  • It will give an independent view of the effectiveness of existing security processes.

The length of the penetration testing engagement depends on multiple parameters like nature of software, size of software, the security level of the software, type of testing, the type and number of systems, and any engagement constraints. Typical engagements have an average testing time of 1 - 3 weeks.