One thing often overlooked in API driven architectures, or even microservice based architectures, is how to reliably simulate APIs that our consumers depend on. If this isn’t done well, inter-service bugs are often not discovered until the end-to-end testing tier, meaning our feedback cycle is extremely slow.
Some of the things we may have trouble with are dealing with APIs which change on a regular basis, APIs which are non-deterministic, injecting faults into APIs, tedious to set up stubs and more.
In this talk, I’ll be introducing testing problems that we face when dealing with external APIs. Then I’ll be solving them with some practical, take-home examples, leveraging open source API simulation tools in the process. I’ll also be highlighting various anti-patterns that I’ve noticed people adopting over the years, and explain why they should be avoided.
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Andrew Morgan
As we work more with distributed systems, microservices and legacy services, we introduce a web of inter-service dependencies that cause us to face many challenges across our development and deployment pipeline. Resource consumption, deployment time, our testing feedback cycle, third party service flakiness and costing can cause problems. This talk addresses these issues by demonstrating how the technique of ‘API Simulation’ (modern service virtualisation) can be used to overcome these issues. We’ll introduce the theory and practice, and use an open source tool named Hoverfly to easily produce and run third party services throughout your stack – from producing test environments, to unit testing, and to being used with custom middleware in staging environments. Come and learn about (micro)service virtualisation in the 21st century, and leave the session with practical techniques to improve your application testing.
Continuous Behavior - BDD in Continuous Delivery (CoDers Who Test, Gothenburg...Gáspár Nagy
Abstract: This session is about my experience with BDD in a Continuous Delivery model. Many teams use Behavior Driven Development (BDD) for automated UI testing. Although UI testing might be an important element of your verification pipeline, it is slow, brittle and costly. But in the era of modern software development we would like to have fast feedback and quick reactions. A continuous delivery / deployment (CD) model can support this well. But what does it look like with BDD then? Can BDD help implementing CD?
This session is an attempt to define the role of BDD in CD. What works, what does not? Continuous delivery should mean continuous quality for the delivery team. What kind of quality criteria do we want to target with CD and how is it supported by BDD?
We are sinking: Hitting the testing iceberg (CukenFest London, 2018)Gáspár Nagy
At the session I am going to show you the concept of the testing iceberg through a concrete example. We will see how the "undersea" tests can support the ones on the tip, focusing on business requirements. We will see how you can move tests between the different levels so that finally we get more insight how the testing pyramid can be used in your own projects.
A lot of folks doing testing (QAs, BAs, and Devs alike) are experienced with testing applications through the front end—a graphical user interface or a mobile app. However, Hilary Weaver-Robb says that with this type of testing we often miss the internal web services and APIs that power those applications. Integration or web service tests are right in the middle of the Testing Pyramid, so to ensure adequate coverage it’s vital for testers to know how to test at that level. Thankfully, to test web services we can apply many of the same principles we already know. Hilary focuses on RESTful web services, though what she covers is applicable to non-RESTful web services as well. Learn what RESTful services are and why you should care, how and why to do functional and exploratory testing, and how to automate some tests. Take away the understanding, resources, tools, and techniques needed to test and write automation for web services—RESTful or not.
BDD Scenarios in a Testing & Traceability Strategy (Webinar 19/02/2021)Gáspár Nagy
We are inviting you to join our free webinar to see a case study of a real project developed with Behaviour Driven Development (BDD).
Our product, "SpecSync for Azure DevOps" has been developed with BDD. The functionalities are specified as BDD scenarios that can be verified as automated tests. But BDD scenarios alone would not be enough for us to meet our quality expectations, so there are other tests and quality considerations as well -- all these fit into our agile testing and traceability strategy.
In this webinar Gaspar Nagy gives you a walkthrough of the quality considerations and tests of the product by focusing on the following questions:
• What kind of tests are needed? How to decide what is the right way to specify and test a concrete function?
• What kind of feedback can we get from the different tests and how? Do they form a test automation pyramid?
• How are the requirements expressed in BDD scenarios and how are they connected to the other development artifacts?
• BDD, tests automation and continuous integration tips & tricks
The webinar focuses on the general testing and automation challenges, so people with or without coding skills are both welcome. At the end of the webinar there will be a Q&A, so you can also ask your own questions. The webinar recording will be made available for everyone who registered.
The presentation on What Lies Beneath Robotics Process Automation was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.
Author and presenter :Aditya Garg & Brijesh Deb
Think BDD is just for web sites? Think again! In this talk, we rethink traditional software testing strategies in the context of micro-services and Behaviour-Driven Development. We will see how traditional testing approaches are both inadequate and poorly targeted for micro-services development. We will learn how to use BDD techniques to discover, describe and document micro-service requirements, and tools like Cucumber and Serenity to turn these requirements into automated acceptance tests and living documentation. We will see how Consumer-Driven Contract tools help ensure that micro-services play well together, and how you can implement the details with the help of unit-testing tools like Spock and REST-Assured.
Behaviour-Driven Development (BDD) is a game changer for the whole team! More than just a testing technique, BDD is both a collaboration and a verification tool, and a vital step on the road to Continuous Delivery. In this session, you will learn what BDD is about, its benefits, and how it affects development teams and processes. But you will also see BDD techniques applied to a real project using tools like JBehave, Cucumber, Selenium 2, Thucydides and more!
- Learn how BDD helps teams focus on discovering and delivering the features that really matter! - Learn what it takes to write more relevant and more maintainable automated acceptance tests - Discover how a well-designed set of automated acceptance criteria can also be a powerful documentation and reporting tool. - See where BDD fits into a Continuous Delivery pipeline.
- And learn how product owners use BDD and Thucydides to drive, coordinate and document releases.
Learn how much more there is to BDD than just “Given..When..Then”!
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Andrew Morgan
As we work more with distributed systems, microservices and legacy services, we introduce a web of inter-service dependencies that cause us to face many challenges across our development and deployment pipeline. Resource consumption, deployment time, our testing feedback cycle, third party service flakiness and costing can cause problems. This talk addresses these issues by demonstrating how the technique of ‘API Simulation’ (modern service virtualisation) can be used to overcome these issues. We’ll introduce the theory and practice, and use an open source tool named Hoverfly to easily produce and run third party services throughout your stack – from producing test environments, to unit testing, and to being used with custom middleware in staging environments. Come and learn about (micro)service virtualisation in the 21st century, and leave the session with practical techniques to improve your application testing.
Continuous Behavior - BDD in Continuous Delivery (CoDers Who Test, Gothenburg...Gáspár Nagy
Abstract: This session is about my experience with BDD in a Continuous Delivery model. Many teams use Behavior Driven Development (BDD) for automated UI testing. Although UI testing might be an important element of your verification pipeline, it is slow, brittle and costly. But in the era of modern software development we would like to have fast feedback and quick reactions. A continuous delivery / deployment (CD) model can support this well. But what does it look like with BDD then? Can BDD help implementing CD?
This session is an attempt to define the role of BDD in CD. What works, what does not? Continuous delivery should mean continuous quality for the delivery team. What kind of quality criteria do we want to target with CD and how is it supported by BDD?
We are sinking: Hitting the testing iceberg (CukenFest London, 2018)Gáspár Nagy
At the session I am going to show you the concept of the testing iceberg through a concrete example. We will see how the "undersea" tests can support the ones on the tip, focusing on business requirements. We will see how you can move tests between the different levels so that finally we get more insight how the testing pyramid can be used in your own projects.
A lot of folks doing testing (QAs, BAs, and Devs alike) are experienced with testing applications through the front end—a graphical user interface or a mobile app. However, Hilary Weaver-Robb says that with this type of testing we often miss the internal web services and APIs that power those applications. Integration or web service tests are right in the middle of the Testing Pyramid, so to ensure adequate coverage it’s vital for testers to know how to test at that level. Thankfully, to test web services we can apply many of the same principles we already know. Hilary focuses on RESTful web services, though what she covers is applicable to non-RESTful web services as well. Learn what RESTful services are and why you should care, how and why to do functional and exploratory testing, and how to automate some tests. Take away the understanding, resources, tools, and techniques needed to test and write automation for web services—RESTful or not.
BDD Scenarios in a Testing & Traceability Strategy (Webinar 19/02/2021)Gáspár Nagy
We are inviting you to join our free webinar to see a case study of a real project developed with Behaviour Driven Development (BDD).
Our product, "SpecSync for Azure DevOps" has been developed with BDD. The functionalities are specified as BDD scenarios that can be verified as automated tests. But BDD scenarios alone would not be enough for us to meet our quality expectations, so there are other tests and quality considerations as well -- all these fit into our agile testing and traceability strategy.
In this webinar Gaspar Nagy gives you a walkthrough of the quality considerations and tests of the product by focusing on the following questions:
• What kind of tests are needed? How to decide what is the right way to specify and test a concrete function?
• What kind of feedback can we get from the different tests and how? Do they form a test automation pyramid?
• How are the requirements expressed in BDD scenarios and how are they connected to the other development artifacts?
• BDD, tests automation and continuous integration tips & tricks
The webinar focuses on the general testing and automation challenges, so people with or without coding skills are both welcome. At the end of the webinar there will be a Q&A, so you can also ask your own questions. The webinar recording will be made available for everyone who registered.
The presentation on What Lies Beneath Robotics Process Automation was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.
Author and presenter :Aditya Garg & Brijesh Deb
Think BDD is just for web sites? Think again! In this talk, we rethink traditional software testing strategies in the context of micro-services and Behaviour-Driven Development. We will see how traditional testing approaches are both inadequate and poorly targeted for micro-services development. We will learn how to use BDD techniques to discover, describe and document micro-service requirements, and tools like Cucumber and Serenity to turn these requirements into automated acceptance tests and living documentation. We will see how Consumer-Driven Contract tools help ensure that micro-services play well together, and how you can implement the details with the help of unit-testing tools like Spock and REST-Assured.
Behaviour-Driven Development (BDD) is a game changer for the whole team! More than just a testing technique, BDD is both a collaboration and a verification tool, and a vital step on the road to Continuous Delivery. In this session, you will learn what BDD is about, its benefits, and how it affects development teams and processes. But you will also see BDD techniques applied to a real project using tools like JBehave, Cucumber, Selenium 2, Thucydides and more!
- Learn how BDD helps teams focus on discovering and delivering the features that really matter! - Learn what it takes to write more relevant and more maintainable automated acceptance tests - Discover how a well-designed set of automated acceptance criteria can also be a powerful documentation and reporting tool. - See where BDD fits into a Continuous Delivery pipeline.
- And learn how product owners use BDD and Thucydides to drive, coordinate and document releases.
Learn how much more there is to BDD than just “Given..When..Then”!
Today's supply chain processes are inside-out. Outside-in processes, using channel and market data, improve the time to respond. This presentation reflects two years of testing using machine learning to understand the impact on the bullwhip effect and Forecast Value Added.
Slides from my talk on how to Eradicate Flaky Tests from AppiumConf 2021
https://confengine.com/conferences/appium-conf-2021/proposal/15581/eradicate-flaky-tests
Introduction to API Contract Testing, and taking three different approaches to ensure confidence that we are conforming to design, OpenAPI, and resulting user experience.
Open source offers greater value than proprietary software because it empowers you to control your architecture, budget and IT strategy instead of ceding control to your vendor. This keynote presentation from WSO2Con London explains why and how.
Supply Chain Risk Erau webinar march 2018 Bill Gibbs
An Embry-Riddle Aeronautical University webinar presented march 8, 2018. ERAU Professor Dr. Aman Gupta looks at Supply Chain Risk: Barriers and Drivers.
Next Generation Client APIs in Envoy MobileC4Media
Video and slides synchronized, mp3 and slide download available at URL https://bit.ly/2x0Fav8.
Jose Nino guides the audience through the journey of Mobile APIs at Lyft. He focuses on how the team has reaped the benefits of API generation to experiment with the network transport layer. He also discusses recent developments the team has made with Envoy Mobile and the roadmap ahead. Filmed at qconlondon.com.
Jose Nino works as a Software Engineer at Lyft.
Webcast Presentation: Accelerate Continuous Delivery with Development Testing...GRUC
With organizations under intense pressure to get products out to market quickly, they can’t afford to operate within operational silos. Yet communicating and collaborating across the organizational boundaries of QA and development can be difficult. Development is typically a black box to QA teams. QA has no visibility into the quality and security of the code until late in the lifecycle.
Watch this recorded webcast to learn how to break down the barriers and improve visibility and transparency by integrating development testing results into the IBM Rational Team Concert and providing QA and development with a unified workflow for ensuring code quality. Explore different development testing techniques and the types of defects and security vulnerabilities they can find.
About the Presenter:
James Croall, Director of Product Management, Coverity
Over the last 8 years, James Croall has helped a wide range of customers incorporate static analysis into their software development lifecycle. Prior to Coverity, Mr. Croall spent 10 years in the computer and network security industry as a C/C++ and Java software engineer.
Case Studies - Promotional supply optimization; procurement transformationJohn William
This case study focuses on providing necessary information about promotional supply optimization and procurement transformation for our prospective client. The industrial sector was food and beverages. Get details more here: https://www.dragonsourcing.com/china-sourcing-company/
In this webinar,Markus Gärtner looks at hardware development using Scrum. He takes a closer look on hardware companies that succeed with Scrum, identifying patterns that work in hardware development including R&D and manufacturing.
Managing Director of iPullRank, Mike King, talks about how to leverage automated testing to ensure that developers engaged in Continuous Integration don't end up accidentally breaking the optimizations in place for SEO
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
More Related Content
Similar to Api Simulation Patterns for Better Testing
Today's supply chain processes are inside-out. Outside-in processes, using channel and market data, improve the time to respond. This presentation reflects two years of testing using machine learning to understand the impact on the bullwhip effect and Forecast Value Added.
Slides from my talk on how to Eradicate Flaky Tests from AppiumConf 2021
https://confengine.com/conferences/appium-conf-2021/proposal/15581/eradicate-flaky-tests
Introduction to API Contract Testing, and taking three different approaches to ensure confidence that we are conforming to design, OpenAPI, and resulting user experience.
Open source offers greater value than proprietary software because it empowers you to control your architecture, budget and IT strategy instead of ceding control to your vendor. This keynote presentation from WSO2Con London explains why and how.
Supply Chain Risk Erau webinar march 2018 Bill Gibbs
An Embry-Riddle Aeronautical University webinar presented march 8, 2018. ERAU Professor Dr. Aman Gupta looks at Supply Chain Risk: Barriers and Drivers.
Next Generation Client APIs in Envoy MobileC4Media
Video and slides synchronized, mp3 and slide download available at URL https://bit.ly/2x0Fav8.
Jose Nino guides the audience through the journey of Mobile APIs at Lyft. He focuses on how the team has reaped the benefits of API generation to experiment with the network transport layer. He also discusses recent developments the team has made with Envoy Mobile and the roadmap ahead. Filmed at qconlondon.com.
Jose Nino works as a Software Engineer at Lyft.
Webcast Presentation: Accelerate Continuous Delivery with Development Testing...GRUC
With organizations under intense pressure to get products out to market quickly, they can’t afford to operate within operational silos. Yet communicating and collaborating across the organizational boundaries of QA and development can be difficult. Development is typically a black box to QA teams. QA has no visibility into the quality and security of the code until late in the lifecycle.
Watch this recorded webcast to learn how to break down the barriers and improve visibility and transparency by integrating development testing results into the IBM Rational Team Concert and providing QA and development with a unified workflow for ensuring code quality. Explore different development testing techniques and the types of defects and security vulnerabilities they can find.
About the Presenter:
James Croall, Director of Product Management, Coverity
Over the last 8 years, James Croall has helped a wide range of customers incorporate static analysis into their software development lifecycle. Prior to Coverity, Mr. Croall spent 10 years in the computer and network security industry as a C/C++ and Java software engineer.
Case Studies - Promotional supply optimization; procurement transformationJohn William
This case study focuses on providing necessary information about promotional supply optimization and procurement transformation for our prospective client. The industrial sector was food and beverages. Get details more here: https://www.dragonsourcing.com/china-sourcing-company/
In this webinar,Markus Gärtner looks at hardware development using Scrum. He takes a closer look on hardware companies that succeed with Scrum, identifying patterns that work in hardware development including R&D and manufacturing.
Managing Director of iPullRank, Mike King, talks about how to leverage automated testing to ensure that developers engaged in Continuous Integration don't end up accidentally breaking the optimizations in place for SEO
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
9. @mogronalol 4
Agenda
• The problems with testing API driven architectures
• Introduction to API simulation
10. @mogronalol 4
Agenda
• The problems with testing API driven architectures
• Introduction to API simulation
• Applying API simulation patterns
11. @mogronalol 4
Agenda
• The problems with testing API driven architectures
• Introduction to API simulation
• Applying API simulation patterns
• Data management
12. @mogronalol 4
Agenda
• The problems with testing API driven architectures
• Introduction to API simulation
• Applying API simulation patterns
• Data management
• Conclusion
13. @mogronalol 5
Agenda
• The problems with testing API driven architectures
• Introduction to API simulation
• Applying API simulation patterns
• Data management
• Conclusion
30. @mogronalol 10
Airline Booking Application
• Microservice architecture
• Integration with third party services
• Integration with legacy internal services
31. @mogronalol 10
Airline Booking Application
• Microservice architecture
• Integration with third party services
• Integration with legacy internal services
• Heavy resource consumption
32. @mogronalol 10
Airline Booking Application
• Microservice architecture
• Integration with third party services
• Integration with legacy internal services
• Heavy resource consumption
• A standard CI/CD pipeline
74. @mogronalol 19
Agenda
• The problems with testing API driven architectures
• Introduction to API simulation
• Applying API simulation patterns
• Data management
• Conclusion
105. @mogronalol 28
Agenda
• The problems with testing API driven architectures
• Introduction to API simulation
• Applying API simulation patterns
• Data management
• Conclusion
113. @mogronalol 30
JUnit Example
@Test
public void shouldBeAbleToRetrieveABooking() throws URISyntaxException {
// Given
final int bookingId = 1;
// When
final Booking booking = bookingServiceGateway.getBooking(bookingId);
// Then
assertThat(booking.getCustomer()).isEqualTo(“Andrew Morgan”);
assertThat(booking.getDate()).isEqualTo(LocalDate.of(2016,3,1));
}
114. @mogronalol 30
JUnit Example
@Rule
public HoverflyRule hoverflyRule = HoverflyRule.inCaptureMode(“src/test/
resources/external.json”);
@Test
public void shouldBeAbleToRetrieveABooking() throws URISyntaxException {
// Given
final int bookingId = 1;
// When
final Booking booking = bookingServiceGateway.getBooking(bookingId);
// Then
assertThat(booking.getCustomer()).isEqualTo(“Andrew Morgan”);
assertThat(booking.getDate()).isEqualTo(LocalDate.of(2016,3,1));
}
116. @mogronalol 32
JUnit Example
@Test
public void shouldBeAbleToRetrieveABooking() throws URISyntaxException {
// Given
final int bookingId = 1;
// When
final Booking booking = bookingServiceGateway.getBooking(bookingId);
// Then
assertThat(booking.getCustomer()).isEqualTo(“Andrew Morgan”);
assertThat(booking.getDate()).isEqualTo(LocalDate.of(2016,3,1));
}
@Rule
public HoverflyRule hoverflyRule =
HoverflyRule.inSimulationMode(classpath(“external.json”));
190. @mogronalol
Request
GET www.foo.com /name/tim ?token=bar
Matchers Score Match?
MISS www.foo.com miss 1
MISS www.foo.com /name/tim 2
GET www.foo.com /name/tim miss 3
45
Debugging
Closest?
191. @mogronalol
Request
GET www.foo.com /name/tim ?token=bar
Matchers Score Match?
MISS www.foo.com miss 1
MISS www.foo.com /name/tim 2
GET www.foo.com /name/tim miss 3
45
Debugging
Closest?
230. @mogronalol 53
Agenda
• The problems with testing API driven architectures
• Introduction to API simulation
• Applying API simulation patterns
• Data management
• Conclusion
250. @mogronalol 58
First Class Simulations
Run and
Capture
Service Tests
Transform to
simulation
Publish
Virtual
Service
251. @mogronalol 58
First Class Simulations
Run and
Capture
Service Tests
Parse
Contract
Transform to
simulation
Publish
Virtual
Service
252. @mogronalol 58
First Class Simulations
Run and
Capture
Service Tests
Parse
Contract
Transform to
simulation
Parse
Documentati
on
Publish
Virtual
Service
254. @mogronalol 59
Ownership
Own Consumer Own Producer Strategy
Integration
Contract Testing
Consumer Driven
Contract Testing
Virtual Service as
First Class Citizen
273. @mogronalol 64
Agenda
• The problems with testing API driven architectures
• Introduction to API simulation
• Applying API simulation patterns
• Data management
• Conclusion
277. @mogronalol 65
Conclusion
• Reduced cost be replacing real resources
• Improved deployment time with API simulations
• Less dependance on end-to-end testing
278. @mogronalol 65
Conclusion
• Reduced cost be replacing real resources
• Improved deployment time with API simulations
• Less dependance on end-to-end testing
• Advanced patterns for simplifying API simulations
279. @mogronalol 65
Conclusion
• Reduced cost be replacing real resources
• Improved deployment time with API simulations
• Less dependance on end-to-end testing
• Advanced patterns for simplifying API simulations
• Improved feedback cycle