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.
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...Gáspár Nagy
Abstract:
Behavior driven development (BDD) is an agile method that (among others) puts the ideas of agile testing into practice. BDD emphasizes collaboration between testers, developers and the business stakeholders and help preventing bugs by introducing testers and testing concept into the specification phase.
This is all fine when you start with a new, green field project. But what about those old legacy applications that have no proper automated test coverage and even if there are automated tests no one is dare to touch them? Is it possible to introduce BDD for these projects? What are the different strategies, collaboration and testing patterns that can be followed? This session gives a brief overview about what BDD is today and addresses these questions. The code examples use .NET and SpecFlow, but can be easily adapted to any other platform too.
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
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.
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.
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
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.
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...Gáspár Nagy
Abstract:
Behavior driven development (BDD) is an agile method that (among others) puts the ideas of agile testing into practice. BDD emphasizes collaboration between testers, developers and the business stakeholders and help preventing bugs by introducing testers and testing concept into the specification phase.
This is all fine when you start with a new, green field project. But what about those old legacy applications that have no proper automated test coverage and even if there are automated tests no one is dare to touch them? Is it possible to introduce BDD for these projects? What are the different strategies, collaboration and testing patterns that can be followed? This session gives a brief overview about what BDD is today and addresses these questions. The code examples use .NET and SpecFlow, but can be easily adapted to any other platform too.
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
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.
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.
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
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Gáspár Nagy
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.
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.
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.
Behavior Driven UI Automation (Agile Testing Days 2017, Potsdam)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, we are exploring 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.
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.
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Gáspár Nagy
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.
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.
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.
Behavior Driven UI Automation (Agile Testing Days 2017, Potsdam)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, we are exploring 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.
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.