Android App Testing
- Test the installation, login, search and other common features
- Write test cases
- Do exploratory testing
- Execute test cases
- Do some automation.
- Manual Penetration
- Cross-Site Scripting, SQL Injection, Denial of Service, Buffer Overflow, And others
- Static Security Testing
- Confidentiality: app keeps your private data private?
- Integrity: data from your app is trusted and verified?
- Authentication: app verifies who you are in any way?
- Authorization: app properly limit user privileges?
- Availability: can any attacker take your app offline?
- Non-Repudiation: any logs of events?
- Dynamic Security Testing
- Search your active code for XSS, SQL and other common attacks
- Cross-Site Scripting, SQL Injection, Denial of Service, Buffer Overflow
- Inspect directories, leftover source code and resource files to find hidden username/passwords, SQL strings, ODBC connectors and other sensitive information.
Load & Performance Testing:
- Ensure that your mobile application is prepared for peak usage periods with a prepared load & performance services.
- Live Load: talk to your employees to test the application on theirs/company phones first
- Simulated Load: use simulated load testing tools to create thousands of real browser sessions (in case of a web app) to provide you with a complete snapshot of your web application’s performance
- Hybrid Load: combine both testers with automated tools.
- verification of context and accuracy for the localized mobile application
- Validate translation twice with contracted translators
- Full L10N Testing:
- Content: static & dynamic
- Dates: December 1 or 1 December
- Characters: different sets of characters (French, Dutch, Romanian, Japanese, Mandarin, etc)
- Postal Codes: only digits, or digits + letters
- Phone numbers: different formats
- Direction: rtl for exemple
- Test the usability of your mobile application
- Is one – if not the —most vital task for a startup planning to launch a mobile application
- Usability ideas to get started:
- Page Layout: Ask your users to evaluate the overall effectiveness of the page layout. Are they instinctively drawn to your application’s main features, or are they directed elsewhere? Also, are they required to scan/scroll for any important features? In short, the layout might seem intuitive to you, but that’s probably because you designed it! Therefore, a fresh set of eyes is a must.
- Color Schemes: This can include an evaluation of the use of colors in the background, text, links, icons, buttons and other aspects of your mobile app.
- Findability: When conducting your user tests, give them a set of 4-5 items to find. This can include Help, About, Instructions, Search or others. This will help you determine your application’s level of accessibility. Remember, mobile users have far less patience than web users, so these items need to be placed in the best spot possible. Find out where that is.
- Localization: If your application is going to be translated into other languages (or made available in non-English speaking markets), you’ll want to make sure that your app is consistent in terms of text, messages and symbols (e.g. dollar signs).
- Adult mobile users who have downloaded an app to their phone nearly doubled in the past two years – rising from 22% in September 2009 to 38% in August 2011. (source)
- The average iOS device owner will download 83 apps in 2011 vs. 51 in 2010, a 61% increase year over year. (source)
- The average smartphone user in the [study] adds just 2.5 new apps per month. (source)
- In May 2010, only about two-thirds (68%) of adults who had apps on their phones reported actually using them. (source)
- In March 2011, 26% of all apps downloaded were opened only once and then never used again. 26% were used 11 times or more. Of the remaining 48% of apps: 13% are opened only twice, 9% are opened only three times, all the way to 2% that are opened 10 times and never again. (source)
iOS & Android users stick with an app after one month. 14%
iOS & Android users stick with an app after six months. After 12 months, only 4% are left. (source)
- Roughly half (51%) of mobile owners use a handful of apps at least once a week, while 17% report using no apps on a regular basis. Almost a third (31%) could be called app “power users” in that they use 6 or more. (source)
- The top 10 Android apps account for 43% of all the time spent by Android consumers on mobile apps. The top 50 apps account for 61% of all time spent. With 250,000+ Android apps available at the time of this writing, that means the remaining 249,950+ apps have to compete for the remaining 39 percent of the pie. (source)
I’ll sure want this version of Android and I hope I’ll get the Galaxy Nexus also with it 😀
- Android Beam
- Data usage tools
- Voice typing
- Face unlock
- Universal copy-and-paste
- Quick responses to calls
- Camera improvements
You can read here the details for each feature.
Found a great article about the trends in the mobile industry and I made a small list below:
- NFC and “touch to act” applications such as payment
- Platform independent AD tools
- Location and context — indoor and outdoor
- Bluetooth 4
- M2M — cellular and Wi-Fi
- Augmented reality
- Multiplatform MDM
- The advent of business-centric app stores
- Mobile data security technologies
- Wireless Health
Some interesting articles also from TechRepublic:
Mobile applications may be downloaded for the first time and used only once or twice. Unless the value of an application is compelling, users may not be coming back to use it. They will ignore the app or even delete it after some time. Here are nine types of tests that should be included in your mobile test strategy to ensure your mobile apps are highly effective and will keep your users coming back for more.
1. Conceptual testing
Mobile apps and the features planned for them need to be socialized before development starts with at least an informal focus group consisting of typical users in the demographics to which they are targeted. Mobile apps are used in ways different from how users approach a client application or a Web-based application. Interactions need to be quick, short and appropriate for smaller form factor screens. Users also expect seamless integration with social networks and online resources. Sounding typical users out before any development is done can eliminate unnecessary features and ensure the right ones are in, before too much development effort is expended.
2. Unit testing, system testing
If the mobile app has a variety of components or logs into a back-end server, downloads or uploads data between the app and a server, regular unit testing and system testing may all need to be in place and executed extensively. If the app does not work well with the server, the overall experiences are bound to suffer.
3. Mobile user experience testing
Once a mobile app is ready with all features, it may be worthwhile to do a round of mobile user experience testing. This is giving the users the app on their mobile device before any formal release. They use the application in its entirety and report on what the experience was like, overall. This will enable developers to remove impediments to a smooth, continuous and pleasant overall user experience. When a user completes a task or an entire use case, then you can validate whether features you have implemented all fit together nicely. If not, adjustments can be made.