SlideShare una empresa de Scribd logo
1 de 33
High Reuse, Low Maintenance:
A Practical Approach to Test Automation
Alan White
The Nielsen Company
Alan.White@Nielsen.com
Learning Objectives; You will…
• understand the concepts behind one of the more
successful test automation frameworks to date,
• find out which widely used product can be used to
quickly produce a visually cohesive, wizard-based
GUI tool for creating repeatable test cases, and
• learn how to quickly and intuitively generate and
store automated test cases with relative ease while
reducing errors – no programming needed!
Problems with Traditional Automation
•
•
•
•
•
•
•

Maintenance Intensive
Fragile in Nature
Programming Experience Needed
Static Data
Tightly Coupled to AUT
Minimal Reuse Capability
Unnoticeable Productivity Gains
Solution
•
•
•
•
•
•

Intuitive
Structured
Maintainable
Role Based
Dynamic Data
Reusable Components
Goals
• Loose Coupling
– Application Under Test
– Test Automation Tools
– Development Platform

• Self Documenting Test Automation Scripts
– Scripts look like manual scripts
– Detailed account of AUT interactions

• Abstract Complexity from User Community
– No programming knowledge required
– Focus on building Test Assets
Framework Overview
• GUI Maps
– Screens & Components
– Controls & Actions

• Test Assets
– Test Steps
– Test Cases
– Test Suites

• AUT Invocation Code (Engine)
– Main Loop
– Function Libraries (for AUT platform)
Role Based Framework
• Test Engineer (Programmer)
– GUI Maps
– AUT Invocation Code

• User Community (SQA, UAT, BA)
– Test Script Maintenance
– Test Execution and Results Analysis

• Test Asset Librarian
– Naming Conventions
– Other Standards
GUI Maps
• Translate the technical names of screens and
components to more meaningful names
Test Steps
•
•
•
•

Are the building blocks for Test Cases
Link components to screens and actions to controls
Interact with the AUT to perform specific functions
Should be broken down by their function:
– Navigation
– Changing Data
– Verifying Data

• Are Highly Reusable Test Assets!
Test Step Example
•
•
•

Screens and Components are derived from the GUI map
Controls and Actions are mapped to Screens and Components
Parameters store default values that may be overridden
Test Cases
• Are sequential lists of Test Steps that perform
specific test operations beginning and ending at the
AUT central point
• Allow for overriding existing values to parameters
declared in Test Steps
• Resemble manual test cases & narratives
Test Case Example
Test Suites
• Are the highest level of abstraction that specify
which test cases are to be executed in the order
they should be executed
• Different test suites are defined to operate on
different modules or components of an application
Test Suite Example
Hierarchy of Assets
AUT Invocation Code
• Can be developed using commercial test
automation tools such as Rational Robot and
Mercury QTP or open source tools like WATIR
• Uses Simple Decision Structures
• Portable/Maintainable/Reusable
• Versatile – Can interact with the AUT screen and
components in the following ways:
– Input or Select Values
– Verify Values and Properties
– Verify Existence
Main Loop
• Loops through each instruction (data row)
– Each instruction has its own control

• Branches each control for processing
• Reports status to the log
Function Libraries
• Contain the functions created for each control
• Branch actions in each control function
• Can be reused by other applications
Putting the pieces together
Test Steps/Cases

1
Main Loop

Control Library

3

2

AUT

4
Test Execution Log
Microsoft Access Works Well for Building
the Front End, Test Asset Creation Tool!
•
•
•
•
•
•
•

VBA and SQL
Tables/Queries
Forms/Reports
Data Pages
Macros
Code Modules
Security
Note: More Advanced Deployments might consider
developing in an enterprise SDK (e.g. VB, C#, Java).
Getting Started!
How to GUI Map
How to Create a Test Step
How to Create a Test Case
How to Create a Test Case
How to Create a Test Suite
Costs
•
•
•
•

Build the Test Asset Creation Tool
GUI Map the Applications Under Test
Build the AUT Invocation Code (Engine)
Train the User Community
Benefits
•
•
•
•
•
•

Reduced and Known Test Execution Time
Greater Test Coverage
Long Term Cost Savings
Can Run Scheduled and Unattended
Lower Maintenance Effort
Quicker Response to Application Changes
Deployments
• Application Under Test Platforms
– PowerBuilder
– Java
– HTML

• User Communities
– Development
– SQA
– UAT

• Types of Testing
–
–
–
–

Unit
Smoke
Regression
User Acceptance
Division of Effort
• Dedicated Test Engineer
–
–
–
–

Ideally 100% Effort Initially
Construction of Framework (Engine)
Construction of Test Asset Creation Tool
Build and Maintain the GUI Maps

• User Community
– Create and Maintain Test Scripts
– Analyze Test Execution Results
– Communicate AUT Changes
Questions
• Please feel free to ask your questions or make
comments.
• Thank You!
Further Reading
•

•
•
•
•
•
•

Nagle, C. “Test Automation Frameworks” White Paper
http://safsdev.sourceforge.net/FRAMESDataDrivenTestAutomationFramework
s.htm
Hayes, L. “Implementing a Test Automation Framework” Tutorial presented at
STAR EAST 2005 Conference, Orlando, FL, May 16, 2005.
Automated Testing Specialists, Methodologies for Automated Testing
http://www.sqa-test.com/method.html
Zambelich, K. Totally Data-Driven Automated Testing 1998
http://www.sqa-test.com/w_paper1.html
LogiGear Whitepaper Series, Achieving the Full Potential of Test Automation
October 25, 2004
Mosley, D. & Posey, B. Just Enough Software Test Automation New Jersey:
Prentice Hall PTR, 2002.
Buwalda, H. & Janssen D. Integrated Test Design and Automation Great
Britain: Addison-Wesley, 2002

Más contenido relacionado

La actualidad más candente

Designing a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsDesigning a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsQUONTRASOLUTIONS
 
Automation Framework 042009 V2
Automation Framework   042009  V2Automation Framework   042009  V2
Automation Framework 042009 V2guestb66d91
 
Kovair Migration Solution for ALM Tools
Kovair Migration Solution for ALM ToolsKovair Migration Solution for ALM Tools
Kovair Migration Solution for ALM ToolsKovair
 
One model, many use cases
One model, many use casesOne model, many use cases
One model, many use casesModelon
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Test Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutionsTest Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutionsQuontra Solutions
 
Optimica Testing Toolkit
Optimica Testing ToolkitOptimica Testing Toolkit
Optimica Testing ToolkitModelon
 
automation framework
automation frameworkautomation framework
automation frameworkANSHU GOYAL
 
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2
 
Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016Modelon
 
Alemu Arimo Atumo Resume
Alemu Arimo Atumo ResumeAlemu Arimo Atumo Resume
Alemu Arimo Atumo ResumeALEMU ATUMO
 
Mobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar GargMobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar GargoGuild .
 
Kovair ALM application on model based process improvement
Kovair ALM application on model based process improvementKovair ALM application on model based process improvement
Kovair ALM application on model based process improvementKovair
 
Selenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework BasicsSelenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework BasicsTechcanvass
 
Introduction to kovair ALM and Integration Products
Introduction to kovair ALM and Integration ProductsIntroduction to kovair ALM and Integration Products
Introduction to kovair ALM and Integration ProductsKovair
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation FailsRanorex
 
Kovair ALM Studio Overview
Kovair ALM Studio OverviewKovair ALM Studio Overview
Kovair ALM Studio OverviewKovair
 

La actualidad más candente (19)

Designing a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsDesigning a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutions
 
Automation Framework 042009 V2
Automation Framework   042009  V2Automation Framework   042009  V2
Automation Framework 042009 V2
 
Load testing
Load testingLoad testing
Load testing
 
Kovair Migration Solution for ALM Tools
Kovair Migration Solution for ALM ToolsKovair Migration Solution for ALM Tools
Kovair Migration Solution for ALM Tools
 
One model, many use cases
One model, many use casesOne model, many use cases
One model, many use cases
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Test Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutionsTest Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutions
 
Optimica Testing Toolkit
Optimica Testing ToolkitOptimica Testing Toolkit
Optimica Testing Toolkit
 
automation framework
automation frameworkautomation framework
automation framework
 
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
 
Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016Modelon Modelica executable requirements Ansys Conference 2016
Modelon Modelica executable requirements Ansys Conference 2016
 
Alemu Arimo Atumo Resume
Alemu Arimo Atumo ResumeAlemu Arimo Atumo Resume
Alemu Arimo Atumo Resume
 
Mobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar GargMobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar Garg
 
Kovair ALM application on model based process improvement
Kovair ALM application on model based process improvementKovair ALM application on model based process improvement
Kovair ALM application on model based process improvement
 
Selenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework BasicsSelenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework Basics
 
Introduction to kovair ALM and Integration Products
Introduction to kovair ALM and Integration ProductsIntroduction to kovair ALM and Integration Products
Introduction to kovair ALM and Integration Products
 
Abhilash Alwandi resume
Abhilash Alwandi resumeAbhilash Alwandi resume
Abhilash Alwandi resume
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation Fails
 
Kovair ALM Studio Overview
Kovair ALM Studio OverviewKovair ALM Studio Overview
Kovair ALM Studio Overview
 

Destacado

Automation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and BeyondAutomation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and BeyondAlan Richardson
 
20041221 gui testing survey
20041221 gui testing survey20041221 gui testing survey
20041221 gui testing surveyWill Shen
 
Automated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from ModelsAutomated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from ModelsDharmalingam Ganesan
 
Best practices for test case creation & maintenance
Best practices for test case creation & maintenanceBest practices for test case creation & maintenance
Best practices for test case creation & maintenance99tests
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Leonard Fingerman
 
UI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
UI Test Automation - Maximizing ROI by Minimizing Maintenance CostsUI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
UI Test Automation - Maximizing ROI by Minimizing Maintenance Costs🐾 Jim Sibley 🐾
 
Patterns in Test Automation
Patterns in Test AutomationPatterns in Test Automation
Patterns in Test AutomationAnand Bagmar
 
Characteristics of gifted students
Characteristics of gifted studentsCharacteristics of gifted students
Characteristics of gifted studentsTrinette Atri
 

Destacado (8)

Automation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and BeyondAutomation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and Beyond
 
20041221 gui testing survey
20041221 gui testing survey20041221 gui testing survey
20041221 gui testing survey
 
Automated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from ModelsAutomated Test Case Generation and Execution from Models
Automated Test Case Generation and Execution from Models
 
Best practices for test case creation & maintenance
Best practices for test case creation & maintenanceBest practices for test case creation & maintenance
Best practices for test case creation & maintenance
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
UI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
UI Test Automation - Maximizing ROI by Minimizing Maintenance CostsUI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
UI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
 
Patterns in Test Automation
Patterns in Test AutomationPatterns in Test Automation
Patterns in Test Automation
 
Characteristics of gifted students
Characteristics of gifted studentsCharacteristics of gifted students
Characteristics of gifted students
 

Similar a Innovative Test Automation Solution

Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsTest Automaton
 
FUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemFUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemQualitest
 
TEST EXECUTION.ppt
TEST EXECUTION.pptTEST EXECUTION.ppt
TEST EXECUTION.pptChayapathiAR
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlidesMichael Cowan
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectDevOps.com
 
QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER Piyush Prakash
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test CompleteVartika Saxena
 
Sucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta Kale
 
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!Richard Robinson
 
20110812 CyberTAN presentation
20110812 CyberTAN presentation20110812 CyberTAN presentation
20110812 CyberTAN presentationRichard Hsu
 
Scriptless Automation Testing: A Unique Framework To Accelerate Delivery
Scriptless Automation Testing: A Unique Framework To Accelerate DeliveryScriptless Automation Testing: A Unique Framework To Accelerate Delivery
Scriptless Automation Testing: A Unique Framework To Accelerate DeliveryNet Solutions
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automationEran Kinsbrunner
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-toolBabuDevanandam
 
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdfTest Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdfDiana Gray, MBA
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignGeorgina Tilby
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010TEST Huddle
 

Similar a Innovative Test Automation Solution (20)

Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
FUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemFUNTASY - Functional testing automated system
FUNTASY - Functional testing automated system
 
TEST EXECUTION.ppt
TEST EXECUTION.pptTEST EXECUTION.ppt
TEST EXECUTION.ppt
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
 
Modernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-ArchitectModernizing Testing as Apps Re-Architect
Modernizing Testing as Apps Re-Architect
 
Next-gen Automation Framework
Next-gen Automation FrameworkNext-gen Automation Framework
Next-gen Automation Framework
 
QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test Complete
 
Sucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QA
 
unit-5 SPM.pptx
unit-5 SPM.pptxunit-5 SPM.pptx
unit-5 SPM.pptx
 
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
 
20110812 CyberTAN presentation
20110812 CyberTAN presentation20110812 CyberTAN presentation
20110812 CyberTAN presentation
 
Good vs power automation frameworks
Good vs power automation frameworksGood vs power automation frameworks
Good vs power automation frameworks
 
Scriptless Automation Testing: A Unique Framework To Accelerate Delivery
Scriptless Automation Testing: A Unique Framework To Accelerate DeliveryScriptless Automation Testing: A Unique Framework To Accelerate Delivery
Scriptless Automation Testing: A Unique Framework To Accelerate Delivery
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
 
Abhilash Alwandi_Resume
Abhilash Alwandi_ResumeAbhilash Alwandi_Resume
Abhilash Alwandi_Resume
 
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdfTest Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
 

Último

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Último (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Innovative Test Automation Solution

  • 1. High Reuse, Low Maintenance: A Practical Approach to Test Automation Alan White The Nielsen Company Alan.White@Nielsen.com
  • 2. Learning Objectives; You will… • understand the concepts behind one of the more successful test automation frameworks to date, • find out which widely used product can be used to quickly produce a visually cohesive, wizard-based GUI tool for creating repeatable test cases, and • learn how to quickly and intuitively generate and store automated test cases with relative ease while reducing errors – no programming needed!
  • 3. Problems with Traditional Automation • • • • • • • Maintenance Intensive Fragile in Nature Programming Experience Needed Static Data Tightly Coupled to AUT Minimal Reuse Capability Unnoticeable Productivity Gains
  • 5. Goals • Loose Coupling – Application Under Test – Test Automation Tools – Development Platform • Self Documenting Test Automation Scripts – Scripts look like manual scripts – Detailed account of AUT interactions • Abstract Complexity from User Community – No programming knowledge required – Focus on building Test Assets
  • 6. Framework Overview • GUI Maps – Screens & Components – Controls & Actions • Test Assets – Test Steps – Test Cases – Test Suites • AUT Invocation Code (Engine) – Main Loop – Function Libraries (for AUT platform)
  • 7. Role Based Framework • Test Engineer (Programmer) – GUI Maps – AUT Invocation Code • User Community (SQA, UAT, BA) – Test Script Maintenance – Test Execution and Results Analysis • Test Asset Librarian – Naming Conventions – Other Standards
  • 8. GUI Maps • Translate the technical names of screens and components to more meaningful names
  • 9. Test Steps • • • • Are the building blocks for Test Cases Link components to screens and actions to controls Interact with the AUT to perform specific functions Should be broken down by their function: – Navigation – Changing Data – Verifying Data • Are Highly Reusable Test Assets!
  • 10. Test Step Example • • • Screens and Components are derived from the GUI map Controls and Actions are mapped to Screens and Components Parameters store default values that may be overridden
  • 11. Test Cases • Are sequential lists of Test Steps that perform specific test operations beginning and ending at the AUT central point • Allow for overriding existing values to parameters declared in Test Steps • Resemble manual test cases & narratives
  • 13. Test Suites • Are the highest level of abstraction that specify which test cases are to be executed in the order they should be executed • Different test suites are defined to operate on different modules or components of an application
  • 16. AUT Invocation Code • Can be developed using commercial test automation tools such as Rational Robot and Mercury QTP or open source tools like WATIR • Uses Simple Decision Structures • Portable/Maintainable/Reusable • Versatile – Can interact with the AUT screen and components in the following ways: – Input or Select Values – Verify Values and Properties – Verify Existence
  • 17. Main Loop • Loops through each instruction (data row) – Each instruction has its own control • Branches each control for processing • Reports status to the log
  • 18. Function Libraries • Contain the functions created for each control • Branch actions in each control function • Can be reused by other applications
  • 19. Putting the pieces together Test Steps/Cases 1 Main Loop Control Library 3 2 AUT 4 Test Execution Log
  • 20. Microsoft Access Works Well for Building the Front End, Test Asset Creation Tool! • • • • • • • VBA and SQL Tables/Queries Forms/Reports Data Pages Macros Code Modules Security Note: More Advanced Deployments might consider developing in an enterprise SDK (e.g. VB, C#, Java).
  • 22. How to GUI Map
  • 23. How to Create a Test Step
  • 24. How to Create a Test Case
  • 25. How to Create a Test Case
  • 26. How to Create a Test Suite
  • 27.
  • 28. Costs • • • • Build the Test Asset Creation Tool GUI Map the Applications Under Test Build the AUT Invocation Code (Engine) Train the User Community
  • 29. Benefits • • • • • • Reduced and Known Test Execution Time Greater Test Coverage Long Term Cost Savings Can Run Scheduled and Unattended Lower Maintenance Effort Quicker Response to Application Changes
  • 30. Deployments • Application Under Test Platforms – PowerBuilder – Java – HTML • User Communities – Development – SQA – UAT • Types of Testing – – – – Unit Smoke Regression User Acceptance
  • 31. Division of Effort • Dedicated Test Engineer – – – – Ideally 100% Effort Initially Construction of Framework (Engine) Construction of Test Asset Creation Tool Build and Maintain the GUI Maps • User Community – Create and Maintain Test Scripts – Analyze Test Execution Results – Communicate AUT Changes
  • 32. Questions • Please feel free to ask your questions or make comments. • Thank You!
  • 33. Further Reading • • • • • • • Nagle, C. “Test Automation Frameworks” White Paper http://safsdev.sourceforge.net/FRAMESDataDrivenTestAutomationFramework s.htm Hayes, L. “Implementing a Test Automation Framework” Tutorial presented at STAR EAST 2005 Conference, Orlando, FL, May 16, 2005. Automated Testing Specialists, Methodologies for Automated Testing http://www.sqa-test.com/method.html Zambelich, K. Totally Data-Driven Automated Testing 1998 http://www.sqa-test.com/w_paper1.html LogiGear Whitepaper Series, Achieving the Full Potential of Test Automation October 25, 2004 Mosley, D. & Posey, B. Just Enough Software Test Automation New Jersey: Prentice Hall PTR, 2002. Buwalda, H. & Janssen D. Integrated Test Design and Automation Great Britain: Addison-Wesley, 2002