Test Automation For Mobile Applications

This session will focus on the problem in automating tests on Mobile Emulators and solution to it using Sikuli tool. Mobile emulators normally do not provide handlers to the programs (automation test) on the host machine, which makes automation difficult.

Such problems need a solution which can let users perform actions on hosting machine as well as the emulator. Sikuli can be one such solution.

This session will focus on the following

  • Challenge in automating on mobile emulator running on windows OR Mac using conventional tools
  • What approach can help
  • A possible solution using Sikuli Tool.
  • How to run any tests on device which are written for emulator
  • Share learning from using Sikuli it to automate an emulator on a Virtual box which does not give control to any tool for automation.
  • Demo using Sikuli
  • Q & A


PerformFuzz The Web Interface

“PerformFuzz” is unique technique that looks at the “Performance & Security” of rapidly growing software application’s web interface. This session describes a malicious technique known as “Fuzzing” , its impact on a web interface availability & performance like Denial of Economic Resources (DoER) & Crash(DoS).

By targeting the web interface, an attacker may not only try to make the application unavailable but may also try to hamper its performance. As most applications have a web interface, that works as a hotspot gateway for any attacker to perform malicious activities.

The session will talk of a research case study, expected mitigations and also the impact on Cloud Clients. The session will present a new security test, that can be included in performance test suite.

Developing Platform Independent Migration Testing Framework – Approaches using ANT

Product migration is a time consuming process. We spend near about 70% of our time in creating the test bed setup, validating the product servers/services and data and then we proceed with actual testing tasks.

Product migration is not a single step process; it involves various tasks and it is difficult to automate those tasks using a single script/program. ANT gives various facilities to execute simple and complex tasks using in-build tasks as well as using custom tasks. Due to which we can write small tasks in Java, Groovy etc. to achieve our goal if we needed in product migration testing.

This automation speeds up the testing process. It enhances testing by covering areas that are difficult or time consuming to test manually. It eases to find out regressions. It allows us to cover more ground and improve the quality of testing efforts in migration.

As ANT is platform independent scripting language, we can create ANT tasks to test the necessary testing scenarios in a single ANT script.  In many cases this automation also eases the task of finding regressions. ANT provides various facilities to execute simple and complex tasks using in-build tasks as well as using custom tasks.

This session will cover different aspects of Ant based Migration Testing approach. This session will refer to a real word use case where we migrated a product to next available version (Windows as well as on UNIX)

The takeaway for the audience would be a knowledge of automating complex tasks which cannot be automated using single automation tool. (more…)

Cloud Based Testing for Mobile Applications

To maximize business transactions over mobile services, it is essential to ensure optimal performance and user experience regardless of the type of his handset, operating system, geographical location and network service provider. To achieve this, innovative testing techniques are required to be implemented to ensure service quality and compatibility across various mobile devices.

However, due to the lack of standardization, availability of sample testing devices along with the variety of screen sizes and resolutions, operating systems and versions, it is nearly impossible for the developers and testers to maintain a decent performance level for the end application. To add to this, there are two major challenges to be handled: the dynamic nature of the mobile market, and the ability to quickly and cost -effectively respond to such a rapidly changing market.

The only available and feasible solution in such scenarios is to use a cloud-based testing approach for mobile applications which is capable of meeting the above challenges. This innovative approach offers Web-based access to a large pool of real handsets and devices connected to live networks spread globally, providing enterprises with end-to-end control for manual and automated testing practices.

Implementing a cloud-based testing approach with agile testing methodologies for mobile applications is the need of the hour to quickly and cost-effectively respond to rapidly changing markets, with a satisfactory level of service quality and compatibility maintained across the wide variety of available mobile devices.

This session will look at

  • Traditional Testing techniques for Mobile Apps in brief
  • Limitations of Traditional Testing techniques for Mobile Apps
  • Emerging Trends to overcome the limitations
  • How Cloud based approach will be helpful
  • General Cloud based testing and Cloud based Testing for Mobile Applications
  • Types of Cloud Based Testing for Mobile Applications
  • Main Features of the Cloud-based Testing for Mobile Apps
  • Advantages and Challenges in Cloud Based Testing for Mobile Apps
  • Future Scope – Mobile Cloud Automation


Continuous Integration: A Case Study

One of the challenges faced by many web development based projects is the integration of source code for multiple releases during parallel development. The task to build and test the multiple versions of source code can eat out the quality time and limit the efficiency of the development/QA team.

The case study focuses to resolve the issues of extensive effort consumed in build and deployment process from multiple branches in source repository and aim at Identification of source code integration issues at the earliest stage. This can further be enhanced to limit the manual intervention by integration of build system with test automation tool.

The above can be achieved by using different CI tools (like Hudson/Bamboo/TeamCity/CruiseControl etc) for continuous build preparation and its integration with any test automation suite. The case study specifies the use of CI-Hudson tool for continuous integration using ANT tool for build preparation and further invoking the automation test suite developed using selenium.

It also discusses the limitations and challenges of using such an integration system for testing a web based application deployed on Apache Tomcat server. It also details additional plugins available to enhance such an integration of multiple systems and what can be achieved using the above integration. (more…)

Testing Flash and Flex for Accessibility

Flex is a framework for building expressive web applications that deploy consistently on all major browsers, desktops, and operating systems by leveraging the Adobe Flash Player and Adobe AIR runtimes. It helps build cross platform rich internet applications (RIAs) and being used in mobile application development.

It is crucial to test these applications for accessibility as it is concerned with making interfaces perceivable, operable, and understandable. Accessibility testing is also required to assess the software for conformance to accessibility standards and guidelines.

It is often classified into three categories: keyboard, color and assistive technology accessibility. Different techniques are used for accessibility testing. Typically an accessibility expert evaluates the software to make sure that it conforms to the accessibility laws, standards and guidelines and creates a legal document that can be provided to customers.

With the overview of Flex accessibility features, this session highlights best practices that can be incorporated in accessibility testing for flex.

Takeaways for audience: Overview of accessibility testing, accessibility features in Flex and accessibility testing best practices for Flex. (more…)

Keyword Driven Automation using an open source solution – Selenesse (A bridge between Selenium and FitNesse)

Every project team desires to have their tests automated, but there are several challenges like:

1. Limited automation resources.
2. Difficult to share automation reports.
3. Designing and implementing the right automation scripting framework.
4. Difficult to maintain the framework.
5. Difficult for End Users and Business Analysts to understand and / or analyze the scripts.

A solution addressing most of the issues above is difficult to implement. Open source library – Selenesse attempts to do it and with some success. It creates a bridge between Selenium (an open source web testing tool) and FitNesse (an open source Acceptance testing framework).

In this session, we will look at:
1. Set up the framework using Selenesse, FitNesse and Selenium.
2. How to create simple tests using this framework.
3. How to create scenario’s in FitNesse that can be used by end Users or BAs.
4. How to extend the Selenesse library to add functionality. (more…)

Image Based Testing- Application Technology Independent Automation

Image-based testing (IBT) is a new form of automated software testing that relies solely on evaluating and\or duplicating the user-experience through the on-screen display and user-input devices.

Image-based testing requires the test automation engine be able to acquire artifacts from the on-screen display or otherwise process snapshots of the on-screen display to perform the tasks assigned required for an automated test. It utilizes image recognition to perform mouse clicks and keyboard strokes just as a user would.

IBT is technology agnostic because it is only looking at what is on the screen. As a result, the application under test can be written in almost any language, such as Java, .Net, or Flash. Image-Based testing allows us to test virtually anything that can be displayed on the screen. It doesn’t matter what the underlying technology is, if it is visible on the screen then we can interact with it.

Tool manufacturers can hardly keep pace with the needs of cutting edge application testers. If you are tasked with testing newer or novel technologies then it is usually difficult to find a tool that can work in that environment early in the development and testing lifecycle. When the tools you have can’t support the technologies you need to test you need to turn to something else. This is a good time to consider Image-Based testing (IBT).

This session will look at:

  • What exactly IS Image-Based Testing?
  • Thinking and Testing Differently with IBT.
  • Developing IBT Tests and App Maps.
  • SAFS Image-Based Recognition Syntax.
  • Dealing with Variations in the IBT Environment.
  • Dealing with NLS Testing in an IBT Environment.


Test Automation On Android Platform Using Robotium

This session will look at:

  1. Android Application Fundamentals (Activities , Views , Intents, Services etc)
  2. Android Testing Framework: Talk about Test Structure , JUnit, Instrumentation, Monkeyrunner
  3. Limitations of existing android instrumentation
  4. Why Robotium what’s the advantages of using Robotium on top of Instrumentation
  5. How do we identify object ?
    1. How does robotium recognize the object
    2. How to use Robotium to test directly on the apk ?
    3. How to run scripts on emulator as well as device?
    4. How to integrate Robotium with  tools such as Bamboo(Build server), Maven, Ant, Cucumber
  6. Demo of using Robotium to test sample application
  7. Talk about limitations of Robotium and further solutions to that using Selenium and Sikuli.


Proving correctness of a multiplayer game server

In the area of Massively Multplayer Online games (MMoG) – for example, online Poker – the server plays a very important role, if not the most. 10,000 to 12000 simultaneously logged in players, is quite usual in this world of MMoGs (and is a conservative figure). The server is required to enforce game rules on the players, retain and propagate game-state, interact with other servers (e.g., payment, lobby etc.) and database and implement business rules (e.g., a player can’t continue if her wallet contains less-than-threshold amount of money), among other things.

Dictated by the need to support such a set of functionality while being highly resilient and scalable, the server lends itself easily to a design based upon multitude of asynchronous messages processed by thousands of short-lived tasks. These messages may originate from game clients, server’s internal components and other servers participating in the whole application (e.g., Game Administrator) and they access/update components and data-structures in a largely indeterminate way.

Moreover, the betting games are legally required to be driven by truly random behaviour. Thus, it is almost impossible to assure that the trace of execution path of a given message in the server, can be easily retraced. The resulting unpredictability of behaviour poses a real challenge to the effort of building an automated testsuite for such applications to verify the correctness of the server’s behaviour and establish its reliability.

The session will look at background of the application, the design, testability challenges and their mitigation and lessons learnt

Takeaways for the audience:

  1. An understanding of issues in testing a highly-threaded, low-latency/high-throughput system
  2. An understanding of the importance of Test-Robots in development and testing of MMoG and similar applications



UnConference is a participant-driven session for short, open discussions on various topics of interest to delegates. A delegate can present a question / make a point in a couple of minutes followed by an open discussion where speakers as well as others from the assembly contribute their views.

The Unconference has been working very well at IndicThreads Conferences, helping delegates crowd source opinions & answers on various topics of intrigue & interest.

The topics for the UnConference are decided via listings on a white board at the venue.

*Speakers & Sessions are listed only after confirmations. However please note that these are subject to change.