Chapter 7 Test Tools and Automation
Chapter 7 Test Tools and Automation
1
Contents
2
Introduction to automated software
testing
• “Software Testing is usually the part of the project which makes everybody
weep”
3
Definition of Automation
redundant tasks”
4
1. Decision to Automate Test: Overcoming False Expectations
REALITY
EXPECTATION
• No tool can create automatically a comprehensive
• Automatic test plan test plan
generation
• No single tool can support all operating systems
• Test tool fits all environments and programming languages
• Imminent test effort • Initial use of an automated test tool can actually
reduction increase the test effort
• Tool ease of use • Using an automated tool requires new skills,
additional training is required.
• Universal application • Not all the tests required for a project can be
of test automation automated (e.g. some test are physically
impossible; time or cost limitation)
• 100% test coverage • It is impossible to perform an exhaustive testing of
all the possible inputs (simple or combination) to a
system
5
Test selection guidelines for automation
1. Decision to
Automate
Testing
5. Execution and
2. Test Tool
Management of
Acquisition
Tests
3. Automated
4. Test Planning,
Testing
Design, and
Introduction
Development
Process
7
1. Decision to Automate Test: Benefits of Automated
Testing
Production of a reliable system Improved requirements definition
Improved performance/load/stress testing
Improved partnership with development team
Improved system development life cycle
Improvement of the quality of the Improved build verification testing (smoke testing)
test effort.
Improved regression testing
Improved multiplatform/software compatibility testing
Improved execution of the repetitive tests
Improved focus on advanced test issues
Execution of tests that manual testing can't accomplish
Ability to reproduce software defects
After-hours testing
Reduction of test effort and minimization of schedule
8
2. Test Tool Acquisition Business analysis business modeling tools
phase configuration management tools
defect tracking tools
• Identify which of the various tool types suit
the organization system environment, requirements management tools
Requirements
considering: definition phase requirements verifiers tools
- the group/department that will use the
tool; Analysis and database design tools
- the budget allocated for the tool design phase application design tools
acquisition; syntax checkers/debuggers
Programming
- the most/least important functions of phase memory leak and run-time error detection tools
the tool etc.
source code or unit testing tools
• Choose the tool type according to the stage static and dynamic analyzers
of the software testing life cycle
• Evaluate different tools from the selected tool
Testing phase test management tools
category
network testing tools
• Hands-on tool estimation – request product
GUI testing tools (capture/playback)
demonstration (evaluation copy)
non-GUI test drivers
• Following the conclusion of the evaluation
process, an evaluation report should be load/performance testing tools
prepared environment testing tools
Testing Tool Acquisition
• Tool or No Tool?
• Detailed Evaluation
10
3. Automated Testing Introduction Process – Test Process Analysis
Process Test process characteristics (goals, strategies, methodologies) have been defined and they are
review compatible with automated testing
Schedule and budget allows process implementation
The test team is involved from the beginning of SDLC
Test goals Increase the probability that application under test will behave correctly under all circumstances
Increase the probability that application meets all the defined requirements
Execute a complete test of the application within a short time frame
Test objectives Ensure that the system complies with defined client and server response times
Ensure that the most critical end-user paths through the system perform correctly
Incorporate the use of automated test tools whenever feasible
Perform test activities that support both defect prevention and defect detection
Incorporate the use of automated test design and development standards to create reusable and
maintanable scripts
Test strategies Defect prevention (early test involvement, use of process standards, inspection and walkthroughs)
Defect detection (use of automated test tools, unit/integration/system/acceptance test phase)
4. Test Planning
• The test planning element of the ATLM(Automated Test
Lifecycle Methodology ) incorporates the review of all
activities required in the test program
• It ensures that testing processes, methodologies,
techniques, people, tools, schedule and equipment are
organized and applied in an efficient way
• Key elements: planning associated with project milestone
events, test program activities and test program-related
documentation.
• The following must be accomplished:
- the technical approach for these elements is developed;
- personnel are assigned
- performance timelines are specified in the test program
schedule.
• Test planning is not a single event, but rather a process.
• It is the document that guides test execution through
to a conclusion, and it needs to be updated
frequently to reflect any changes.
Test Design
17
o Tools may be classified to get a better overview of the tools available. There are
different classification
18
Tool support exists for the following primary users:
• All testers
Test management tools, including configuration
management tools
• Test analysts and technical test analysts
Test design tools
Test data generation tools
Test oracles
Simulation/emulation tools
Test execution tools
Keyword-driven automation tools
Comparison tools
Fault-seeding and fault-injection tools
Web tools
19
Cont…
20
Components of automation infrastructure
21
Advantages & Disadvantages of Automated Testing
Advantages Disadvantages
• High investment is needed in the tools and
• Reliable: eliminating human
training
error
• High man power requirement for test
• Reusable
preparations
• Better Quality Software
• A lot of testing areas left uncovered
• Fast
• Cost Reduction
22
Choosing Automation Tools
Ease of integration
Compatibility
Performance
Types of tests
Maintainability
Affordability/inexpensive
23
…Automated
◦ Now days we can get lots of software testing tools in the market.
◦ Selection of tools is totally based on the project requirements
◦ Proprietary/commercial tools or
◦ Free tools/open source tools
◦ Off course, free testing tools may have some limitation in the features
list of the product, so it’s totally based on what are you looking for & is
that your requirement fulfill in free version or go for paid software
testing tools.
24
…Automated
◦ The tools are divided into different categories as follows:
1. Test Management Tools
◦ Performance/Load
25
Test Management Tools
Open Source Tools Proprietary/Commercial Tools
• HP Quality Center/ALM
• TET (Test Environment Toolkit) • QA Complete
• TETware • T-Plan Professional
• Automated Test Designer (ATD)
• Test Manager
• Testuff
• RTH • SMARTS
• QAS.TCS (Test Case Studio)
• PractiTest
• Test Manager Adaptors
• SpiraTest
• TestLog
• ApTest Manager
• DevTest
26
Functional Testing Tools
Proprietary/Commercial Tools
Open Source Tools
• QuickTest Pro
• Selenium • Imprimatur • Rational Robot
• Sahi
• Soapui • SAMIE • SoapTest
• Watir • Swete • Badboy
• Test Complete
• HTTP::Recorder • ITP • QAWizard
• Netvantage Functional Tester
• WatiN • WET • PesterCat
• Canoo WebTest • WebInject • AppsWatch
• Squish
• Webcorder • Katalon Studio • actiWATE
• liSA
• Solex • vTest
• Internet Macros
• Ranorex
27
Performance/Load Testing Tools
• Proprietary/Commercial Tools
Open Source Tools • WebLOAD Professional
◦ Jmeter • HP LoadRunner
◦ FunkLoad • LoadStorm
• NeoLoad
• Loadtracer
• Forecast
• ANTS – Advanced .NET Testing System
• vPerformer
• Webserver Stress Tool
• preVue-ASCII
• Load Impact
28
1. Selenium
• It is the most widely used automated testing tool among all web application
testing tools.
• With selenium, you can come up with very powerful browser- centered
automation test scripts which are scalable across different environments.
• You can also create scripts using Selenium that is of great help for prompt
reproduction of bugs, regression testing, and exploratory testing.
29
2. Unified Functional Testing (UFT) QTP
◦ Unified Functional Testing (UFT) tool given by Hewlett-Packard
Enterprise is one of the best automation testing software for
functional testing.
It was previously known as QuickTest Professional (QTP).
◦ It brings developers & testers coming together under one umbrella
and provides high-quality automation testing solutions.
◦ It makes functional testing less complex and cost-friendly.
◦ Its top features include Cross browser & multi-platform
compatibility, Optimized distributed testing, multiple testing
solutions, image-based object recognition and canvas – visual test flows.
30
3. H P Quality Center
31
36
4. Testim.io
32
5.TestComplete
◦ It allows all level of users to quickly create powerful, reusable and time-saving
GUI automation tests for the web, mobile, and desktop applications.
◦ It lets you combine the recorded scripts and tests into a single framework
which reduces the training cost and testing time.
33
6. Telerik Test Studio
◦ Telerik test studio is a comprehensive test automation
solution.
◦ It is well suited for GUI, performance, load and API testing.
◦ It allows you to test desktop, mobile and web applications.
◦ Its main features include Point-and-click test recorder, support
for coding languages like C# and VB.NET, central object
repository and continuous integration with source control.
34
39
7. Katalon Studio
• Katalon Studio is a powerful test automation solution for mobile, Web, and API
testing. And it is completely FREE!
• Katalon Studio runs on both Windows and MacOS, supporting automated testing of
iOS and Android apps, web applications on all modern browsers, and API services.
• It can integrate with tools such as JIRA, qTest, Kobiton, Git, and Slack.
35
????
36