Scenarios are the central artifact of the Behaviour Driven Development (BDD) process. Although many teams use scenarios and tools like Cucumber or SpecFlow to automate them, in many cases their scenarios contain a lot of details, particularly test data, and therefore they become too complicated to support collaboration with the business. The "essential" principle of scenario writing (scenario formulation) states that only those details should be included in the scenario that are relevant for the outcome. This talk provides help for those who struggle implementing this principle or would be interested to learn how you can create brief and maintainable scenarios.
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.
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...Gáspár Nagy
Do you remember your childhood when your mom or an older story teller pronounced the most interesting words in the world? “Once upon a time…” Let me be now your story teller, listen to my story about a legacy app, a painful problem, the search for the solution and the lucky outcome. No, no, this is not the story about a new green field project where everything is so clear. However, even in this story there is a master builder, who shows the developers how to scaffold the legacy app with BDD scenarios using SpecFlow or Cucumber and everything will be all right in the end. Let me tell you about different strategies, collaboration and testing patterns that can be followed in such a renovation-like situation. So, are you ready?... “Once upon a time there was a company where…” To be continued at my session
This document discusses using BDD scenarios in a testing strategy and provides an example quality strategy for the SpecSync product. It introduces BDD practices like discovery, formulation, and automation. The SpecSync quality strategy focuses on functional, operational, and strategic quality aspects and uses various testing methods including BDD scenarios, unit tests, integration tests, and smoke tests. Well-structured BDD scenarios can serve as living documentation and enable traceability when linked to work items and other artifacts through tags.
1) Start with writing user stories to define desired behaviors.
2) Automate scenarios written in Gherkin to test behaviors.
3) Implement features to make scenarios pass.
4) Repeat process of writing scenarios, implementing features, and running automated tests.
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...Gáspár Nagy
This document discusses introducing behavior-driven development (BDD) to legacy applications using SpecFlow/Cucumber. It describes capturing current and desired behaviors as scenarios to guide development and maintenance. The process is demonstrated through examples of addressing a first change request and bug. Scenarios are used to scaffold the application, describe new features/bugs, drive test automation, and ensure behaviors are maintained. While legacy applications pose challenges, following a BDD process of describing behaviors and automating tests can help discover and evolve the system.
This document discusses Behavior Driven Development (BDD) and Gherkin, a language used in BDD to describe desired software behaviors. It provides guidance on starting BDD by writing user stories and automating scenarios. Gherkin uses keywords like Feature, Scenario, Given, When and Then to define scenarios in a plain text format. Features describe what is being tested at a high level, while scenarios outline specific behaviors using the Given-When-Then structure.
How Custom is your Org? CEER at Dreamforce 2019Steven Herod
We often hear the advice of 'Clicks, not Code' and '80% Config vs 20% Code'. Orgs are described, without a frame of reference as being 'very custom'. However, there is no generally accepted definition on how to calculate customization of an org. Assumptions about code brought from other platforms are being misapplied to Salesforce to the detriment of customers and end-users. This presentation suggests a framework called 'CEER (Config / Extend / Enhance / Replace). This framework breaks the dichotomy of code vs clicks and replaces it with an approach that reflects the true nature of a salesforce solution. It highlights low vs high-risk activities such as Custom Object vs Building a collaboration platform. It also allows you to understand how Managed Packages impact your solution. The result is the ability to describe your org in terms of real effort/outcome basis. Allow you to make statements like "30% of your overall solution and 70% of your effort was expending on replacing standard Salesforce functions."
https://www.salesforce.com/video/7810482/
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.
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...Gáspár Nagy
Do you remember your childhood when your mom or an older story teller pronounced the most interesting words in the world? “Once upon a time…” Let me be now your story teller, listen to my story about a legacy app, a painful problem, the search for the solution and the lucky outcome. No, no, this is not the story about a new green field project where everything is so clear. However, even in this story there is a master builder, who shows the developers how to scaffold the legacy app with BDD scenarios using SpecFlow or Cucumber and everything will be all right in the end. Let me tell you about different strategies, collaboration and testing patterns that can be followed in such a renovation-like situation. So, are you ready?... “Once upon a time there was a company where…” To be continued at my session
This document discusses using BDD scenarios in a testing strategy and provides an example quality strategy for the SpecSync product. It introduces BDD practices like discovery, formulation, and automation. The SpecSync quality strategy focuses on functional, operational, and strategic quality aspects and uses various testing methods including BDD scenarios, unit tests, integration tests, and smoke tests. Well-structured BDD scenarios can serve as living documentation and enable traceability when linked to work items and other artifacts through tags.
1) Start with writing user stories to define desired behaviors.
2) Automate scenarios written in Gherkin to test behaviors.
3) Implement features to make scenarios pass.
4) Repeat process of writing scenarios, implementing features, and running automated tests.
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...Gáspár Nagy
This document discusses introducing behavior-driven development (BDD) to legacy applications using SpecFlow/Cucumber. It describes capturing current and desired behaviors as scenarios to guide development and maintenance. The process is demonstrated through examples of addressing a first change request and bug. Scenarios are used to scaffold the application, describe new features/bugs, drive test automation, and ensure behaviors are maintained. While legacy applications pose challenges, following a BDD process of describing behaviors and automating tests can help discover and evolve the system.
This document discusses Behavior Driven Development (BDD) and Gherkin, a language used in BDD to describe desired software behaviors. It provides guidance on starting BDD by writing user stories and automating scenarios. Gherkin uses keywords like Feature, Scenario, Given, When and Then to define scenarios in a plain text format. Features describe what is being tested at a high level, while scenarios outline specific behaviors using the Given-When-Then structure.
How Custom is your Org? CEER at Dreamforce 2019Steven Herod
We often hear the advice of 'Clicks, not Code' and '80% Config vs 20% Code'. Orgs are described, without a frame of reference as being 'very custom'. However, there is no generally accepted definition on how to calculate customization of an org. Assumptions about code brought from other platforms are being misapplied to Salesforce to the detriment of customers and end-users. This presentation suggests a framework called 'CEER (Config / Extend / Enhance / Replace). This framework breaks the dichotomy of code vs clicks and replaces it with an approach that reflects the true nature of a salesforce solution. It highlights low vs high-risk activities such as Custom Object vs Building a collaboration platform. It also allows you to understand how Managed Packages impact your solution. The result is the ability to describe your org in terms of real effort/outcome basis. Allow you to make statements like "30% of your overall solution and 70% of your effort was expending on replacing standard Salesforce functions."
https://www.salesforce.com/video/7810482/
Prashant technical practices-tdd for xebia eventXebia India
Theme: Agile Technical Practices
Epic: TDD implementation
Stories:
Context of TDD
What is TDD
Response of Developers to TDD implementation
Practices complimenting TDD
Success with TDD
Building a Cross Cloud Data Protection EngineDatabricks
Data Protection is still at the forefront of multiple companies minds with potential GDPR fines of up to 4% of their global annual turnover (creating a current theoretical max fine of $20bn). GDPR effects countries across the world, not just those in Europe, leaving many companies still playing catch up. Additional acts and legislation are coming into place such as CCPA meaning Data Protection is a constantly evolving landscape, with fines that can literally decimate some business. In this session we will go through how we have worked with our customers to create an Azure and AWS implementation of a Data Protection Engine covering Protection, Detection, Re-Identification and Erasure of PII data.
Sumeet Kumar Dwivedi has over 3 years of experience working with Informatica products such as PowerCenter, Metadata Manager, Dynamic Data Masking, and Complex Event Processing. He has implemented custom models and masking rules for customers. Sumeet provides technical support, troubleshoots issues, and trains customers on Informatica products.
dbt Python models - GoDataFest by Guillermo SanchezGoDataDriven
Guillermo Sanchez presented on the pros and cons of using Python models in dbt. While Python models allow for more advanced analytics and leveraging the Python ecosystem, they also introduce more complexity in setup and divergent APIs across platforms. Additionally, dbt may not be well-suited for certain use cases like ingesting external data or building full MLOps pipelines. In general, Python models are best for the right analytical use cases, but caution is needed, especially for production environments.
Greenfield projects are awesome – you can develop highest quality application using best practices on the market. But what if your bread actually is Legacy projects? Does it mean that you need to descend into darkness of QA absence? This talk will show you how to be successful even with the oldest legacy projects out there through the introduction of Agile processes and tools like Behat.
This document provides information about an upcoming meeting of the Glasgow Revit Users Group (GRUG). It begins by welcoming attendees and providing logistical details. It then introduces the group and provides information about how to stay connected through LinkedIn, YouTube, Twitter, email and Slack. It profiles two speakers for an upcoming meeting - Diane Ramage from Keppie Design and Graham H Stewart from Digital Guerrilla. Details are provided about the agenda and locations for the October 26th meeting. Volunteers are requested to join the committee. Suggestions for future meeting topics are also solicited from attendees. The next meeting is announced as a GRUG Christmas party on December 14th.
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?
This document provides guidance on creating a 5-slide business case presentation to obtain funding for DevOps initiatives. It recommends beginning with the business objective and defining the problem to be solved. The next slides should include a project definition, high-level business case expectations, and a potential roadmap with phases, tasks, and deliverables. Additional slides may include resources needed, anticipated objections and responses, risks, alternatives, and alignment with corporate strategy. The goal is to concisely communicate the value in terms of increased revenue and decreased costs while addressing decision-makers' needs for guaranteed returns and risk mitigation.
All datacenters, regardless of their size, have specific objectives. Until now, balancing datacenter
objectives for efficiency, capacity, space utilization and availability has been difficult without making
sacrifices. That's why NxtGen has developed the Smart Solutions family of infrastructure offerings.
Each Smart Solutions offering addresses specific needs with rapidly deployable solutions that cost effectively increase efficiency, add datacenter capacity, and improve IT control.
These solutions contain the industry's leading power, precision cooling and management systems to
achieve efficiency without compromise in IT environments of all sizes.
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven DesignNETFest
“Domain Driven Design is an approach to software development for complex needs by connecting the implementation to an evolving model.”
While there are many resources on the web about the DDD, they are generally theoretical rather than useful practical guides. One reason is that a DDD implementation quite varies depending on your domain and culture. However, it is still possible to provide some explicit rules those can help you while designing your code base.
This talk starts by introducing the DDD and providing a layering model based on the DDD and the Clean Architecture. It then introduces the core building of an application built on the DDD principles.
In the second part of the talk, it shows some strict coding rules for the core building blocks with real code examples and suggestions. These rules are essential to build a large scale application implements DDD patterns & practices.
While the solution structure and code samples are based on .NET and C#, the talk is useful for developers and architects working with any server side technology.
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (HUSTEF 2...Gáspár Nagy
Do you remember your childhood when your mom or an older story teller pronounced the most interesting words in the world? “Once upon a time…” Let me be now your story teller, listen to my story about a legacy app, a painful problem, the search for the solution and the lucky outcome. No, no, this is not the story about a new green field project where everything is so clear. However, even in this story there is a master builder, who shows the developers how to scaffold the legacy app with BDD scenarios using SpecFlow or Cucumber and everything will be all right in the end. Let me tell you about different strategies, collaboration and testing patterns that can be followed in such a renovation-like situation. So, are you ready?... “Once upon a time there was a company where…” To be continued at my session
Dreamforce - Chaining Approval Processes with Apex Codescottsalesforce
The document discusses using Apex code to chain approval processes in Salesforce. It provides two use cases - chaining two approval processes for a proof of concept opportunity, and using an approval process for content contributions. The presenters demonstrate how to chain approval processes programmatically and submit records for approval. They also discuss additional capabilities like chaining across objects and implementing child processes.
Agile Development – Why requirements matter by Fariz SaracevicAgile ME
The clear benefits of agile development is a better collaboration, incremental delivery, early error detection and the elimination of unnecessary work—have made it the default approach for many teams. Some developers have questioned whether requirements fall into the category of unnecessary work, and can be cut down or even completely eliminated. Meanwhile, teams developing complex products, systems and regulated IT continue to have requirements-driven legacy processes.
So how does requirements management fit in an agile world? This meetup will take a look at requirements management and how it can bring significant value to agile development in regulated IT and complex product development projects, and sets out the characteristics of an effective requirements management approach in an agile environment.
GraphQL Munich Meetup #1 - How We Use GraphQL At CommercetoolsNicola Molinari
The document describes commercetools' experience with adopting GraphQL for their merchant center application. They were initially fetching category data with multiple REST requests, but were able to fetch it in one GraphQL query along with additional fields like number of subcategories and products. This solved a performance issue and allowed them to easily extend their API. They also migrated other parts of their client to use GraphQL, reducing network requests and complexity. Overall, GraphQL allowed them to optimize queries and extend their API with minimal effort.
The document discusses strategies for optimizing large Neo4j databases. It analyzes three scenarios involving large databases and identifies issues like overuse of indexes, property-based queries, and lack of understanding about locking and property access. For each scenario, it proposes data model optimizations like pre-aggregating data, using relationships to link data instead of properties, and stored procedures to reduce working data set sizes and improve query performance as the databases scale. The key recommendations are to review how the database is growing, optimize data models and queries, and leverage patterns like traversal over filtering to avoid performance bottlenecks in large databases.
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
The QA Financial Forum: Milan 2019
23 January at the Excelsior Hotel Gallia.
Anna-Maria Lukina, Exactpro Business Development Director
The QA Financial Forum: Milan is one of the leading fintech conferences in Italy. The event focuses on the latest achievements in software risk management and automation of software testing. The predominant theme of the Milan event will be Quality Assurance for the entire Software Development Life Cycle (SDLC).
The topics under discussion will feature:
- Technologies for Automation & AI
- DevOps & CI/CD
- Value Stream Management
- Test Data Management
- Regulatory Compliance
- App Security & DevSecOps
- Testing and quality assurance of Blockchain platforms
The official language of the event is Italian.
Learn how Acceptance Test Driven Development (ATDD) provides the process for capturing detailed requirements as acceptance criteria and turn them into as test cases before development begins using Behavior Driven Development (BDD). The BDD approach and Gherkin format is the language used to create easy to understand and actionable scenarios that map from the functional level to the components and units. We will discuss the different approaches to TDD including a realistic approach leveraging BDD to a purest standpoint where TDD use the tests to drive the design of the application. Finally understand how the tools in Visual Studio and Team foundation Server to support BDD such as SpecFlow (Cucumber in .NET), Refactoring tools, and Test Cases in MTM.
Ramp up your testing solution, ExpoQA 2023Gáspár Nagy
The document summarizes a presentation about using design patterns for test automation solutions. It discusses challenges in test automation, how patterns can help address these challenges through reusability, abstraction, maintainability and performance. It also covers documenting test automation design patterns, including naming, motivation, applicability, structure, participants and more. Examples of project-specific pattern discovery and documentation are provided.
Fighting against technical debt (CukenFest 2020)Gáspár Nagy
This talk is about the experience I have gathered on how to handle and avoid technical debt. I affiliated three projects in the last years that had to deal with technical debt. I could see how different methods can help (or how they cannot). In my context, we needed a combination of BDD, DevOps and a better focus on sustainability. You will hear about ideas how these techniques can work together that you can also consider for your project.
More Related Content
Similar to Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Prashant technical practices-tdd for xebia eventXebia India
Theme: Agile Technical Practices
Epic: TDD implementation
Stories:
Context of TDD
What is TDD
Response of Developers to TDD implementation
Practices complimenting TDD
Success with TDD
Building a Cross Cloud Data Protection EngineDatabricks
Data Protection is still at the forefront of multiple companies minds with potential GDPR fines of up to 4% of their global annual turnover (creating a current theoretical max fine of $20bn). GDPR effects countries across the world, not just those in Europe, leaving many companies still playing catch up. Additional acts and legislation are coming into place such as CCPA meaning Data Protection is a constantly evolving landscape, with fines that can literally decimate some business. In this session we will go through how we have worked with our customers to create an Azure and AWS implementation of a Data Protection Engine covering Protection, Detection, Re-Identification and Erasure of PII data.
Sumeet Kumar Dwivedi has over 3 years of experience working with Informatica products such as PowerCenter, Metadata Manager, Dynamic Data Masking, and Complex Event Processing. He has implemented custom models and masking rules for customers. Sumeet provides technical support, troubleshoots issues, and trains customers on Informatica products.
dbt Python models - GoDataFest by Guillermo SanchezGoDataDriven
Guillermo Sanchez presented on the pros and cons of using Python models in dbt. While Python models allow for more advanced analytics and leveraging the Python ecosystem, they also introduce more complexity in setup and divergent APIs across platforms. Additionally, dbt may not be well-suited for certain use cases like ingesting external data or building full MLOps pipelines. In general, Python models are best for the right analytical use cases, but caution is needed, especially for production environments.
Greenfield projects are awesome – you can develop highest quality application using best practices on the market. But what if your bread actually is Legacy projects? Does it mean that you need to descend into darkness of QA absence? This talk will show you how to be successful even with the oldest legacy projects out there through the introduction of Agile processes and tools like Behat.
This document provides information about an upcoming meeting of the Glasgow Revit Users Group (GRUG). It begins by welcoming attendees and providing logistical details. It then introduces the group and provides information about how to stay connected through LinkedIn, YouTube, Twitter, email and Slack. It profiles two speakers for an upcoming meeting - Diane Ramage from Keppie Design and Graham H Stewart from Digital Guerrilla. Details are provided about the agenda and locations for the October 26th meeting. Volunteers are requested to join the committee. Suggestions for future meeting topics are also solicited from attendees. The next meeting is announced as a GRUG Christmas party on December 14th.
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?
This document provides guidance on creating a 5-slide business case presentation to obtain funding for DevOps initiatives. It recommends beginning with the business objective and defining the problem to be solved. The next slides should include a project definition, high-level business case expectations, and a potential roadmap with phases, tasks, and deliverables. Additional slides may include resources needed, anticipated objections and responses, risks, alternatives, and alignment with corporate strategy. The goal is to concisely communicate the value in terms of increased revenue and decreased costs while addressing decision-makers' needs for guaranteed returns and risk mitigation.
All datacenters, regardless of their size, have specific objectives. Until now, balancing datacenter
objectives for efficiency, capacity, space utilization and availability has been difficult without making
sacrifices. That's why NxtGen has developed the Smart Solutions family of infrastructure offerings.
Each Smart Solutions offering addresses specific needs with rapidly deployable solutions that cost effectively increase efficiency, add datacenter capacity, and improve IT control.
These solutions contain the industry's leading power, precision cooling and management systems to
achieve efficiency without compromise in IT environments of all sizes.
.NET Fest 2019. Halil Ibrahim Kalkan. Implementing Domain Driven DesignNETFest
“Domain Driven Design is an approach to software development for complex needs by connecting the implementation to an evolving model.”
While there are many resources on the web about the DDD, they are generally theoretical rather than useful practical guides. One reason is that a DDD implementation quite varies depending on your domain and culture. However, it is still possible to provide some explicit rules those can help you while designing your code base.
This talk starts by introducing the DDD and providing a layering model based on the DDD and the Clean Architecture. It then introduces the core building of an application built on the DDD principles.
In the second part of the talk, it shows some strict coding rules for the core building blocks with real code examples and suggestions. These rules are essential to build a large scale application implements DDD patterns & practices.
While the solution structure and code samples are based on .NET and C#, the talk is useful for developers and architects working with any server side technology.
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (HUSTEF 2...Gáspár Nagy
Do you remember your childhood when your mom or an older story teller pronounced the most interesting words in the world? “Once upon a time…” Let me be now your story teller, listen to my story about a legacy app, a painful problem, the search for the solution and the lucky outcome. No, no, this is not the story about a new green field project where everything is so clear. However, even in this story there is a master builder, who shows the developers how to scaffold the legacy app with BDD scenarios using SpecFlow or Cucumber and everything will be all right in the end. Let me tell you about different strategies, collaboration and testing patterns that can be followed in such a renovation-like situation. So, are you ready?... “Once upon a time there was a company where…” To be continued at my session
Dreamforce - Chaining Approval Processes with Apex Codescottsalesforce
The document discusses using Apex code to chain approval processes in Salesforce. It provides two use cases - chaining two approval processes for a proof of concept opportunity, and using an approval process for content contributions. The presenters demonstrate how to chain approval processes programmatically and submit records for approval. They also discuss additional capabilities like chaining across objects and implementing child processes.
Agile Development – Why requirements matter by Fariz SaracevicAgile ME
The clear benefits of agile development is a better collaboration, incremental delivery, early error detection and the elimination of unnecessary work—have made it the default approach for many teams. Some developers have questioned whether requirements fall into the category of unnecessary work, and can be cut down or even completely eliminated. Meanwhile, teams developing complex products, systems and regulated IT continue to have requirements-driven legacy processes.
So how does requirements management fit in an agile world? This meetup will take a look at requirements management and how it can bring significant value to agile development in regulated IT and complex product development projects, and sets out the characteristics of an effective requirements management approach in an agile environment.
GraphQL Munich Meetup #1 - How We Use GraphQL At CommercetoolsNicola Molinari
The document describes commercetools' experience with adopting GraphQL for their merchant center application. They were initially fetching category data with multiple REST requests, but were able to fetch it in one GraphQL query along with additional fields like number of subcategories and products. This solved a performance issue and allowed them to easily extend their API. They also migrated other parts of their client to use GraphQL, reducing network requests and complexity. Overall, GraphQL allowed them to optimize queries and extend their API with minimal effort.
The document discusses strategies for optimizing large Neo4j databases. It analyzes three scenarios involving large databases and identifies issues like overuse of indexes, property-based queries, and lack of understanding about locking and property access. For each scenario, it proposes data model optimizations like pre-aggregating data, using relationships to link data instead of properties, and stored procedures to reduce working data set sizes and improve query performance as the databases scale. The key recommendations are to review how the database is growing, optimize data models and queries, and leverage patterns like traversal over filtering to avoid performance bottlenecks in large databases.
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
The QA Financial Forum: Milan 2019
23 January at the Excelsior Hotel Gallia.
Anna-Maria Lukina, Exactpro Business Development Director
The QA Financial Forum: Milan is one of the leading fintech conferences in Italy. The event focuses on the latest achievements in software risk management and automation of software testing. The predominant theme of the Milan event will be Quality Assurance for the entire Software Development Life Cycle (SDLC).
The topics under discussion will feature:
- Technologies for Automation & AI
- DevOps & CI/CD
- Value Stream Management
- Test Data Management
- Regulatory Compliance
- App Security & DevSecOps
- Testing and quality assurance of Blockchain platforms
The official language of the event is Italian.
Learn how Acceptance Test Driven Development (ATDD) provides the process for capturing detailed requirements as acceptance criteria and turn them into as test cases before development begins using Behavior Driven Development (BDD). The BDD approach and Gherkin format is the language used to create easy to understand and actionable scenarios that map from the functional level to the components and units. We will discuss the different approaches to TDD including a realistic approach leveraging BDD to a purest standpoint where TDD use the tests to drive the design of the application. Finally understand how the tools in Visual Studio and Team foundation Server to support BDD such as SpecFlow (Cucumber in .NET), Refactoring tools, and Test Cases in MTM.
Similar to Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024) (20)
Ramp up your testing solution, ExpoQA 2023Gáspár Nagy
The document summarizes a presentation about using design patterns for test automation solutions. It discusses challenges in test automation, how patterns can help address these challenges through reusability, abstraction, maintainability and performance. It also covers documenting test automation design patterns, including naming, motivation, applicability, structure, participants and more. Examples of project-specific pattern discovery and documentation are provided.
Fighting against technical debt (CukenFest 2020)Gáspár Nagy
This talk is about the experience I have gathered on how to handle and avoid technical debt. I affiliated three projects in the last years that had to deal with technical debt. I could see how different methods can help (or how they cannot). In my context, we needed a combination of BDD, DevOps and a better focus on sustainability. You will hear about ideas how these techniques can work together that you can also consider for your project.
Süllyedünk! Ütközés a tesztelési jégheggyel (Teszt & Tea Meeup Budapest, 2018...Gáspár Nagy
A teszt automatizálási piramist Mike Cohn vezette több évvel ezelőtt. Bár sokan hallottak már róla, mégis kevesen vannak akiknek az eredeti formájában alkalmazni is tudják. Ennek egyik oka az lehet, hogy a piramis segít leképezni a teszteket az őket megvalósító technológiára (unit, integrációs, UI), de abban, hogy mire szolgálnak ezek a tesztek (tesztelési célok) nem adnak segítséget. A tesztelési jéghegy (testing iceberg) ezt az aspektust próbálja meg megjeleníteni a piramisban.
Az előadásban a tesztelési jéghegy ötletét és részleteit vizsgáljuk meg. Megnézzük, hogy a "víz alatti" tesztek hogy tudják támogatni a jéghegy csúcsán álló, az üzleti követelményekre fokuszáló teszteket. Azt is megnézzük, hogy hogyan lehet a teszteket a piramis szintjei között mozgatni és végül, egy-két ötletet adnunk arra, hogy hogyan lehet a teszt automatizálási piramis hasznunkra a saját projektjeinkben.
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.
Behavior Driven UI Automation (Agile Testing Days 2017, Potsdam)Gáspár Nagy
The document discusses problems with traditional UI test automation such as unclear purpose, code duplication, use of non-semantic locators, wrong level of abstraction, and timing issues. It proposes using behavior-driven development with SpecFlow/Cucumber to define tests in a business-readable language, page object modeling to encapsulate page interactions, semantic-based locators, modeling at the concept level rather than UI-level, and waiting for page updates rather than using static waits. This will help address the issues and make tests more maintainable, readable and reliable.
Testing is Difficult (Agile in the City Bristol 2017, Lightening talk)Gáspár Nagy
The document discusses three stories that helped the author move on from difficulties with testing. The first story is about testing the space shuttle carrier. The second story discusses testing the backstage of the Dominion theatre. The third story is about Easter Island heads (Moai) and looking behind what you see rather than judging based on limited information. The author concludes by asking the audience what their story is.
Scaffolding a legacy app with BDD scenario (Agile in the City Bristol 2017)Gáspár Nagy
Do you remember your childhood when your mom or an older story teller pronounced the most interesting words in the world? “Once upon a time…” Let me be now your story teller, listen to my story about a legacy app, a painful problem, the search for the solution and the lucky outcome.
No, no, this is not the story about a new green field project where everything is so clear. However, even in this story there is a master builder, who shows the developers how to scaffold the legacy app with BDD scenarios using SpecFlow or Cucumber and everything will be all right in the end. Let me tell you about different strategies, collaboration and testing patterns that can be followed in such a renovation-like situation.
So, are you ready...? “Once upon a time there was a company where…” To be continued at my session...
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (Qualit...Gáspár Nagy
BDD is a method that focuses on defining the requirements based on the expected behavior; DDD is a method that uses a ubiquitous language all across the solution; UX helps design user interactions based on user behavior… and Selenium WebDriver (or similar) is a tool that is mostly used to ignore all these and automate the app using clicks on HTML elements…
In this session you will explore options how to improve testing efficiency by looking at UI automation from a different angle by analyzing and understanding the UI concepts used in the application, matching them to domain model elements and build an automation solution that focuses on these.
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...Gáspár Nagy
BDD is a method that focuses on defining the requirements based on the expected behavior; DDD is a method that uses a ubiquitous language all across the solution; UX helps design user interactions based on user behavior… and Selenium WebDriver (or similar) is a tool that is mostly used to ignore all these and automate the app using clicks on HTML elements…
In this session you will explore options how to improve testing efficiency by looking at UI automation from a different angle by analyzing and understanding the UI concepts used in the application, matching them to domain model elements and build an automation solution that focuses on these.
Property Based BDD Examples (ETSI UCAAT 2016, Budapest)Gáspár Nagy
BDD (Behavior-driven development) is a software development process focusing on active collaboration, which illustrates and automates the requirements using key examples of the problem domain. In BDD the formalized examples use a natural language-based DSL driven by the Given/When/Then keywords.
At the same time, property-based testing (PBT) uses abstract (mathematical) formulas to declare expectations for the output values given some constraints on the input. The PBT tools try to disproof that the application fulfills these requirements by taking samples from the valid input value space.
The experience shows that for understanding and properly implementing the requirements, the team has to understand the requirements as a set of abstract rules, where collecting key examples can help a lot.
BDD is strong at managing and automating these key examples and PBT is strong at defining and automating the rules, so the question should arise: can these two methods somehow support each-other? Can we increase the value of BDD by formalizing and testing the rules? Can we increase the value of PBT by a better communication of the rules and constraints we have?
This session shows an experiment of combining BDD and PBT. It provides examples of how the specification could look like in this combined world and what it could be used for. And there is a working, open-source prototype too!
Given/When/Then-ready sprint planning with Example Mapping (Agilia Budapest 2...Gáspár Nagy
Abstract
If you have ever done or tried to do behavior driven development, you know that finding the right scenarios (ie. tests) and writing the Gherkin feature files with the Given/When/Then steps is not so easy. Many teams leave this task entirely for the developers. Others try to use the sprint planning meeting to discuss the exact phrasing. None of these are really perfect. Regarding my experience, for having good scenarios, you have to have a good sprint planning. In this session I am going to talk about what makes a sprint planning good and how you can facilitate your sprint planning meeting in a way that it helps finding the right examples. You will hear about Specification by Examples, the "Three Amigos", example mapping, really good acceptance criteria and also about team motivation, but more importantly you will hear about how to use them efficiently in practice.
Given/When/Then-ready sprint planning (Agile Tour Vienna 2015)Gáspár Nagy
Abstract
If you have ever done or tried to do behavior driven development, you know that finding the right scenarios (ie. tests) and writing the Gherkin feature files with the Given/When/Then steps is not so easy. Many teams leave this task entirely for the developers. Others try to use the sprint planning meeting to discuss the exact phrasing. None of these are really perfect. Regarding my experience, for having good scenarios, you have to have a good sprint planning. In this session I am going to talk about what makes a sprint planning good and how you can facilitate your sprint planning meeting in a way that it helps finding the right examples. You will hear about Specification by Examples, the "Three Amigos", example mapping, really good acceptance criteria and also about team motivation, but more importantly you will hear about how to use them efficiently in practice.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Top 9 Trends in Cybersecurity for 2024.pptxdevvsandy
Security and risk management (SRM) leaders face disruptions on technological, organizational, and human fronts. Preparation and pragmatic execution are key for dealing with these disruptions and providing the right cybersecurity program.
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
Mobile app Development Services | Drona InfotechDrona Infotech
Drona Infotech is one of the Best Mobile App Development Company In Noida Maintenance and ongoing support. mobile app development Services can help you maintain and support your app after it has been launched. This includes fixing bugs, adding new features, and keeping your app up-to-date with the latest
Visit Us For :
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
1. Gáspár Nagy
coach • trainer • bdd addict • creator of specflow
“The BDD Books” series • https://bddbooks.com
@gasparnagy • gaspar@specsolutions.eu
Tree in the Forest
Managing Details in BDD Scenarios
live2test 2024
22th May, 2024