Still Seeking for QA Automation Tool?

Introduction of automated software testing is an important investment and selection of proper underlying technology represents certain challenge for any software development organization. Currently IT market provides a huge variety of tools for QA automation.

This includes paid and open source solutions which can satisfy different criteria (but typically not all at once).  We want to talk a little bit about open source perspectives and provide some highlight based on our experience and industry trends.

According to the trends more and more organizations are making choice in favor of open source solutions for an automation of their products. What pushes them this way? The answer is simple – lots of time has passed since the moment when open source solutions just only had appeared on the market. Tons of communities and millions of members have been driving open source products forward and as result now we have some very interesting and powerful solutions which are not inferior to buy-a-license tools and platforms.

Success story of open source instruments for automation has to be started from most popular framework for an automation of web applications – Selenium. It does not matter if you are testing social network or online retailing or even enterprise level system – Selenium will bring you optimal combination of performance and reliability at price 0$ per license. Note that top-level instruments such as Quick Test Professional will cost you around $10 000 per workplace. So if there is a tool, which is a powerful enough to and cheaper in maintenance – this provides considerable savings. We would like to analyse if Selenium is such a tool and share our experience of migrating from licensed to open source platform.

Let’s see what Selenium platform can provide to QA Automation:

  1. Advanced command language. Actually, with Selenium you can program your test scripts and test framework using any of those: Java, C#, VB, PHP, Python, Perl, Ruby and Groovy. If you already know one of them, you don’t need to learn tool-specific language. Most of the supported languages are platform-independent, so it opens opportunities for cross-platform and compatibility testing. Say in combination with Java or PHP – you will get an automation platform which you can run on any operating system and this is not only for tests execution but for development as well;
  2. Access to advanced development practices. Since Selenium supports powerful languages like Java and C#, you can enjoy using Object-Oriented Design and Design Patterns. You can separate your tests from utility functions and hide the complexity of your test framework from test script writers.  This speeds up development of sophisticated scripts and reduces the amount of duplicated code. Thus you have more reliable test hardness, which is easier to maintain.
  3. Great browser support. Selenium uses “Native Events” which provides an excellent emulation of user inputs for all browsers including Internet Explorer, Google Chrome, Firefox and Safari. In comparison with paid tools you don’t need to buy an additional plugins or create an additional code. Test created once run for all browsers with slight modification of configuration settings;
  4. Powerful objects identification methods among which: by ID, ClassName, XPath, CSS,, LinkText, Name, PartialLinkText, TagName;
  5. Access to JavaScript executor. You found a case where you need to perform something which is out of scope of basic selenium features? No worries, javascriptexecutor will allow you to invoke any javascript function (application’s native or externally developed) in order to fire any event, perform extra verifications or even extend Selenium with your own features.
  6. Mobile platforms support. You can use the same tests even for mobile platforms (currently IOS and Android are supported) by installing Selenium IPhoneDriver or AndroidDriver to your mobile device or emulator.
  7. PhantomJS driver. Brand new approach to add maximum performance to web UI testing. This technology provides you emulation of a full web stack and you can run your tests on a server opening client browser. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG which makes it perfect for non compatibility and acceptance tests. According to our measurements it allows you to run tests in 3-5 times faster than in a browser.
  8. Distributed tests execution. Selenium has a dedicated component – Grid – which allows you not only scale by distributing tests on several machines and manage multiple environments from a central point (making it easy to run the tests against a vast combination of browsers / OS) but minimize the maintenance time for the grid by allowing you to leverage virtualization.

QA Automation

Of course Selenium has a set of disadvantages such as: no script record feature, no objects repository and no dedicated instruments for objects identification which might confuse person who get used to commercial tools. However these features can be fulfilled with additional party open source components.

Selenium has become a global trend in QA Automation world. More and more companies (such as: Google, Yandex, O2, Nike, Amazon, IDC and many more) have started using it and continue to use it to this day. In 2012 Selenium has opened a new chapter in it’s history by becoming a member of W3C which means that eventually all browsers which are part of W3C will have native Selenium’s support. This will provide a brand new level of confidence and reliability.

Our background has many successful cases of migration from commercial platforms (Quick Test Professional, Test Partner, TestComplete, etc.) to open source bundle (which includes Selenium as a core element). When our customers decide to explore cost saving and extended capabilities options of open source test automation platform, using our services they rely on the best expertise in QA automation industry. We provide QA automation consulting and outsourcing in form of offshore dedicated team that are shaped per specific business case. If you face a challenge from automation perspective and you don’t want to spent fabulous budget on licensed toolware – please feel free to contact us and we will find an optimal solution for your business.

Source: NIX Solutions