SlideShare una empresa de Scribd logo
1 de 23
Laying the Foundation
for Enduring Success
Part1: Elements of a Test Framework
What is a Test Framework?
Software Development Life Cycle
Requirements Tests Defects
What do we
make and how
should it
behave
Make sure it
works as
stated in the
Requirement
Definition Sets Environments
Actual Results
do not equal
Expected
Results
What is a Test Framework?
A Test Framework:
• Links tests to other SDLC items
• Is NOT a Test Automation Framework but often contains one
• Allows for rapid creation of tests from reusable components
• Separates data from logic (REUSABILITY)
• Provides a standardized test “language” and reporting structure for an application
under test
How to Build a Test
Framework—The 3 D’s
Define
3 D’s of Testing: Define
Define Workflows (the easy part)
• Startwith requirements
• Each requirementshouldbe at least one test case
• Identify and detailcommon workflows thru the applicationundertest
• If you use User Stories,you are already mostly there
3 D’s of Testing: Define
Define Requirement Example: QAComplete.com ROI Calculator
• Role:As a QAComplete Prospect
• Perspective: Interestedin determiningwhat QAComplete can do for me
• Context: On the ROI Calculatorpage in a web browser
The 3 D’s of Testing: Define
Define Example Workflow—QAComplete.com ROICalculator
• The desired path with minimal variation
• User selects values for the 4 inputs or leavesthe defaults
• User reviewsthe 3 pieces of returned data
• User clicksPrint
• User clicksContact Us
How to Build a Test
Framework—The 3 D’s
Decompose
The 3 D’s of Testing: Decompose
Decompose the Workflow
• Definitions should be as reasonably atomic as possible, yet still useful
• Break down:
• Actions that provide an input (data)
• Results of those actions
• Workflow logic
• Exit points from the workflow
The 3 D’s of Testing: Decompose
Decompose Workflow Example—QAComplete.com ROI Calculator
1.Userselectsortypesinavalueforteammembers
2.Userselectsortypesinavalueforrequirementsto
beimplementedthisyear
3.Userselectsortypesinavaluefortestcasesper
requirements
4.UserleavesSaaSasaselection,orswitchestoOn-
Premise,orcanswitchbackandforth
5.QACompleteImplementationcostinUSD
6.SavingsavailableduetoQACompleteinUSD
7.ROIinthefirstyearasapercent
8.UsercanclickContactUslink
9.UsercanclickPrint,whichwillprovideaprintable
versionof1-7
Inputs
Outputs
Exits
The 3 D’s: Decompose
Decompose Input Methods
Workflow1
• UserSelectsSlider:
• Input1:Teammembers
• Input2:Requirementstobeimplementedthisyear
• Input3:TestCasesperrequirement
• Input4:UserleavesSaaSasaselection,orswitchestoOn-Premise,
optiontoflipbackandforth
Workflow2
• UserSelectsTyping:
• Input1:Teammembers
• Input2:Requirementstobeimplementedthisyear
• Input3:TestCasesperrequirement
• Input4:UserleavesSaaSasaselection,orswitchestoOn-Premise,
optiontoflipbackandforth
Checkpoints
• Output5:QACompleteImplementation
• Output6:SavingAvailableduetoQACompleteinUSD
• Output7:ROIinthefirstyear
Exit
• UsercanclickContactUs
• UsercanclickPrint
How to Build a Test
Framework—The 3 D’s
Decide
The 3 D’s of Testing: Decide
What Environments /Contexts to Cover?
• Operating Systems
• Browsers
• Devices (Mobile & Tablets)
• Security Permissions
• User Roles
• Conflicting Software
The 3 D’s of Testing: Decide
What Tasks and Steps Repeat?
• After decomposing all major workflows:
• Find commonly reused steps and actions
• Find actions and checks that use the same data
• Example: Workflow 1 and Workflow 2 from the ROI Calculator
The 3 D’s of Testing: Decide
What to Automate?
• EnvironmentSetup/Teardown
• DataEntry
• FormFilling
• Varyingdatainputsinarepetitiveprocess
• Exposingbackenddata(APIs,DBtable,etc…)
• Repetitive/boringtasksthatarepronetoinattentionerrors
• Taskswithhighreusevalueacrossmanyworkflows
• Testswithtimingorscreenresponsivenessasacriteriaforsuccess
• Manynon-functionaltesttypes,suchasperformancetesting
• Captureresults
Elements of a Test
Framework
Software Development Life Cycle
Requirements Tests Defects
What do we
make and how
should it
behave
Make sure it
works as
stated in the
Requirement
Definition Sets Environments
Actual Results
do not equal
Expected
Results
Elements of a Test Framework
• Library
• Test Data Sources
• HelperFunctions
• Test Environments
• Modules
• Structure/ Hierarchies
Elements of a Test Framework
• Library:Arepositoryofallyourdecomposedscripts,separatedintotheircomponents.
• Example:InputsonlyfromWorkflow2,separatedfromInputsselectedbysliderinWorkflow1,separatefrom
thecheckpointsusedinboth
• TestDataSources:Arepositoryofalldatasources
• Example:Inputsandexpectedresultsusedbybothworkflowsisonedatasources
• HelperFunctions:Arepositoryofalldecomposedtestscripts,automatedormanual,thatarenotinputsorchecks
• Example:Setupscripts,cleanupscripts,backenddatacapture,other“tasks”
• TestEnvironments:Alistofallcoveredtestingenvironments,brokenoutbytape(OS,Browser…)
• Bestwhencombinedwithassociatedhelperfunctionssuchassetupscriptsandaccessinformation
Elements of a Test Framework
Modules
• Thecombinationoflibraryitemswithanyhelper
functionsandtestdatasources—plusenvironments
• Example:ROICalculator
• Workflow1inputs“ROIslider”usingData
SourceA
• ROICalculatorChecksusingDataSourceA
• Workflow2inputs“ROItypein”usingData
SourceA
• ROICalculatorChecksusingDataSourceA
• RepeatforCoveredEnvironments:IE,
Chrome,Firefox,etc.
Structure/Hierarchies
• The“folder”structureofmodules
• Oftenorganizedinasimilarformatastheapplication
undertest
• Groupedinparent/childrelationships
Elements of a Test Framework
Defects
• Importanttorelatetotestsfor
retesting
• Importanttorelateto
requirementsfor“brokenas
designed”
Releases
• Listofallchangingrequirements
ingivenperiod/build
• Agreatframeworkcanbuildit’s
testplanjustfromthislistasthe
planisequaltoalllinked
requirementsandtheirtests
Requirements
• Mustberelatedtotestsfor
coveragereportingtoensurethat
allchangesaretested
• Feedstestdesign
Join us at 8:30 AM | 2:00 PM EDT
November 7th
https://smartbear.com/resources/webinars/elements-of-a-ui-automation-framework/
Carson Underwood
QA Engineer
O’Reilly Auto Parts
Bria Grangard
Product Marketing Manager
SmartBear Software

Más contenido relacionado

La actualidad más candente

Continuous Delivery without Test Automation @STPCon, San Diego
Continuous Delivery without Test Automation @STPCon, San DiegoContinuous Delivery without Test Automation @STPCon, San Diego
Continuous Delivery without Test Automation @STPCon, San DiegoMaaret Pyhäjärvi
 
Test Automation
Test AutomationTest Automation
Test AutomationTomas Riha
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewMurageppa-QA
 
Test automation
Test automationTest automation
Test automationXavier Yin
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsdpaulmerrill
 
Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...Edureka!
 
Continuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and JmeterContinuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and JmeterAgile Testing Alliance
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Visual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for DevelopersVisual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for DevelopersSteve Lange
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project reportKapil Rajpurohit
 
Introduction to Gauge
Introduction to GaugeIntroduction to Gauge
Introduction to Gaugevodqancr
 
Test Automation and Continuous Integration
Test Automation and Continuous Integration Test Automation and Continuous Integration
Test Automation and Continuous Integration TestCampRO
 
Test automation - What? Why? How?
Test automation - What? Why? How?Test automation - What? Why? How?
Test automation - What? Why? How?Anand Bagmar
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation ArchitectureErdem YILDIRIM
 
Software testing
Software testingSoftware testing
Software testingK Lingaraju
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 

La actualidad más candente (20)

Continuous Delivery without Test Automation @STPCon, San Diego
Continuous Delivery without Test Automation @STPCon, San DiegoContinuous Delivery without Test Automation @STPCon, San Diego
Continuous Delivery without Test Automation @STPCon, San Diego
 
Test Automation
Test AutomationTest Automation
Test Automation
 
10 Benefits of Automated Testing
10 Benefits of Automated Testing10 Benefits of Automated Testing
10 Benefits of Automated Testing
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Test automation
Test automationTest automation
Test automation
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOps
 
Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...
 
Continuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and JmeterContinuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and Jmeter
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Visual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for DevelopersVisual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for Developers
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project report
 
Test automation within a scrum process
Test automation within a scrum processTest automation within a scrum process
Test automation within a scrum process
 
Introduction to Gauge
Introduction to GaugeIntroduction to Gauge
Introduction to Gauge
 
Test Automation and Continuous Integration
Test Automation and Continuous Integration Test Automation and Continuous Integration
Test Automation and Continuous Integration
 
Test automation - What? Why? How?
Test automation - What? Why? How?Test automation - What? Why? How?
Test automation - What? Why? How?
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture
 
Software testing
Software testingSoftware testing
Software testing
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 

Similar a Elements of a Test Framework

Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Shelley Lambert
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...Lohika_Odessa_TechTalks
 
Automation Test Framework
Automation Test FrameworkAutomation Test Framework
Automation Test FrameworkSachin-QA
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsMuhammad Shehata
 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to useUma Ghotikar
 
Shuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam Dutta
 
Shuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam Dutta
 
STLC (Software Testing Life Cycle)
STLC (Software Testing Life Cycle)STLC (Software Testing Life Cycle)
STLC (Software Testing Life Cycle)Ch Fahadi
 
Predictive Analytics based Regression Test Optimization
Predictive Analytics based Regression Test OptimizationPredictive Analytics based Regression Test Optimization
Predictive Analytics based Regression Test OptimizationSTePINForum
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Shivakumara .
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerRobbie Minshall
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingRichard Bishop
 
Automated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choiceAutomated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choicetoddbr
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationRanorex
 
Application Performance Tuning Techniques
Application Performance Tuning TechniquesApplication Performance Tuning Techniques
Application Performance Tuning TechniquesRam Nagesh
 

Similar a Elements of a Test Framework (20)

Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
 
Automation Test Framework
Automation Test FrameworkAutomation Test Framework
Automation Test Framework
 
Gcs day1
Gcs day1Gcs day1
Gcs day1
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to use
 
Shuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineering
 
Shuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineering
 
STLC (Software Testing Life Cycle)
STLC (Software Testing Life Cycle)STLC (Software Testing Life Cycle)
STLC (Software Testing Life Cycle)
 
Predictive Analytics based Regression Test Optimization
Predictive Analytics based Regression Test OptimizationPredictive Analytics based Regression Test Optimization
Predictive Analytics based Regression Test Optimization
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
 
Types of Testing
Types of TestingTypes of Testing
Types of Testing
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Automated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choiceAutomated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choice
 
Testing Process
Testing ProcessTesting Process
Testing Process
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test Automation
 
Application Performance Tuning Techniques
Application Performance Tuning TechniquesApplication Performance Tuning Techniques
Application Performance Tuning Techniques
 
testing
testingtesting
testing
 

Más de SmartBear

Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubEnforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubSmartBear
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1SmartBear
 
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...SmartBear
 
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...SmartBear
 
How LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubHow LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubSmartBear
 
Standardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesStandardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesSmartBear
 
Getting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubGetting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubSmartBear
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubAdopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubSmartBear
 
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...SmartBear
 
Effective API Lifecycle Management
Effective API Lifecycle Management Effective API Lifecycle Management
Effective API Lifecycle Management SmartBear
 
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...SmartBear
 
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...SmartBear
 
Artificial intelligence for faster and smarter software testing - Galway Mee...
Artificial intelligence for faster and smarter software testing  - Galway Mee...Artificial intelligence for faster and smarter software testing  - Galway Mee...
Artificial intelligence for faster and smarter software testing - Galway Mee...SmartBear
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSmartBear
 
The Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarThe Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarSmartBear
 
How Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products FasterHow Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products FasterSmartBear
 
Testing Without a GUI Using TestComplete
 Testing Without a GUI Using TestComplete Testing Without a GUI Using TestComplete
Testing Without a GUI Using TestCompleteSmartBear
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsSmartBear
 
How Bdd Can Save Agile
 How Bdd Can Save Agile How Bdd Can Save Agile
How Bdd Can Save AgileSmartBear
 
API Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesAPI Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesSmartBear
 

Más de SmartBear (20)

Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubEnforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHub
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1
 
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
 
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
 
How LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubHow LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHub
 
Standardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesStandardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial Services
 
Getting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubGetting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHub
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubAdopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHub
 
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
 
Effective API Lifecycle Management
Effective API Lifecycle Management Effective API Lifecycle Management
Effective API Lifecycle Management
 
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
 
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
 
Artificial intelligence for faster and smarter software testing - Galway Mee...
Artificial intelligence for faster and smarter software testing  - Galway Mee...Artificial intelligence for faster and smarter software testing  - Galway Mee...
Artificial intelligence for faster and smarter software testing - Galway Mee...
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile World
 
The Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarThe Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear Webinar
 
How Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products FasterHow Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products Faster
 
Testing Without a GUI Using TestComplete
 Testing Without a GUI Using TestComplete Testing Without a GUI Using TestComplete
Testing Without a GUI Using TestComplete
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
 
How Bdd Can Save Agile
 How Bdd Can Save Agile How Bdd Can Save Agile
How Bdd Can Save Agile
 
API Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesAPI Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship Rules
 

Último

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Último (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

Elements of a Test Framework

  • 1. Laying the Foundation for Enduring Success Part1: Elements of a Test Framework
  • 2. What is a Test Framework?
  • 3. Software Development Life Cycle Requirements Tests Defects What do we make and how should it behave Make sure it works as stated in the Requirement Definition Sets Environments Actual Results do not equal Expected Results
  • 4. What is a Test Framework? A Test Framework: • Links tests to other SDLC items • Is NOT a Test Automation Framework but often contains one • Allows for rapid creation of tests from reusable components • Separates data from logic (REUSABILITY) • Provides a standardized test “language” and reporting structure for an application under test
  • 5. How to Build a Test Framework—The 3 D’s Define
  • 6. 3 D’s of Testing: Define Define Workflows (the easy part) • Startwith requirements • Each requirementshouldbe at least one test case • Identify and detailcommon workflows thru the applicationundertest • If you use User Stories,you are already mostly there
  • 7. 3 D’s of Testing: Define Define Requirement Example: QAComplete.com ROI Calculator • Role:As a QAComplete Prospect • Perspective: Interestedin determiningwhat QAComplete can do for me • Context: On the ROI Calculatorpage in a web browser
  • 8. The 3 D’s of Testing: Define Define Example Workflow—QAComplete.com ROICalculator • The desired path with minimal variation • User selects values for the 4 inputs or leavesthe defaults • User reviewsthe 3 pieces of returned data • User clicksPrint • User clicksContact Us
  • 9. How to Build a Test Framework—The 3 D’s Decompose
  • 10. The 3 D’s of Testing: Decompose Decompose the Workflow • Definitions should be as reasonably atomic as possible, yet still useful • Break down: • Actions that provide an input (data) • Results of those actions • Workflow logic • Exit points from the workflow
  • 11. The 3 D’s of Testing: Decompose Decompose Workflow Example—QAComplete.com ROI Calculator 1.Userselectsortypesinavalueforteammembers 2.Userselectsortypesinavalueforrequirementsto beimplementedthisyear 3.Userselectsortypesinavaluefortestcasesper requirements 4.UserleavesSaaSasaselection,orswitchestoOn- Premise,orcanswitchbackandforth 5.QACompleteImplementationcostinUSD 6.SavingsavailableduetoQACompleteinUSD 7.ROIinthefirstyearasapercent 8.UsercanclickContactUslink 9.UsercanclickPrint,whichwillprovideaprintable versionof1-7 Inputs Outputs Exits
  • 12. The 3 D’s: Decompose Decompose Input Methods Workflow1 • UserSelectsSlider: • Input1:Teammembers • Input2:Requirementstobeimplementedthisyear • Input3:TestCasesperrequirement • Input4:UserleavesSaaSasaselection,orswitchestoOn-Premise, optiontoflipbackandforth Workflow2 • UserSelectsTyping: • Input1:Teammembers • Input2:Requirementstobeimplementedthisyear • Input3:TestCasesperrequirement • Input4:UserleavesSaaSasaselection,orswitchestoOn-Premise, optiontoflipbackandforth Checkpoints • Output5:QACompleteImplementation • Output6:SavingAvailableduetoQACompleteinUSD • Output7:ROIinthefirstyear Exit • UsercanclickContactUs • UsercanclickPrint
  • 13. How to Build a Test Framework—The 3 D’s Decide
  • 14. The 3 D’s of Testing: Decide What Environments /Contexts to Cover? • Operating Systems • Browsers • Devices (Mobile & Tablets) • Security Permissions • User Roles • Conflicting Software
  • 15. The 3 D’s of Testing: Decide What Tasks and Steps Repeat? • After decomposing all major workflows: • Find commonly reused steps and actions • Find actions and checks that use the same data • Example: Workflow 1 and Workflow 2 from the ROI Calculator
  • 16. The 3 D’s of Testing: Decide What to Automate? • EnvironmentSetup/Teardown • DataEntry • FormFilling • Varyingdatainputsinarepetitiveprocess • Exposingbackenddata(APIs,DBtable,etc…) • Repetitive/boringtasksthatarepronetoinattentionerrors • Taskswithhighreusevalueacrossmanyworkflows • Testswithtimingorscreenresponsivenessasacriteriaforsuccess • Manynon-functionaltesttypes,suchasperformancetesting • Captureresults
  • 17. Elements of a Test Framework
  • 18. Software Development Life Cycle Requirements Tests Defects What do we make and how should it behave Make sure it works as stated in the Requirement Definition Sets Environments Actual Results do not equal Expected Results
  • 19. Elements of a Test Framework • Library • Test Data Sources • HelperFunctions • Test Environments • Modules • Structure/ Hierarchies
  • 20. Elements of a Test Framework • Library:Arepositoryofallyourdecomposedscripts,separatedintotheircomponents. • Example:InputsonlyfromWorkflow2,separatedfromInputsselectedbysliderinWorkflow1,separatefrom thecheckpointsusedinboth • TestDataSources:Arepositoryofalldatasources • Example:Inputsandexpectedresultsusedbybothworkflowsisonedatasources • HelperFunctions:Arepositoryofalldecomposedtestscripts,automatedormanual,thatarenotinputsorchecks • Example:Setupscripts,cleanupscripts,backenddatacapture,other“tasks” • TestEnvironments:Alistofallcoveredtestingenvironments,brokenoutbytape(OS,Browser…) • Bestwhencombinedwithassociatedhelperfunctionssuchassetupscriptsandaccessinformation
  • 21. Elements of a Test Framework Modules • Thecombinationoflibraryitemswithanyhelper functionsandtestdatasources—plusenvironments • Example:ROICalculator • Workflow1inputs“ROIslider”usingData SourceA • ROICalculatorChecksusingDataSourceA • Workflow2inputs“ROItypein”usingData SourceA • ROICalculatorChecksusingDataSourceA • RepeatforCoveredEnvironments:IE, Chrome,Firefox,etc. Structure/Hierarchies • The“folder”structureofmodules • Oftenorganizedinasimilarformatastheapplication undertest • Groupedinparent/childrelationships
  • 22. Elements of a Test Framework Defects • Importanttorelatetotestsfor retesting • Importanttorelateto requirementsfor“brokenas designed” Releases • Listofallchangingrequirements ingivenperiod/build • Agreatframeworkcanbuildit’s testplanjustfromthislistasthe planisequaltoalllinked requirementsandtheirtests Requirements • Mustberelatedtotestsfor coveragereportingtoensurethat allchangesaretested • Feedstestdesign
  • 23. Join us at 8:30 AM | 2:00 PM EDT November 7th https://smartbear.com/resources/webinars/elements-of-a-ui-automation-framework/ Carson Underwood QA Engineer O’Reilly Auto Parts Bria Grangard Product Marketing Manager SmartBear Software

Notas del editor

  1. Bria
  2. Bria
  3. Bria leads, Jeff adds comments (feel free to interrupt but Bria will initiate conversation because she actually understands this slide) Let’s star high level with the software development lifecycle. While you all are probably very familiar with this let’s talk about some points. Requirements. Where it all begins. What do we want to make, what will we make, and how should whatever we make really behave. Need to have a solid foundation for success… you need to know what your requirements are and what you want them to accomplish. No confusion. It’s kind of like taking that moment to prepare for your essay before you write it. For Tests you can have multiple types of tests. Test Definition Test set What environments you want to run the test on-operating systems, browsers, resolutions, etc. Defects—it’s inevitable. Your tests are going to find some bugs and there will be some problem. But if you have a defect you want to be able to log it properly and tie it to the correct test and requirement. Releases—all of these things are encapsulated in a release. What are you pushing out for the next major or minor release/build.
  4. Jeff leads
  5. Bria
  6. Bria leads Framework starts as a collection of workflows Every requirement should have some associated tests. You shouldn’t have a requirement without a test because then how do you know whether or not your requirement is successful. It’s important to look and see if there is a common thread between your workflows for the application under test and if so… note them. These will be important later as you continue to build out your test framework You may be using user stories.. If this is the case you’re already almost there for defining your workflows
  7. Bria leads Now let us walk you through an example. Recently I was working on a project-–QAComplete.com. For this website I needed to define my requirements. In order to do this I needed to put myself in the place of whomever will be visiting this website. This is important to get perspective of what is necessary. Role: sets expectations, is a way to fill in unwritten requirements Perspective: separate from role to make later reporting easier, provides insight into desires and mindset Context: very important as it provides a starting point AND ENVIRONMENT, in more complex tests provides input data as well—you cannot forget this part of things and sometimes people do. What is the context in which you are defining your requirements.
  8. Jeff leads
  9. Jeff leads
  10. Jeff leads Little bit of an art and usually requires knowledge of the application under test
  11. Bria leads—Jeff definitely adds comments lol Note there is no Data, but formats are specified
  12. Jeff leads
  13. Bria leads
  14. Bria leads So now it’s time to make some decisions. You’ve defined key things to be successful, and you’ve broken them down into various parts, but now you have to make some decisions for each part. S…me of these decisions may include.
  15. Jeff leads
  16. Jeff leads—Bria interjects
  17. Bria leads
  18. Bria leads Let’s bring it back. We know about how to craft a testing framework but what are the actual elements of the testing framework for every stage of the SDLC
  19. Jeff leads
  20. Jeff Leads It may be helpful to specify INPUTS, OUTPUTS, Logic, and exits There are implicit exits as well (close window, click to other area of website)
  21. Jeff leads
  22. Bria