Automation Tool across Web, Mobile and Web Services!

26 03 2012

Earlier in the week, I was sent across a request from one of our Senior Management on what could be a best tool, used for the automation of tests across the spectrum of Web (HTML & Flash), Mobile (iPhone, Android, Windows, etc.) and Web Services. What I could come up on this is the following. People may disagree with these options and may have different opinions and views on it… please feel free to comment and put them through, to improve on the content 🙂

Looking into the problem from the requirements viewpoint, I believe Selenium would be the tool best suited for the above automation work. The issue which might go against it, is that their Mobile product is still in Beta, and they are not the best for Web Services Testing, Watir being the frontrunner in the Open Source (i.e., Free) tools in that category. There are other Commercial Tools also which are available with good support and good interface, making it easier for the Automation to be maintained; which is somewhat of a problem with the Open Source tools, if not properly designed initially. Commercial products also have a big following and hence are cost-effective in the long run, although they might be expensive to procure, but getting a resource who is great in an Open Source product can sometimes be a big recruitment headache.

That said, Flash/Flex is a group, which almost with all tools requires a debug/special build to be provided for testing. Each tool has their own quirks and libraries with which the Flash/Flex application needs to be compiled with. So, you might wish to go more into each tools individual ability and reviews of their Flash library functionality; especially for Web Based applications.

Coming to mobile applications, the market for these exists as a very fragmented field for testing successfully. With Android Browser, iPhone Safari, IE Mobile and Firefox being the major browser contenders for the Automation tools available, along with testing of the Apps within the iOS, Android, Windows Phone and the various other vendors out there. I have seen many people refer to the Experitest SeeTestMobile tool, which might be becoming a tool of choice for many, these days.

I plan to go over some of the tools which might help out in each group, and some which might have multiple categories covered below. These opinions are my own through what I have experienced with them, and all are free to criticize and cajole me into making changes as is reflected “great” for them…

Selenium

Advantages: Good for Web GUI Testing. Great tools available for Firefox browser and the new WebDriver combined with PageObjects concept make it a great cross-browser test tool for the HTML/JavaScript Web. It even has a Flex/Flash plug-in for compatibility with the [debug/developer] flash applications. Can be coded in multiple languages (Java [most popular], Perl, PHP, Python, C#, etc.). This is a Free Open Source Tool.

Disadvantages: Not very intuitive, depends on coding skills and good design. New WebDriver is good, but there are not many in the market who can create some really good frameworks and know how to use it properly. Requires knowledge of XPath and JUnit type of coding to do anything great with the tool. Mobile product is still in Beta. Not many people available and consultation fees with consultants and resources can be high.

HP Quick Test Pro

Advantages: Well supported and lots of resources available who have certifications, but mostly used in Financial Institutions. Integrated add-ons for Flex, Web Services, Silverlight, and Web HTML. Framework issues can be easily taken care of with Odin AXE framework, which uses XML and simple interface.

Disadvantages: Ability to recognize complex UI and dynamic content hinders the tool. Mostly used in Data-driven web testing, which makes use of Excel sheets; easy for the user to use, but may cause issues in maintainability. Windows System only focused. Not suitable for Unix-Clones and Mac OS. High deployment costs.

MicroFocus / Borland SilkTest

Advantages: Good tool for Web and Flash. (MicroFocus has recently bought it after Borland failed, not sure of its development path going into the future). Has support for other platforms and operating systems.

Disadvantages: Learning curve, due to its test coding language. Not many people available with the tool knowledge.

Watir

Advantages: Good Open Source Tool for Web Services and Web Testing. Used with Fitnesse, produces easy to create and support web tests and web services tests. Not too good with Flash and Mobile.

Disadvantages: Uses Ruby as the language of choice, which is a skill getting hard to find for Testing.

 

SAHI

Advantages: Great tool for Web testing. Has good variety of plug-ins for the various other technologies. Available as Free version and supported paid version. Support for the same is great, the Developer of the tool is quite helpful in working out the issues with the Test Team. Good for complex websites, where other tools may sometimes fail. Unlike Selenium, it does not make use of XPath to identify objects; and can be used across browsers for recording tests.

Disadvantages: Only used for Web Testing for now. [not sure if it has been updated with plug-ins for others]. Limited use, thus not many people know about it.

 

SmartBear SoapUI

Advantages: Great tool for Web Services Testing from Smart Bear.

Disadvantages: Only useful for Web Services Testing. (but this might be an advantage, as they plan to make this a separate activity)

TestComplete

Advantages: Good tool, very similar to HP QTP, with a good interface and price. Overall good for Flash/Flex, with the included Libraries. SmartBear has a full stable of tools, which if bought together may be helpful in pricing and overall deployment and support. Uses VBScript/VBA for coding. People with QTP Experience may find it easy.

Disadvantages: Flash/Flex testing is still not very stable, sometimes fails to recognize the separate objects.

Microsoft Visual Studio Test Professional

Advantages: Is natively attached to the Visual Studio product line. Great for Cloud and .NET application testing. Good is you have Windows Phone applications. “CodedUI” is an excellent tool for testing cross-browser and web HTML testing. MS does deals to get the testing community to start using their tools 🙂

Disadvantages: Only for MS Technologies mostly. Not good for Firefox and Android. Only uses C# or Python.

Odin AXE Framework

Advantages: Great tool for building a wrapper over the existing tools scripts; actually it converts the tools identified objects into a XML recognizable format and has a great and easily understandable format for Automation testers.

Disadvantages: None that I can think of for now, except the use of a tool is somewhat a compulsory need for the framework created in AXE to work. Odin has done a good job of making the tool robust for Web Testing tools and it is compatible with almost all other commercial tools available.

Tricentis TOSCA

Advantages: Combines the best of Requirements, Test Case Design and Test Case execution, all in one single application. Good when there are business testers who know what the application is doing and there is good documentation available for doing it.

Disadvantages: Not very flexible when it comes to handling of unexpected behaviour within the application. Likes to have a clean interface to run through test cases and offer a “happy” path.

I can provide some more research into the new tools (and some less known but good ones), but the above are some of the common ones in use.

I am not advocating the use of any one tool above and to each depends on what he has worked with and would be comfortable in using.

Advertisements




Automation Tools

17 05 2007

There is a proliferation of automation tools in the markets these days. From the Open Source variety which may be paid or free, to the Commercial tools which claim to be the best in the market place. The main issue with all these is that they are meat for a particular kind of generic testing. The Commercial tools makers say that their tools are meant for a particular solution or are generic enough that they can be used in any kind of situation; but the issue here is that they are not configurable enough to be used in all kinds of situations. Similar are the issues related to the Open Source tools flooding the market these days. (Just run a search on Automation Tools, it gives about 25,600,000 results and 8,250,000 results for Testing Tools)

Of all the above results, each is advertising that their tool is the best. Although I have gone through plenty of these in my career as a automation engineer, I almost always had to tweak each one of these to suit my needs. This is required also, and for this purpose the makers of these tools have given each a tool command language (don’t confuse with TCL/Tk). These languages are usually related or belong to the family of one of the scripting languages (mostly it seems to be VBScript in the some of the popular Commercial tools).
Nowadays, I am using and trying out some Open Source and a few Commercial ones. Of these, Selenium and Waitr, I have found interesting for the work I am doing. TestComplete is the Commercial one being used, along with Test Link; hence am using these. For Selenium, Flash integration looks a good prospect and I am planning on using FlexUnit along with Selenium tools for such. Lets see what happens and comes out of this going forward… 🙂





Automating the UI process

17 03 2007

An interesting them is emerging from the markets these days. Cross-platform and cross-browser automation of the UI. The Web has gone from being just the Internet as a platform for sharing information to a Internet as a platform to share almost anything which can be along with entertainment for the users. Now this sort of a shift requires a lot of innovation on the part of the developers to capture the users imagination or as it is popularly known as the eye-balls of the users. This then again makes the issue of a cross-browser compatible feature more interesting, as the varied users of the Internet world have that many varied browsers on which they wish to portray their Internet experience on. The browsers in themselves display the static HTML displays very proficiently, but when it comes to dynamic display (excluding Flash and its brothers/sisters) the browsers have a very nasty habit have having quirks which would get any developer totally frustrated on the way of making these work.

Now comes the work of the person who has to automate this process. The developer would have used many a tricks up his sleeve to get the cross-browser functionality working, and when it comes to testing this, the person doing so, also has to use his/her ingenuity. Most of the time we can get away with checking the same on a few generic functionalities, but it would hurt the business when RIA’s come into the picture and people try to use these and encounter a place where they are about to make the highest score, but due to a browser incompatibility they are unable to proceed. This is where tools like Selenium jump in.

Selenium is cross-browser and can be used for cross-platform testing also. It can be based on a variety of scripting and proper languages, with which the person automating the process is aware of or has worked on. In my previous organization, they had used Perl and here we plan to use either Java or Perl. Along with this plans are also underfoot to use Flash and try to automate testing the Flash applications so that it makes work easier and more fruitful, as these days we seem to be getting a lot more of Flash based applications which are proliferating the Web world.

More on this later…