Testing the quality of an android application - android

after searching a lot on internet i didn't get the answer I am looking.
Suppose if I made an application or if I have downloaded another application from play store then How can I test or check whether application is well developed or not. OR in short how can I find some flows in an application.
For example :
Application is taking more time then a benchmark time to start or
navigating to page.
Or its design is not good.
It is not supported on a lot of device. etc.
Is there any platform to test an android application. Or some online resources , books or test cases using which I can follow those guideline to test or to make an efficient and better application.
As asked in comments to specify whether i am asking about well developed or a well working application. Actually i am asking about well working application for an already built application. And well developed for developing an application.

UI related issues check.
1) A phone can be built well, and have fast internals, but if the touch(UI Designing) of the app is of poor quality, the experience will be damaged. This is of special concern with Android.
2) Check for image quality issues
3) Sensitivity and multiple-touch
Programming related issues check.
1) Detect flaws immediately and release a bug-free app straight away
2) Applause ANALYTICS
3) DO data testing or Load testing
4) Apps should provide the performance, stability, and responsiveness expected by users
5) From each app screen, press the device's Home key, then re-launch the app from the All Apps screen.
Or you can see more Test Procedure Here.

For the first one, I really don't know.
For its design, you have to get real people who test it and give some feedback.
For supporting devices, you could check you Google Play Developer Console. Check the APK section, and see it.
For more devices: Lower your API.
API 9 is for Android Version 2.3.3+ & API 23 is for Android 6.0 only.
So if you use a lower API, more devices can download your application.
Source: Android Developer

Related

Managing a device for public usage and forbidding specific app usage

I'm currently working on a project that is going to have over 100 android devices used and the users of each device will also change on a daily bases.
What we want to achieve is that the user is allowed to open only 1 or 2 of the apps on the device. Meanwhile, everything else should be forbidden.
I've seen that G suite offers app whitelisting, but that doesn't really seem like the right use case and also it would cost more than 500$ a month to maintain. Also, the apps that will be on those devices will not be published on play store and will be directly installed via apk.
Thanks in advance!
Have you checked UserStatsManager class, you need to check which application is foreground and then you can display your own activity if it's not the intended one.

Android app without instalation?

Last time I've heard about running android app without installing it.
Like "demo app" or something like that.
What doest it mean?
Generally you have to go to Google Play in order to install the app and run it.
It isn't via a browser, because you can supposedly use the android app functions
Instant Apps are the next step in app evolution, a universal Android solution that brings the speed and power of a native app with the ease and immediacy of a web app. They look and operate just like one of the apps that are installed on your phone, but you don’t need to download anything.
Android Instant Apps allow you to use native Android apps in a form that doesn’t even require installing. Which means the users get to experience interactive and smooth interfaces with the tap of a finger.
Note: Android Instant Apps only work on Android devices running on Android 5.0 (API level 21) or higher.
For further info about instant apps you can refer to following link
https://developer.android.com/topic/instant-apps/overview.html#apps-features
An instant app is a portion of your app that will be executed in response to an Url. This was introduced by Google year.
Google play store will download the code necessary to execute the task it is supposed to and it will dispose of the code after the user is done.
You would create an Instant apps if you mean to provide specific feature of your app that does not require the user to download the full app. Ex: watch a video on vimeo by clicking a link on social media
This apps are built using the same process you would use to develop a regular android app but instead of developing all of the features in the same module you divide the features in different modules.
This modules should be very small and have a size limit of 4MB.
Instant apps are currently limited to a few countries, so if you are thinking of developing one and putting in production check the link below for this information and others documents on how to get started.
https://developer.android.com/topic/instant-apps/overview.html
It's Instant App.
Here you have Google documentation

How big is the download for my users if my app requires the 2015 Android Vision API?

I am interested in adding face detection to my app (com.google.android.gms.vision.face the Google Play services 7.8 version as described here here and here)
But in the documentation it says 'Adding the vision functionality dependency to your project's AndroidManifest.xml will indicate to the installer that it should download the dependency on app install time'
Its very important to me that my App size should be small and not require a huge download- so does anyone know how big the 'dependency' for com.google.android.gms.vision.face will be and how much it will add to my download for users that don't already have it?
Also do people know if iOS works the same way?
Your app size always depends upon the artwork you have used to beautify your app interface, how detailed your application has been developed and how many dependency the application is using, sometime the application size is very small on app store, but after downloading the app on phone, the app installs dependency on run time and consume some disk space.This approach save developers to submit heavy applications to the store.
This can be true for both platforms i.e. iOS and Android. I am expert on iOS development so don't know about this specific dependency com.google.android.gms.vision.face. So any expert on Android might answer this. But I think it might not take so much memory as, it will not contains any images but few kbs of files.

How to track beta testing usage for android app I built?

Is there any service that can be used to monitor how a beta-user engages in an android application I made?
I've looked into different analytic solutions, but they all come with the disclaimer that I should not send "unique identification information about the users" - fair enough, and I can appreciate the privacy concerns. But I need to dig that information during my beta testing.
Currently, I'm emailing the apk files to a few people to install the app and test on their phones. They give me feedback, but not all of them are good at describing exactly what they are doing. I need more detailed information - like how they opened the app (was it a fresh open, or did they relaunch it from the running app list?), what exactly they did in the app and if possible, to get some debugging information too, since some issues are unique to the specific model of phone they use.
In a nutshell, it means that I need to dig into my beta-testers devices - and they all agree to it too, so its not like I'm spying on them or some such. (At the very least, I want to record their behavior in my app with permission)
Is anything like this available? If not, are there any other approaches I can use to solve/debug issues that generate from end-user behavior? (NOTE: I'm not talking about app crashing/hanging. The app is stable - its just not working correctly)
Stuff that doesn't seem to work:
http://acra.ch/
This looks more like a crash reporting tool than a usage/monitoring tool. :(
http://try.crashlytics.com/
Similar issues to above
Paid levels of BugSense come with a feature called Bread Crumbs, which I've never used but which sound like what you need.

add the authentication procedure and security to android app. - Android

I need to increase the security of my android app. Actually my android app. will not be for Google play Store (which provides some licensing options to protect your app.) it will be used for some local companies that used the same app (Desktop app). However, I want to support two versions for my app. which are:
Demo version: for testing aims (after the given period end, the app will stopped!)
Actual version: this if the user want to pay for the app.
What I need:
To increase the security of my app. from installing it another time or on another device for the same user!
For my code I used ProGuard which is a tool provided by Android that lets you obfuscate (make harder to read) your code during packaging. cause there are many reverse-engineering application that used for unpacking the compiled code and viewing the source code (actually I tried some of them and its really amazing to restore the sourse code from .apk!) ..
I think to use the MAC address of each device the app. installed on and then store it into internal database and generate a number form it (in somehow), then ask user enters it (which I the one who knows this number and provider for it) if it is true, the app run else not. But, it's just idea I do not know how this can happen or even from where I can start or even also if that will help!
I tried also SharedPreferences But this does not help!
Actually I do not need for external database on server to read the username or the password for eligible users for app. I need to do that by my app. itself!
In sum please,
How can I protect my app from installing many times for same user or continuing using after testing period ends, etc. (I mean make it more secure)!
any ideas, any suggestions, any useful examples or sites are also desirable.
Sorry for this long question,

Categories

Resources