The world of software development is growing rapidly. A great emphasis today is on web and mobile apps, as these applications are in high demand because of the huge popularity of smartphones and Internet in everyday life.
On the other hand, the number of applications and the rate of development increases, so QA engineers, fall on more work that needs to be faster and more perform. At the moment, a lot of projects using test automation to reduce the time to run and the release human resources to carry out a more intellectual work. Where to begin? How to effectively develop automated checkups? Where to go from here?
A close look at automation testing using Selenium IDE
Selenium is probably the most popular automation tool for testing web applications that should be used by every QA expert. Statistics show that the trend of using Selenium is already higher than that of such giants as Quick Professional tool or Test Complete.
Selenium IDE: solutions without the use of hard decisions
Selenium would be less effective and in demand if it didn't have tools for fast recording / playback of test scenarios. Such a tool is Selenium IDE.
As a plugin for Firefox it lets you to:
record checkup directly from Firefox;
play the loaded checkup in Firefox;
play the loaded checkup in Firefox through Selenium TestRunner;
export written test with one of the supported languages (java, ruby, php, c #, python ...).
easy to use, it does not require a lot of resources, it does not require special training of employees;
it lets you to automate simple scenarios / operations.
does not allow to use logical conditions, loops, etc. which limits its applicability for linear tests;
there is the bad opportunity for tests maintenance;
there is no possibility of parallel run (only in the different windows of Firefox).
How to use it?
Of course, as an independent automation tools, Selenium IDE is very limited. However, if you have a lot of small or medium-sized projects (such as outsourcing) with a fixed budget, which do not provide a comprehensive automation, this IDE will automate routine operations to verify the functionality and / or the requirements acceptance with a minimum of implementation and use.
The choice of the framework for the project has to be primarily caused by the project type: a small project requires a simple framework, large and complex projects require complex solutions respectively. Accordingly, Selenium IDE can be used as a simple framework for automated testing in cases when there is no time, money and the need to complicate things.
Cubic Test: Eclipse + GEF + Selenium = visual tests control
Modern proprietary applications are good for automation. They provide solutions for organization and management of automated tests. In case of open source solutions the situation is worse. For example, Selenium provides a basis for a framework for each specific case and not a turnkey solution. How to automate test cases using Selenium? Cubic option offers a solution comparable with the powerful environment from leading manufacturers.
integrates into EclipseIDE as a separate Perspective;
has Record / Playback tools;
it uses visual modeling and management (based on the Graphical Test Editor, GEF that are integrable in Eclipse);
it lets you to make common scenarios in subtests and connect them as required;
it allets you to combine checkups into sets (suites), also using a visual representation;
it lets you to export a graphical representation of the test into HTML Prototype or Watir.
the original and simple concept to understand visual test management is based on common and available opensource tools;
easy to use and requires no specialized programming skills in a particular language (java, ruby, c # ...);
built-in recording and reproducing means.
the inability to play the parallel test kits.
How to use it?
Cubic test can be considered as a solution for high complexity projects where it is possible to purposefully engage in automation. At the same time, it is a tool available for use by junior experts.
Selenium grid: distributed testing environment of web applications made easy
One of the drawbacks of Selenium is to run a new window of the browser when performing tests. Advantages are clear: we can assess the web-application in the real world in IE, Safari, Firefox and on different platforms. Disadvantages are also on the surface. We need a graphical shell (windows, kde or gnome in linux, etc.) to perform the tests and, most importantly, the very execution of tests takes a long time. This task is solved by the developers of Selenium-grid. They provide a solution that enables to cost effectively get distributed and easily scalable environment for parallel execution of a large number of checkups.
most importantly, a quick and easy parallelization of test execution;
the possibility of constructing a distributed and scalable environment for running tests.
multiple reduction in execution time when having a large number of test scenarios;
the ability to use previously written checkups (on java, ruby python ...);
a simple way to build a distributed environment to run tests.
no Record / Playback tools;
it requires higher skills from employees;
no support of silence cases;
problems running parallel tests.
How to do automation testing using selenium?
The process consists of 4 stages:
We analyze the application and make a functional diagram of its operating logic: basic shapes stand out and we group them according to the ongoing functionality (manuals, management and authorization sub systems, data entry forms, forms for data uploading, etc.). The result is a test plan.
We create a template for required categories of suites. The result is Init-tests, "empty" files containing headers and the basic structure of the test.
The designer chooses the corresponding template form for testing and fills it with checks required for a particular category of test. The result is a ready checkup.
We form suites, write scripts for running and configuring for further tests.