SlideShare une entreprise Scribd logo
1  sur  113
Introduction to SW Test
Automation
Objectives
 Introduce the basic concepts of SW test automation
 Focus on automating test execution
Introduction to SW Test Automation 2 June 13, 2015
Prerequisites
 Familiarity with SW testing
Introduction to SW Test Automation 3 June 13, 2015
Notes
 Ask any time.
 Turn your cell silent.
Introduction to SW Test Automation 4 June 13, 2015
References
 Software Test Automation: Effective use of test execution tools
 The Automated Testing Handbook
Introduction to SW Test Automation 5 June 13, 2015
Outline
 Introduction
 Test Automation Process
 Test Automation Frameworks
 Test Tools
 More about Test Scripting
 Maintainable tests
 Metrics
 Automation Issues
June 13, 2015Introduction to SW Test Automation 6
Outline
 Introduction
 Test Automation Process
 Test Automation Frameworks
 Test Tools
 More about Test Scripting
 Maintainable tests
 Metrics
 Automation Issues
June 13, 2015Introduction to SW Test Automation 7
Test Automation
 Activities and efforts that intend to automate engineering tasks and
operations in a software test process using well-defined strategies and
systematic solutions.
June 13, 2015Introduction to SW Test Automation 8
Why Test Automation?
 Run existing (regression) tests on a new version of a program.
 Run more tests more often.
 Perform tests which would be difficult or impossible to do manually.
 Better use of resources
 Consistency and repeatability of tests
 Earlier time to market
 Increased confidence
June 13, 2015Introduction to SW Test Automation 9
What to Automate; Intellectuality or
Clericality?
June 13, 2015Introduction to SW Test Automation 10
P
A
&
D
I
&
E
E
&
R
C
C
Clericality
Intellectuality
Testing and Test Automation
Testing
 Application expertise
 What to test
 Test cases
Test Automation
 Development expertise
 How to test
 Test scripts
June 13, 2015Introduction to SW Test Automation 11
Test Automation Myth: It is Simple,
Everyone can do It
 Promoted by the sales people
 Record the script
 Enhance the script with few
steps
 Run and report with a button
click
 Under this influence, test
managers think proudly that al
their team members are doing
automation.
June 13, 2015Introduction to SW Test Automation 12
Test Automation Truth: It is a SW
Development Task
 It should be designed, developed and tested.
 Needs strong programming background in most cases
 Test automation are assets and must be treated like SW development
assets.
June 13, 2015Introduction to SW Test Automation 13
Test Automation Myth: Commercial
Tools are Expensive
 Companies tend to build their own tools using scripting languages (Perl
and Python).
 Questionable tool quality
 Poorly estimated costs
 No standardization
June 13, 2015Introduction to SW Test Automation 14
Test Automation Truth: They are Not!
 Tester cost ~ $100K/year including overheads to use tool
 Tool license ~ $8K/5 years = $1.6K/year
 Average tool support fees ~ $1.6K/year
 Total tool cost = $3.2K/year
June 13, 2015Introduction to SW Test Automation 15
Test Automation does not Replace
Manual Testing
 Volatile SW, rare tests, impossible to verify automatically tests or tests that
require interaction
 Manual tests find more defects than automated tests.
 Quality of tests (How does the automated test reported its
success/failure?)
 Test automation does not improve effectiveness.
 Test automation may limit SW development.
 Tools have no imagination.
June 13, 2015Introduction to SW Test Automation 16
Why does Test Automation Fail?
 Unrealistic expectations
 Poor testing practice (Automating chaos just gives faster chaos.)
 Expectation that automated tests will find a lot of new defects.
 False sense of security.
 Maintenance of automated tests.
 Technical problems (Automation tool is a SW. Also tested SW might not be
testable.)
 Organizational issues (Support, champions, licensing ...)
June 13, 2015Introduction to SW Test Automation 17
Outline
 Introduction
 Test Automation Process
 Test Automation Frameworks
 Test Tools
 More about Test Scripting
 Maintainable tests
 Metrics
 Automation Issues
June 13, 2015Introduction to SW Test Automation 18
Test Automation Process
June 13, 2015Introduction to SW Test Automation 19
Plan
Objective
Scope
Feasibility
Estimation
ROI
Activities
Design
Define
Framework
Develop
Framework
Select
Tools
Develop
Scripts
Data
Suites
Execute
Plan
Do
Maintain
Scripts
Data
Automation Objective
 Answer this question with numbers “Why to automate?”
June 13, 2015Introduction to SW Test Automation 20
Feasibility
Operational
Can we operate
it?
How will it run?
How other will
perceive it?
Technical
Is the technology
mature and
available?
Do we have the
needed
expertise?
Economic
Development
cost
Breakeven point
Net present value
Schedule
How long it will
take to do it?
June 13, 2015Introduction to SW Test Automation 21
Scope
Scope
What need
to be
automated?
What do not
need to be
automated?
Who will
automate?
June 13, 2015Introduction to SW Test Automation 22
Classical Return on Investment (ROI)
June 13, 2015Introduction to SW Test Automation 23
Problems w/ Previous ROI Calculation
 We are comparing an apple to an orange.
 Manual and automated testing are really different.
 They give different information.
 Cost of multiple execution of automated tests vs. manual tests cant be
compared.
 You would never dream of executing that many test cases manually.
June 13, 2015Introduction to SW Test Automation 24
Real ROI
 ROI can be calculated as Total benefit derived from automation / Total cost
of automation.
June 13, 2015Introduction to SW Test Automation 25
Test Execution Automation ROI
 Benefit/Execution Cycle = Manual Execution Time – Automation Execution
Time
 Automation Cost = Cost of HW and SW + Cost of Scripts Development and
Maintenance + Cost of Staff Training
June 13, 2015Introduction to SW Test Automation 26
Automation Framework
 A set of assumptions, concepts and tools that provide support for
automated software testing.
 A reusable set of libraries or classes for a software system (or subsystem)
 A correctly implemented test automation framework can further improve
ROI by reducing the development and maintenance costs.
June 13, 2015Introduction to SW Test Automation 27
Automation Frameworks Evolution
Modular
Testing
Test
Library
Data-Driven
Keyword-
Driven or
Table
Driven
Hybrid
June 13, 2015Introduction to SW Test Automation 28
Buy or Make Decision?
There is no single best
testing tool; rather,
different tools are more or
less appropriate in different
environments.
June 13, 2015Introduction to SW Test Automation 29
Scripts and Data
Simple Scripts
Highly Structured
Scripts
June 13, 2015Introduction to SW Test Automation 30
Scripted w/ low effort but
maintained @high cost
Scripted w/ high effort
but maintained @ low
cost
Data Embedded
in a Script Readable from a
Spreadsheet or a
DB
1 Script = 1 Test Case
Testers need to know
scripting
1 Script = Many test cases
Testers need not to know
scripting
Test Suites
 Grouping of related tests related, either by their function or by the area of
the application they impact
 All tests in a suite should share the same beginning and ending context, to
allow suite packaging.
 Test suite documentation should include:
 Tests
 Sequence
 Context
 Data
 Suite dependencies
June 13, 2015Introduction to SW Test Automation 31
Execution Cycles
 Different cycles: normal, fix cycle or regression cycle
 Each cycle should consider:
 Setup; automatically by the cycle or manually by human intervention
 Context; all suite should share the same beginning and ending context
 Sequence scheduling
 Cleanup ; any housekeeping tasks (removing temp files; backups ...)
June 13, 2015Introduction to SW Test Automation 32
Test Execution and Maintenance
 Ideally, no humans involved.
 Documented through test logs and error logs automatically
 Test logs (test cases status, performance statistics, configurations tested and
totals)
 Error logs (failed tests and scripts, application states and diagnostic data)
 Analyzing logs is necessary to verify their accuracy and there are no:
 False failures (test environment, application change or test error)
 Duplicate failures
 False passes (test error or missed errors)
 Analysis result may fire maintenance activities for scripts and data if any.
June 13, 2015Introduction to SW Test Automation 33
Outline
 Introduction
 Test Automation Process
 Test Automation Frameworks
 Test Tools
 More about Test Scripting
 Maintainable tests
 Metrics
 Automation Issues
June 13, 2015Introduction to SW Test Automation 34
C/C’s of a Good Test Automation
Framework
 Script-less representation of automated tests (shortens learning curve of tester
and visualizes tests for better understanding)
 Data-driven ability for quick and large test data manipulation.
 Must interface to spreadsheets and databases
 Concise reporting to ease scripts debugging and results verification
 Correctly coupled to application (tightly or loosely coupled?)
June 13, 2015Introduction to SW Test Automation 35
Modular Testing Framework
 Creation of small independent scripts
 Scripts are used to construct larger tests and scenarios.
 Suitable for automation of large stable applications
June 13, 2015Introduction to SW Test Automation 36
Modular Testing Framework Example
June 13, 2015Introduction to SW Test Automation 37
Calculator.scr
Scientific .scr Standard.scr
Addition.scr Subtraction.scr
Mutliplication.scrDivision.scr
Test Library Framework
 Creation of procedures and functions instead of scripts
 Suitable for automation of small to medium stable applications
June 13, 2015Introduction to SW Test Automation 38
Calculator.scr
Standard.lbs Standard.lbh
Data-Driven Framework
 Test data are read from data files.
 Data is loaded into variables in the coded script.
 Allows quick execution of large number of scripts
 Suitable for applications under development
June 13, 2015Introduction to SW Test Automation 39
Data-Driven Framework Example
June 13, 2015Introduction to SW Test Automation 40
After recording script once; data can be
extracted into a data pool then
extended by various set of data to
increase the tests of payment
information.
Keyword or Table – Driven Framework
 Application independent
 Building action and keywords independent of the automation tool
 Suitable for small applications
June 13, 2015Introduction to SW Test Automation 41
Keyword or Table – Driven Framework
cont’d
June 13, 2015Introduction to SW Test Automation 42
Keywords & data
Test automation code
Test automation
framework Automated test cases
Keyword or Table – Driven Framework
Example Window Control Action Arguments
Calculator Menu View, Standard
Calculator PushButton Click 1
Calculator PushButton Click +
Calculator PushButton Click 3
Calculator PushButton Click =
Calculator Verify Result 4
Calculator Clear
Calculator PushButton Click 6
Calculator PushButton Click -
Calculator PushButton Click 3
Calculator PushButton Click =
Calculator Verify Result 3
June 13, 2015Introduction to SW Test Automation 43
Hybrid Framework
 Most commonly implemented combining the best of all frameworks
 Suitable for medium and large applications with long shelf life
June 13, 2015Introduction to SW Test Automation 44
Elements of a Well Designed
Automation Framework
June 13, 2015Introduction to SW Test Automation 45
Object Repository
 Object Repository contains
objects for GUI based testing.
 Any GUI change is modified at
central location avoiding rework
of scripts.
June 13, 2015Introduction to SW Test Automation 46
Function Library
 Basic building block and defines a
common set of reusable
functions
 Reusable across applications as
well as business functions across
the application
June 13, 2015Introduction to SW Test Automation 47
Global Variables and Constants
 Used across the automation test
suite to:
 Fine tune test suites
 Enable reference modification
dynamically
 Ensure maintainability
June 13, 2015Introduction to SW Test Automation 48
Test Script
 Critical components
 It has logic to perform and verify
scenarios or functions.
June 13, 2015Introduction to SW Test Automation 49
Test Data
 Application specific
 Inputs, outputs and environment
data
 Is common to store inputs and
outputs in files or any other
media
 Environment data is commonly
generated @ run time from the
script
June 13, 2015Introduction to SW Test Automation 50
Recovery Scenarios
 Guarantee robustness of test
scripts
 Handle unexpected exceptions
that may halt execution
June 13, 2015Introduction to SW Test Automation 51
Cleanup Scripts
 Release all used resources after
script execution to return the
suite to a base state
 Developed for successful
completion of scripts and at the
end of recovery scenario
June 13, 2015Introduction to SW Test Automation 52
Configuration Files
 Maintain global settings and
application parameters that will
change w/ the test environment
June 13, 2015Introduction to SW Test Automation 53
Reporting
 Test results should be easily
accessible and understood.
 It is also important to generate
debugging information during
execution at different points and
record them.
 Goal is to minimize investigation
times and help fixing problems
quickly.
 Be aware of application behavior
alteration.
June 13, 2015Introduction to SW Test Automation 54
Automation Framework Checklist
 Complete test plan document
 Defined business scenarios
 Minimal or no scripting by testing teams
 Data-driven tests to expand test coverage
 Verifications added
June 13, 2015Introduction to SW Test Automation 55
Outline
 Introduction
 Test Automation Process
 Test Automation Frameworks
 Test Tools
 More about Test Scripting
 Maintainable tests
 Metrics
 Automation Issues
June 13, 2015Introduction to SW Test Automation 56
Test Tools Selection
 Huge in number
 Different purposes
 Choosing the right tool is a strategic step for the automation success.
 Many things to be considered.
 Technical
 Organizational
 ...
 Buy or make decision is a non-trivial project.
 3 ~ 10 people for 4 ~ 6 person weeks in medium sized organizations
June 13, 2015Introduction to SW Test Automation 57
Start w/ Requirements not the
Market
 To ensure that you make an appropriate decision in ultimate time
 Selection w/o a requirement is like a boat w/o a sail.
 Looking for tools in the market might lead to wrong decision w/
undesirable results
 Difficulties in making the tool work at the intended environment
 Slowing down of test teams
 Losing management support
 Crippling the automation efforts to overcome the above factors
June 13, 2015Introduction to SW Test Automation 58
Tool Selection Team
June 13, 2015Introduction to SW Test Automation 59
Leader
• Management skill or position
• Helicopter view over the organization
• Focal point and may be regarded as the tool champion
Others
• Representatives from different areas
• Different skills and jobs
• Tool advocates in the organization
Tool Selection Process
June 13, 2015Introduction to SW Test Automation 60
Need Evaluate Demo Decide
Identifying Need
 What are the problems to be solved? (manual testing problems, no time
for regression, inadequate documentation, eliminating error-prone test
activities, inaccurate or coverage measures ...)
 Explore different solutions (tools are not always the solution) to reach
highest impact with lowest cost.
 Timing of the tool selection is crucial for success and a major factor in the
tool decision buy in (no major organizational panic, dissatisfaction w/
current situation and management commitment).
 How much help tool will provide? What are the benefits?
 Estimate the costs to reach these benefits then calculate the ROI.
June 13, 2015Introduction to SW Test Automation 61
Identify Constraints
 Constraints if overlooked will lead to wasted effort and money
 Constraints include:
 Environment al
 Co-residency with the SUT
 Supplier
 Cost
 Political
 Quality
June 13, 2015Introduction to SW Test Automation 62
Buy or Make?
June 13, 2015Introduction to SW Test Automation 63
Identifying What is on the Market?
 Construct a long list of available tools (to ensure nothing is missed)
 Classify common tool features according to your needs and constraints
(mandatory, desirable, do not care, fully implemented, partially
implemented or not implemented).
 Construct a short list of available tools (2 or 3 options).
June 13, 2015Introduction to SW Test Automation 64
Evaluating Tool Short List
 Compare features
 Collect information about the tools
 Consult industry reports
 Ask for and contact previous customers
 Ask for in-house demo day
 Pre-supply vendors with test (easy and nightmare tests)
 Do additional tests on the demo day
 Do post-demo analysis
 Test script maintenance
 Do a pilot
June 13, 2015Introduction to SW Test Automation 65
Making the Decision
 Assess versus the ROI
 Stop evaluation when there is one clear winner or based on consensus
when there are close candidates and all selection team member are happy
w/ an option.
 Document the decision for future need if any.
 Get necessary approvals and inform the vendor.
June 13, 2015Introduction to SW Test Automation 66
Implementing Tools
 Once a tool has been chosen, the real work starts.
 Careful choice does not necessitate success in the tool's use.
 According to industry reports, 70% of purchased tools end up eventually
as shelfware.
June 13, 2015Introduction to SW Test Automation 67
Tool Implementation Team
June 13, 2015Introduction to SW Test Automation 68
Champion
• Focal point
• Evangelist
• Driver for implementation
• Do not mind giving others credit for his own ideas
• Necessary but not sufficient for successful implementation
Change Agent
• Plans and manages change
• Day-to-day progress
• Experienced in testing, doer, decisive, practical with strong
analytical mind
Tool Implementation Team cont’d
June 13, 2015Introduction to SW Test Automation 69
Angel
• Management sponsor
• Critical for implementation success
• Focal point and may be regarded as the tool champion
Custodian
• Technical support, mentor and coach
• Technical interface with vendors
• Tool process/guidelines owner
Tool Implementation Team cont’d
June 13, 2015Introduction to SW Test Automation 70
Team
• Tool users representatives
• Meet regularly to gather information and to disseminate
information
Test Tool Implementation Process
June 13, 2015Introduction to SW Test Automation 71
Management
Commitment
Preparation Pilot
Phased
Deployment
Management Commitment
 Not one time during tool selection and purchase
 Must continue during implementation especially when things goes wrong
 Commitment is in the form of visual backing to the implementation team
from high-level managers as well as adequate resources, budget and
time.
 Realistic expectation of investment and time needed to reach gain.
 The silver bullet might kill you.
June 13, 2015Introduction to SW Test Automation 72
Preparation
 Publicity (do not surprise those will be impacted by the change, give the
message several times)
 Raising internal interest (internal demos, side talks, advocacy)
 Continuing publicity (value small victories throughout the implementation
realistically)
 Test the demos (failed demos destroys credibility)
 Use evaluation licenses to confirm suitability (make the best out of it before
purchase)
 Internal market research (find your right audience)
June 13, 2015Introduction to SW Test Automation 73
Pilot
 If you don't know what you're doing, don't do it on a large scale .
 Assess the changes to your testing processes
 Set up and trial your automated regime (experiments)
 Evaluate results
June 13, 2015Introduction to SW Test Automation 74
Phased Deployment
 Plan gradual deployment and roll-out
 Identify and conduct any needed training
 Monitor automation results
June 13, 2015Introduction to SW Test Automation 75
Outline
 Introduction
 Test Automation Process
 Test Automation Frameworks
 Test Tools
 More about Test Scripting
 Maintainable tests
 Metrics
 Automation Issues
June 13, 2015Introduction to SW Test Automation 76
Good Scripts
June 13, 2015Introduction to SW Test Automation 77
Attribute Good Poor
Number << test cases 1 script = 1 test case
Size < 2 pages w/ annotation > 2 pages
Function single, clear > 1 function, unclear
Documentation clear, up to date Unclear, outdated
Reuse many limited or none
Structured yes spaghetti
Maintenance Easy hard
Test Case vs. Test Script
In-Test1-Out In-Test2-Out In-Test3-Out
June 13, 2015Introduction to SW Test Automation 78
In-Test1-Test2-Test3-Out
vs.
Goodness of Test
June 13, 2015Introduction to SW Test Automation 79
Effective
Exemplary
EvolvableEconomic
Manual test
Automated test; 1st run
Automate test, many runs
Script Pre-processing
 Script manipulation techniques that make writing and maintaining scripts
easier and therefore less error prone
 Pre-compilation techniques
 Tool or scripting language supported; more or less automated
 Examples include:
 Beautifiers
 Static analysis
 Substitution
June 13, 2015Introduction to SW Test Automation 80
Outline
 Introduction
 Test Automation Process
 Test Automation Frameworks
 Test Tools
 More about Test Scripting
 Maintainable tests
 Metrics
 Automation Issues
June 13, 2015Introduction to SW Test Automation 81
Problems in Maintaining Automated
Tests
 Changes in SW imply need for new tests and changes in old ones.
 Tests might become redundant.
 Maintenance is standard in any SDLC but little given to test automation.
 Maintenance costs are higher for automated testing than manual testing.
 Testers have the reason and context and can apply changes on the fly; unlike
tools.
June 13, 2015Introduction to SW Test Automation 82
Attributes of Test Maintenance
Attributes of
Test
Maintenance
Test suite size
Test data
amount
Test data format
Time to run
tests
Test
debugability
Test
dependencies
Naming
convention
Test complexity
Test
documentation
June 13, 2015Introduction to SW Test Automation 83
Be Aware of
 Tools help you do the wrong thing.
 Easy approaches result in higher maintenance costs.
 Initial enthusiasm
 ROI is maximized at the end of automation effort not the start.
 80% of effort gives 20% of gain; while truly 80% of gain is achieved by the
remaining 20% effort
June 13, 2015Introduction to SW Test Automation 84
Strategy and Tactics
 No single solution will work. It is a matter of tradeoffs and compromises.
 Justify maintenance efforts (measure attributes to take informed
decisions)
 Tactics include:
 Define processes and standards
 Provide tool support
 Automate updates
 Periodic weeding
 Acquire maintenance utilities
June 13, 2015Introduction to SW Test Automation 85
Outline
 Introduction
 Test Automation Process
 Test Automation Frameworks
 Test Tools
 More about Test Scripting
 Maintainable tests
 Metrics
 Automation Issues
June 13, 2015Introduction to SW Test Automation 86
Why We Measure?
 To decide whether the automobile was a good investment
 To evaluate choices, compare alternatives, and monitor improvement
 To have early warning of problems, and to make predictions
 To benchmark against a standard or in competition
June 13, 2015Introduction to SW Test Automation 87
What can We Measures?
 Gilb's Law: “Anything can be made measurable in some way, which is
superior to not measuring it at all”
 This does not say that anything can be made measurable in a perfect or
even adequate way, simply in a way that is better than no measurement.
June 13, 2015Introduction to SW Test Automation 88
Attributes of Test Automation
June 13, 2015Introduction to SW Test Automation 89
Efficiency
 Efficiency is related to cost.
 Scales of measurement of efficiency can be:
 Elapsed time (hours) to perform certain tasks
 Effort (working hours) to perform certain tasks
June 13, 2015Introduction to SW Test Automation 90
Maintainability
 Ease of updating the testware when SW changes
 Scales of measurement of maintainability can be:
 Average elapsed time in hours or effort in working hours per test to update
the tests
 How often software changes take place.
 It is important to make the tests easier to update for the most frequent
changes in SW.
 UI changes, business rules, formats, communication or functionality
June 13, 2015Introduction to SW Test Automation 91
Reliability
 Reliability is related to test ability to give accurate and repeatable results.
 Scales of measurement of reliability can be:
 Percentages of tests that fail due to defects in the tests i.e. either test design
defects or test automation defects
 Number of additional test cycles or iterations required because of defects in
the tests
 Number of false negatives and false positives
June 13, 2015Introduction to SW Test Automation 92
Flexibility
 Flexibility is related to the extent to which it allows us to work with
different subsets of tests.
 A more flexible profile will allow test cases to be combined in many different
ways for different test objectives.
 Scales of measurement of flexibility can be:
 Time to test emergencies fix on an old release.
 Time taken to identify a set of test cases for a specific purpose
 Number of selection criteria that can be used to identify a subset of test cases
 Time or effort needed to restore a test case that has been archived.
June 13, 2015Introduction to SW Test Automation 93
Usability
 Must be considered in terms of the intended user profiles of the regime
 Scales of measurement of usability can be:
 Time taken to add new test cases of a similar type to a test suite
 Time or effort required to ascertain the results of running a set of automated
test cases
 Training time needed for a user profile of the automation suite to become
confident and productive.
 Time or effort needed to discount defects that are of no interest for a
particular set of automated tests
 How well the users like the suites, their perceptions of how easy it is for them
to use it.
June 13, 2015Introduction to SW Test Automation 94
Robustness
 Ability of testware to cope with unexpected events without tripping up
 Scales of measurement of robustness can be:
 Number of tests which fail because of a single software defect
 Frequency of failure of an automated test
 Mean time to fail
 Time taken to investigate the causes of unexpected events that result in the
test failure
June 13, 2015Introduction to SW Test Automation 95
Portability
 Portability is related to ability to run in different environments.
 Scales of measurement of efficiency can be:
 Time or effort needed to make a set of automated tests run successfully in a
new environment
 Time or effort needed to make a set of automated tests run using a different
test tool
 Number of different environments in which the automated tests will run.
June 13, 2015Introduction to SW Test Automation 96
Should We Measure All?
 Just pick what suits your purpose
June 13, 2015Introduction to SW Test Automation 97
Outline
 Introduction
 Test Automation Process
 Test Automation Frameworks
 Test Tools
 More about Test Scripting
 Maintainable tests
 Metrics
 Automation Issues
June 13, 2015Introduction to SW Test Automation 98
What is an Automation Issue?
 A problem that testers and/or test automators encounter when trying to
do test automation.
 They take longer than they should.
 An Issue can also be a task that has to be done when automating.
June 13, 2015Introduction to SW Test Automation 99
Issues Classification
 General issues: generalized issues that direct you to the more specific
issues
 Specific issues:
 Process issues: the way we work with automated tests and tools
 Management issues: issues of management, staffing, objectives (need time,
money or people to fix)
 Design Issues: testware architecture, including maintainability
 Execution Issues: the running of tests in their automated form
June 13, 2015Introduction to SW Test Automation 100
General Issues
June 13, 2015Introduction to SW Test Automation 101
Issue Description
EXPECTATIONS NOT MET
Test automation is not meeting the expectations of managers, testers
or developers
NO PREVIOUS TEST
AUTOMATION
You are just starting with automation and have never done it before
NO DIRECTION
Test automation is stumbling along with no specific goal or no clear
strategy
MISSING RESOURCES Test automation is being hindered by lack of automators, testers,
tools, hardware etc.
MISSING KNOWLEDGE
Automators or testers don't know how to do good automation,
how to use the tools, have limited experience in the SUT or new
team members take too long to become productive
MISSING SUPPORT Test automation is not supported by managers, testers or developers
UNSATISFACTORY
QUALITY OF TEST
AUTOMATION
Test automation kind of works, but constant problems afflict it
Specific Issues
June 13, 2015Introduction to SW Test Automation 102
Relation between General and
Specific Issues
 A full mind map is in here.
June 13, 2015Introduction to SW Test Automation 103
What is an Automation Pattern?
 A general reusable solution to a commonly occurring problem within a
given context.
 A test automation pattern is a way of solving an issue or problems in test
automation that has worked in practice for many people.
 Patterns do not exist in a void: each is a solution to an issue that occurs
under some particular conditions.
 Also patterns are often associated with other patterns, either because
they can only be implemented using other patterns or because they can
only be applied after other patterns have been put into practice.
June 13, 2015Introduction to SW Test Automation 104
What is a Pattern is Not?
 A finished solution that you can just "plug in" directly to your situation
 Prescriptive (you must do this)
 A step-by-step procedure (do this first, then that)
 Patterns are ideas that you can adapt and implement in your own context
and which will hopefully help solve some of your issues.
June 13, 2015Introduction to SW Test Automation 105
Pattern Template
 Pattern summary: Write here a short summary of the pattern
 Category: Process / Management / Design / Execution
 Context: Explain in which context(s) this pattern is valid and in which it isn‘t
 Description: Describe what the pattern does
 Implementation: Describe how to implement the description. Eventually
specifying the differences from context to context.
 Potential problems: List here potential problems or general remarks
 Issues addressed by this pattern:
 Issue 1
 Issue 2
 Issue 3
 Experiences
If you have used this pattern, please add your name and a brief story of how
you used this pattern.
June 13, 2015Introduction to SW Test Automation 106
Test Automation Patterns
June 13, 2015Introduction to SW Test Automation 107
Process Patterns
June 13, 2015Introduction to SW Test Automation 108
Management Patterns
June 13, 2015Introduction to SW Test Automation 109
Design Patterns
June 13, 2015Introduction to SW Test Automation 110
Execution Patterns
June 13, 2015Introduction to SW Test Automation 111
Failure Patterns
 Failure patterns show how behaviors that start well can end up as costly
failures.
 Help recognize if an automation project is heading in the wrong direction
at a time when countermeasures can still enable a turnaround
June 13, 2015Introduction to SW Test Automation 112
Introduction to SW Test Automation 113 June 13, 2015

Contenu connexe

Tendances

Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test AutomationPekka Klärck
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | EdurekaEdureka!
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For AgileNaresh Jain
 
Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testingKanoah
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalQA or the Highway
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual TestingHiral Gosani
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNetHai Tran Son
 
How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy Impetus Technologies
 
automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefitsnazeer pasha
 
Intro to Manual Testing
Intro to Manual TestingIntro to Manual Testing
Intro to Manual TestingAyah Soufan
 
Test automation
Test automationTest automation
Test automationXavier Yin
 
USER ACCEPTANCE TESTING
USER ACCEPTANCE TESTINGUSER ACCEPTANCE TESTING
USER ACCEPTANCE TESTINGKADARI SHIVRAJ
 

Tendances (20)

Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | Edureka
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual Testing
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNet
 
How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy
 
automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefits
 
Intro to Manual Testing
Intro to Manual TestingIntro to Manual Testing
Intro to Manual Testing
 
Test automation
Test automationTest automation
Test automation
 
USER ACCEPTANCE TESTING
USER ACCEPTANCE TESTINGUSER ACCEPTANCE TESTING
USER ACCEPTANCE TESTING
 

Similaire à Introduction to Software Test Automation

Test Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back TomorrowTest Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back TomorrowTechWell
 
Techniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingTechniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingSOASTA
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptxpavelpopov43
 
SAP Testing Services
SAP Testing ServicesSAP Testing Services
SAP Testing Servicesr_shanki
 
But Did You Test It
But Did You Test ItBut Did You Test It
But Did You Test ItRuth Blakely
 
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...QueBIT Consulting
 
Aspires Testing Services Presentation
Aspires Testing Services PresentationAspires Testing Services Presentation
Aspires Testing Services PresentationVasanthmusic
 
Evolution of Test Automation
Evolution of Test AutomationEvolution of Test Automation
Evolution of Test AutomationDharmik Rajput
 
EXTENT-2016: Test Automation and Agile Testing
EXTENT-2016: Test Automation and Agile TestingEXTENT-2016: Test Automation and Agile Testing
EXTENT-2016: Test Automation and Agile TestingIosif Itkin
 
Leveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver ExampleLeveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver ExampleTechWell
 
qLabs Test Automation
qLabs Test AutomationqLabs Test Automation
qLabs Test AutomationqLabs
 
Automated testing-whitepaper
Automated testing-whitepaperAutomated testing-whitepaper
Automated testing-whitepaperimdurgesh
 
Leveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver ExampleLeveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver ExampleTechWell
 
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
2019 Testim Webinar: Automation Test Strategy and Design for Agile TeamsTristanLombard1
 
Top 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemSundar Sritharan
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-conceptsmedsherb
 
Improving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationImproving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationMindfire LLC
 
How To Implement Efficient Test Automation In The Agile World.pdf
How To Implement Efficient Test Automation In The Agile World.pdfHow To Implement Efficient Test Automation In The Agile World.pdf
How To Implement Efficient Test Automation In The Agile World.pdfAnanthReddy38
 

Similaire à Introduction to Software Test Automation (20)

Test Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back TomorrowTest Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back Tomorrow
 
Techniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingTechniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App Testing
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
 
SAP Testing Services
SAP Testing ServicesSAP Testing Services
SAP Testing Services
 
But Did You Test It
But Did You Test ItBut Did You Test It
But Did You Test It
 
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
 
Unit 5 st ppt
Unit 5 st pptUnit 5 st ppt
Unit 5 st ppt
 
Aspires Testing Services Presentation
Aspires Testing Services PresentationAspires Testing Services Presentation
Aspires Testing Services Presentation
 
Evolution of Test Automation
Evolution of Test AutomationEvolution of Test Automation
Evolution of Test Automation
 
EXTENT-2016: Test Automation and Agile Testing
EXTENT-2016: Test Automation and Agile TestingEXTENT-2016: Test Automation and Agile Testing
EXTENT-2016: Test Automation and Agile Testing
 
Leveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver ExampleLeveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver Example
 
qLabs Test Automation
qLabs Test AutomationqLabs Test Automation
qLabs Test Automation
 
Automated testing-whitepaper
Automated testing-whitepaperAutomated testing-whitepaper
Automated testing-whitepaper
 
Leveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver ExampleLeveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver Example
 
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
 
Automation Concepts
Automation ConceptsAutomation Concepts
Automation Concepts
 
Top 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid Them
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Improving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationImproving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test Automation
 
How To Implement Efficient Test Automation In The Agile World.pdf
How To Implement Efficient Test Automation In The Agile World.pdfHow To Implement Efficient Test Automation In The Agile World.pdf
How To Implement Efficient Test Automation In The Agile World.pdf
 

Plus de Amr Ali (ISTQB CTAL Full, CSM, ITIL Foundation)

Plus de Amr Ali (ISTQB CTAL Full, CSM, ITIL Foundation) (20)

Introduction to state machines in Embedded Software Design
Introduction to state machines in Embedded Software DesignIntroduction to state machines in Embedded Software Design
Introduction to state machines in Embedded Software Design
 
Embedded SW Testing
Embedded SW TestingEmbedded SW Testing
Embedded SW Testing
 
Cracking the interview
Cracking the interviewCracking the interview
Cracking the interview
 
Embedded linux network device driver development
Embedded linux network device driver developmentEmbedded linux network device driver development
Embedded linux network device driver development
 
Embedded summer camps 2017
Embedded summer camps 2017Embedded summer camps 2017
Embedded summer camps 2017
 
Introduction to Embedded Systems a Practical Approach
Introduction to Embedded Systems a Practical ApproachIntroduction to Embedded Systems a Practical Approach
Introduction to Embedded Systems a Practical Approach
 
ISTQB Advanced Test Manager Training 2012 - Testing Process
ISTQB Advanced Test Manager Training 2012 - Testing Process ISTQB Advanced Test Manager Training 2012 - Testing Process
ISTQB Advanced Test Manager Training 2012 - Testing Process
 
ISTQB Foundation Agile Tester 2014 Training, Agile SW Development
ISTQB Foundation Agile Tester 2014 Training, Agile SW DevelopmentISTQB Foundation Agile Tester 2014 Training, Agile SW Development
ISTQB Foundation Agile Tester 2014 Training, Agile SW Development
 
ISTQB Technical Test Analyst 2012 Training - Structure-Based Testing
ISTQB Technical Test Analyst 2012 Training - Structure-Based TestingISTQB Technical Test Analyst 2012 Training - Structure-Based Testing
ISTQB Technical Test Analyst 2012 Training - Structure-Based Testing
 
ISTQB Technical Test Analyst 2012 Training - The Technical Test Analyst's Tas...
ISTQB Technical Test Analyst 2012 Training - The Technical Test Analyst's Tas...ISTQB Technical Test Analyst 2012 Training - The Technical Test Analyst's Tas...
ISTQB Technical Test Analyst 2012 Training - The Technical Test Analyst's Tas...
 
Android Booting Scenarios
Android Booting ScenariosAndroid Booting Scenarios
Android Booting Scenarios
 
Simulation Using Isim
Simulation Using Isim Simulation Using Isim
Simulation Using Isim
 
Introduction to C Programming
Introduction to C ProgrammingIntroduction to C Programming
Introduction to C Programming
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
 
Introduction to stm32-part1
Introduction to stm32-part1Introduction to stm32-part1
Introduction to stm32-part1
 
Introduction to stm32-part2
Introduction to stm32-part2Introduction to stm32-part2
Introduction to stm32-part2
 
Fpga programming
Fpga programmingFpga programming
Fpga programming
 
Synthesis Using ISE
Synthesis Using ISESynthesis Using ISE
Synthesis Using ISE
 
Simulation using model sim
Simulation using model simSimulation using model sim
Simulation using model sim
 
FreeRTOS Course - Semaphore/Mutex Management
FreeRTOS Course - Semaphore/Mutex ManagementFreeRTOS Course - Semaphore/Mutex Management
FreeRTOS Course - Semaphore/Mutex Management
 

Dernier

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 

Dernier (20)

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 

Introduction to Software Test Automation

  • 1. Introduction to SW Test Automation
  • 2. Objectives  Introduce the basic concepts of SW test automation  Focus on automating test execution Introduction to SW Test Automation 2 June 13, 2015
  • 3. Prerequisites  Familiarity with SW testing Introduction to SW Test Automation 3 June 13, 2015
  • 4. Notes  Ask any time.  Turn your cell silent. Introduction to SW Test Automation 4 June 13, 2015
  • 5. References  Software Test Automation: Effective use of test execution tools  The Automated Testing Handbook Introduction to SW Test Automation 5 June 13, 2015
  • 6. Outline  Introduction  Test Automation Process  Test Automation Frameworks  Test Tools  More about Test Scripting  Maintainable tests  Metrics  Automation Issues June 13, 2015Introduction to SW Test Automation 6
  • 7. Outline  Introduction  Test Automation Process  Test Automation Frameworks  Test Tools  More about Test Scripting  Maintainable tests  Metrics  Automation Issues June 13, 2015Introduction to SW Test Automation 7
  • 8. Test Automation  Activities and efforts that intend to automate engineering tasks and operations in a software test process using well-defined strategies and systematic solutions. June 13, 2015Introduction to SW Test Automation 8
  • 9. Why Test Automation?  Run existing (regression) tests on a new version of a program.  Run more tests more often.  Perform tests which would be difficult or impossible to do manually.  Better use of resources  Consistency and repeatability of tests  Earlier time to market  Increased confidence June 13, 2015Introduction to SW Test Automation 9
  • 10. What to Automate; Intellectuality or Clericality? June 13, 2015Introduction to SW Test Automation 10 P A & D I & E E & R C C Clericality Intellectuality
  • 11. Testing and Test Automation Testing  Application expertise  What to test  Test cases Test Automation  Development expertise  How to test  Test scripts June 13, 2015Introduction to SW Test Automation 11
  • 12. Test Automation Myth: It is Simple, Everyone can do It  Promoted by the sales people  Record the script  Enhance the script with few steps  Run and report with a button click  Under this influence, test managers think proudly that al their team members are doing automation. June 13, 2015Introduction to SW Test Automation 12
  • 13. Test Automation Truth: It is a SW Development Task  It should be designed, developed and tested.  Needs strong programming background in most cases  Test automation are assets and must be treated like SW development assets. June 13, 2015Introduction to SW Test Automation 13
  • 14. Test Automation Myth: Commercial Tools are Expensive  Companies tend to build their own tools using scripting languages (Perl and Python).  Questionable tool quality  Poorly estimated costs  No standardization June 13, 2015Introduction to SW Test Automation 14
  • 15. Test Automation Truth: They are Not!  Tester cost ~ $100K/year including overheads to use tool  Tool license ~ $8K/5 years = $1.6K/year  Average tool support fees ~ $1.6K/year  Total tool cost = $3.2K/year June 13, 2015Introduction to SW Test Automation 15
  • 16. Test Automation does not Replace Manual Testing  Volatile SW, rare tests, impossible to verify automatically tests or tests that require interaction  Manual tests find more defects than automated tests.  Quality of tests (How does the automated test reported its success/failure?)  Test automation does not improve effectiveness.  Test automation may limit SW development.  Tools have no imagination. June 13, 2015Introduction to SW Test Automation 16
  • 17. Why does Test Automation Fail?  Unrealistic expectations  Poor testing practice (Automating chaos just gives faster chaos.)  Expectation that automated tests will find a lot of new defects.  False sense of security.  Maintenance of automated tests.  Technical problems (Automation tool is a SW. Also tested SW might not be testable.)  Organizational issues (Support, champions, licensing ...) June 13, 2015Introduction to SW Test Automation 17
  • 18. Outline  Introduction  Test Automation Process  Test Automation Frameworks  Test Tools  More about Test Scripting  Maintainable tests  Metrics  Automation Issues June 13, 2015Introduction to SW Test Automation 18
  • 19. Test Automation Process June 13, 2015Introduction to SW Test Automation 19 Plan Objective Scope Feasibility Estimation ROI Activities Design Define Framework Develop Framework Select Tools Develop Scripts Data Suites Execute Plan Do Maintain Scripts Data
  • 20. Automation Objective  Answer this question with numbers “Why to automate?” June 13, 2015Introduction to SW Test Automation 20
  • 21. Feasibility Operational Can we operate it? How will it run? How other will perceive it? Technical Is the technology mature and available? Do we have the needed expertise? Economic Development cost Breakeven point Net present value Schedule How long it will take to do it? June 13, 2015Introduction to SW Test Automation 21
  • 22. Scope Scope What need to be automated? What do not need to be automated? Who will automate? June 13, 2015Introduction to SW Test Automation 22
  • 23. Classical Return on Investment (ROI) June 13, 2015Introduction to SW Test Automation 23
  • 24. Problems w/ Previous ROI Calculation  We are comparing an apple to an orange.  Manual and automated testing are really different.  They give different information.  Cost of multiple execution of automated tests vs. manual tests cant be compared.  You would never dream of executing that many test cases manually. June 13, 2015Introduction to SW Test Automation 24
  • 25. Real ROI  ROI can be calculated as Total benefit derived from automation / Total cost of automation. June 13, 2015Introduction to SW Test Automation 25
  • 26. Test Execution Automation ROI  Benefit/Execution Cycle = Manual Execution Time – Automation Execution Time  Automation Cost = Cost of HW and SW + Cost of Scripts Development and Maintenance + Cost of Staff Training June 13, 2015Introduction to SW Test Automation 26
  • 27. Automation Framework  A set of assumptions, concepts and tools that provide support for automated software testing.  A reusable set of libraries or classes for a software system (or subsystem)  A correctly implemented test automation framework can further improve ROI by reducing the development and maintenance costs. June 13, 2015Introduction to SW Test Automation 27
  • 28. Automation Frameworks Evolution Modular Testing Test Library Data-Driven Keyword- Driven or Table Driven Hybrid June 13, 2015Introduction to SW Test Automation 28
  • 29. Buy or Make Decision? There is no single best testing tool; rather, different tools are more or less appropriate in different environments. June 13, 2015Introduction to SW Test Automation 29
  • 30. Scripts and Data Simple Scripts Highly Structured Scripts June 13, 2015Introduction to SW Test Automation 30 Scripted w/ low effort but maintained @high cost Scripted w/ high effort but maintained @ low cost Data Embedded in a Script Readable from a Spreadsheet or a DB 1 Script = 1 Test Case Testers need to know scripting 1 Script = Many test cases Testers need not to know scripting
  • 31. Test Suites  Grouping of related tests related, either by their function or by the area of the application they impact  All tests in a suite should share the same beginning and ending context, to allow suite packaging.  Test suite documentation should include:  Tests  Sequence  Context  Data  Suite dependencies June 13, 2015Introduction to SW Test Automation 31
  • 32. Execution Cycles  Different cycles: normal, fix cycle or regression cycle  Each cycle should consider:  Setup; automatically by the cycle or manually by human intervention  Context; all suite should share the same beginning and ending context  Sequence scheduling  Cleanup ; any housekeeping tasks (removing temp files; backups ...) June 13, 2015Introduction to SW Test Automation 32
  • 33. Test Execution and Maintenance  Ideally, no humans involved.  Documented through test logs and error logs automatically  Test logs (test cases status, performance statistics, configurations tested and totals)  Error logs (failed tests and scripts, application states and diagnostic data)  Analyzing logs is necessary to verify their accuracy and there are no:  False failures (test environment, application change or test error)  Duplicate failures  False passes (test error or missed errors)  Analysis result may fire maintenance activities for scripts and data if any. June 13, 2015Introduction to SW Test Automation 33
  • 34. Outline  Introduction  Test Automation Process  Test Automation Frameworks  Test Tools  More about Test Scripting  Maintainable tests  Metrics  Automation Issues June 13, 2015Introduction to SW Test Automation 34
  • 35. C/C’s of a Good Test Automation Framework  Script-less representation of automated tests (shortens learning curve of tester and visualizes tests for better understanding)  Data-driven ability for quick and large test data manipulation.  Must interface to spreadsheets and databases  Concise reporting to ease scripts debugging and results verification  Correctly coupled to application (tightly or loosely coupled?) June 13, 2015Introduction to SW Test Automation 35
  • 36. Modular Testing Framework  Creation of small independent scripts  Scripts are used to construct larger tests and scenarios.  Suitable for automation of large stable applications June 13, 2015Introduction to SW Test Automation 36
  • 37. Modular Testing Framework Example June 13, 2015Introduction to SW Test Automation 37 Calculator.scr Scientific .scr Standard.scr Addition.scr Subtraction.scr Mutliplication.scrDivision.scr
  • 38. Test Library Framework  Creation of procedures and functions instead of scripts  Suitable for automation of small to medium stable applications June 13, 2015Introduction to SW Test Automation 38 Calculator.scr Standard.lbs Standard.lbh
  • 39. Data-Driven Framework  Test data are read from data files.  Data is loaded into variables in the coded script.  Allows quick execution of large number of scripts  Suitable for applications under development June 13, 2015Introduction to SW Test Automation 39
  • 40. Data-Driven Framework Example June 13, 2015Introduction to SW Test Automation 40 After recording script once; data can be extracted into a data pool then extended by various set of data to increase the tests of payment information.
  • 41. Keyword or Table – Driven Framework  Application independent  Building action and keywords independent of the automation tool  Suitable for small applications June 13, 2015Introduction to SW Test Automation 41
  • 42. Keyword or Table – Driven Framework cont’d June 13, 2015Introduction to SW Test Automation 42 Keywords & data Test automation code Test automation framework Automated test cases
  • 43. Keyword or Table – Driven Framework Example Window Control Action Arguments Calculator Menu View, Standard Calculator PushButton Click 1 Calculator PushButton Click + Calculator PushButton Click 3 Calculator PushButton Click = Calculator Verify Result 4 Calculator Clear Calculator PushButton Click 6 Calculator PushButton Click - Calculator PushButton Click 3 Calculator PushButton Click = Calculator Verify Result 3 June 13, 2015Introduction to SW Test Automation 43
  • 44. Hybrid Framework  Most commonly implemented combining the best of all frameworks  Suitable for medium and large applications with long shelf life June 13, 2015Introduction to SW Test Automation 44
  • 45. Elements of a Well Designed Automation Framework June 13, 2015Introduction to SW Test Automation 45
  • 46. Object Repository  Object Repository contains objects for GUI based testing.  Any GUI change is modified at central location avoiding rework of scripts. June 13, 2015Introduction to SW Test Automation 46
  • 47. Function Library  Basic building block and defines a common set of reusable functions  Reusable across applications as well as business functions across the application June 13, 2015Introduction to SW Test Automation 47
  • 48. Global Variables and Constants  Used across the automation test suite to:  Fine tune test suites  Enable reference modification dynamically  Ensure maintainability June 13, 2015Introduction to SW Test Automation 48
  • 49. Test Script  Critical components  It has logic to perform and verify scenarios or functions. June 13, 2015Introduction to SW Test Automation 49
  • 50. Test Data  Application specific  Inputs, outputs and environment data  Is common to store inputs and outputs in files or any other media  Environment data is commonly generated @ run time from the script June 13, 2015Introduction to SW Test Automation 50
  • 51. Recovery Scenarios  Guarantee robustness of test scripts  Handle unexpected exceptions that may halt execution June 13, 2015Introduction to SW Test Automation 51
  • 52. Cleanup Scripts  Release all used resources after script execution to return the suite to a base state  Developed for successful completion of scripts and at the end of recovery scenario June 13, 2015Introduction to SW Test Automation 52
  • 53. Configuration Files  Maintain global settings and application parameters that will change w/ the test environment June 13, 2015Introduction to SW Test Automation 53
  • 54. Reporting  Test results should be easily accessible and understood.  It is also important to generate debugging information during execution at different points and record them.  Goal is to minimize investigation times and help fixing problems quickly.  Be aware of application behavior alteration. June 13, 2015Introduction to SW Test Automation 54
  • 55. Automation Framework Checklist  Complete test plan document  Defined business scenarios  Minimal or no scripting by testing teams  Data-driven tests to expand test coverage  Verifications added June 13, 2015Introduction to SW Test Automation 55
  • 56. Outline  Introduction  Test Automation Process  Test Automation Frameworks  Test Tools  More about Test Scripting  Maintainable tests  Metrics  Automation Issues June 13, 2015Introduction to SW Test Automation 56
  • 57. Test Tools Selection  Huge in number  Different purposes  Choosing the right tool is a strategic step for the automation success.  Many things to be considered.  Technical  Organizational  ...  Buy or make decision is a non-trivial project.  3 ~ 10 people for 4 ~ 6 person weeks in medium sized organizations June 13, 2015Introduction to SW Test Automation 57
  • 58. Start w/ Requirements not the Market  To ensure that you make an appropriate decision in ultimate time  Selection w/o a requirement is like a boat w/o a sail.  Looking for tools in the market might lead to wrong decision w/ undesirable results  Difficulties in making the tool work at the intended environment  Slowing down of test teams  Losing management support  Crippling the automation efforts to overcome the above factors June 13, 2015Introduction to SW Test Automation 58
  • 59. Tool Selection Team June 13, 2015Introduction to SW Test Automation 59 Leader • Management skill or position • Helicopter view over the organization • Focal point and may be regarded as the tool champion Others • Representatives from different areas • Different skills and jobs • Tool advocates in the organization
  • 60. Tool Selection Process June 13, 2015Introduction to SW Test Automation 60 Need Evaluate Demo Decide
  • 61. Identifying Need  What are the problems to be solved? (manual testing problems, no time for regression, inadequate documentation, eliminating error-prone test activities, inaccurate or coverage measures ...)  Explore different solutions (tools are not always the solution) to reach highest impact with lowest cost.  Timing of the tool selection is crucial for success and a major factor in the tool decision buy in (no major organizational panic, dissatisfaction w/ current situation and management commitment).  How much help tool will provide? What are the benefits?  Estimate the costs to reach these benefits then calculate the ROI. June 13, 2015Introduction to SW Test Automation 61
  • 62. Identify Constraints  Constraints if overlooked will lead to wasted effort and money  Constraints include:  Environment al  Co-residency with the SUT  Supplier  Cost  Political  Quality June 13, 2015Introduction to SW Test Automation 62
  • 63. Buy or Make? June 13, 2015Introduction to SW Test Automation 63
  • 64. Identifying What is on the Market?  Construct a long list of available tools (to ensure nothing is missed)  Classify common tool features according to your needs and constraints (mandatory, desirable, do not care, fully implemented, partially implemented or not implemented).  Construct a short list of available tools (2 or 3 options). June 13, 2015Introduction to SW Test Automation 64
  • 65. Evaluating Tool Short List  Compare features  Collect information about the tools  Consult industry reports  Ask for and contact previous customers  Ask for in-house demo day  Pre-supply vendors with test (easy and nightmare tests)  Do additional tests on the demo day  Do post-demo analysis  Test script maintenance  Do a pilot June 13, 2015Introduction to SW Test Automation 65
  • 66. Making the Decision  Assess versus the ROI  Stop evaluation when there is one clear winner or based on consensus when there are close candidates and all selection team member are happy w/ an option.  Document the decision for future need if any.  Get necessary approvals and inform the vendor. June 13, 2015Introduction to SW Test Automation 66
  • 67. Implementing Tools  Once a tool has been chosen, the real work starts.  Careful choice does not necessitate success in the tool's use.  According to industry reports, 70% of purchased tools end up eventually as shelfware. June 13, 2015Introduction to SW Test Automation 67
  • 68. Tool Implementation Team June 13, 2015Introduction to SW Test Automation 68 Champion • Focal point • Evangelist • Driver for implementation • Do not mind giving others credit for his own ideas • Necessary but not sufficient for successful implementation Change Agent • Plans and manages change • Day-to-day progress • Experienced in testing, doer, decisive, practical with strong analytical mind
  • 69. Tool Implementation Team cont’d June 13, 2015Introduction to SW Test Automation 69 Angel • Management sponsor • Critical for implementation success • Focal point and may be regarded as the tool champion Custodian • Technical support, mentor and coach • Technical interface with vendors • Tool process/guidelines owner
  • 70. Tool Implementation Team cont’d June 13, 2015Introduction to SW Test Automation 70 Team • Tool users representatives • Meet regularly to gather information and to disseminate information
  • 71. Test Tool Implementation Process June 13, 2015Introduction to SW Test Automation 71 Management Commitment Preparation Pilot Phased Deployment
  • 72. Management Commitment  Not one time during tool selection and purchase  Must continue during implementation especially when things goes wrong  Commitment is in the form of visual backing to the implementation team from high-level managers as well as adequate resources, budget and time.  Realistic expectation of investment and time needed to reach gain.  The silver bullet might kill you. June 13, 2015Introduction to SW Test Automation 72
  • 73. Preparation  Publicity (do not surprise those will be impacted by the change, give the message several times)  Raising internal interest (internal demos, side talks, advocacy)  Continuing publicity (value small victories throughout the implementation realistically)  Test the demos (failed demos destroys credibility)  Use evaluation licenses to confirm suitability (make the best out of it before purchase)  Internal market research (find your right audience) June 13, 2015Introduction to SW Test Automation 73
  • 74. Pilot  If you don't know what you're doing, don't do it on a large scale .  Assess the changes to your testing processes  Set up and trial your automated regime (experiments)  Evaluate results June 13, 2015Introduction to SW Test Automation 74
  • 75. Phased Deployment  Plan gradual deployment and roll-out  Identify and conduct any needed training  Monitor automation results June 13, 2015Introduction to SW Test Automation 75
  • 76. Outline  Introduction  Test Automation Process  Test Automation Frameworks  Test Tools  More about Test Scripting  Maintainable tests  Metrics  Automation Issues June 13, 2015Introduction to SW Test Automation 76
  • 77. Good Scripts June 13, 2015Introduction to SW Test Automation 77 Attribute Good Poor Number << test cases 1 script = 1 test case Size < 2 pages w/ annotation > 2 pages Function single, clear > 1 function, unclear Documentation clear, up to date Unclear, outdated Reuse many limited or none Structured yes spaghetti Maintenance Easy hard
  • 78. Test Case vs. Test Script In-Test1-Out In-Test2-Out In-Test3-Out June 13, 2015Introduction to SW Test Automation 78 In-Test1-Test2-Test3-Out vs.
  • 79. Goodness of Test June 13, 2015Introduction to SW Test Automation 79 Effective Exemplary EvolvableEconomic Manual test Automated test; 1st run Automate test, many runs
  • 80. Script Pre-processing  Script manipulation techniques that make writing and maintaining scripts easier and therefore less error prone  Pre-compilation techniques  Tool or scripting language supported; more or less automated  Examples include:  Beautifiers  Static analysis  Substitution June 13, 2015Introduction to SW Test Automation 80
  • 81. Outline  Introduction  Test Automation Process  Test Automation Frameworks  Test Tools  More about Test Scripting  Maintainable tests  Metrics  Automation Issues June 13, 2015Introduction to SW Test Automation 81
  • 82. Problems in Maintaining Automated Tests  Changes in SW imply need for new tests and changes in old ones.  Tests might become redundant.  Maintenance is standard in any SDLC but little given to test automation.  Maintenance costs are higher for automated testing than manual testing.  Testers have the reason and context and can apply changes on the fly; unlike tools. June 13, 2015Introduction to SW Test Automation 82
  • 83. Attributes of Test Maintenance Attributes of Test Maintenance Test suite size Test data amount Test data format Time to run tests Test debugability Test dependencies Naming convention Test complexity Test documentation June 13, 2015Introduction to SW Test Automation 83
  • 84. Be Aware of  Tools help you do the wrong thing.  Easy approaches result in higher maintenance costs.  Initial enthusiasm  ROI is maximized at the end of automation effort not the start.  80% of effort gives 20% of gain; while truly 80% of gain is achieved by the remaining 20% effort June 13, 2015Introduction to SW Test Automation 84
  • 85. Strategy and Tactics  No single solution will work. It is a matter of tradeoffs and compromises.  Justify maintenance efforts (measure attributes to take informed decisions)  Tactics include:  Define processes and standards  Provide tool support  Automate updates  Periodic weeding  Acquire maintenance utilities June 13, 2015Introduction to SW Test Automation 85
  • 86. Outline  Introduction  Test Automation Process  Test Automation Frameworks  Test Tools  More about Test Scripting  Maintainable tests  Metrics  Automation Issues June 13, 2015Introduction to SW Test Automation 86
  • 87. Why We Measure?  To decide whether the automobile was a good investment  To evaluate choices, compare alternatives, and monitor improvement  To have early warning of problems, and to make predictions  To benchmark against a standard or in competition June 13, 2015Introduction to SW Test Automation 87
  • 88. What can We Measures?  Gilb's Law: “Anything can be made measurable in some way, which is superior to not measuring it at all”  This does not say that anything can be made measurable in a perfect or even adequate way, simply in a way that is better than no measurement. June 13, 2015Introduction to SW Test Automation 88
  • 89. Attributes of Test Automation June 13, 2015Introduction to SW Test Automation 89
  • 90. Efficiency  Efficiency is related to cost.  Scales of measurement of efficiency can be:  Elapsed time (hours) to perform certain tasks  Effort (working hours) to perform certain tasks June 13, 2015Introduction to SW Test Automation 90
  • 91. Maintainability  Ease of updating the testware when SW changes  Scales of measurement of maintainability can be:  Average elapsed time in hours or effort in working hours per test to update the tests  How often software changes take place.  It is important to make the tests easier to update for the most frequent changes in SW.  UI changes, business rules, formats, communication or functionality June 13, 2015Introduction to SW Test Automation 91
  • 92. Reliability  Reliability is related to test ability to give accurate and repeatable results.  Scales of measurement of reliability can be:  Percentages of tests that fail due to defects in the tests i.e. either test design defects or test automation defects  Number of additional test cycles or iterations required because of defects in the tests  Number of false negatives and false positives June 13, 2015Introduction to SW Test Automation 92
  • 93. Flexibility  Flexibility is related to the extent to which it allows us to work with different subsets of tests.  A more flexible profile will allow test cases to be combined in many different ways for different test objectives.  Scales of measurement of flexibility can be:  Time to test emergencies fix on an old release.  Time taken to identify a set of test cases for a specific purpose  Number of selection criteria that can be used to identify a subset of test cases  Time or effort needed to restore a test case that has been archived. June 13, 2015Introduction to SW Test Automation 93
  • 94. Usability  Must be considered in terms of the intended user profiles of the regime  Scales of measurement of usability can be:  Time taken to add new test cases of a similar type to a test suite  Time or effort required to ascertain the results of running a set of automated test cases  Training time needed for a user profile of the automation suite to become confident and productive.  Time or effort needed to discount defects that are of no interest for a particular set of automated tests  How well the users like the suites, their perceptions of how easy it is for them to use it. June 13, 2015Introduction to SW Test Automation 94
  • 95. Robustness  Ability of testware to cope with unexpected events without tripping up  Scales of measurement of robustness can be:  Number of tests which fail because of a single software defect  Frequency of failure of an automated test  Mean time to fail  Time taken to investigate the causes of unexpected events that result in the test failure June 13, 2015Introduction to SW Test Automation 95
  • 96. Portability  Portability is related to ability to run in different environments.  Scales of measurement of efficiency can be:  Time or effort needed to make a set of automated tests run successfully in a new environment  Time or effort needed to make a set of automated tests run using a different test tool  Number of different environments in which the automated tests will run. June 13, 2015Introduction to SW Test Automation 96
  • 97. Should We Measure All?  Just pick what suits your purpose June 13, 2015Introduction to SW Test Automation 97
  • 98. Outline  Introduction  Test Automation Process  Test Automation Frameworks  Test Tools  More about Test Scripting  Maintainable tests  Metrics  Automation Issues June 13, 2015Introduction to SW Test Automation 98
  • 99. What is an Automation Issue?  A problem that testers and/or test automators encounter when trying to do test automation.  They take longer than they should.  An Issue can also be a task that has to be done when automating. June 13, 2015Introduction to SW Test Automation 99
  • 100. Issues Classification  General issues: generalized issues that direct you to the more specific issues  Specific issues:  Process issues: the way we work with automated tests and tools  Management issues: issues of management, staffing, objectives (need time, money or people to fix)  Design Issues: testware architecture, including maintainability  Execution Issues: the running of tests in their automated form June 13, 2015Introduction to SW Test Automation 100
  • 101. General Issues June 13, 2015Introduction to SW Test Automation 101 Issue Description EXPECTATIONS NOT MET Test automation is not meeting the expectations of managers, testers or developers NO PREVIOUS TEST AUTOMATION You are just starting with automation and have never done it before NO DIRECTION Test automation is stumbling along with no specific goal or no clear strategy MISSING RESOURCES Test automation is being hindered by lack of automators, testers, tools, hardware etc. MISSING KNOWLEDGE Automators or testers don't know how to do good automation, how to use the tools, have limited experience in the SUT or new team members take too long to become productive MISSING SUPPORT Test automation is not supported by managers, testers or developers UNSATISFACTORY QUALITY OF TEST AUTOMATION Test automation kind of works, but constant problems afflict it
  • 102. Specific Issues June 13, 2015Introduction to SW Test Automation 102
  • 103. Relation between General and Specific Issues  A full mind map is in here. June 13, 2015Introduction to SW Test Automation 103
  • 104. What is an Automation Pattern?  A general reusable solution to a commonly occurring problem within a given context.  A test automation pattern is a way of solving an issue or problems in test automation that has worked in practice for many people.  Patterns do not exist in a void: each is a solution to an issue that occurs under some particular conditions.  Also patterns are often associated with other patterns, either because they can only be implemented using other patterns or because they can only be applied after other patterns have been put into practice. June 13, 2015Introduction to SW Test Automation 104
  • 105. What is a Pattern is Not?  A finished solution that you can just "plug in" directly to your situation  Prescriptive (you must do this)  A step-by-step procedure (do this first, then that)  Patterns are ideas that you can adapt and implement in your own context and which will hopefully help solve some of your issues. June 13, 2015Introduction to SW Test Automation 105
  • 106. Pattern Template  Pattern summary: Write here a short summary of the pattern  Category: Process / Management / Design / Execution  Context: Explain in which context(s) this pattern is valid and in which it isn‘t  Description: Describe what the pattern does  Implementation: Describe how to implement the description. Eventually specifying the differences from context to context.  Potential problems: List here potential problems or general remarks  Issues addressed by this pattern:  Issue 1  Issue 2  Issue 3  Experiences If you have used this pattern, please add your name and a brief story of how you used this pattern. June 13, 2015Introduction to SW Test Automation 106
  • 107. Test Automation Patterns June 13, 2015Introduction to SW Test Automation 107
  • 108. Process Patterns June 13, 2015Introduction to SW Test Automation 108
  • 109. Management Patterns June 13, 2015Introduction to SW Test Automation 109
  • 110. Design Patterns June 13, 2015Introduction to SW Test Automation 110
  • 111. Execution Patterns June 13, 2015Introduction to SW Test Automation 111
  • 112. Failure Patterns  Failure patterns show how behaviors that start well can end up as costly failures.  Help recognize if an automation project is heading in the wrong direction at a time when countermeasures can still enable a turnaround June 13, 2015Introduction to SW Test Automation 112
  • 113. Introduction to SW Test Automation 113 June 13, 2015

Notes de l'éditeur

  1. Complete a Test Plan document. Understanding the goals of the application to be tested is critical to the success of any testing effort. This includes thorough up-front planning to verify that test requirements are implemented correctly. Define the business scenarios that need to/can be automated. It is probably impossible to automate all aspects of a test plan. Automated testing should be focused around the complex and critical business processes. Many organizations find that they Are automating nearly 60 percent of their total number of test cases, leaving 40 percent of tests to be conducted manually. Create automated tests which require minimal or no scripting by QA teams. QA teams should be able to visualize each step of the business scenario for automation. Do data-­driven tests to expand test coverage. Test Automation Framework should provide the ability to create data-dependent tests that use specific keywords stored in Excel spreadsheets to populate fields in an application. This capability allows QA teams to drive massive volumes of test data through an application. Add verifications into the Test Automation Framework. The criteria should include verifications of the front--‐end of the application, the middle tier, or the back--‐end database. Database verification confirms the values stored in the database and verifies transaction accuracy and the data integrity of records that have been updated, deleted, or added. &amp;lt;number&amp;gt;