Monday, October 21, 2013

Mobility Testing: Challenges in Testing Mobile applications

In Today’s world more and more applications are available on the mobile.   The mobile applications are business critical and many of them help the mobile user to perform financial transaction on the Internet using mobile.   In such circumstances, it is imperative that the mobile application is stable and bug free.

However, testing mobile application is very challenging.   One has to work with different constraints.   There is a large variety of mobile devices on which the application has to be tested.  Moreover, the operating system versions also vary.   The application also has to be tested with different possible network carriers.   Testing a mobile application on different mobile phones with different operating system versions using multiple carriers is a big challenge.   This challenge is circumvented to some extent by using device emulators.   Use of device emulator helps in saving the cost of procuring mobile device, but due to differences in computing resources and network environment, we cannot rely too much on simulator testing. It is recommended to perform a combination of actual device testing and simulator testing.


Another option available is to use mobile testing platform services like deviceanywhere.   This mobile platform provide on demand service for testing mobile applications on pay per use model.   This helps in managing infrastructure cost for testing mobile applications.   Moreover, the mobile devices can be accessed anywhere in the world.   You can get more details from http://www.keynotedeviceanywhere.com/

Monday, April 8, 2013

Agile Model: The advent of friendly tester

Testers and developers were known to lock horns in the conventional development model.   The developer would proudly defend his code, while the tester would proudly showcase the bug.   This behavior had to do little with the persona of the individuals (i.e. tester and developer).   They were expected to behave in this manner.  It led to a healthy competition, where the developer will try to write bug free code and challenge the tester to find scenario’s that can break the code.   This may appear as a conflict between the tester and the developer, but this led to development of a piece of software which was of excellent quality.    The coder had tried his best to make it bug free and the tester had tried his best to break the code in all possible scenario’s.

Now, as more and more organizations are following Agile Methodologies, the relationship between Testers and Developers are changing.   Taking the example of Scrum Based Agile methodology, the testers and the Developers are part of one cohesive scrum team.   The Developers writes the code for a particular user story, and the tester starts testing it even before it is formally delivered to QA.   In many instances, the tester tests the code in the developer’s environment (sometimes on Developers machine) and verbally tells the developer about the bugs encountered during this testing.   The developer fixes it and again requests the tester to verify it.   It is difficult to imagine this type of informal and friendly interaction between tester and developer in the conventional model. 

Before the demo, the tester deploys the build in QA environment and does a final round of testing.   All this is done in a friendly manner as the small scrum team (compromising of developers and testers) have a common objective of rolling out all the stories planned for the sprint.   In hardening sprint, the developers even step-in to test the application.  

This friendly and informal interaction works well in Agile model, because in Agile the team and its commitment come first.  The role (tester or developer) is not important.   Long live the friendship between Tester and developer.  Thanks to the Agile model !!