Soumettre la recherche
Mettre en ligne
Adding transaction handling to Unit Tests
•
0 j'aime
•
126 vues
E
ESUG
Suivre
Talk from ESUG19, Cologne, Germany
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 17
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Generating 3D adversarial point clouds
Generating 3D adversarial point clouds
Jongmin Park
Estimating the Cost for Executing Business Processes in the Cloud
Estimating the Cost for Executing Business Processes in the Cloud
Vincenzo Ferme
Business Case Calculator for DevOps Initiatives - Leading credit card service...
Business Case Calculator for DevOps Initiatives - Leading credit card service...
Capgemini
Mistake proofing smpl_1
Mistake proofing smpl_1
Israel Cardenas
000 Edocument Peru con AIF y HCI
000 Edocument Peru con AIF y HCI
Fernando Soliz Mejia
MuleSoft Meetup | Reading Meetup Group | Hosted by Integral Zone
MuleSoft Meetup | Reading Meetup Group | Hosted by Integral Zone
IntegralZone
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)
Peter R. Egli
Oracle Applications - Sales Order Entering,Booking,Picking And Shipping Made ...
Oracle Applications - Sales Order Entering,Booking,Picking And Shipping Made ...
Bala Murugan
Recommandé
Generating 3D adversarial point clouds
Generating 3D adversarial point clouds
Jongmin Park
Estimating the Cost for Executing Business Processes in the Cloud
Estimating the Cost for Executing Business Processes in the Cloud
Vincenzo Ferme
Business Case Calculator for DevOps Initiatives - Leading credit card service...
Business Case Calculator for DevOps Initiatives - Leading credit card service...
Capgemini
Mistake proofing smpl_1
Mistake proofing smpl_1
Israel Cardenas
000 Edocument Peru con AIF y HCI
000 Edocument Peru con AIF y HCI
Fernando Soliz Mejia
MuleSoft Meetup | Reading Meetup Group | Hosted by Integral Zone
MuleSoft Meetup | Reading Meetup Group | Hosted by Integral Zone
IntegralZone
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)
Peter R. Egli
Oracle Applications - Sales Order Entering,Booking,Picking And Shipping Made ...
Oracle Applications - Sales Order Entering,Booking,Picking And Shipping Made ...
Bala Murugan
Continuous delivery in Pipedrive
Continuous delivery in Pipedrive
Tomas Rehor
Why BI needs CMMI-5
Why BI needs CMMI-5
Alain Charpentier
Leading the Transformation: Stories from the Trenches
Leading the Transformation: Stories from the Trenches
DevOps.com
Conducting Process Audits For Municipal Government
Conducting Process Audits For Municipal Government
Stephen Deas
Bpmn
Bpmn
camunda services GmbH
WSO2Con USA Microservices Transactions
WSO2Con USA Microservices Transactions
Afkham Azeez
Financial Closing Cockpit
Financial Closing Cockpit
Jonasvr
Customers Delight-Sales Order Enterin,Booking,Picking And Shipping Made Easy
Customers Delight-Sales Order Enterin,Booking,Picking And Shipping Made Easy
guestee7e88fc
Vinaqa LLC
Vinaqa LLC
vinaqa
Autobots @ REA
Autobots @ REA
ggiesemann
Build It and They Will Come-Pliant
Build It and They Will Come-Pliant
Julie Tsai
Do you even need to automate the GUI?
Do you even need to automate the GUI?
Matt Heusser
mri-bp2015
mri-bp2015
Keith Swenson
Rundeck Overview
Rundeck Overview
Rundeck
First Call Resolution - The Key To Superior Tech Support
First Call Resolution - The Key To Superior Tech Support
todd.lewis
Business Rules and Business Processes - How good partners are they?
Business Rules and Business Processes - How good partners are they?
Dragan Gasevic
Simple ways to Jumpstart a Performance Culture -- matosinhos.tech -- March 30...
Simple ways to Jumpstart a Performance Culture -- matosinhos.tech -- March 30...
Filipe Oliveira
SMS-Phase1
SMS-Phase1
Yasin Jamil Ali
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
Technical documentation support in Pharo
Technical documentation support in Pharo
ESUG
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG
Contenu connexe
Similaire à Adding transaction handling to Unit Tests
Continuous delivery in Pipedrive
Continuous delivery in Pipedrive
Tomas Rehor
Why BI needs CMMI-5
Why BI needs CMMI-5
Alain Charpentier
Leading the Transformation: Stories from the Trenches
Leading the Transformation: Stories from the Trenches
DevOps.com
Conducting Process Audits For Municipal Government
Conducting Process Audits For Municipal Government
Stephen Deas
Bpmn
Bpmn
camunda services GmbH
WSO2Con USA Microservices Transactions
WSO2Con USA Microservices Transactions
Afkham Azeez
Financial Closing Cockpit
Financial Closing Cockpit
Jonasvr
Customers Delight-Sales Order Enterin,Booking,Picking And Shipping Made Easy
Customers Delight-Sales Order Enterin,Booking,Picking And Shipping Made Easy
guestee7e88fc
Vinaqa LLC
Vinaqa LLC
vinaqa
Autobots @ REA
Autobots @ REA
ggiesemann
Build It and They Will Come-Pliant
Build It and They Will Come-Pliant
Julie Tsai
Do you even need to automate the GUI?
Do you even need to automate the GUI?
Matt Heusser
mri-bp2015
mri-bp2015
Keith Swenson
Rundeck Overview
Rundeck Overview
Rundeck
First Call Resolution - The Key To Superior Tech Support
First Call Resolution - The Key To Superior Tech Support
todd.lewis
Business Rules and Business Processes - How good partners are they?
Business Rules and Business Processes - How good partners are they?
Dragan Gasevic
Simple ways to Jumpstart a Performance Culture -- matosinhos.tech -- March 30...
Simple ways to Jumpstart a Performance Culture -- matosinhos.tech -- March 30...
Filipe Oliveira
SMS-Phase1
SMS-Phase1
Yasin Jamil Ali
Similaire à Adding transaction handling to Unit Tests
(18)
Continuous delivery in Pipedrive
Continuous delivery in Pipedrive
Why BI needs CMMI-5
Why BI needs CMMI-5
Leading the Transformation: Stories from the Trenches
Leading the Transformation: Stories from the Trenches
Conducting Process Audits For Municipal Government
Conducting Process Audits For Municipal Government
Bpmn
Bpmn
WSO2Con USA Microservices Transactions
WSO2Con USA Microservices Transactions
Financial Closing Cockpit
Financial Closing Cockpit
Customers Delight-Sales Order Enterin,Booking,Picking And Shipping Made Easy
Customers Delight-Sales Order Enterin,Booking,Picking And Shipping Made Easy
Vinaqa LLC
Vinaqa LLC
Autobots @ REA
Autobots @ REA
Build It and They Will Come-Pliant
Build It and They Will Come-Pliant
Do you even need to automate the GUI?
Do you even need to automate the GUI?
mri-bp2015
mri-bp2015
Rundeck Overview
Rundeck Overview
First Call Resolution - The Key To Superior Tech Support
First Call Resolution - The Key To Superior Tech Support
Business Rules and Business Processes - How good partners are they?
Business Rules and Business Processes - How good partners are they?
Simple ways to Jumpstart a Performance Culture -- matosinhos.tech -- March 30...
Simple ways to Jumpstart a Performance Culture -- matosinhos.tech -- March 30...
SMS-Phase1
SMS-Phase1
Plus de ESUG
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
Technical documentation support in Pharo
Technical documentation support in Pharo
ESUG
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
Garbage Collector Tuning
Garbage Collector Tuning
ESUG
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
thisContext in the Debugger
thisContext in the Debugger
ESUG
Websockets for Fencing Score
Websockets for Fencing Score
ESUG
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
Plus de ESUG
(20)
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
Technical documentation support in Pharo
Technical documentation support in Pharo
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
Garbage Collector Tuning
Garbage Collector Tuning
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
thisContext in the Debugger
thisContext in the Debugger
Websockets for Fencing Score
Websockets for Fencing Score
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
Dernier
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Zilliz
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
rafiqahmad00786416
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
Zilliz
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Angeliki Cooney
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
The Digital Insurer
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Bhuvaneswari Subramani
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Edi Saputra
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
UiPathCommunity
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Zilliz
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
apidays
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
MadyBayot
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
Dernier
(20)
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Adding transaction handling to Unit Tests
1.
Adding transaction handling to
Unit Tests The why, the how and the journey
2.
1992 - 2012 Deployment
was mostly a manual process No unit tests Feature branches VisualWorks & GemStone
3.
2012 - 2019 90
% Deployment automated 55000 methods Trunk based development 8000 unit tests
4.
No transaction handling
in unit tests
5.
0 receivedMessages process 10 processedMessages 9 receivedMessages process 0 processedMessages 1 failedMessages
6.
2 receivedMessages process 7 processedMessages 1 failedMessages
7.
Koos Piet Sannie Commit both Koos Sannie Piet Koos Piet Sannie Abort nested Koos Piet Koos Piet Sannie Commit nested,
Abort outer (unit tests) Koos Piet Sannie Commit nested, Abort nested, Commit outer Koos Sannie Piet Marie 1 2 bT bNT cT cT
8.
Auto mode
9.
Transaction level 2 Transaction
level 1 beginTransaction abortTransaction beginNestedTransaction Check transaction level Transaction level 2 Transaction level 1 abortTransaction abortTransaction beginNestedTransaction Check transaction level
10.
Transaction level 2 Transaction
level 1 commitTransaction commitTransaction beginNestedTransaction Check transaction level Transaction level 2 Transaction level 1 inTransaction Check transaction level
11.
Manual mode
12.
Transaction level 2 Transaction
level 1 beginTransaction System abortTransaction System beginNestedTransaction Check transaction level Transaction level 2 Transaction level 1 abortTransactionSystem abortTransaction System beginNestedTransaction Check transaction level beginTransactionExplicityCalled := true beginTransactionExplicityCalled := false
13.
Transaction level 2 Transaction
level 1 commitTransaction commitTransaction beginNestedTransaction Check transaction level Transaction level 2 Transaction level 1 inTransaction Check transaction level Check beginTransactionExplicityCalled beginTransactionExplicityCalled := false Check beginTransactionExplicityCalled
14.
Commit fails
15.
methodA self commit self methodB methodB self
commit methodA self methodB methodB self commit
16.
Using framework Commit test
setup (especially when in manual mode) Override defaultTransactionMode
17.
Limitations Can’t use nested
transactions in our production code Canonical framework
Télécharger maintenant