Issue
I am working on a big enterprise android application and we are wondering how are the other companies testing their apps. We have about 10 kinds of devices, which we recommend to our customers, because it is impossible to have all kinds of devices and test app on them.
I heard that Eset and Sygic have also some main supported devices on which is their app tested and in case some device specific bug, they just get that device.
I made some research and I found some automated testing tools (like TestDroid). Is anyone having real experience with automated testing tools like TestDroid?
It would be awesome, if someone who is working for some big company could share testing procedures, tools, hints or recommendations how to test enterprise android applications when exists so many devices with various OS versions, resolutions and system extensions (like HTC Sense, Samsung TouchWiz).
Thanks a lot guys.
Solution
if you part of development team, and QA most likely from some other team you might end up with two sets of test cases. You have to proof to your manager that you done your job and that passes test cases and QA will do their part of testing to show their manager this app pass all the requirements.
I think our QA team is using couple of these services mention here from time to time but not all times. When, i asked i have been told it is not very convenient for them to use these server as it is very time consuming, and their are cases where all of them failed to test certain thing.
But on our side(dev team) we didn't have extra budget and didn't get satisfactory go ahead from QA and also from the developer who studied these services side by side with our requirement. So, we end up doing our own test automation. Which took exactly two days.
- Using GIT,
- Jenkins
- ADB
- Batch/Shell script.
So whenever we complete a feature and its unit test cases we mark that feature as complete on issue tracker. Developer push the code to a version control system.
Next morning when a developer come to work, he or she go to Jenkins panel and start a build. Jenkins just execute a batch file which does following,
- download latest code from GIT. uses a git command.
- Update version id.
- Execute Android command line build process to build the app.
- follow the same steps for Unit test application.
- Install both application on a device or devices connected to that server.
- Run test application using ADB on those device(s).
- Collect Unit Test Log(Junit Style).
- Mail the log to all interested parties.
This is also same for stress testing. But, if you do over night stress testing it might collect megabytes of log, in that case key word base search is definitely a good idea to find crashes.
For layout/resolution testing, you can always take screen shot using adb
or from unit test app and attach those images as email attachments as well.
Definitely using a third party service will ease the task and we can always outsource whatever we need. But remember their are cases when manual testing absolutely necessary. Like, if your app want to activate WiFi or anything from Android Settings
which require user explicit input, or the cases where you are using another resource, like using camera for taking pictures or testing social network integration. Make sure to compare your requirements with the service those business entities are offering.
Answered By - minhaz
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.