SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Why do we care about the data used by
the system under test?
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Data Strategies
PAUL MERRILL
@dpaulmerrill
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Agenda
Define Terms
Identify Constraints
Walk Through Examples
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Define Terms
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Define Terms
Data Strategy - the combination of code,
procedure and infrastructure that affect how
tests interact with data to stimulate the
System Under Test (SUT).
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Define Terms
Signed Data - data which has been
modified so that it is easily recognizable.
For example, an account with a user name
like “TestUser” or an email address like
“automated@testing.com”
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Define Terms
Constraint - a characteristic that applies a
force in a way that is limiting to an
automated test or its environment.
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Define Terms
Constraints factor down to:
Policy
Cost
Test Expectations
Infrastructure
People
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Identify Constraints
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Examples of Constraints
Shared Environment
– Cost
– Policy
– Infrastructure
Downtime
– Policy
– Cost
– People
Technical Skills
– Cost
– People
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Examples of Constraints
Data Source Growth
– Cost
– Policy
– Infrastructure
Repeatable Tests
– Policy
– Test Expectations
– People
– Infrastructure
Data Variance
– Policy
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Example Data Strategies
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Strategies Have 2 Parts:
Creational Strategy - how and when data
is created.
Cleanup Strategy - the method by which
a data source is returned to a benign
state.
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Elementary Approach
Creation - Tests assume specific data in
SUT - no creational strategy
Clean up - No clean-up strategy, no
management of data
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Elementary Approach
SUT
Execution 1
Execution 2
Execution 3
Data
Source
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Elementary Approach
Pros:
Simple
No implementation
(quick)
Cons:
Tests are not
repeatable
No isolation of data
Does not work on
different systems
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Refresh Data Source Approach
Creation - Tests assume specific data in
SUT
Cleanup - Data managed by refreshing the
data source prior to test execution
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Refresh Data Source Approach
SUT
Execution 1
Data
Source
Refresh
Execution 2
Refresh
Execution 3
Refresh
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Refresh Data Source Approach
Pros:
Clean test bed (data-
wise) per test
Uniform, one-size-fits-
all process
No variance of data
Less time/cost to
implement
Total control of data
Cons:
Timely
Requires Downtime
Blocks shared
environments
No variance of data
Stale data over time
Doesn’t work on
different systems
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Selfish Data Generation
Creation - Tests create the data they need
in SUT
Clean up - No management of data after
generation
May be random (e.g. via Faker)
Create with batch process or in test
Create via SUT or directly in Data Source
Create In-test or pre-test
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Selfish Data Generation
SUT
Execution 1
Execution 2
Execution 3
Data
Source
Generate Data
Generate Data
Generate Data
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Selfish Data Generation
Pros:
Unique data per test
Does not block shared
environments
No downtime
No stale data
Tests can run anywhere
Tests become
repeatable
Cons:
Unchecked growth of
data source
Requires understanding
of data model
Tests need to know
about data
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Data Generation & Batch Cleanup
Creation - Data generated for each test
Cleanup - Data cleaned up after test run
Clean up may happen in data source or
via SUT
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Data Generation & Batch Cleanup
SUT
Execution 1
Execution 2
Execution 3
Data
Source
Generate Data
Generate Data
Generate Data
Batch Clean up
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Data Generation & Batch Cleanup
Pros:
Unique data per test
Does not block shared
environments
Minimal downtime
No stale data
Growth of data source
kept in check
Tests run anywhere
Tests are repeatable
Cons:
Requires deep
understanding of data
model
Must know what to clean
Significant scaffolding
must be created
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Data Generation & Immediate Cleanup
Creation - tests generate their own data
Clean up - for each test case immediately
after execution
Uses a TearDown method supplied by the
framework
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Data Generation & Immediate Cleanup
SUT
Execution 1
Execution 2
Execution 3
Data
Source
Generate Data
Generate Data
Generate Data
Clean up
Clean up
Clean up
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Data Generation & Immediate Cleanup
Pros:
Tests are repeatable
Unique data per test
Does not block shared
environments
Minimal downtime
No stale data
Growth of data source kept in
check
No data left over from other
tests
Tests run anywhere
Cons:
Requires deep
understanding of data model
Must know what to clean
Significant scaffolding must
be created
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Creational Strategies
Elementary Refreshed Data
Source
Data Generation
Shared
Environment
Low Downtime
Repeatable
Tests
Data Variance
Minimal Data
Growth
Significant
Technical Skills
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Cleanup Strategies
Elementary
(none)
Refresh
Data
Source
Batch Immediate (Signed,
Marked or Persisted)
Shared
Environment
Low
Downtime
Repeatable
Tests
Strong
Technical
Skills
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
How do we know what data to
clean up?
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Signed Data
Record Name: “test_21323”
Field Name: “Record Name”
Format: “test_<random5digs>”
Persist in:
– a data source
– code
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Marked Data
An “isTestData” field or
Data that is otherwise known to be test
data because of its format or type, for
example:
– A “test user” created it
– Linked to known test denotation
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Internally Persisted Data
Keep a list in memory:
– userIds:
• 12312
• 4322
• 23423
– emailIds:
• 12312
• 423423
• 234
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Externally Persisted Data
Keep a record in a data source:
– userIds:
• 12312
• 4322
• 23423
– emailIds:
• 12312
• 423423
• 234
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
In Review
Defined Terms
Identified Constraints
Walked Through Examples
www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved
Thank you!
PAUL MERRILL
@dpaulmerrill

Más contenido relacionado

Similar a Data Strategies in Testing

Information Flow Mechanism in Data warehouse
Information Flow Mechanism in Data warehouseInformation Flow Mechanism in Data warehouse
Information Flow Mechanism in Data warehouseGunjanShree1
 
Whose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problemsWhose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problemsSage Computing Services
 
Performance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and ApexPerformance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and ApexSalesforce Developers
 
Data integrity cGMP requirements
Data integrity  cGMP  requirementsData integrity  cGMP  requirements
Data integrity cGMP requirementsShamik (Sam) Pandit
 
Presentation on data integrity in Pharmaceutical Industry
Presentation on data integrity in Pharmaceutical IndustryPresentation on data integrity in Pharmaceutical Industry
Presentation on data integrity in Pharmaceutical IndustrySathish Vemula
 
Failure analysis buisness impact-backup-archive
Failure analysis buisness impact-backup-archiveFailure analysis buisness impact-backup-archive
Failure analysis buisness impact-backup-archiveDavin Abraham
 
MetaSuite and_hp_quality_center_enterprise
MetaSuite and_hp_quality_center_enterpriseMetaSuite and_hp_quality_center_enterprise
MetaSuite and_hp_quality_center_enterpriseMinerva SoftCare GmbH
 
Reversing Engineering a Web Application - For fun, behavior and detection
Reversing Engineering a Web Application - For fun, behavior and detectionReversing Engineering a Web Application - For fun, behavior and detection
Reversing Engineering a Web Application - For fun, behavior and detectionRodrigo Montoro
 
Mind Map Test Data Management Overview
Mind Map Test Data Management OverviewMind Map Test Data Management Overview
Mind Map Test Data Management Overviewdublinx
 
Pre-Con Ed: Managing Test Data Across Distributed and Mainframe Systems
Pre-Con Ed: Managing Test Data Across Distributed and Mainframe SystemsPre-Con Ed: Managing Test Data Across Distributed and Mainframe Systems
Pre-Con Ed: Managing Test Data Across Distributed and Mainframe SystemsCA Technologies
 
Preparing for GDPR
Preparing for GDPRPreparing for GDPR
Preparing for GDPRGenRocket
 
Automation – Way Forward to Achieve Data Integrity
Automation – Way Forward to Achieve Data IntegrityAutomation – Way Forward to Achieve Data Integrity
Automation – Way Forward to Achieve Data IntegrityMukunth Venkatesan
 
MuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial Modernization
MuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial ModernizationMuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial Modernization
MuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial ModernizationJitendra Bafna
 
DP-203T00 Microsoft Azure Data Engineering-08.pptx
DP-203T00 Microsoft Azure Data Engineering-08.pptxDP-203T00 Microsoft Azure Data Engineering-08.pptx
DP-203T00 Microsoft Azure Data Engineering-08.pptxssuser45b0e7
 
Merging and Migrating: Data Portability from the Trenches
Merging and Migrating: Data Portability from the TrenchesMerging and Migrating: Data Portability from the Trenches
Merging and Migrating: Data Portability from the TrenchesAtlassian
 
Techniques for effective test data management in test automation.pptx
Techniques for effective test data management in test automation.pptxTechniques for effective test data management in test automation.pptx
Techniques for effective test data management in test automation.pptxKnoldus Inc.
 
Windows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeology
Windows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeologyWindows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeology
Windows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeologyMichael Gough
 

Similar a Data Strategies in Testing (20)

Information Flow Mechanism in Data warehouse
Information Flow Mechanism in Data warehouseInformation Flow Mechanism in Data warehouse
Information Flow Mechanism in Data warehouse
 
ETL Process
ETL ProcessETL Process
ETL Process
 
Whose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problemsWhose fault is it? - a review of application tuning problems
Whose fault is it? - a review of application tuning problems
 
Performance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and ApexPerformance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and Apex
 
Data integrity cGMP requirements
Data integrity  cGMP  requirementsData integrity  cGMP  requirements
Data integrity cGMP requirements
 
Presentation on data integrity in Pharmaceutical Industry
Presentation on data integrity in Pharmaceutical IndustryPresentation on data integrity in Pharmaceutical Industry
Presentation on data integrity in Pharmaceutical Industry
 
Failure analysis buisness impact-backup-archive
Failure analysis buisness impact-backup-archiveFailure analysis buisness impact-backup-archive
Failure analysis buisness impact-backup-archive
 
Data integrity
Data integrityData integrity
Data integrity
 
MetaSuite and_hp_quality_center_enterprise
MetaSuite and_hp_quality_center_enterpriseMetaSuite and_hp_quality_center_enterprise
MetaSuite and_hp_quality_center_enterprise
 
Reversing Engineering a Web Application - For fun, behavior and detection
Reversing Engineering a Web Application - For fun, behavior and detectionReversing Engineering a Web Application - For fun, behavior and detection
Reversing Engineering a Web Application - For fun, behavior and detection
 
Large Data Management Strategies
Large Data Management StrategiesLarge Data Management Strategies
Large Data Management Strategies
 
Mind Map Test Data Management Overview
Mind Map Test Data Management OverviewMind Map Test Data Management Overview
Mind Map Test Data Management Overview
 
Pre-Con Ed: Managing Test Data Across Distributed and Mainframe Systems
Pre-Con Ed: Managing Test Data Across Distributed and Mainframe SystemsPre-Con Ed: Managing Test Data Across Distributed and Mainframe Systems
Pre-Con Ed: Managing Test Data Across Distributed and Mainframe Systems
 
Preparing for GDPR
Preparing for GDPRPreparing for GDPR
Preparing for GDPR
 
Automation – Way Forward to Achieve Data Integrity
Automation – Way Forward to Achieve Data IntegrityAutomation – Way Forward to Achieve Data Integrity
Automation – Way Forward to Achieve Data Integrity
 
MuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial Modernization
MuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial ModernizationMuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial Modernization
MuleSoft Surat Meetup#53 - MuleSoft for Clinical Trial Modernization
 
DP-203T00 Microsoft Azure Data Engineering-08.pptx
DP-203T00 Microsoft Azure Data Engineering-08.pptxDP-203T00 Microsoft Azure Data Engineering-08.pptx
DP-203T00 Microsoft Azure Data Engineering-08.pptx
 
Merging and Migrating: Data Portability from the Trenches
Merging and Migrating: Data Portability from the TrenchesMerging and Migrating: Data Portability from the Trenches
Merging and Migrating: Data Portability from the Trenches
 
Techniques for effective test data management in test automation.pptx
Techniques for effective test data management in test automation.pptxTechniques for effective test data management in test automation.pptx
Techniques for effective test data management in test automation.pptx
 
Windows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeology
Windows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeologyWindows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeology
Windows Logging Cheat Sheet ver Jan 2016 - MalwareArchaeology
 

Último

Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024MulesoftMunichMeetup
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024vaibhav130304
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationElement34
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionWave PLM
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAShane Coughlan
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...naitiksharma1124
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)Roberto Bettazzoni
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Andrea Goulet
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationHelp Desk Migration
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfkalichargn70th171
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024Shane Coughlan
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfMehmet Akar
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfsteffenkarlsson2
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Gáspár Nagy
 
Sourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing ManufacturerSourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing ManufacturerWave PLM
 
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...CloudMetic
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Soroosh Khodami
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfDeskTrack
 

Último (20)

Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
Sourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing ManufacturerSourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing Manufacturer
 
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 

Data Strategies in Testing

  • 1. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Why do we care about the data used by the system under test?
  • 2. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Data Strategies PAUL MERRILL @dpaulmerrill
  • 3. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Agenda Define Terms Identify Constraints Walk Through Examples
  • 4. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Define Terms
  • 5. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Define Terms Data Strategy - the combination of code, procedure and infrastructure that affect how tests interact with data to stimulate the System Under Test (SUT).
  • 6. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Define Terms Signed Data - data which has been modified so that it is easily recognizable. For example, an account with a user name like “TestUser” or an email address like “automated@testing.com”
  • 7. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Define Terms Constraint - a characteristic that applies a force in a way that is limiting to an automated test or its environment.
  • 8. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Define Terms Constraints factor down to: Policy Cost Test Expectations Infrastructure People
  • 9. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Identify Constraints
  • 10. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Examples of Constraints Shared Environment – Cost – Policy – Infrastructure Downtime – Policy – Cost – People Technical Skills – Cost – People
  • 11. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Examples of Constraints Data Source Growth – Cost – Policy – Infrastructure Repeatable Tests – Policy – Test Expectations – People – Infrastructure Data Variance – Policy
  • 12. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Example Data Strategies
  • 13. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Strategies Have 2 Parts: Creational Strategy - how and when data is created. Cleanup Strategy - the method by which a data source is returned to a benign state.
  • 14. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Elementary Approach Creation - Tests assume specific data in SUT - no creational strategy Clean up - No clean-up strategy, no management of data
  • 15. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Elementary Approach SUT Execution 1 Execution 2 Execution 3 Data Source
  • 16. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Elementary Approach Pros: Simple No implementation (quick) Cons: Tests are not repeatable No isolation of data Does not work on different systems
  • 17. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Refresh Data Source Approach Creation - Tests assume specific data in SUT Cleanup - Data managed by refreshing the data source prior to test execution
  • 18. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Refresh Data Source Approach SUT Execution 1 Data Source Refresh Execution 2 Refresh Execution 3 Refresh
  • 19. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Refresh Data Source Approach Pros: Clean test bed (data- wise) per test Uniform, one-size-fits- all process No variance of data Less time/cost to implement Total control of data Cons: Timely Requires Downtime Blocks shared environments No variance of data Stale data over time Doesn’t work on different systems
  • 20. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Selfish Data Generation Creation - Tests create the data they need in SUT Clean up - No management of data after generation May be random (e.g. via Faker) Create with batch process or in test Create via SUT or directly in Data Source Create In-test or pre-test
  • 21. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Selfish Data Generation SUT Execution 1 Execution 2 Execution 3 Data Source Generate Data Generate Data Generate Data
  • 22. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Selfish Data Generation Pros: Unique data per test Does not block shared environments No downtime No stale data Tests can run anywhere Tests become repeatable Cons: Unchecked growth of data source Requires understanding of data model Tests need to know about data
  • 23. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Data Generation & Batch Cleanup Creation - Data generated for each test Cleanup - Data cleaned up after test run Clean up may happen in data source or via SUT
  • 24. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Data Generation & Batch Cleanup SUT Execution 1 Execution 2 Execution 3 Data Source Generate Data Generate Data Generate Data Batch Clean up
  • 25. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Data Generation & Batch Cleanup Pros: Unique data per test Does not block shared environments Minimal downtime No stale data Growth of data source kept in check Tests run anywhere Tests are repeatable Cons: Requires deep understanding of data model Must know what to clean Significant scaffolding must be created
  • 26. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Data Generation & Immediate Cleanup Creation - tests generate their own data Clean up - for each test case immediately after execution Uses a TearDown method supplied by the framework
  • 27. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Data Generation & Immediate Cleanup SUT Execution 1 Execution 2 Execution 3 Data Source Generate Data Generate Data Generate Data Clean up Clean up Clean up
  • 28. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Data Generation & Immediate Cleanup Pros: Tests are repeatable Unique data per test Does not block shared environments Minimal downtime No stale data Growth of data source kept in check No data left over from other tests Tests run anywhere Cons: Requires deep understanding of data model Must know what to clean Significant scaffolding must be created
  • 29. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Creational Strategies Elementary Refreshed Data Source Data Generation Shared Environment Low Downtime Repeatable Tests Data Variance Minimal Data Growth Significant Technical Skills
  • 30. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Cleanup Strategies Elementary (none) Refresh Data Source Batch Immediate (Signed, Marked or Persisted) Shared Environment Low Downtime Repeatable Tests Strong Technical Skills
  • 31. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved How do we know what data to clean up?
  • 32. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Signed Data Record Name: “test_21323” Field Name: “Record Name” Format: “test_<random5digs>” Persist in: – a data source – code
  • 33. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Marked Data An “isTestData” field or Data that is otherwise known to be test data because of its format or type, for example: – A “test user” created it – Linked to known test denotation
  • 34. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Internally Persisted Data Keep a list in memory: – userIds: • 12312 • 4322 • 23423 – emailIds: • 12312 • 423423 • 234
  • 35. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Externally Persisted Data Keep a record in a data source: – userIds: • 12312 • 4322 • 23423 – emailIds: • 12312 • 423423 • 234
  • 36. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved In Review Defined Terms Identified Constraints Walked Through Examples
  • 37. www.beaufortfairmont.com 984.244.2313© 2016 Beaufort Fairmont, LLC All rights reserved Thank you! PAUL MERRILL @dpaulmerrill