21

Feb 2012

Testdroid Recorder 1.1.13 is out with great new features

By Testdroid

Hi all,

A new and significantly improved version of Testdroid Recorder is out and this time our development team has really really delivered good stuff – and plenty of it! Here are the new features and improvements in Testdroid Recorder:

ScaleClicks

First and maybe the most important new feature in Testdroid Recorder is ScaleClicks. With ScaleClicks your xy clicks (clicks on certain coordinates on the screen instead of clicks on certain button or text field etc) become truly scalable across all resolutions! That’s right – even if you have xy scrolls and clicks in your recording, the new Testdroid Recorder stores them in a way that they can be re-scaled when the tests are run. This means that even if you make your recording on one resolution, you can run your tests on a totally different resolution and all clicks that are using coordinates work – this is ground breaking! You can check out the power of  ScaleClicks just by recording your tests and then running them on all devices at Testdroid Cloud, it is just amazing :-)

Resolving R.ids when recording tests from APK

Testdroid Recorder can now resolve the resource id’s for UI elements even when you are recording your tests without having the application source code available. When you record your tests from APK you now get the same robust Robotium code using refences to r.ids whenever they are resolvable. This together with oher improvements in this release will take your Robotium tests to a higher level in terms of robustness and scalability across different Android devices.

Clicks on hardware keys are now recognized

The new version of Testdroid Recorder recognizes also all clicks to hardware keys as well as to all soft keys.

Improvements on recording text field inputs

Now the text input to any text field is identified right after the focus moves away from the text field. This enables much more accurate capturing of entered texts. Also text inputs are now recorded with correct indexes.

Recognizing all inherited UI widgets

Testdroid Recorder can now recognize even all custom UI widgets as long as they are inherited from some standard Android UI widget – again a huge improvent that allows very versatile use of Testdroid Recorder.

Faster recording

We have optimized the recording event so that the Recorder and the application under recording are more responsive and the whole Recording is much smoother.

Bug fixes

On this release we fixed a good amount of clear bugs, some of which were reported by our loyal users – Thank you very much for those ‘improvement suggestions’! The highlights of fixed bugs include:

- Activity with package name does not duplicates package name anymore.
- No NullPointerExceptions on Finish button of empty test.
- Commented Activities are not taken into consideration.
- Minium size to Wizards is set.
- ‘No’ button in report notification dialog.
Updating
You can update to this great new version directly from Eclipse (About Eclipse -> Installation Details, selecting Testdroid Recorder and clicking Update).

 

 

 

16

Feb 2012

Bitbar sponsoring HTC developer event @ HTC Mountain View, CA on February 17, 6pm – 9pm

By Jouko Kaasila

Bitbar is sponsoring an HTC hands on developer session at HTC’s Mountain View Office, 800 W El Camino Real, Suite 200, Mountain View, CA 94040. Robert Biczek from Bitbar will be introducing Testdroid automated Android application test tools and giving free access to Testdroid Cloud (http://cloud.testdroid.com) to all participants. Please talk to Robert for more info.

Testdroid Cloud is a fully automated online service for testing Android appications on real Android devices. It is the best way for anyone to ensure that their application runs on as many Android devices as possible and it is open for all Android developers. Please sign up at http://cloud.testdroid.com for a test drive.

12

Jan 2012

Android Design

By krystian.kaminski

Google announced new project to help developers. They called it “Android Design”. This is a website where Google present how to create good application with actual GUI patterns. In Android 4.0 Google presented new UI, new Robot font and improved Holo Theme from Android 3.x. Now is a moment to standardize UI in old and new applications, so please read all new information from Android Design and create simpler and good looking application.

09

Jan 2012

Out of memory exception when changing Activity or creating Bitmap object in Android

By krystian.kaminski

One of the most common causes of fragmentation is limited hardware specs, whether it’s small RAM, slow processor or low resolution screen, they all create a challenging environment for Android application developers aiming for ultimate device compatibility. A lot of Android developers face memory issues on low costs devices and this is how it usually goes: You created a bitmap and your application throws an OutOfMemory exception but there is still a lot of free memory and you are left wondering: What is the source of problem? How to limit this? Let me explain.

Android has two kinds of stacks – one for application and one for graphics. In an activity method setContentView(int i) Android inflates XML layout and initializes all objects. In this part of code every graphics object is located in a memory. This same situation happens when your application creates a Bitmap object. Android creates object in the graphics stack and sends reference to it and sometimes, for one reason or another,  you will receive an OutOfMemory exception.

I discovered this problem when I was testing my application with our product – Testroid Cloud ( Online cloud of real Android devices for running automated tests for Android applications).

When I was running my automated tests on all Android devices, I was constantly getting OOM exceptions on same devices – mostly  on low spec ones. It was very strange because when I started debugging, I found out that there was still free memory left but my application just could not access it. I tried to search for a solution but all tracks pointed to a comment from a Google staff: “Your application uses too much graphics and you don’t manage your memory”. It was a strange answer because Java has garbage collector and, because of that,  I thought I don’t have to delete objects manually.

Luckily my friend sent me a good article about strong and weak references (http://weblogs.java.net/blog/2006/05/04/understanding-weak-references). After reading this I understood what I was doing wrong. Loading every bitmap in application to a HashMap at the startup was a very bad idea! Every time in onStart() method I created a new HashMap object with reference to a new bitmap object. All old bitmaps were always still in memory. They had a strong reference so garbage collector removed HashMap object but not every bitmap from graphics stack.

To fix this I created a new class to manage bitmaps. This class recycles them manually when they were removed or updated. I call it “BitmapManager”. In my opinion this is the best solution to solve my OOM problem.

How to create your own version:

  1. Create an object to organize bitmaps (in my project I used HashMap<String,Bitmap>)

  2. Create your own method to create, update and remove bitmaps. You should run method recycle() on old bitmaps.

  3. If you have to download an image from web you should run all download threads from BitmapManager. This way you won’t have any problems with lost threads.

  4. Clear and recycle bitmaps in onStop() method and reload them in onStart() method

  5. Never send a bitmap in Message via Android Handler. It will create clone object, so you will lose original reference.


With this solution you can resolve almost all problems with bitmaps and out of memory exceptions. Finally one more word of caution: You should watch out on open recycled bitmaps. You will receive an exception from ImageView.

09

Jan 2012

Happy New Year and highlights of 2011

By Marko Kaasila

Greetings and Happy New Year 2012!

On the behalf of everyone here at Bitbar, allow me to thank each of you for  participating in the Testdroid story this past year—and take a moment to share some of the highlights.

Year 2011 was a huge success for Android, becoming the #1 smartphone platform in the world, and year 2012 will undoubtedly be even better for the entire community. More than 700 000 Android devices are activated every day,
more people use now mobile apps than mobile browser, for the first time ever and Android Market just recently reached 400 000 applications.
Demand for great apps and mobile services is enormous, and we are here to help everyone to launch the best Android apps & services around.
We at Bitbar have expanded our product offering during last year from Testdroid Recorder and Testdroid Server to Testdroid Cloud. We will continue to deliver our vision for making software testing as fast and easy as possible.

2011 Highlights

  • Testdroid Cloud service with real Android devices was launched about 6 weeks ago and our user base has grown dramatically.
  • In only 6 weeks we passed the 20,000 completed tests mark on Testdroid Cloud.
  • We also saw over 1,000 different customers using our products, including most of the leading technology companies and start-ups around the world.
  • We have rapidly increased the number of Android devices in our device cloud and are adding new devices every day.
  • Our current range of devices cover over 90% of the Android user base.
Testing application functionality and device compatibility is important, and for that our new features like screen shots baseline is a must practice. The differences between target devices are obvious, making automated compatibility testing relevant for every application development organization to see how their app behaves on real target devices. Only high quality apps generate significant user base.
Most apps nowadays have back-end services, which evolve all the time. Regression testing of the the entire service chain is even more important for perfect user experience.
On Testdroid Cloud You can set-up for example 100 different Android devices automatically to access and load test your service, just like mobile end users would use it. And you can do it after every code check in, after every change in the code in the Android app or on the server side. Testing all that manually is impossible. And not fun at all. Just automate it!Testdroid Cloud will still be free of charge in the beta, so keep testing your apps on real devices. If you have some comments, suggestions or want to just say Hi!, please send email to support (at) bitbar.com
And if you are interested in private cloud installation or want discuss about commercials, please contact us at sales (at) bitbar.com

From all of us here at Bitbar, we wish you a happy and prosperous 2012.
We make your app testing easier:

Testdroid Recorder

Test Recording Tool

Learn more

Testdroid Cloud

Online testing service

Learn more

Testdroid Server

Internal solution

Learn more
Bitbar twiter
follow
Company info

Bitbar is a technology and services company with ambition to help its customers to get most of their R&D by offering high-performance automated software Build and Test solutions. Our solutions are ideal for development teams that want to deliver high quality software without the hassle of developing, building and maintaining own tools for Android testing. We are accelerating time to market and lowering costs of developing software on Android platform, be it on smartphones, tablet computers or TVs.


Bitbar is a technology and services company with ambition to help its customers to get most of their R&D by offering high-performance automated software Build and Test solutions. Our solutions are ideal for development teams that want to deliver high quality software without the hassle of developing, building and maintaining own tools for Android testing. We are accelerating time to market and lowering costs of developing software on Android platform, be it on smartphones, tablet computers or TVs.


Bitbar is a technology and services company with ambition to help its customers to get most of their R&D by offering high-performance automated software Build and Test solutions. Our solutions are ideal for development teams that want to deliver high quality software without the hassle of developing, building and maintaining own tools for Android testing. We are accelerating time to market and lowering costs of developing software on Android platform, be it on smartphones, tablet computers or TVs.


Copyrights to Bitbar info@bitbar.com