SlideShare a Scribd company logo
1 of 29
Download to read offline
Quality assurance of FME
scripts
FME
User
Conference
20
22
Gitter is a Swedish IT consulting
company focused on providing GIS
solutions mainly in the areas of energy,
infrastructure, public environments and
forestry.
20
22
FME
User
Conference
Feel Safe
How to test your models and
Changing a model or updating software?
20
22
FME
User
Conference
Agenda
We will present a test method for quality assurance of
FME models (scripts or custom transformers) that is not
based on defining test cases but instead works by
comparing features at different measure-points in a
model to assure that data has not changed in an
unwanted way after updating a model or component. We
will also talk about how to automate tests in Azure
DevOps.
In this presentation:
● The challenge
● A real case
● Our solution
● Test automation
● Conclusions
20
22
FME
User
Conference
The challenge of maintaining complex FME models
20
22
FME
User
Conference
Challenge
FME makes it possible to solve complex problems,
however that often leads to complex models which
are:
- difficult and time consuming to verify
Typical scenarios when tests are needed:
- developing a new model
- updating an existing model
- updating FME version, transformer versions or
dependent components (for example ArcGIS)
20
22
FME
User
Conference
What we updated
• FME Server: FME 2017.1 to FME 2020.2
• ArcGIS 10.3.1 to ArcGIS 10.6.1
• The models were not updated
What happened
FME DateTime functions returned a <null> value in the model WHEN:
• arcpy was used in a PythonCaller
AND
• the DateTime functions were used after the PythonCaller
Total number of models: > 100
Number of models affected by the unexpected behaviour: <5%
Reason:
The combination FME 2020.2 and ArcGIS 10.6.1 resulted in this unexpected behaviour.
When the unexpected happens
A real
case
20
22
FME
User
Conference
Sequence that did not work
Result: _timestamp = <null>
Sequence that worked
Result: _timestamp = 20220611102232
When the unexpected happens
A real
case
20
22
FME
User
Conference
▪ All scripts were published to a FME Server in a test environment
▪ The scripts were scheduled and ran during a test period
▪ The scripts were updating more than 700 tables and just 20 were affected
by the error
▪ Most of the tables were used for background information in map services
▪ We never found the errors during the test period
▪ The errors were found after publishing to FME Server production
environment
Data verification:
Only manual inspections were performed
When the unexpected happens
A real
case
20
22
FME
User
Conference
With appropriate test methods
we should have been able to find
this unwanted behaviour
Could we have found this
behaviour at an earlier stage?
20
22
FME
User
Conference
Our solution
20
22
FME
User
Conference
Our solution
To be able to find the unwanted behaviour described earlier we need
a test that:
▪ is easy to implement in existing models
▪ can identify where information differs from the expected for any
given point of measure in a model
Idea
• Save FFS files at different measure points in the models that can be
used to compare the results, before and after the updates
20
22
FME
User
Conference
Step1 - Generate a baseline (before any updates)
TestTool
Transformers
TestTool
Settings:
- Generate Baseline
- START
- UniqueName
- 1000 (no of objects to save)
Settings:
- Generate Baseline
- STOP
- UniqueName
- 1000
The tool is used before and
after the transformers in the
model that should be tested
20
22
FME
User
Conference
Step 2 – Collect data (after any updates)
TestTool TestTool
Settings:
- Collect data for test
- START
- UniqueName
- 1000 objects
Settings:
- Collect data for test
- STOP
- UniqueName
- 1000 objects
BASELINE_START data is read back
into the flow (pipeline) to assure that
same data enters the transformers.
Transformers
20
22
FME
User
Conference
Step 3 - Analysis
A separate model analyses the FFS files generated during the baseline- and collect runs at the stop measure
points.
Any differences between the files are identified and logged.
Data at the STOP measure points
are analysed
FME
User
Conference
20
22
Example – Report.html
20
22
FME
User
Conference
Summary
The TestTool is a custom transformer that is easy to
add to existing models and is used to save FFS files
at different points in a model.
The TestTool can be used in a passthrough mode.
The analysis model is used to compare FFS files at
STOP points and reports any differences.
20
22
FME
User
Conference
What do we need to be able to
run the tests systematically?
Test Automation!
20
22
FME
User
Conference
Test automation
20
22
FME
User
Conference
Benefits of test automation
- Tests runs automatically without human intervention when models are pushed into
a repository
- Untested models are not deployed into production
- Manual testing is time consuming
- The test results are transparent and instantly visible for all developers
- Continuous testing minimizes the risk that any contribution introduces errors in the
model
As software developers, test automation is a natural part in the software developing
process.
20
22
FME
User
Conference
Test automation in Azure DevOps
Gitter and most of our
customers are using Azure
DevOps in the software
developing process.
DevOps pipelines are a proven
way to support test automation.
Place your screen capture here
20
22
FME
User
Conference
Implementation of test automation for
FME models in Azure DevOps
Azure DevOps
On-prem server
Local development environment
triggers pipeline
push
code
and
tests
run tests
run tests
r
e
a
d
q
u
e
u
e
a
n
d
d
o
w
n
l
o
a
d
c
o
d
e
w
r
i
t
e
r
e
s
u
l
t
self
hosted
agent
20
22
FME
User
Conference
Example - Test result
20
22
FME
User
Conference
Conclusions
20
22
FME
User
Conference
Summary
FME and FME Server has become a central and
important software and integration platform and
deploying untested models may cause severe
consequences.
Our customers asks for quality assurance
Today we presented one test method that verified a
specific problem. However other methods are needed to
achieve full test coverage.
We are aware of previous work in this field within the
fme community, e.g. rTest
We feel that established test methodologies and test
frameworks for FME are missing
20
22
FME
User
Conference
Call to Action
We would like to propose:
- Safe together with partners and users
work for establishing recognized test
methodologies, frameworks and best
practices.
20
22
FME
User
Conference
Questions?
Thank You!
johan.esko@gitter.se
magnus.astrom@gitter.se
20
22
FME
User
Conference
Please Share Your Session Feedback
Log in & navigate to the
agenda. Select the
session you attended
Scroll down to “Session
Feedback”
Download EventMobi app
Event code: fmeuc
Click “Launch App”
Fill out the survey
and submit

More Related Content

What's hot

Modelling Trees with FME
Modelling Trees with FMEModelling Trees with FME
Modelling Trees with FMESafe Software
 
Sql server backup internals
Sql server backup internalsSql server backup internals
Sql server backup internalsHamid J. Fard
 
Webhooks in FME Server, Cityworks & GIS Applications
Webhooks in FME Server, Cityworks & GIS ApplicationsWebhooks in FME Server, Cityworks & GIS Applications
Webhooks in FME Server, Cityworks & GIS ApplicationsSafe Software
 
IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation khawkwf
 
Coordinate Systems in FME 101
Coordinate Systems in FME 101 Coordinate Systems in FME 101
Coordinate Systems in FME 101 Safe Software
 
Understanding Microsoft Teams Security & Compliance features and plan for Gov...
Understanding Microsoft Teams Security & Compliance features and plan for Gov...Understanding Microsoft Teams Security & Compliance features and plan for Gov...
Understanding Microsoft Teams Security & Compliance features and plan for Gov...Ravikumar Sathyamurthy
 
CityGML Integration Into the ArcGIS Platform
CityGML Integration Into the ArcGIS PlatformCityGML Integration Into the ArcGIS Platform
CityGML Integration Into the ArcGIS PlatformSafe Software
 
Introdução ao GeoServer 2.0
Introdução ao GeoServer 2.0Introdução ao GeoServer 2.0
Introdução ao GeoServer 2.0Fernando Quadro
 
HPE Infosight: introduction & demo
HPE Infosight: introduction & demoHPE Infosight: introduction & demo
HPE Infosight: introduction & demoXylos
 
MySql Practical Partitioning
MySql Practical PartitioningMySql Practical Partitioning
MySql Practical PartitioningAndrei Tsibets
 
Presentacion System Center - Microsoft
Presentacion System Center - MicrosoftPresentacion System Center - Microsoft
Presentacion System Center - MicrosoftEugenio Guzman
 
Wily introscope 7.1 installation guide
Wily introscope 7.1   installation guideWily introscope 7.1   installation guide
Wily introscope 7.1 installation guideImam Nurhadi
 
M365 admin center overview - November 2018
M365 admin center overview - November 2018M365 admin center overview - November 2018
M365 admin center overview - November 2018Matthew Ruderman
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusMahmoud Ezzat
 
How to Synchronize ArcGIS Portal Items with FME
How to Synchronize ArcGIS Portal Items with FMEHow to Synchronize ArcGIS Portal Items with FME
How to Synchronize ArcGIS Portal Items with FMESafe Software
 

What's hot (20)

Modelling Trees with FME
Modelling Trees with FMEModelling Trees with FME
Modelling Trees with FME
 
Sql server backup internals
Sql server backup internalsSql server backup internals
Sql server backup internals
 
Webhooks in FME Server, Cityworks & GIS Applications
Webhooks in FME Server, Cityworks & GIS ApplicationsWebhooks in FME Server, Cityworks & GIS Applications
Webhooks in FME Server, Cityworks & GIS Applications
 
IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation IBM Cloud Pak for Integration 2020.2.1 installation
IBM Cloud Pak for Integration 2020.2.1 installation
 
Coordinate Systems in FME 101
Coordinate Systems in FME 101 Coordinate Systems in FME 101
Coordinate Systems in FME 101
 
Managing File Transfers (MFT)
Managing File Transfers (MFT)Managing File Transfers (MFT)
Managing File Transfers (MFT)
 
VDI Best Practices
VDI Best PracticesVDI Best Practices
VDI Best Practices
 
Understanding Microsoft Teams Security & Compliance features and plan for Gov...
Understanding Microsoft Teams Security & Compliance features and plan for Gov...Understanding Microsoft Teams Security & Compliance features and plan for Gov...
Understanding Microsoft Teams Security & Compliance features and plan for Gov...
 
CityGML Integration Into the ArcGIS Platform
CityGML Integration Into the ArcGIS PlatformCityGML Integration Into the ArcGIS Platform
CityGML Integration Into the ArcGIS Platform
 
Qu'est ce qu'office 365
Qu'est ce qu'office 365Qu'est ce qu'office 365
Qu'est ce qu'office 365
 
Introdução ao GeoServer 2.0
Introdução ao GeoServer 2.0Introdução ao GeoServer 2.0
Introdução ao GeoServer 2.0
 
HPE Infosight: introduction & demo
HPE Infosight: introduction & demoHPE Infosight: introduction & demo
HPE Infosight: introduction & demo
 
MySql Practical Partitioning
MySql Practical PartitioningMySql Practical Partitioning
MySql Practical Partitioning
 
Presentacion System Center - Microsoft
Presentacion System Center - MicrosoftPresentacion System Center - Microsoft
Presentacion System Center - Microsoft
 
Wily introscope 7.1 installation guide
Wily introscope 7.1   installation guideWily introscope 7.1   installation guide
Wily introscope 7.1 installation guide
 
Active Directory
Active DirectoryActive Directory
Active Directory
 
M365 admin center overview - November 2018
M365 admin center overview - November 2018M365 admin center overview - November 2018
M365 admin center overview - November 2018
 
Data Access Patterns
Data Access PatternsData Access Patterns
Data Access Patterns
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
How to Synchronize ArcGIS Portal Items with FME
How to Synchronize ArcGIS Portal Items with FMEHow to Synchronize ArcGIS Portal Items with FME
How to Synchronize ArcGIS Portal Items with FME
 

Similar to Quality Assurance of FME Scripts

Automated Testing - How to Guarantee Correct FME Output Every Time
Automated Testing - How to Guarantee Correct FME Output Every TimeAutomated Testing - How to Guarantee Correct FME Output Every Time
Automated Testing - How to Guarantee Correct FME Output Every TimeSafe Software
 
UVM_Full_Print_n.pptx
UVM_Full_Print_n.pptxUVM_Full_Print_n.pptx
UVM_Full_Print_n.pptxnikitha992646
 
Mastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FMEMastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FMESafe Software
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Track g semiconductor test program - testinsight
Track g  semiconductor test program - testinsightTrack g  semiconductor test program - testinsight
Track g semiconductor test program - testinsightchiportal
 
Seretta Gamba - A Sneaky Way to Introduce More Automated Testing
Seretta Gamba - A Sneaky Way to Introduce More Automated TestingSeretta Gamba - A Sneaky Way to Introduce More Automated Testing
Seretta Gamba - A Sneaky Way to Introduce More Automated TestingTEST Huddle
 
Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)Nicholas Bowman
 
Automated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in ActionAutomated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in ActionAANDTech
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationIRJET Journal
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsQuontra Solutions
 
Qa case study
Qa case studyQa case study
Qa case studyhopperdev
 
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
 
Empowering Users with Best Practices, Tips, and Tricks.pptx.pdf
Empowering Users with Best Practices, Tips, and Tricks.pptx.pdfEmpowering Users with Best Practices, Tips, and Tricks.pptx.pdf
Empowering Users with Best Practices, Tips, and Tricks.pptx.pdfSafe Software
 
rTest - The Testing Tool for FME Workspace
rTest - The Testing Tool for FME WorkspacerTest - The Testing Tool for FME Workspace
rTest - The Testing Tool for FME WorkspaceSafe Software
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQMIBM Rational
 
Incorporating VM Technology Into Your Automated Testing
Incorporating VM Technology Into Your Automated TestingIncorporating VM Technology Into Your Automated Testing
Incorporating VM Technology Into Your Automated Testingdmyakovlev
 

Similar to Quality Assurance of FME Scripts (20)

Automated Testing - How to Guarantee Correct FME Output Every Time
Automated Testing - How to Guarantee Correct FME Output Every TimeAutomated Testing - How to Guarantee Correct FME Output Every Time
Automated Testing - How to Guarantee Correct FME Output Every Time
 
UVM_Full_Print_n.pptx
UVM_Full_Print_n.pptxUVM_Full_Print_n.pptx
UVM_Full_Print_n.pptx
 
Mastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FMEMastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FME
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Track g semiconductor test program - testinsight
Track g  semiconductor test program - testinsightTrack g  semiconductor test program - testinsight
Track g semiconductor test program - testinsight
 
Seretta Gamba - A Sneaky Way to Introduce More Automated Testing
Seretta Gamba - A Sneaky Way to Introduce More Automated TestingSeretta Gamba - A Sneaky Way to Introduce More Automated Testing
Seretta Gamba - A Sneaky Way to Introduce More Automated Testing
 
Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)
 
Automated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in ActionAutomated Regression Testing for Embedded Systems in Action
Automated Regression Testing for Embedded Systems in Action
 
Resume
ResumeResume
Resume
 
Batch Process Analytics
Batch Process Analytics Batch Process Analytics
Batch Process Analytics
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous Integration
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
 
Qa case study
Qa case studyQa case study
Qa case study
 
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
 
Empowering Users with Best Practices, Tips, and Tricks.pptx.pdf
Empowering Users with Best Practices, Tips, and Tricks.pptx.pdfEmpowering Users with Best Practices, Tips, and Tricks.pptx.pdf
Empowering Users with Best Practices, Tips, and Tricks.pptx.pdf
 
rTest - The Testing Tool for FME Workspace
rTest - The Testing Tool for FME WorkspacerTest - The Testing Tool for FME Workspace
rTest - The Testing Tool for FME Workspace
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
 
Maestro_Abstract
Maestro_AbstractMaestro_Abstract
Maestro_Abstract
 
Test automation
Test automationTest automation
Test automation
 
Incorporating VM Technology Into Your Automated Testing
Incorporating VM Technology Into Your Automated TestingIncorporating VM Technology Into Your Automated Testing
Incorporating VM Technology Into Your Automated Testing
 

More from Safe Software

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action:  Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action:  Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
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
 
The Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data EcosystemThe Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data EcosystemSafe Software
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Mastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GISMastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GISSafe Software
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriGeospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriSafe Software
 
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfIntroducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfSafe Software
 
Breaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologyBreaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologySafe Software
 
Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...Safe Software
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
New Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s FoundersNew Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s FoundersSafe Software
 
Taking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New HeightsTaking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New HeightsSafe Software
 
Initiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance StrategySafe Software
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Safe Software
 
Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...Safe Software
 

More from Safe Software (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action:  Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action:  Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
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
 
The Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data EcosystemThe Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data Ecosystem
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Mastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GISMastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GIS
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriGeospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & Esri
 
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfIntroducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
 
Breaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologyBreaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI Technology
 
Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
New Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s FoundersNew Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s Founders
 
Taking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New HeightsTaking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New Heights
 
Initiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
 
Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...
 

Recently uploaded

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Quality Assurance of FME Scripts

  • 1. Quality assurance of FME scripts
  • 2. FME User Conference 20 22 Gitter is a Swedish IT consulting company focused on providing GIS solutions mainly in the areas of energy, infrastructure, public environments and forestry.
  • 3. 20 22 FME User Conference Feel Safe How to test your models and Changing a model or updating software?
  • 4. 20 22 FME User Conference Agenda We will present a test method for quality assurance of FME models (scripts or custom transformers) that is not based on defining test cases but instead works by comparing features at different measure-points in a model to assure that data has not changed in an unwanted way after updating a model or component. We will also talk about how to automate tests in Azure DevOps. In this presentation: ● The challenge ● A real case ● Our solution ● Test automation ● Conclusions
  • 5. 20 22 FME User Conference The challenge of maintaining complex FME models
  • 6. 20 22 FME User Conference Challenge FME makes it possible to solve complex problems, however that often leads to complex models which are: - difficult and time consuming to verify Typical scenarios when tests are needed: - developing a new model - updating an existing model - updating FME version, transformer versions or dependent components (for example ArcGIS)
  • 7. 20 22 FME User Conference What we updated • FME Server: FME 2017.1 to FME 2020.2 • ArcGIS 10.3.1 to ArcGIS 10.6.1 • The models were not updated What happened FME DateTime functions returned a <null> value in the model WHEN: • arcpy was used in a PythonCaller AND • the DateTime functions were used after the PythonCaller Total number of models: > 100 Number of models affected by the unexpected behaviour: <5% Reason: The combination FME 2020.2 and ArcGIS 10.6.1 resulted in this unexpected behaviour. When the unexpected happens A real case
  • 8. 20 22 FME User Conference Sequence that did not work Result: _timestamp = <null> Sequence that worked Result: _timestamp = 20220611102232 When the unexpected happens A real case
  • 9. 20 22 FME User Conference ▪ All scripts were published to a FME Server in a test environment ▪ The scripts were scheduled and ran during a test period ▪ The scripts were updating more than 700 tables and just 20 were affected by the error ▪ Most of the tables were used for background information in map services ▪ We never found the errors during the test period ▪ The errors were found after publishing to FME Server production environment Data verification: Only manual inspections were performed When the unexpected happens A real case
  • 10. 20 22 FME User Conference With appropriate test methods we should have been able to find this unwanted behaviour Could we have found this behaviour at an earlier stage?
  • 12. 20 22 FME User Conference Our solution To be able to find the unwanted behaviour described earlier we need a test that: ▪ is easy to implement in existing models ▪ can identify where information differs from the expected for any given point of measure in a model Idea • Save FFS files at different measure points in the models that can be used to compare the results, before and after the updates
  • 13. 20 22 FME User Conference Step1 - Generate a baseline (before any updates) TestTool Transformers TestTool Settings: - Generate Baseline - START - UniqueName - 1000 (no of objects to save) Settings: - Generate Baseline - STOP - UniqueName - 1000 The tool is used before and after the transformers in the model that should be tested
  • 14. 20 22 FME User Conference Step 2 – Collect data (after any updates) TestTool TestTool Settings: - Collect data for test - START - UniqueName - 1000 objects Settings: - Collect data for test - STOP - UniqueName - 1000 objects BASELINE_START data is read back into the flow (pipeline) to assure that same data enters the transformers. Transformers
  • 15. 20 22 FME User Conference Step 3 - Analysis A separate model analyses the FFS files generated during the baseline- and collect runs at the stop measure points. Any differences between the files are identified and logged. Data at the STOP measure points are analysed
  • 17. 20 22 FME User Conference Summary The TestTool is a custom transformer that is easy to add to existing models and is used to save FFS files at different points in a model. The TestTool can be used in a passthrough mode. The analysis model is used to compare FFS files at STOP points and reports any differences.
  • 18. 20 22 FME User Conference What do we need to be able to run the tests systematically? Test Automation!
  • 20. 20 22 FME User Conference Benefits of test automation - Tests runs automatically without human intervention when models are pushed into a repository - Untested models are not deployed into production - Manual testing is time consuming - The test results are transparent and instantly visible for all developers - Continuous testing minimizes the risk that any contribution introduces errors in the model As software developers, test automation is a natural part in the software developing process.
  • 21. 20 22 FME User Conference Test automation in Azure DevOps Gitter and most of our customers are using Azure DevOps in the software developing process. DevOps pipelines are a proven way to support test automation. Place your screen capture here
  • 22. 20 22 FME User Conference Implementation of test automation for FME models in Azure DevOps Azure DevOps On-prem server Local development environment triggers pipeline push code and tests run tests run tests r e a d q u e u e a n d d o w n l o a d c o d e w r i t e r e s u l t self hosted agent
  • 25. 20 22 FME User Conference Summary FME and FME Server has become a central and important software and integration platform and deploying untested models may cause severe consequences. Our customers asks for quality assurance Today we presented one test method that verified a specific problem. However other methods are needed to achieve full test coverage. We are aware of previous work in this field within the fme community, e.g. rTest We feel that established test methodologies and test frameworks for FME are missing
  • 26. 20 22 FME User Conference Call to Action We would like to propose: - Safe together with partners and users work for establishing recognized test methodologies, frameworks and best practices.
  • 29. 20 22 FME User Conference Please Share Your Session Feedback Log in & navigate to the agenda. Select the session you attended Scroll down to “Session Feedback” Download EventMobi app Event code: fmeuc Click “Launch App” Fill out the survey and submit