You are on page 1of 25

Handout: Automation

Version: ST/Handout/0907/1.0
Date: 28-09-07

Cognizant
500 Glen Pointe Center West
Teaneck, NJ 07666
Ph: 201-801-0233
www.cognizant.com
Automation

TABLE OF CONTENTS

Introduction ................................................................................................................................3
About this Module ......................................................................................................................3
Target Audience.........................................................................................................................3
Module Objectives .....................................................................................................................3
Pre-requisite ..............................................................................................................................3

Automation- An Introduction ......................................................................................................4


Objective:...................................................................................................................................4
What is Automation?..................................................................................................................4
Why Automation Required? .......................................................................................................4
What to automate?.....................................................................................................................4
When to Automate .....................................................................................................................4
When NOT to Automate.............................................................................................................5
Automation benefits: Overview...................................................................................................5
Various Tool Vendors ................................................................................................................8
Automation Tool Evaluation .......................................................................................................9
Various Testing Tools ..............................................................................................................13
Performance Tools...................................................................................................................17
Open Source Tools ..................................................................................................................18
Third party vendor tools ...........................................................................................................19

References .................................................................................................................................24
Websites ..................................................................................................................................24

STUDENT NOTES: .....................................................................................................................25

Page 2
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

Introduction

About this Module


This module provides a detailed description about the Test automation

Target Audience
Entry Level Trainees.

Module Objectives
After completing this module, the student will be able to:
‰ Explain automation.

Pre-requisite
Should know fundamentals of Testing

Page 3
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

Automation- An Introduction

Objective:
After completing this chapter, the student will be able to:
‰ Explain automation

What is Automation?
Automated testing is automating the manual testing process currently in use.
Test Automation is a 'development' activity, not a 'test' activity.
‰ Test automation involves automating a manual process already in place that uses a
formalized testing process.
‰ Software testing assisted with software tools that require no operator input, analysis or
evaluation

Why Automation Required?


‰ Reduced testing time
‰ Consistent test procedures – ensure process repeatability and resource
independence. Eliminates errors of manual testing
‰ Reduces QA cost – Upfront cost of automated testing is easily recovered over the
lifetime of the product
‰ Improved testing productivity – test suites can be run earlier and more often
‰ Proof of adequate testing
‰ For doing Tedious work – test team members can focus on quality areas

What to automate?
‰ Tests that will be run many times
‰ Tests that will be run with different sets of data

When to Automate
‰ By using automated techniques, the tester has a very high degree of control over
which types of tests are being performed, and how the tests will be executed.
‰ We can Automate when there are multiple releases of the application.
‰ We can automate only When the application under manual test is stable.
‰ We can automate on tests that need to be run for every build of the application.
‰ We can automate on tests that require detailed information from application internals
‰ We can automate on tests that require execution of multiple data called
parameterization.
‰ When the project have enough time for regression testing

Page 4
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

When NOT to Automate


‰ Automation cannot be used for a project that has very few releases.
‰ Automation testing cannot be used in usability type of testing.
‰ It cannot be used when the functionality of the application changes frequently.
‰ Test with unknown results cannot be automated
‰ The automation of testing cannot ensure 100% error free product and moreover it is
not a label for all the testing problems.
‰ When the project doesnt have enough time

Automation benefits: Overview


Today, rigorous application testing is a critical part of virtually all software development projects.
As more organizations develop mission-critical systems to support their business activities, the
need is greatly increased for testing methods that support business objectives. It is necessary to
ensure that these systems are reliable, built according to specification, and have the ability to
support business processes. Many internal and external factors are forcing organizations to ensure
a high level of software quality and reliability.

In the past, most software tests were performed using manual methods. This required a large staff
of test personnel to perform expensive, and time-consuming manual test procedures.

Owing to the size and complexity of today’s advanced software applications, manual testing is no
longer a viable option for most testing situations.

Every organization has unique reasons for automating software quality activities, but several
reasons are common across industries.
‰ Using Testing Effectively
‰ Reducing Testing Costs
‰ Replicating Testing Across Different Platforms
‰ Repeatability and Control
‰ High speed cycle; code-test-analyze-fix-test…
‰ Better testing if designed right
‰ Good coverage for Data-oriented and/or repetitive verification tasks
‰ Reduces manpower and time
‰ More coverage within the same testing time.
‰ Testing products which are very difficult to test manually. Eg Load Tests
‰ Can look inside the software for memory leaks, redundant code etc.
‰ Improves efficiency of testing
‰ Reducing Testing Costs
‰ Replicating Testing Across Different Platforms
‰ Repeatability and Control
‰ Greater Application Coverage

Page 5
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

Automation Life Cycle Methodology

4. Test planning, 3.Automation Testing


and Introduction Process
Design
and Management
5. Execution

Automated

2. Test tool
Acquisition
Testing Life-Cycle
Methodology (ATLM)

6. Test program Review 1. Decision to


and Assessment Automate Test

Identifying Tests Requiring Automation -


The features that software life cycle process, has to care for to be a successful project are:
‰ Early detection of software problems
‰ Preparation of appropriate test facilities
‰ Early consideration of the user’s needs during software development.
Most, but not all, types of tests can be automated. Certain types of tests like user
comprehension tests, tests that run only once, and tests that require constant human intervention
are usually not worth the investment to automate.

If the testing tool that you select, does not support your environment/application then you are in
trouble and in most cases you will need to revert to manually testing the application. So, Testing
tools depends on consistency of the test environment. The Tool Matrix is provided for quick and
easy reference to the capabilities of the test tools.

The following are examples of criteria that can be used to identify tests that are prime candidates
for automation.

Page 6
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

High Path Frequency -


Automated testing can be used to verify the performance of application paths that are used with a
high degree of frequency when the software is running in full production.

Examples include:
Creating customer records, invoicing and other high volume activities where software failures
would occur frequently.

Critical Business Processes -


In many situations, software applications can literally define or control the core of a company’s
business. If the application fails, the company can face extreme disruptions in critical operations.
Mission-critical processes are prime candidates for automated testing.

Examples include: financial month-end closings, production planning, sales order entry and other
core activities. Any application with a high-degree of risk associated with a failure is a good
candidate for test automation.

Repetitive Testing -
If a testing procedure can be reused many times, it is also a prime candidate for automation. For
example, common outline files can be created to establish a testing session, close a testing
session and apply testing values. These automated modules can be used again and again without
having to rebuild the test scripts. This modular approach saves time and money when compared to
creating a new end-to-end script for each and every test.

Applications with a Long Life Span -


If an application is planned to be in production for a long period of time, the greater the benefits are
from automation.

Selection of Automation Testing Tool


Knowing the Tools language is very important for a tester to automate the test cases.
Choosing an automated software testing tool is an important step, and one which often poses
enterprise-wide implications. Generally a good tool should
‰ Test all out of box functions.
‰ It should have good debugging facilities.
‰ It should have a clear help file and a user manual.

There are also several key issues, which should be addressed when selecting an application
testing solution, which are given below:

Test Planning and Management


A robust testing tool should have the capability to manage the testing process, provide
organization for testing components, and create meaningful end-user and management reports. It
should also allow users to include non-automated testing procedures within automated test plans
and test results.

Page 7
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

A robust tool will allow users to integrate existing test results into an automated test plan. Finally,
an automated test should be able to link business requirements to test results, allowing users to
evaluate application readiness based upon the application's ability to support the business
requirements.

Testing Product Integration


Testing tools should provide tightly integrated modules that support test component reusability.
Test components built for performing functional tests should also support other types of testing
including regression and load/stress testing. All products within the testing product environment
should be based upon a common, easy-to-understand language. User training and experience
gained in performing one testing task should be transferable to other testing tasks. Also, the
architecture of the testing tool environment should be open to support interaction with other
technologies such as defect or bug tracking packages.

Internet/Intranet Testing
A good tool will have the ability to support testing within the scope of a web browser. The tests
created for testing Internet or intranet-based applications should be portable across browsers, and
should automatically adjust for different load times and performance levels.

Ease of Use
Testing tools should be engineered to be usable by non-programmers and application end-users.
With much of the testing responsibility shifting from the development staff to the departmental
level, a testing tool that requires programming skills is unusable by most organizations. Even if
programmers are responsible for testing, the testing tool itself should have a short learning curve.

GUI and Client/Server Testing


A robust testing tool should support testing with a variety of user interfaces and create simple-to
manage, easy-to-modify tests. Test component reusability should be a cornerstone of the product
architecture.

Load and Performance Testing


The selected testing solution should allow users to perform meaningful load and performance tests
to accurately measure system performance. It should also provide test results in an easy-to-
understand reporting format.

Various Tool Vendors

Mercury IBM (Rational Segue


Interactive Incorporation) software
Functional Testing Tool Winrunner (TSL) Rational Robot (SQA) Silk Test (4th
QTP (Vb script) GL)
Performance Testing Load Runner Rational Performance Tool Silk Performer
Tool
Test Management Tool Test Director Rational Management Tool Silk Radar
Quality Center

Page 8
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

Automation Tool Evaluation

PURPOSE
Identifying an automation tool accurately, effectively and efficiently is a difficult problem for any
large application, with diversified technologies and architecture. The primary purpose of this
document is to effectively conduct the evaluation of automation tool that suits the project needs.
The evaluation and selection is made upon comparing standard automation test tools based on
various criteria taking all major factors into consideration.

The intended audience for this document is business decision-makers who want to select the
automation tool for their application. This document is closely related to the accompanying
Evaluation Methods document (this document describes what we will do, what criteria we will use
and which tools we will use, and the methods document describes how we will do it).

With the advent or growth of technology and the need for Quality Work in IT field, Cognizant have
come out with a standard way of evaluating the tools that help us out in attaining the goal “Quality”.

NEED FOR TOOL EVALUATION


In the past, Test Automation Professionals have spent time learning how to evaluate automation
tools for their projects, but in reality most clients make the purchasing decision for software at a
level above the Test Automation Professionals (usually on the budget and tool knowledge).

So the issues become:


‰ How to become aware of the automation tools available for the project use.
‰ Decide when to use the automation tool.
‰ Evaluate the tool based on different criteria’s.
‰ Select the tool based on different technology.

After the application developed becomes stable and maintainable, need for automation is
proposed. Once the need for automation is recognized, automation tool evaluation is
accomplished. Due to availability of large number of automation tools in the market, it becomes
difficult to identify the appropriate automation tool for the project. Hence tool evaluation is
inevitable for selecting the automation tool that meets the project expectation. It requires prior
experience and process to reduce the complexity of the tool selection.

TOOLS USED
Based on the prior experience, popularity and support provided by vendors tools for comparison
are selected.

Vendors
Mercury
Mercury’s turnover is in excess of $190 million with staff in excess of 1250. In the UK Mercury
have at least 50% of the market in test tools. So as a tester you are more likely to find work as a
skilled Winrunner/QTP developer and also as an employer more likely to find people with
Winrunner/QTP skills.

Page 9
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

They have a number of complimentary tools TestDirector being the most integrated one. They
have a lot of third party support and test tools are usually compared first against Mercury than the
others. Mercury tends to use third party companies to supply professional services support for their
tools (e.g. if you require onsite development of test suites).

IBM’s Rational
Rational’s turnover is in excess of $I/2 billion with staff in excess of 3,300. For me they offer the
most complete lifecycle toolset (including testing) of these vendors for the windows platform.

When it comes to Object Oriented development they are the acknowledged leaders with most of
the leading OO experts working for them. Some of their products are worldwide leaders e.g.
Rational Rose, Clearcase, RequistePro, etc.Their Unified Process is a very good development
model with which it allows mapping of requirements to use cases, test cases and a whole set of
tools to support the process.

Segue
Segue has a turnover of in excess of $50 million and a staff of 400. Anyone who has used SilkTest
along side any of the other test tools will agree that this is the most function rich out the box.
However the learning curve (if you have no programming experience) is the steepest. It provides
the most robust facilities; an object map, test recovery facilities and object-based development
language. Segue’s performance test tool SilkPerformer also performs very well compared to it’s
rivals e.g. LoadRunner, LoadTest, etc.

SilkTest does not have a big user base in the UK compared to the other products which is a
shame because for straight automation testing it has excellent facilities for creating robust test
suites/frameworks.

Compuware
Of all the vendors mentioned in this document Compuware is by far the largest. It has a turnover in
excess of $2 billion and staff of more than 15,000. 9,500 of these are professional services staff
with skills covering all the development lifecycle. As such Compuware does not only supply the
tools but will provide staff to initially develop your test suite and handover to internal staff as
required. Their test tool set is second to Rational only on the windows platform (for coverage) but
for complete coverage across platforms including mainframe and Unix they are the best.

Functional Test Tools


Functional test tools considered are
‰ Rational Robot
‰ Winrunner
‰ QTP
‰ QARun
‰ SilkTest

Page 10
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

Test Management Tools


Test management tools considered are
‰ Rational Test Manager
‰ Test Director
‰ QA Director
‰ Silk Test Manager

TECHNIQUE USED
To ensure that the automation tool satisfies all the functional criteria, a specific technique needs to
be developed after comprehensive analysis by the automation team.
‰ The activities and features expected from the tool are listed.
‰ Technology/Environment supported by the tool is identified.
‰ Based on prior experience, the support provided by each tool for a specific feature is
rated.
‰ Level of importance of the individual feature for the project is evaluated.

Level of importance weight

Critical 6
Must Have 5
Very Important 4
Important 3
Nice to have 2
Not Important 1
No need 0

‰ Based on the level of importance and the tool rating the weightage for each feature is
arrived.
Weightage = Level of importance * Tool rating
‰ Final weightage is calculated by taking sum of weightage of each feature.
Final weightage = ∑ Weightage of individual feature
‰ Based on final weightage the tool that best suits the project is selected.

Page 11
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

Tools Evaluation

Silk

Silk
QA Run - Compuware
Tools QA Run - Compuware
QTP QTP
Winrunner
Winrunner
Rational

Rational

480 500 520 540 560 580 600

FOCUS AREAS
Automation tool selection requires identification of the major factors and prioritization of the factors.
The automation tool should support most of the factors identified.

The tool evaluation process should address the following issues before selecting the suitable tool.
‰ Compatibility issues: The tool should be compatible with the operating system(s) that
are supported by the application, the technology used for creating the application
(Add-ins should be available to support specific technology like .Net etc.), third party
tools integrated with the application for example Crystal Reports, Infragistics controls
used in application created using .Net technology etc.
‰ Business requirements: Projects may have additional requirements that tool vendors
must meet. For example, the extent of support the tool provides for applications
related to insurance, Banking, Logistics etc.
‰ Budget constraints: How much can be afforded and how much it is worth investing in
the tool should also be considered

Criteria considered for comparison – Functional Test Tool


‰ Support for various Technologies
‰ Support for various OS
‰ Support for integration with test management tools
‰ Testing Methodologies
‰ Scripting language used by the tool
‰ Support rendered by the vendor

Criteria considered for comparison – Management Test Tool


‰ Testing Methodologies
‰ Integration with test tools and other documents
‰ Metrics tracking and Defect management
‰ Test execution and reporting
‰ Support rendered by the vendor

Page 12
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

The major benefit of this document is to identify the best suited automation tool which provides the
support, reusability, speed, data accuracy etc. The document will help the business leaders in
decision-making process with regard to significant tool purchase and automating the application.

Refer to the “Testing Services Automation CoE – Tool.xls”

Various Testing Tools

Functional Tools
‰ Winrunner (TSL)
‰ QTP (VB script)
‰ Rational Robot (SQA)
‰ Silk Test (4th GL)

WinRunner (TSL)
WinRunner records user actions and application responses to create scripts that can be used as
automated tests.

WinRunner offers your organization a powerful tool for enterprise-wide functional and regression
testing. The solution is a component of Mercury Interactive’s Optane™ Suite — a comprehensive
set of tools for testing, deployment, and performance management that provide the only integrated
solution for business technology optimization (BTO).

WinRunner captures, verifies, and replays user interactions automatically to identify defects and
ensure that business processes work flawlessly upon deployment and remain reliable. With
WinRunner, organizations gain several advantages, including:
‰ Reduced testing time by automating repetitive tasks.
‰ Optimized testing efforts by covering diverse environments with a single testing tool.
‰ Maximized return on investment by modifying and reusing test scripts as the
application evolves.

How WinRunner Works?


WinRunner’s intuitive recording process allows users — even those with limited technical
backgrounds — to produce robust tests. To create a test, WinRunner simply records a typical
business process by emulating user actions, such as ordering an item or opening a vendor
account. During recording, you can directly edit generated scripts to meet the most complex test
requirements. Next, testers can add checkpoints, which compare expected and actual outcomes
from the test run. WinRunner offers a variety of checkpoints, including test, GUI, bitmap, and Web
links. WinRunner can also verify database values to ensure transaction accuracy and database
integrity, highlighting records that have been updated, modified, deleted, and inserted. With a few
mouse clicks, WinRunner’s Data Driver Wizard lets you convert a recorded business process into
a data-driven test that reflects the unique, real-life actions of multiple users. For further test
enhancement, the Function Generator presents a quick and reliable way to program tests, while
the Virtual Object Wizard enables you to teach WinRunner to recognize, record, and replay any
unknown or custom object.

Page 13
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

As WinRunner executes tests, it operates the application automatically, as though a real user were
performing each step in the business process. If test execution takes place after hours or in the
absence of a QA engineer, WinRunner’s Recovery Manger and Exception Handling mechanism
automatically troubleshoot unexpected events, errors, and application crashes to ensure smooth
test completion. Once tests are run, WinRunner’s interactive reporting tools help your team
interpret results by providing detailed, easy-to-read reports that list errors and their origination.
WinRunner enables your organization to build reusable tests to use throughout an application’s
lifecycle. Thus, if developers modify an application over time, testers do not need to modify
multiple tests. Instead, they can apply changes to the GUI Map, a central repository of test-related
information, and WinRunner will automatically propagate changes to all relevant scripts.

Supported Environments:
WinRunner supports many environments, including the following. For more information on
WinRunner and a complete list of supported environments, please visit
http://www.mercuryinteractive.com/products/winrunner.

Browsers
‰ Internet Explorer
‰ Netscape
‰ AOL
ERP/CRM
‰ Oracle
‰ PeopleSoft
‰ Siebel
‰ Baan
Platforms
‰ Windows 98
‰ Windows NT
‰ Windows Me
‰ Windows 2000
‰ Windows XP
Programming Languages
‰ PowerBuilder
‰ Visual Basic
‰ ActiveX
‰ Oracle Developer
‰ C/C++
‰ Java, JavaScript,
‰ JDK
‰ Delphi
‰ Centura

Page 14
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

QTP (VB script)


Mercury QuickTest Professional is an advanced automated testing solution for building functional
and regression test suites. It captures, verifies, and replays user interactions automatically.

Mercury QuickTest Professional provides the industry’s best solution for functional and regression
test automation for every major software application and environment. QuickTest Professional is a
next-generation automated testing solution that deploys the concept of Keyword-Driven testing to
radically simplify test creation and maintenance. Unique to QuickTest’s Keyword Driven approach,
test automation experts have full access to the underlying test and object properties, via an
integrated scripting and debugging environment that is round-trip synchronized with the Keyword
View.

QuickTest Professional satisfies the needs of both technical and non-technical users, enabling
companies to deploy higher-quality applications faster, cheaper, and with less risk. It works hand-
in-hand with new test automation system, Mercury Business Process Testing, to bring non-
technical subject-matter experts into the quality process in a meaningful way that results in better
alignment of IT and the business — and ultimately superior applications. With this product, QA
organizations can achieve a number of advantages:
‰ Empower the entire team to create sophisticated test suites with minimal training.
‰ Ensure correct functionality across all environments, data sets, and business
processes.
‰ Fully document and replicate defects for developers, enabling them to fix defects
faster and meet production deadlines.
‰ Easily regression-test ever-changing applications and environments.
‰ Become a key player in enabling the organization to deliver quality products and
services, and improve revenues and profitability.

QTP Record/Play Back


There are 3 types of recording:

QuickTest’s normal recording mode records the objects in your application and the operations
performed on them. This mode is the default and takes full advantage of QuickTest’s test object
model, recognizing the objects in your application regardless of their location on the screen.

Analog Recording - enables you to record the exact mouse and keyboard operations you perform
in relation to either the screen or the application window. In this recording mode, QuickTest
records and tracks every movement of the mouse as you drag the mouse around a screen or
window. This mode is useful for recording operations that cannot be recorded at the level of an
object, for example, recording a signature produced by dragging the mouse. Note: You cannot edit
analog recording steps from within QuickTest.

Low-Level Recording - enables you to record on any object in your application, whether or not
QuickTest recognizes the specific object or the specific operation. This mode records at the object
level and records all run-time objects as Window or WinObject test objects. Use low-level
recording for recording tests in an environment or on an object not recognized by QuickTest. You
can also use low-level recording if the exact coordinates of the object are important for your test.
Note: Steps recorded using low-level mode may not run correctly on all objects.
Run Options

Page 15
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

There are 3 possibilities to run the number of rows. They are:


‰ Run one iteration
‰ Run all the rows
‰ Run a range of rows
Debugging
The 3 debugging options in the Debug Menu in QTP are:
‰ Step Into
‰ Step Out
‰ Step Over
Parametrization
The different types of parameter used in QTP are The input parameter,The output parameter and
Random number
Taking about options, the following are the options used to do Parameterization in QTP:
Datatable,Environment variables and Random numbers

SilkTest
SilkTest® is the industry’s leading functional testing product for enterprise applications, whether
Web, Java or traditional client/server-based. SilkTest is an easy-to-use test and automation
environment that offers many features that enable users to be highly productive in their software
test automation efforts. These features include workflow elements for test creation and
customization, test planning and management, direct database access and validation, the flexible
and robust 4Test® scripting language, a built-in recovery system for unattended testing, and the
ability to test across multiple platforms, browsers and technologies with one set of scripts.

SilkTest can help mitigate the challenges of a successful automation effort, such as lack of time,
budget and resources. Successful automation consists of a manageable development effort, the
ability to run the automation whenever and wherever it’s needed, and quick and accurate results
analysis. And SilkTest enables all three of these elements.

Rapid reusable test and automation infrastructure development – With today’s shortened
product release cycles, creating enough tests to thoroughly verify your application’s reliability can
be a daunting task. SilkTest offers many capabilities to promote rapid test development such as
the Basic Workflow for recording tests, the Data Driven Workflow for customizing tests to use
application data for improved test reusability, and AutoComplete for improved productivity of script
creation and automation infrastructure development.

Test and automation execution – SilkTest offers unique features for running tests such as an
out-of-the-box, yet extensible Recovery System, a separate Agent process for accurate user
simulation and a cost effective means for distributing test execution across multiple platforms
running in parallel. The Recovery System allows tests to be run unattended; should unexpected
errors such as application crashes occur, the errors are logged and the application is restored to
its original base state so that subsequent tests can run and produce valid results. SilkTest’s Agent
technology provides user simulation capabilities, driving the application exactly how an end-user
would, resulting in complete and thorough testing of the user experience. Since the Agent is a
separate and light weight process, it can be deployed to multiple boxes and controlled by the main
SilkTest component, easily enabling the distribution and synchronization of tests across multiple
platforms to shorten automation execution cycles. The 4Test scripting language and other

Page 16
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

architectural capabilities, such as the GUI abstraction layer, enable highly portable tests to
facilitate test execution across mixed operating systems and browsers.

Ease of test and automation maintenance –To help you cope with changes to the application
being tested, SilkTest gives you a powerful, highly customizable and low maintenance GUI
abstraction layer that maps the graphical elements of the Application Under Test (AUT) to their
automatically constructed counterpart objects in SilkTest. When the AUT’s GUI has been
sufficiently modified to require updating the abstraction layer, Project Workspaces help you quickly
navigate through the layer to find the sole map location to update. Many times, all that is required
is modifying the abstraction layer; tests that reference objects defined in the layer can continue to
run unmodified. Project Workspaces also lessen the effort required to update tests or automation
infrastructure when application logic changes occur. SilkTest’s scripting language, 4Test, is an
object-based language, thereby providing built-in ease-of-maintenance features offering you the
advantage for a single point of change when test or automation infrastructure modifications need
to be made.

Performance Tools
‰ Load Runner
‰ Rational Performance
‰ Silk Performer

LoadRunner Overview
LoadRunner is a tool, or more accurately a collection of tools, which facilitates in performing load
testing on a system. LoadRunner is used to create a load or stress on a system, and can be used
to measure the responsiveness of the system to that load. The key concept behind LoadRunner is
the use of virtual users, or vusers.

Virtual Users
To perform a load test, a system needs many users to access the system concurrently, often one
hundred or more. Performing such a test with people is a logistical nightmare. When considering
that the test cycle is generally iterative, this problem is compounded. LoadRunner overcomes this
problem through the use of vusers. A vuser performs the actions that a real user would perform,
except that a vuser is controlled by LoadRunner, and the actions are performed automatically.

Vusers are created to perform specific transactions in the system. Once created a vuser can be
replicated as many times as required, thus producing an effective load as large as is required. With
the exception of GUI vusers, virtual users don’t use the client to perform their actions; they take the
place of the client. This allows in many vusers to be run on one workstation, as the overhead
associated with the client is not required. This does mean, however, that non-GUI vusers do not
test the performance associated with the client side of a system, only the network and server
associated performance.

Vusers can be of four main types.


‰ DB Virtual Users
‰ Web Virtual Users
‰ RTE Virtual Users
‰ SAP Virtual Users

Page 17
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

GUI Virtual Users


Unlike the previous types of vusers, GUI virtual users actually perform actions using the client.
This means that fewer GUI vusers can be run per workstation than the other types of vusers due to
the overhead of the client, and is in fact limited to one GUI vuser per PC workstation.

GUI vusers are used not so much to generate load on a system, but to test end-to-end
performance associated with various business processes. Although LoadRunner can control GUI
vusers, it is unable to create them. For this purpose, WinRunner is required.

Open Source Tools


‰ Junit
‰ Nunit

JUnit is a framework for implementing testing in Java. It provides a simple way to explicitly test
specific areas of a Java program; it is extensible and can be employed to test a hierarchy of
program code either singularly or as multiple units.

Why use a testing framework? Using a testing framework is beneficial because it forces you to
explicitly declare the expected results of specific program execution routes. When debugging it is
possible to write a test which expresses the result you are trying to achieve and then debug until
the test comes out positive. By having a set of tests that test all the core components of the project
it is possible to modify specific areas of the project and immediately see the effect the
modifications have on the other areas by the results of the test, hence, side-effects can be quickly
realized.

JUnit promotes the idea of first testing then coding, in that it is possible to setup test data for a unit,
which defines what the expected output is and then code until the tests pass. It is believed by
some that this practice of "test a little, code a little, test a little, code a little..." increases
programmer productivity and stability of program code whilst reducing programmer stress and the
time spent debugging. It also integrates with Ant http://jakarta.apache.org/ant/.

Nunit
What Is NUnit?
NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current
release, version 2.2, is the fourth major release of this xUnit based unit testing tool for Microsoft
.NET. It is written entirely in C# and has been completely redesigned to take advantage of many
.NET language features, for example custom attributes and other reflection related capabilities.
NUnit brings xUnit to all .NET languages. NUnit has two different ways to run your tests. The
console runner, nunit-console.exe, is the fastest to launch, but is not interactive. The gui runner,
nunit-gui.exe, is a Windows Forms application that allows you to work selectively with your tests
and provides graphical feedback.

Features
Console Runner
The nunit-console.exe program is a text-based runner and can be used when you want to run all
your tests and don’t need a red/yellow/green indication of success or failure. It is useful for
automation of tests and integration into other systems. It automatically saves its results in XML
format, allowing you to produce reports or otherwise process the results.

Page 18
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

Gui Runner
The nunit-gui.exe program is a graphical runner. It shows the tests in an explorer-like browser
window and provides a visual indication of the success or failure of the tests. It allows you to
selectively run single tests or suites and reloads automatically as you modify and re-compile your
code.

Third party vendor tools

Area_of_usage Tool Name Vendor Functionality


Debugging Abendaid Analysing Abends
ETL Tool ABINITIO Leccotech ETL mappings
Code Merge Accelerator Open Source File merge
Others Active PDF Acttive PDF PDF generation
Build Mgt,Open source build
Build
ANT Apache management tool and customer
Management
insisted
Code Profiling ANTS Profiler Red Gate
Optimizes the pdf files for faster
Others ApSaveAs Appligent
viewing on web
Code Merge BeyondCompare Open Source File merge
Defect tracking Bugzilla
Job Scheduler CA7 Computer Associates Job Scheduling
Static Analysis CANTATA ++ IPL C++ class testing
Unit Testing CANTATA ++ IPL C++ class testing
Quality Support Changeman Computer Associates Configuration
Config Mgmt Changeman Computer Associates Configuration
Open source tool for checking
Code review CHECKSTYLE Open Source java coding conventions upon
zeus source code
Verison control of Code source
Configuration .Multisite Configuration mgt is
CLEARCASE Rational
Management possible, Configuration
Management
Tracking defects and tying to
Defect tracking CLEARQUEST Rational
clearcase
Code coverage CLOVER Cortex Measurement of code coverage
Static Analysis CODEWIZARD Parasoft C++ Code review
File transfer COREFTP coreFTP Remote connectivity
Configuration Version control for Source
CVS Apache,Open Source
Management Code,Configuration
Debugging Dev partner Studio Compuware Component profiling
Development
ECLIPSE IBM IDE
Environment

Page 19
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

Area_of_usage Tool Name Vendor Functionality


Editor EDITPLUS ES-Computing Source code editor
Analysis &
CA,AllFusion,Platinum Database Design,Data
Design - Visual ERWIN
Tech Modelling
Modeling
CA,AllFusion,Platinum Database Design,Data
Data Modeling ERWIN
Tech Modelling
Debugging Expeditor Debugging
1. Good editor for Oracle
Coding
2. Traps syntax errors in editor
Editor FORMATTER PLUS Quest
3. Suggest bad practices and
optimizations that could be
done on the code
File transfer FTP-SURFER FTP Client
Interface to run SQLs,SQL tool
Database Access for Oracle, which allows to
GOLDEN32 Benthic
tool create, edit and execute SQL
statements and scripts
Remote
IBM PCOM Terminal Connectivity
connectivity
Application
IIS Microsoft
Server
Deployment Tool InstallShield Installshield s/w corp
Development
INTELLIJ JetBrains IDE
Environment
Custom tool, can be
Issue tracking ITS Open Source customized based on the
requirement
Custom tool, can be
Change Request
ITS Open Source customized based on the
Tracking
requirement
Sun's in built utility for finding
Code coverage JCOV Open Source
coverage.
Code Profiling JPROBE Quest Software Profiling and white-box testing
Code Review,Java static &
Code review JTEST ParaSoft
dynamic analysis
Code Review,Java static &
Static Analysis JTEST ParaSoft
dynamic analysis
Code Review,Java static &
Dynamic Analysis JTEST ParaSoft
dynamic analysis

Page 20
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

Area_of_usage Tool Name Vendor Functionality


Unit testing automation,sub
Testing system testing,regression
JUNIT Open Source
framework testing,Test Management,Java,
VB and .NET code Testing
DB Tuning LECCOTECH Leccotech DB2 Query Tuning features
Load testing Loadrunner
Messaging interface, allows
filtering transformation as well
Messaging MQSI IBM
as a pub-sub approach to
messaging
Project Planning
MS PROJECT Microsoft Planning and Tracking
and Tracking
Analysis & Desgin,Industry Standard tool
Design - Visual MS VISIO Microsoft for drawing flowcharts, state
Modeling chart diagrams
Documentation MS Word Microsoft Documentation
Database MS-SQL Server Microsoft Database-side coding
Data Reconciliation of data between
nBalance OptInfo
Reconciliation source and subscriber systems
Code counting and assessing
Code counting NCSS Open Source
cycomatic complexity
Testing Regression Testing,.NET Code
Nunit Open Source
framework Testing
Code Profiling OPTIMIZEIT Borland JAVA Optimization
Database Management,Project
Database ORACLE 8I Oracle
Deployment platform
ETL / Report Database Management,Project
ORACLE 8I Oracle
Development Deployment platform
Enterprise
Project Deployment platform
Application ORBIX IONA
(J2EE to CORBA connectivity)
Integration
PdfEncryptor utility is used to
encrypt PDF Files which are
PdfEncryptor/FileOpen
Others FileOpen decrypt using the file open
Plugin
plugin to the adobe acrobat
reader
Interface to run SQLs, compile
Database Access
PL/SQL Developer Allround Automations PL/SQL procedures, browse
tool
data dictionary
Database Platinum Platinum Tech DB2 Interactive Administration
Remote
PUTTY Remote connectivity
connectivity
Defect tracking PVCS TRACKER Merant Defect Tracking Tool

Page 21
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

Area_of_usage Tool Name Vendor Functionality


Analysis &
Design - Visual Rational ROSE Rational Design
Modeling
Documentation Rational SODA Rational Design Documentation
Code coverage CANTATA ++ IPL C++ class testing
Static Analysis CANTATA ++ IPL C++ class testing
Testing Rational Test Suite Rational Testing
Analysis &
Design - Visual Rational XDE IBM/Rational Desgin
Modeling
Remote Remote Desktop
Microsoft VPN connectivity
connectivity Connectivity
ETL / Report
ReportNet Cognos Reporting
Development
Requirement
Requisite Pro Rational Requirement Management
Management
M Squared
Code Profiling RSM Code Review
Technologies
Can publish the documents
which can be accessed by both
Document
SHARE POINT Microsoft onsite and offshore. Can
Management
version control the documents,
provide access rights.
Load and
performance SILK PERFORMER Segue Silk Load & performance testing
testing
Functional testing SILK TEST Segue Silk Automated functional test
Both the tools are industry
standard profiling tool and
Coding SMALL WORLDS Quest Software, IBM
Small world helps in Static
Analysis of the code
Application
Compuware
Performance Strobe Performance Monitoring
Corporation
Analysis
Data Transfer data (allows filtering
SYBASE REPLICATION
synchronization Sybase and transformations) between
SERVER
and transfer heterogenous databases
Remote
Terminal Services Client Microsoft VPN connectivity
connectivity
Defect Tracking,Test
Defect Tracking TEST DIRECTOR Mercury
Management
Test Defect Tracking,Test
TEST DIRECTOR Mercury
Management Management

Page 22
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

Area_of_usage Tool Name Vendor Functionality


Rational Product for Testing
Testing TEST MANAGER Rational
User Interface
Helios Software
Editor TEXT PAD Source code editor
solutions
Interface to run SQLs, compile
Database Access PL/SQL procedures, browse
TOAD Quest Software
tool data dictionary,Database
Management
Analysis &
Design - Visual TOGETHER SOFT Borland Database Design
Modeling
Application
Tomcat Apache
Server
Database UDB DB2 IBM
Testing
VBUnit vbunit.com VB Code Testing
framework
Testing Viasoft Viasoft Testing
Project Deployment
Enterprise platform,ORB for developing,
Application VISIBROKER Borland deploying, and managing
Integration distributed enterprise
applications
Development
Visual Studio Microsoft Coding for .NET and C++
Environment
Configuration
VSS Microsoft Configuration
Management
Load testing Web Load RADVIEW Web application test
Websphere Studio
Development
Application Developer JPMC Development Environment.
Environment
5.0
WinRunner is an integrated,
Functional testing WINRUNNER Mercury
functional testing product
File transfer WS_FTP IpSwitch Inc Remote connectivity
Development
X-Manager XML Browser
Environment
Development
XML SPY XML and XSL Editing
Environment
Testing XPEDITOR IBM Testing
Development
Xselerator Marrowsoft Development of XSL
Environment
Code coverage JPROBE Quest Software Profiling and white-box testing

Page 23
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

References

Websites
‰ http://www.exforsys.com/forum/software-testing/97699-qtp-material.html
‰ http://72.14.235.104/search?q=cache:z33jrUcFseYJ:www.autotester.com/content/pdfs
/BPG-pdf.PDF+automation+testing+guide&hl=en&ct=clnk&cd=1&gl=in
‰ http://www.spc.ca/products/Segue%20Products/silktest.pdf
‰ http://www.qualtech-int.com.au/filedb/uploads/LRUG.pdf

Page 24
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected
Automation

STUDENT NOTES:

Page 25
©Copyright 2007, Cognizant Technology Solutions, All Rights Reserved
C3: Protected