Software Test
Automation: The software test automation is the process of
automating the software testing test cases using any tool. Every
time we need to execute the test case, the automation tool runs the
test cases and produces the result. The software automation
includes the following phases in the process:
- Choosing the automation tool
- Creating automation framework
- Creating automation scripts (transformation of manual test
cases to automation script)
- Executing the script in tool
- Evaluating the results.
Different software testing automation
tools
We have various automation tools available for automating the
software testing. Please find below three tools and
description:
- Selenium: Selenium is most commonly used automation tool as it
is open source. The framework can be implemented in many languages
i.e. it supports java, c# as well as other languages. The tester
can choose the programming language as per the programming
interest. This is used to automate the web application.
Features:
-
- This tool can only automate the web applications.
- Selenium can work on multiple browsers at once.
- HTML elements (elements we see on the web pages) can be
identified in a number of ways to be used in the script.
- Cannot handle the window pop-ups, so we cannot automate the
test cases having window pop-ups included in the steps.
- Selenium is mainly software package installed with programming
tool.
- Appium: It is used to automate android and iOS mobile
applications. It has the feature of record and playback tool. The
user performs various actions on the application. The tool records
the action along with the results. The actions for checking a test
case can be recorded under single script and can be played to
execute the test cases automatically.
Features:
-
- Allows the programming script in multiple languages i.e. java ,
c++, PHP, Python, etc
- Appium can be used to automate mobile applications
- A single platform can be used to automate Android as well as
iOS applications
- Appium is a desktop application to be installed on the
system.
- UFT/QTP: This tool is used to automate the web as well as the
window applications. This is a paid tool for automating the test
cases. It uses VBScripts to write the script of test cases
Features:
- It is a paid tool having 60 days of trial version.
- It supports record and playback functionality also.
- The test case can be executed only on a single machine at a
time.
Comparison of all three
tools:
Feature
|
Selenium
|
Appium
|
QTP
|
Software Type
|
It can automate web applications only
|
It is mainly used to automate mobile application, mobile web
versions and native applications
|
It can automate the web applications as well as desktop
application
|
Programming Language
|
Programming can be done in various languages e.g. Java, c#,
ruby, perl, PHP, .Net etc.
|
Programming can be done in multiple languages i.e. java , c++,
PHP, Python, etc.
|
Scripts can be created in VBScripts language only
|
Browser support
|
Selenium supports 9 browsers including opera, safari, chrome,
IE, etc.
|
Appium officially supports chrome/chromium browser only
|
It supports chrome, safari, Firefox and IE only
|
Cost
|
It is an open source
|
It is an open source
|
we have to purchase license after 60 days of trial#
|
Operating Systems
|
It supports windows/LINUX/MAC
|
It automates Android and iOS applications
|
It supports only Windows OS
|
How to select the most proper test
cases for automation
Below are the factors which can be considering before selecting
the test cases for automation:
- Priority of the test case: The test cases with
High priority should be considered for automation.
- Steps in the test case: The high priority test
cases which have bulk number of steps should be automated to save
the time in running those test cases in manual testing.
- Frequency of execution of the test case: There
can be few test cases which are used to check the basic health of
the software. These test cases are executed with every new build.
This test suite should get automated to save the time with every
new build.
- Challenges in implementing the automation: The
test cases which are of high priority with less complexity should
get automated first. As it will save the time of automation team.
Once the simple test cases are automated, the team can invest the
time in complex as manual work will get reduce for execution of
total test cases.
- Test cases with bulk data i.e. performance test
cases: The test cases, which need to load the bulk
records, should get automated. This type of test cases consumes a
lot of manual time, but the automation will not get effected with
bulk number of records.