0% found this document useful (0 votes)
174 views27 pages

Chapter 10 Automation Testing v1.1

This document provides an overview of automation testing. It discusses why automation testing is needed, when it should and should not be used, and which test cases are best suited for automation. The key phases and roles of the automation testing process are also outlined. Finally, it briefly introduces some popular automation testing tools.

Uploaded by

sai prathyush
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
174 views27 pages

Chapter 10 Automation Testing v1.1

This document provides an overview of automation testing. It discusses why automation testing is needed, when it should and should not be used, and which test cases are best suited for automation. The key phases and roles of the automation testing process are also outlined. Finally, it briefly introduces some popular automation testing tools.

Uploaded by

sai prathyush
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Chapter – 10 Automation Testing

Certificate in Software Testing Skill

Page 1 of 27
Page 2 of 27
Confidentiality Statement

This document should not be carried outside the physical and virtual boundaries of TCS and
its client work locations. Sharing this document with any person other than a TCS associate
would tantamount to violation of confidentiality agreement signed by you while joining
TCS.

Notice
The information given in this course material is merely for reference. Certain third party
terminologies or matter that may be appearing in the course are used only for contextual
identification and explanation, without an intention to infringe.
Certificate in Software Testing Skill TCS Business Domain Academy

Contents
Chapter-10 Automation Testing ....................................................................................... 5
10.1 Introduction to Automation Testing ......................................................................6
10.2 Automation Testing Process and Phases ...............................................................8
10.3 Automation techniques ....................................................................................... 12
10.4 Automation testing tools .....................................................................................20
Summary ........................................................................................................................26

Page 4 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Chapter-10 Automation Testing

Introduction
Automation Testing means use of specialized tools to control the execution of tests and
relates the actual results against the expected result.
We are automating manual testing to saves time & money, improves accuracy, increase test
coverage etc.

Learning Objective
After reading this chapter, you will be able to understand:
• Test Automation and why it is needed
• When not to automate
• Which test cases to automate
• How to automate and benefit automation testing
• Automation Testing process
• How to choose an automation tools
• Automation scripting technique
• Record and Playback concept
• Automation Testing Myth
• Automation best Practices
• Test Automation Tools
• TCS Assurance CoE Asserts

Page 5 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

10.1 Introduction to Automation Testing

10.1.1 Overview

Manual testing is done by a human sitting in front of a computer cautiously executing the
test steps. Automation Testing means use of specialized tools to control the execution of
tests and relates the actual results against the expected result.

Although manual tests may find many defects in a software application, it is a difficult and
time consuming process. Also it may not be effective in finding particular classes of defects.
Test automation is a process of writing computer program to do testing that would need to
be done manually. Once tests have been automated, they can be run rapidly and
repeatedly. This is often the utmost cost-saving method for software products that have a
lengthy maintenance life, because even small patches over the lifetime of the application
can origin features to break which were working at a prior point in time.

Test automation tools can be costly, and are generally employed in combination with
manual testing. It can be made cost saving in the larger term, particularly when used
repeatedly in regression testing. What to automate, when to automate test, or even
whether one truly needs, automation are crucial decisions which the testing (or
development) team must decide. Selecting the right features of the product for automation
mainly determines the success of the automation. Automating unbalanced features or
features that are ongoing changes should be avoided.

Test automation consist of automating a manual process already in place that uses a
formalized testing process. In simple words, Automation Testing is automating the manual
testing process currently in use.

Minimally such process includes:


Detailed test cases, with predictable “expected results” which have been developed from
design documentation and stand-alone test environment.

10.1.2 Why Automation testing needed?

Automated testing is important due to below reasons:


• A Manual Testing of all fields, work flows, and negative scenarios is time and cost
consuming

Page 6 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

• It is very difficult to test multi lingual websites manually.


• Automation do not need human intervention. You can run automated test
overnight/Unattained.
• Automation rises speed of test execution.
• Automation helps increase Test Coverage.
• A Manual Testing can become uninteresting and hence error prone.
Table 1 : Manual Vs Test Automation
Manual Testing Test Automation
Time consuming Speed
Low Reliability High Reliability
More human Resources Good coverage of test cases
Inconsistent Repeatability
Reusability
Programming capabilities

10.1.3 When not to be automated

• One should not completely rely on automation.


• Test automation, to be effective, must be applied to suitable and proper test
processes but not to all.
• The below mentioned tests should not be automated
o Usability testing
o One time testing
o ASAP testing
o Tests without predictable results.

Note: The more creativity needed for the test case execution, the less appropriate it is for
automation

10.1.4 Which Test Cases to Automate

It is difficult to automate all testing, so it is important to identify which test cases should be
automated first.

The advantage of automated testing is associated to how many times a test can be
repeated. Tests that are only performed a limited times are better left for manual testing.

Page 7 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Good test cases for automation are ones that are run regularly and need a large amounts of
data to perform the same action.
You can get the maximum benefit out of your automated testing efforts by automating:
• Tests that tend to cause human error.
• Repetitive tests run for multiple builds.
• Tests that need multiple data sets.
• Tests that are impossible to perform manually.
• Frequently used functionality that presents high risk conditions.
• Tests that take a lot of effort and time when manual testing.
• Tests that run on several different hardware or software platforms and
configurations.

10.2 Automation Testing Process and Phases

This section will cover How to Automate Testing, its Benefits, Testing Process, Automation
phases\Roles and How to choose an automation Tools.

10.2.1 How to Automate Testing

You can automate your testing process by using a computer language like VB Scripting and
an automated software tools\applications. There are numerous tools available in the market
that one can use to write automation scripts. If you are doubting, how you can achieve
automation testing activities.
Below is a step-by-step procedure that will help you draw up a plan:
• Identify areas in your software testing that want automation: it’s difficult and not
cost saving to automate the whole testing process of software mostly due to the
expensive nature of the testing tools and also may be the unbalanced nature of
certain sections of application code. So it is very crucial to first find out the areas
that need automation.
• Select right tool for test automation: There are various kinds of testing tools
available; however, choosing the right tool keeping in mind the nature of testing
involved, is very important for automation. Whether it’s a code-driven testing
process or GUI based testing, you must select the suitable tool to automate the
testing.
• Write Test Scripts: you need to develop test cases and scripts to cover large area of
software to ensure that they are functioning properly.

Page 8 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

• Develop test suites: test suites are developed to confirm that the automated test
cases run one by one without any manual intervention. This is complete by creating
a test suite that has multiple test cases, a libraries and command line tool that runs
the test suite.
• Execute the scripts: The test scripts can be executed either manually with the
developer choosing which test suites to run or can be done automatically with a
monitoring mechanism in place. This ensures that problems are detected well in
case any issue arises due to code change etc.
• Create Outcome Reports: you need to create report formats so that individual test
logs describing the actions performed during testing are logged, define the type of
test report format going to created, screenshots, messages etc.
• Identify any potential problems or performance related issues: you must be able
to simply identify any problems detected while testing and their causes, identify
events of any failed test operations and set fix the problems to achieve greater
testing efficiency.

10.2.2 Benefits of Automation Testing

Below are benefits of automation of testing


• Saves time and money
• Improves test accuracy
• Increase in test coverage
• Complex testing made easy
• Increases efficiency and team morale

In short we can say that manual testing is effective in projects with multiple operating
environments and hardware configurations, automation of testing is absolutely essential
today to successfully deliver a large scale projects that require execution of repetitive and
complex test cases. Automation testing is not only essential but also critical to the
successful development and delivery of a software project.

10.2.3 Automation Testing Process

Below steps are followed in an Automation Process


• Test Tool Selection
• Define scope of Automation

Page 9 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

• Planning, Design and Development


• Test Execution
• Maintenance

Test Tool Selection: Test tool selection mostly depends on the technology the application
under test is built on. For example QTP does not support Informatica. So QTP cannot be
used for testing Informatica applications.

Define the scope of Automation: Scope of automation is the area of our Application under
Test which will be automated. Following points help determine scope:
• Feature that are important for the business
• Scenarios which have large amount of data
• Common functionalities across applications
• Technical feasibility
• Extent to which business components are reused
• Complexity of test cases
• Ability to use the same test cases for cross browser testing

Planning, Design and Development: During this phase we create Automation strategy &
plan, which contains following details
• Automation tools selected
• Framework design and its features
• In-Scope and Out-of-scope items of automation
• Automation test bed preparation
• Schedule and Timeline of scripting and execution
• Deliverables of automation testing

Test Execution: Automation Scripts are executed during this phase. The scripts need input
test data before there are set to run. Once executed they provide detailed test reports.
Maintenance: - As new functionalities are added to the System under Test with successive
cycles, Automation Scripts need to be added, reviewed and maintained for each release
cycle. Maintenance becomes necessary to improve effectiveness of Automation Scripts.

Page 10 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

10.2.4 Automation phases\Roles

Table 2 : Automation Phase vs Roles


Phases Roles

1. Initiate Automation Engineer

2. Planning Automation Architect

3. Design Automation Manager

4. Construction Automation Test Engineer

5. Execution Automation Test Engineer

6. Maintenance Automation Test Engineer

Please refer attached “Worksheet in New-Automation Basics V-0.xls” in PPT of same


chapter for better understanding.

10.2.5 How to choose an automation Tools.

Selecting the right tool can be a tricky task. Tool selection is one of biggest challenges to be
tackled before going for automation. First, identify the requirements, explore various tools
and its capabilities, set the expectation from the tool and go for a Proof of Concept.

Selecting an automated testing tool is essential for test automation. There are a lot of
automated testing tools on the market, and it is important to choose the automated testing
tool that best suits your overall requirements.

For selecting the appropriate tools we need to consider below key points
• Support for Various Applications and Platforms
• Support for Various Operating Systems
• Support for Mobile Devices
• Support for Various Software Testing Types
• Creating Automated Tests Without Programming
• Automated Test Scripting
• Recording Automated Software Tests
• Creating Cross-Browser Web Tests
• Creating Cross-Platform Mobile Web Tests

Page 11 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

• Creating Automated Tests That Are Resistant to Changes


• Support for Controls and Objects
• Supports Various Test Data Sources
• Running Automated Software Tests and Synchronization
• Automatically Compare Results of Automated Test Actions
• Logging Automated Test Results
• Exporting Reports
• Additional Needed Automated Testing Tool Features
• Testing Multi-Language Applications
• Automated Testing Tool: Support for Teamwork
• Command Line and COM Automation Support
• Integration with Team System and Build Software
• Minimize training cost of selected tools
• Technical Support
• Pricing Policy etc...

10.3 Automation techniques

This section will cover Scripting Techniques, types of scripting vs cost and Frameworks
/Methodologies

10.3.1 Scripting Technique

Below are scripting techniques in Test automation


• Linear
• Structured
• Shared
• Data driven
• Keyword driven

Linear Scripting: Linear scripting approach is a simple record and playback used by a test
engineer to automate a test flow/test case of a system. It can contain some redundant
functions etc. that may not be required at times.

Page 12 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Figure 1 : Linear Scripting Pros & Cons

Structured Scripting: Structured scripting uses control structures in the scripts. These
control structures enable testers to control the flow of the test script/test case.

The control structures are typically ‘if-else’, ‘switch’, ‘for’, ‘while’ conditions/ statements
that help in implementing decision making in script, in performing some tasks iteratively
and calling other common functions that house commonly needed functionality

Figure 2 : Structured scripting Pros & Cons

Shared scripting: Shared scripting is one of techniques in which the scripts representing an
application behaviour are shared amongst other scripts. This means that the application
under test has a common functionality that is scripted as shared script and this script is then
called by other scripts. This makes the scripts modular in terms of common functionality.

Page 13 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Figure 3 : Shared Scripting Pros & Cons

Data driven Scripting: This technique separates data from the scripts and stores it into
external repository in the form of files. The script contains just the programmed code. This
may be needed when the data needs to be varied over the test run.This script need not be
modified if the data undergoes a change. At times the expected data can also be stored in
the data files that have test data.

Figure 4 : Data Driven Scripting Pros & Cons

Keyword driven Scripting: It is an approach in which the control to check and execute
operations is maintained in external data files. The test data and the operations/sequence of
the test is planned in an external data file and an extra library is needed to interpret this
data in addition to the conventional script. It is an extension of data driven testing.

Page 14 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Figure 5 : Keyword Driven Scripting

10.3.2 Types of scripting vs cost

Figure 6 : Types of Scripting vs Cost

10.3.3 Test Automation Framework/Methodology

A Test automation framework is a collection of assumptions, concepts and tools that offer
support for automated software testing. The main benefit of this framework is the low
maintenance cost. Selecting the right framework/scripting technique helps in maintaining
lower costs of software.

Page 15 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

The following are common methodologies used for automate system or functional testing
for the most business applications.
• Linear Scripting ( Record & Playback)
• Functional decomposition Method
• Keyword driven ( table driven)
• Test Plan driven method(Data driven)
• Hybrid (above two are used in a collaborative manner)

Linear Scripting (Record & Playback)


In this Framework, tester manually records each Navigation and User (all Inputs) steps,
Inserts validation Steps in the first round. He then plays back the recorded script in the
successive rounds. It is very simple framework among others frameworks and also called as
"Record & Playback".

For Example: Consider logging into bus ticket Reservation Application and checking the
application has loaded on successful log-on or not. Below are the steps tester will simply
record steps and add validation steps.
1. SystemUtil.Run "BusReservation.exe","","","open"
2. Dialog ("Login"). WinEdit("User Name:").Set "UserName" here
3. Dialog ("Login"). WinEdit("Passcode:").Set "Password" here
4. Dialog ("Login"). WinButton ("OK"). Click
5. 'Check bus ticket Reservation Window has loaded after successful log-on
6. Window("Bus Ticket Reservation").Check CheckPoint ("Bus ticket Reservation
check box")

Benefits of Linear Scripting:


• Fastest way to generate scripts
• Automation expertise is not required
• Easy to learn the features of the Testing Tool

Drawbacks of Linear Scripting:


• Little reuse of scripts
• Test data hard coded into the script
• Maintenance Nightmare

Page 16 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Functional decomposition Method:


Functional decomposition mentions largely to the process of resolving a functional
relationship into its essential parts in such a way that the original function can be
reconstructed from those parts by function composition.

In general, this process of decomposition is undertaken for the purpose of gaining


understanding into the identity of the constituent components.

The main concept behind this, is to reduce test cases to their most likely fundamental tasks
and to write user defined functions, business functions and utility scripts which perform
their tasks freely from one another.
Table 3: List of scripts and its functionalities
Script Functionality

Driver Script Performs initialization, calls Test Case script


based on order and does the Post-process jobs
at the end.
Test case Script Performs application test case logic using
business function.
Business function Script Performs business specific functions within the
application
Utility Script Perform application specific tasks required by
two or more Business scripts
User defined Script General, Application-Specific and Screen-Access
Functions that can be used by any of the scripts.

This is also called Test Library Architecture or structure scripting framework.

Benefits of decomposition Method


• Highly reusable
• Easily extensible
• Flexibility to run various test cases based on priority
• Maintenance is easier, as hard coding is avoided.

Page 17 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Drawbacks of decomposition Method


• Multiple data-files are required for each test case, which becomes cumbersome
to handle.
• Tester must not only maintain the Detail Test Plan with definite data, but must also
re-enter this data in the many required data-files.

Test Plan driven method (Data-Driven):


In this case, the entire process is data driven, even the functionality. The detail Test Plan is
written in a particular format, then saved in a particular record-format which the pre-
written "Utility" scripts use to control the whole processing of the Automated Testing.

A Controller script is needed to identify the keywords and perform the necessary actions.
Table 4: List of scripts and its functionalities
Script Functionality

Driver Script Performs Initialization and calls Controller script to perform


various test scenarios
Controller Script Process the files received from Driver, calls Utility script to
perform the required task.
Utility Script Performs specific tasks like press any key, button, enter data
etc., and calls user defined functions if required
User Defined Functions General and application specific functions.

Benefits of test Plan driven method


• Highly reusable
• Easily extensible
• Flexibility to run various test cases based on priority
• Maintenance is easier, as hard coding is avoided.
• Detail Test Plan written in Spreadsheet format (or comma-separated file)
containing all input and verification can be used. This reduces the effort duplicated
in functional decomposition method to create multiple data files

Page 18 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Drawbacks of test Plan driven method


• If the application requires lots of different “Keyword” and special formats, then it
will be time-consuming for the tester to know them initially.

Note - The "Test Plan Driven" method reserves best of the advantages of the "Functional
Decomposition" method, while removing most of the disadvantages

Keyword Driven (Table Driven):


Keyword-Driven or Table-Driven framework needs the development of data tables and
keywords, free from the test automation tool used to execute them. Tests can be designed
without or with the application. In a keyword-driven test, the functionality of the
application-under-test (AUT) is documented in a table also in step-by-step instructions for
each test.

There are three source components of a Keyword Driven Framework are. Keyword,
Application Map and Component Function.
• Where the keyword means, an act that can be performed on a GUI Components.
For example. In GUI Component Textbox some Keywords (action) would be Input-
text, verify-value, verify-property etc..
• Where an application map provides Named References for UI components. Also
application maps are nothing but "Object Repository"
• Where Component Functions are those functions that aggressively manipulate or
interrogate UI component. Example would be click on web button with all error
handling, enter data in a Web Edit-box with all error handling stuff. Component
functions could be application dependent function or independent function

Benefits of Keyword Driven


• Test Tool Independent
• Provides high code re-usability
• Independent from AUT, same script works for AUT with some limitations
• Tests can be designed with or without AUT

Page 19 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Drawbacks of Keyword Driven


• Initial investment being very high, the advantages of this can only be realized if the
application is considerably large and the test scripts are to be maintained for fairly a
few years.
• High Automation expertise is needs to create the Keyword Driven Framework.

NOTE: Even though QTP promotes itself as Keyword Driven Framework, you cannot
achieve complete test tool and application independence using QTP.

Hybrid:
Hybrid framework is the grouping of one or more than one frameworks discussed above
pulling from their strengths and trying to ease their weaknesses. In hybrid test automation
framework most frameworks evolve into overtime and multiple projects.

Maximum industry uses Keyword Framework with combination of Function decomposition


method.

10.4 Automation testing tools

This section will cover Myths and Test automation tools.

10.4.1 Automation testing myth

Test Automation Costs Too Much:


Automation has significant upfront costs that are problematic to avoid. Proprietary
frameworks require big licensing fees. Open source tools require consultants or in-house
expertise to gain their full value.

Truthfully, a number of things are required to extract value from test automation.
• An automation architect to look the software testing requirements against the
capabilities of automation tool suites.
• Automation engineers who prioritize test automation to particular test areas that
save time and improve quality of testing.
• Plans to reuse automation for a string of upcoming projects to profit from the early
investment.

Page 20 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

All Tests Will Be Automated:


Test automation has its restrictions. Ignoring those restrictions wastes time and political
collateral. Automation works finest with highly repetitive or parallel test scenarios, such as
build regression testing or load testing with huge amount of data sets or multiple users. It
cannot test user experience or unpredictable results that requires human perceptive skills to
assess correctness.

Automating UI testing is another area full with complications and ineffectiveness due to the
fragility while development UIs and the large cost of test maintenance and execution. It is
particularly unproductive when the test target is code beneath the UI.

Faster Software Release Cycles:


Expecting test automation to speed up development/test cycles slips key points. The goal of
automation should be increasing software quality rather than pushing the software out of
the door faster. Correctly applied, automation achieves deeper and broader code coverage.

It will more effective if test automation is implemented immediately after the closer of code
writing. In an agile development environment practicing nonstop delivery, end-to-end
automation does really speed up delivery.

We Have to Replace Manual Testers:


Associated to this trust is a myth that test automation completely replaces manual testing,
which we will get to later. There is always a need for manual testing.

As agile development methodologies and continuous delivery processes raise in use,


automation frameworks have responded by the teamwork of both technical and non-
technical staff test development and execution. For example, Selenium IDE allows non-
coders to build basic but valued test automation. Selenium IDE scripts can be exported to
Selenium WebDriver or higher-level tools for further improvement and development within
the hold of retrained manual testers.

Page 21 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

10.4.2 Test Automation Tools

Table 5 : Automated Web Testing Tools

Tool Name Description Licence type

Selenium Selenium is a popular automated web testing tool and helps you Open Source
automate web browsers across different platforms.
Watir Watir is a set of Ruby libraries for automating web browsers and Open Source
allows you to write tests that are easy to read and maintain.
Windmill Windmill is a web testing tool designed to help testers automate Open Source
and debug web applications. It comes with a cross-browser test
recorder, JavaScript integration and an interactive shell to
automate web browsers.
Ranorex Ranorex allows you to automate your web application testing Commercial
among other things and record user interactions and play them
back to execute your tests. Ranorex is one of the more popular
commercial tools to build and run automated UI and Web tests.
SoapUI SoapUI is a cross-platform functional testing tool. It has been Open Source
explicitly designed to help automatically test APIs such as SOAP
and REST interfaces to certify the interoperability of different
applications.
Sahi Sahi is a tool for automation of web application testing. Open Source

Tellurium Tellurium is a web automation tool that allows you to design Commercial
and write your automated tests by plain English without any
scripting or programming hands-on.

Table 6 : Automated GUI Tools

Tool Description Licence


Name type

Squish Squish is a GUI testing tool for several platforms, including QT, Commercial
native Windows and Mac applications. Squish allows testers and
developers to build automated tests using familiar scripting
languages such as JavaScript, Python, Perl and Ruby.

Page 22 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Tool Description Licence


Name type

Ranorex Ranorex allows you to automate your web application testing Commercial
among other things and record user interactions and play them
back to execute your tests. Ranorex is one of the more popular
commercial tools to build and run automated UI and Web tests.
TestComp TestComplete is an automated testing tool for the Win. Platform. It Commercial
lete permits you to record, script and run GUI tests for applications built
using different frameworks and languages, such as .NET or C++.
Test Test Studio is an automated functional and load testing tool that Commercial
Studio helps you test applications on various platforms built using
different frameworks and tools.
eggPlant eggPlant is a GUI test automation tool for professional software Commercial
applications and enterprise teams. It can be used to automate
different application types, such as .NET, Java and Flash
applications.
Table 7 : Unit Testing Frameworks

Tool Description Licence


Name type

NUnit NUnit is a unit-testing framework for every.Net languages. It was .NET, Open
primarily ported from JUnut to .NET and has been redesigned to Source
take advantage of many .NET language features.
xUnit xUnit.net is a unit testing tool for the .NET Framework written by .NET, Open
the original inventor of NUnit. . It is community-focused tool. xUnit Source
.net is the latest technology for unit testing C#, F#, VB.NET and
other .NET languages
PyUnit / The Python unit testing framework, sometimes mentioned to as Python,
unittest "PyUnit", is a Python language version of JUnit. It’s a part of the Open
Python framework and its supports test automation, sharing of Source
setup and shutdown code for tests and many other features.

Page 23 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Tool Description Licence


Name type

TestNG TestNG is a Java testing framework encouraged by JUnit and NUnit Java, Open
and introduces some new functionalities that make it powerful and Source
easier to use. TestNG is designed to cover multiple classes of tests,
including unit, functional, end-to-end and integration tests.
PHPUnit PHPUnit is a popular framework for unit testing in PHP projects. It PHP, Open
offers both a framework that makes it easier to write tests as well Source
as the functionality to easily run, execute and analyse tests and
results.
Symfony Lime is a unit and functional testing framework built for the PHP, Open
Lime popular Symfony PHP web application framework. The framework Source
is designed to have readable outcome from tests, including colour
formatting by following the Test Anything Protocol.
Test::Unit Ruby comes with its own usual unit testing framework as part of Ruby, Open
the Test::Unit namespace and can be used to define basic pass/fail Source
tests and group tests. The framework also comes with tools to run
single or whole groups of tests.
RSpec RSpec is a testing tool for the Ruby programming language. Born Ruby, Open
under the banner of behaviour-driven development, it is designed Source
to make test-driven development more fruitful and enjoyable.
Junit JUnit is a unit testing framework to write repeatable tests in Java. Java, Open
JUnit has been important in the development of test-driven Source
development and is one of the standard testing frameworks for
Java developers.

Table 8 : Automated Testing Cloud services

Service Type Description

Sauce Labs Selenium & Mobile Cross-browser Selenium & mobile testing

TestingBot Selenium Cross-browser Selenium testing

Gridlastic Selenium Cross-browser Selenium testing

Page 24 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Service Type Description

CircleCI Continuous Integration Continuous integration service & unit testing

Tddium Continuous Integration Continuous integration service & unit testing

CloudBees Continuous Integration Continuous integration service & unit testing

Mailosaur Email Testing Service to integrate emails in automated tests

10.4.3 TCS Assurance CoE Assets

Figure 7 TCS Assurance COE Assets

Page 25 of 27
Certificate in Software Testing Skill TCS Business Domain Academy

Summary

• Manual testing may find many number of defects but it is time consuming and
requires lot of personnel
• Test Automation involves automating the manual process which is currently
undergoing testing
• What to automate, when to automate, or even whether one really needs
automation are crucial decisions which the testing (or development) team must
make.
• Linear, Structured, Shared, Data driven and Keyword driven are the scripting
techniques in test automation
• Function decomposition and Test plan driven methodologies are used in the
automation process
• Automation is an effective way of testing only if used in a proper manner. If not it
creates added over head

Page 26 of 27

You might also like