In today’s world, software
development is used widely for almost every aspect of life. Be it the software to
do small things like checking emails to a more customized home grown
application used to run payrolls/other important operations. Everyone is seeking
speediness and excellence when it comes to softwares.
High quality softwares
come with higher level of dedication and commitment. To the software development
world this means fast and focused development based on user needs within less
time. To ensure high quality product, testing of the application plays a major role.
Different testing techniques are being used to ensure quality these days.
Two main types of testing
Testing 1 is a type of testing where testing activity is performed by a
testing 2 is running test cases where manual intervention is not required to
run each test.
Automation testing is the
new thing considered to ensure product quality these days. It’s an interesting concept
where 3 different software tools are used to execute pre-scripted test on a
software application before releasing it to production. These pre-scripted test
cases can be run as many times as one wants with slight to no physical interference.
With 4 the progress in
the software development industry it seems integral to change from manual to
automation testing to increase the depth and scope of tests and to help improve
With manual testing,
lengthy tests are often avoided. Those lengthy tests can be run through
automated testing on multiple computers with different configurations to reduce
manual labor cost and expense.
There are different types
of automation tools used by different companies based on their needs and ease
of use. Below is the list few most commonly used automation test tools
Telerik Test Studio
Selenium 3 is a set of
different software tools used to support test automations. It is an open source
tool used for automating browser based application. There are operating system
where selenium can be deployed including Windows, Linux and many OS for mobile
applications like iOS, Windows Mobile and Andriod. One of the biggest advantage of selenium automation tool is that
it is considered as highly portable software testing framework. Selenium is a
suite of software with 4 different components
Selenium IDE: Is the simplest tool in
selenium suite. It is a
Firefox add-on that creates tests very quickly through its record-and-playback
functionality. Its a prototyping tool for building test scripts. This tool also
has a save feature which allows user to keep test in table based format for
later import and execution. Because of its simplicity, this tool is only used
for prototyping but not overall solution for developing and maintaining complex
Selenium RC: Selenium Remote control
allows user action to be simulated in a browser like clicking UI elements. Remote Control makes it possible to
write automated tests for a web application in any programming language, which
allows for better integration of Selenium in existing unit test frameworks.
Selenium RC server is written in Java and accepts commands for the browsers via
WebDriver: The biggest change in
selenium is the collection of open source of webdriver API’s. These API’s are
used to automate the testing of web applications. Web Driver is designed to
provide a more simpler and concise interface in addition to addressing some
limitations in the selenium-RC API.
Selenium Grid: Selenium grid allows
the user to run different test scripts on different browsers at the same time
in parallel. This would help user to run test fairly quickly as the tests would
be on different machines using different browsers.
Test studio is a window
based software testing tool for web and desktop functional testing. It offers
intuitive, codeless and productive ways to test web applications. Test studio
automation tool is by Telerik. This tool is built to support functional, load,
mobile and performance testing
Test Studio can help both
record and playback tests from multiple browsers including IE, Chrome, Firefox
and Safari. Test studio also has a feature of test reuse which means using an
entire step of a test script within another test.
Test studio can help users
keep unique elements only rather than modifying duplicate elements in each
test. This way unique elements are kept and updated if need be, instead of
modifying numerous duplicate elements in every test.
Test studio has a debugger
which helps identify the failing points. Tester can directly go to the element
where they can see test being failed and can debug quickly.
Robotium automation tool
is used to test native and hybrid android applications. Robotium offers different API’s to directly
interact with UI controls within the android applications such as activities,
Edit text, text view and buttons.
Robotium can also be used
for testing applications where source code is not available. In this case, if only
APK file is available, still it can be used for testing.
Another flexibility of Robotium is that the test cases are written using
Robotium can be executed either on android virtual device or on a real android
device. This gives flexibility to developers so that they can write functional,
system and user acceptance test cases.
Robotium Tools is more like
Selenium but this is specifically for android devices. It has support for different android features
that include activities, toast, menus, web views, and remote controls and so
4. TestComplete Automation Tool
TestComplete is an
automation tool developed by SmartBear. This provides the flexibility of
testing three major types of application
Web application executed through web
Mobile applications executed through
android and IOS devices
desktop: Allow testers to test a variety of desktop
applications running within window operating systems. It even provides built-in
support for testing third party controls such as Telerik, Microsoft, and
Developers Express. Some key features of desktop application include Visual C++
testing, Window store app testing and so on.
Can help testers create automated tests for websites, web apps and mobile web
applications. TestComplete web
basically captures all the actions user performs on the web browser and adds
them to the test. It can record navigation throughout the website which
can include searching for products, placing orders, submitting forms. This also
gives us flexibility to to insert checkpoints to verify web page structure and
accessibility which can help website to be WCAG complaint. One of the Key
feature of TestComplete Web is that it supports chrome, Firefox, IE and Opera
Mobile: Can help testers automate native and hybrid mobile
applications. Tester can test mobile applications on android and IOS
different types of testing which primarily include unit testing, functional and
GUI testing, regression testing and so on. TestComplete can test applications
that are created in C#, C++, Delphi, Java or any other development language. With
help of TestComplete tool, tests can be recorded or scripted through its built
5. Watir ( Web application Testing in
Watir is a ruby based automation tool. It’s an open source
automation tool used for automating
browser-based tests of web applications. This tool allow test to be written in simple
and flexible manner and are easy to read for the tester.
Watir interacts with a browser the same way user interacts with
it on daily basis, for example, clicking, links, filling out form, entering
data details and validating text. Basically test scripts are written in the
ruby programming language and watir is a ruby library that simulates user
action in the browser
Ruby give power to connect to database, can
export XML files, can read data files and spreadsheet and its code is also
reusable as through ruby we can create our own function and libraries. Watir
natively support Internet explorer but extension also supports Firefox and
6. QuickTest Professional (QTP)
QuickTest Professional is a functional testing
tool which is used to perform functional and regression testing of any
application. This tool is owned by HP. This tool makes comparison with the
actual and expected results and provide reporting. QTP uses the visual basic
scripting for automating the application.
With QTP, tester can
automate user actions and lately same actions can tested for different users,
different data set on various operating system and different browsers. It also
supports record and play back.
FitNesse is a test framework that allows testers,
developers and customers to collaborate to create test cases on a wiki. Teams
can take examples of desired software behavior and turn them into automated
tests, integrated with narrative requirements documentation. FitNesse runs its
own wiki web server. It’s possible to test applications written in Java, .Net,
Ruby, Python, C, and PHP using FitNesse.
FitNesse comes with its own version control and test
history functionality, so it can be used stand-alone. Everyone on the team can
use a single FitNesse server, or each team member can import tests into their
local environment, work on them, and export changes and new tests back to the
FitNesse provides a framework for using other test
tools, such as GUI drivers. This allows greater flexibility, while taking
advantage of the ease of writing tests in the Wiki and FitNesse’s excellent
result reporting capabilities. Selenium (http://seleniumhq.org/)
GUI tests can be run from FitNesse test tables. A tool called Selenesse (http://github.com/marisaseal/selenesse)
provides a bridge that makes this easy for both Java and .Net environments.
is another example of a GUI test driver that integrates well with FitNesse.
FitNesse automated acceptance tests have several advantages
over many kinds of traditional black-box, GUI-based functional tests:
FitNesse tests can give us feature feedback very
early in the project. In fact, the tests ought to be written first,
so programmers can code to the tests.
FitNesse tests can give us feature feedback very
frequently. They can be run manually or automatically by anyone with
web access to the server, as frequently as required. Every week, every
day, every hour in a crunch.
FitNesse tests are deterministic: they either
run green or red. If they run green for a given requirement, either the
requirement is done and we move on to others, or the set of tests is not
yet exactly right, in which case we refine them. Either way, we are successively
refining the system in an orderly way. With each new test running
green, we can all see the system getting better, more valuable, and closer
to what we need.
Being based on example data, FitNesse tests exercise
more paths through the business logic. When you use FitNesse, you run
less risk of missing important features or functional behavior.
SoapUI is an open source tool which is used for
functional testing of API’s. This tool can also be used to perform regression
and load testing. The main and the most popular functionality of SoapUI is to
provide user the ease of functional testing.
SoapUI has different features that include ease of use
for functional testing. SoapUI has drag and drop option which testers can use
to create theoretical scenarios which can be used for testing without writing
any scripts. After creating a project, testers can add the test suites with
this application. Groovy (object oriented scripting language) can be used to
integrate SoapUI with Selenium. Once integration happens, then we can call the
SoapUI test case runner in Selenium
SoapUI can also give functionality to generate reports
in pdf, word, excel and HTML. Core features of SoapUI include
Web services invoking
simulation and mocking
Web services functional,
compliance and security testing
HP QTP is an automated functional Testing tool that helps testers to execute
automated tests in order to identify any errors, defects or gaps in contrary to
the expected results of the application under test. It was designed by Mercury
Interactive and later on acquired by HP. It is
a tool that will support any level of testing like Unit testing, Integration
testing, System testing or User acceptance testing (UAT). It depends only on
the client needs and the level of testing where automation is required the most.
One of the major testing scripts of QTP are used
in regression testing. Regression testing is very monotonous and tend to bring
back old bugs and issues. QTP scripts can be added to the regression test
suite and be executed any time we need to regress the entire system, even we
can schedule a daily run as per need.
QTP supports all types of windows applications
like a VB application, or a Power builder or any other standard windows
application. The tool can emulate key strokes or mouse movements and can
identify Activex objects on the standalone applications. The tool can read the
data from any database sources compliant with Microsoft standards. There
are database check points available to verify the values in a table
at any given point during test execution. ‘Output values’ in Quick test
professional also aids in performing effective and efficient database testing.
Quick test professional easily integrates with Load runner another product of
HP to expand to the capabilities of the load testing tool.
professional identifies all generic web elements and the related windows
controls. So, there is no question of getting struck up with a windows ‘Save
as’ dialogue box like in Selenium. There are different plug-ins available to
support the web applications like java, .net etc. Even if a browser is not in
the list of browsers supported by QTP, we can still record and execute scripts
on the browser as a standard windows application.