How BDD with tools like Cucumber can create a stronger team, a better quality product, and ultimately a more useable API. Given at the #apistrat SF conference 10/24/2013
Behavior Driven development is the process of exploring, discovering, defining and driving the desired behavior of software system by using conversation, concrete examples and automated tests.
This is an introduction to BDD and the Gherkin syntax. It aims to explain:
* What's Gherkin. Why it's used. An example of all the keywords in Gherkin
* How Gherkin fits into BDD (features files, writing tests first etc)
Behavior Driven development is the process of exploring, discovering, defining and driving the desired behavior of software system by using conversation, concrete examples and automated tests.
This is an introduction to BDD and the Gherkin syntax. It aims to explain:
* What's Gherkin. Why it's used. An example of all the keywords in Gherkin
* How Gherkin fits into BDD (features files, writing tests first etc)
BDD (Behavior-driven development), also known as ATDD (Acceptance test–driven development) is a software development process that helps Agile teams design, develop, test and deliver software efficiently, it's about how to implement agile acceptance testing and binding business requirements to code. BDD helps to bridge the communication gap between stakeholders and implementation teams, build quality into software from the start, design, develop and deliver systems fit for purpose. SpecFlow is the official tool to implement BDD on the .NET platform.
Slides from a session presented by Fadi Stephan from Kaizenko at the 2019 Global Scrum Gathering in Austin, TX on 05/20/2019 DC. Also see the blog series on Agile Testing at https://www.kaizenko.com/agile-testing/
Abstract:
Many teams struggle with fitting in testing activities inside of a Sprint. They end up doing primarily development activities in a Sprint and push testing activities to run in dedicated testing Sprints following the coding Sprints or have a coding and testing Sprint running in parallel. However, in Scrum, the output of every Sprint is a potentially shippable product increment. This means the product increment should be well tested within the Sprint and ready to be delivered. Come to this presentation to learn how to tackle testing on an Agile team, what kind of tests to execute, what to automate and what not to automate, the different test responsibilities, and when to run which tests. Leave with a testing strategy that you can start applying the next day to gradually get a team to start testing from day 1 of the Sprint and deliver a true product increment at the end of each Sprint.
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...Edureka!
This Edureka Selenium tutorial will give you an introduction to software testing. It talks about the drawbacks of manual testing and reasons why automation testing is the way forward. In this Selenium tutorial, you will also get to learn the different suites of Selenium and what are the features and shortcomings of Selenium as an automation testing tool.
To take a structured course on Selenium, you can check our Selenium training page: https://www.edureka.co/testing-with-selenium-webdriver
Continuous Integration and Continuous Delivery (CI/CD) to release higher quality products faster. However, building a CI/CD pipeline can be challenging, and you can’t fully achieve successful CI/CD without a decent automation strategy.
This power point presentation provides details on syntax of Gherkin language and how it can be used to write accurate user acceptance criteria for user stories.
Cucumber is a testing approach/tool and When integrated with Selenium4 forms a great combination as it allows you to write your tests quickly in an English-like language and Selenium allows you to run on various combinations of browsers. In this session, We will learn about BDD, Cucumber, and the advantages of Integrating them with Selenium.
This presentation provides an overview of a Test Automation Framework with BDD and Cucumber. It also includes several open-source initiatives that Rhoynar Software Consulting (www.rhoynar.com) has been working on in the fields of QA Automation and DevOps. Lastly, it also includes links to some of the open-source projects that you can use right now for your work.
- Continuous Integration Infra a la OpenStack - https://github.com/Rhoynar/ci-infra
- An Email Verification Library in Java:
https://github.com/Rhoynar/EmailVerify
- Automatic Test Generation using Selenium WebDriver, Java and TestNG
https://github.com/Rhoynar/AutoTestR
- Barebones BDD and Cucumber Framework integrated with Java Maven and TestNG:
https://github.com/Rhoynar/qa-automation
Cucumber is a tool which supports development via behavior realization (BDD - Behavior-Driven Development). It is considered to be utilized for creating the tests which can be understood by each and all, even without special technical knowledge.
(by QATestLab)
Katalon Studio is a free and robust automation solution for API, Web, and Mobile testing. It integrates all necessary components with built-in keywords and project templates into a complete automation framework. Katalon Studio is easy to use for beginners but still offers advanced capabilities for experienced users. This solution is trusted by an active community of over 150K users from 150+ countries around the world.
In this knolx, we’ll take a look at what is API Testing and how the katalon studio is helpful in API Testing.
Introduction to using SpecFlow tool for testing REST API. For beginners that are at least a bit familiar with test automation, and gives some details and hints.
Talk given at Typeform for the Barcelona Bug busters meetup.
How to Automate API Testing guides you through a possible API Testing workflow for API Functional Testing exploring different tools and approaches.
BDD (Behavior-driven development), also known as ATDD (Acceptance test–driven development) is a software development process that helps Agile teams design, develop, test and deliver software efficiently, it's about how to implement agile acceptance testing and binding business requirements to code. BDD helps to bridge the communication gap between stakeholders and implementation teams, build quality into software from the start, design, develop and deliver systems fit for purpose. SpecFlow is the official tool to implement BDD on the .NET platform.
Slides from a session presented by Fadi Stephan from Kaizenko at the 2019 Global Scrum Gathering in Austin, TX on 05/20/2019 DC. Also see the blog series on Agile Testing at https://www.kaizenko.com/agile-testing/
Abstract:
Many teams struggle with fitting in testing activities inside of a Sprint. They end up doing primarily development activities in a Sprint and push testing activities to run in dedicated testing Sprints following the coding Sprints or have a coding and testing Sprint running in parallel. However, in Scrum, the output of every Sprint is a potentially shippable product increment. This means the product increment should be well tested within the Sprint and ready to be delivered. Come to this presentation to learn how to tackle testing on an Agile team, what kind of tests to execute, what to automate and what not to automate, the different test responsibilities, and when to run which tests. Leave with a testing strategy that you can start applying the next day to gradually get a team to start testing from day 1 of the Sprint and deliver a true product increment at the end of each Sprint.
Selenium Tutorial For Beginners | What Is Selenium? | Selenium Automation Tes...Edureka!
This Edureka Selenium tutorial will give you an introduction to software testing. It talks about the drawbacks of manual testing and reasons why automation testing is the way forward. In this Selenium tutorial, you will also get to learn the different suites of Selenium and what are the features and shortcomings of Selenium as an automation testing tool.
To take a structured course on Selenium, you can check our Selenium training page: https://www.edureka.co/testing-with-selenium-webdriver
Continuous Integration and Continuous Delivery (CI/CD) to release higher quality products faster. However, building a CI/CD pipeline can be challenging, and you can’t fully achieve successful CI/CD without a decent automation strategy.
This power point presentation provides details on syntax of Gherkin language and how it can be used to write accurate user acceptance criteria for user stories.
Cucumber is a testing approach/tool and When integrated with Selenium4 forms a great combination as it allows you to write your tests quickly in an English-like language and Selenium allows you to run on various combinations of browsers. In this session, We will learn about BDD, Cucumber, and the advantages of Integrating them with Selenium.
This presentation provides an overview of a Test Automation Framework with BDD and Cucumber. It also includes several open-source initiatives that Rhoynar Software Consulting (www.rhoynar.com) has been working on in the fields of QA Automation and DevOps. Lastly, it also includes links to some of the open-source projects that you can use right now for your work.
- Continuous Integration Infra a la OpenStack - https://github.com/Rhoynar/ci-infra
- An Email Verification Library in Java:
https://github.com/Rhoynar/EmailVerify
- Automatic Test Generation using Selenium WebDriver, Java and TestNG
https://github.com/Rhoynar/AutoTestR
- Barebones BDD and Cucumber Framework integrated with Java Maven and TestNG:
https://github.com/Rhoynar/qa-automation
Cucumber is a tool which supports development via behavior realization (BDD - Behavior-Driven Development). It is considered to be utilized for creating the tests which can be understood by each and all, even without special technical knowledge.
(by QATestLab)
Katalon Studio is a free and robust automation solution for API, Web, and Mobile testing. It integrates all necessary components with built-in keywords and project templates into a complete automation framework. Katalon Studio is easy to use for beginners but still offers advanced capabilities for experienced users. This solution is trusted by an active community of over 150K users from 150+ countries around the world.
In this knolx, we’ll take a look at what is API Testing and how the katalon studio is helpful in API Testing.
Introduction to using SpecFlow tool for testing REST API. For beginners that are at least a bit familiar with test automation, and gives some details and hints.
Talk given at Typeform for the Barcelona Bug busters meetup.
How to Automate API Testing guides you through a possible API Testing workflow for API Functional Testing exploring different tools and approaches.
Making the build self-testing is one of the best pratices of continuous integration. This was the main goal of this presentation, the work done in a REST API, using Symfony, phpspec, PHPUnit and Behat.
Supporting a talk by @jasonh_n_austin given to the @austinapi meetup on 9/25/13..
The usability of APIs has to be a forethought from product down to test. We must ensure a developer-focused mentality throughout the development lifecycle. BDD provides us with an elegant way to implement a plain English, plain text testing fixture, in a variety of languages.
BDD Testing and Automating from the trenches - Presented at Into The Box June...Gavin Pickin
In this session, we'll learn what TDD and BDD testing is in CFML and ColdFusion, using Testbox. We'll look at some of the myths surrounding testing, and how to get started with testing, and how it can make you more efficient, improve code quality, code confidence, and how automation can make your life as a developer more pleasant than what you face currently, living in the trenches
Cukeup nyc peter bell on getting started with cucumber.jsSkills Matter
Cukeup NYC. Peter Bell on Getting started with cucumber.js
Ever wished you could use cucumber in your javascript apps? In this talk we'll look at the current state of play of cucumber js, when you should and shouldn't use it, and how to get started writing your step definitions in javascript.
QA Fest 2015. Сергей Пирогов. Красивые JBehave отчетыQAFest
В докладе я хочу поделиться личным опытом написания кастомного репортера для JBehave. Покажу причины решения написать свой репортер и пути решения проблемы. В конце я покажу как я имплементировал связку Allure report и знаменитого BDD фреймворка для Java - JBehave.
Presentation in Spanish given at DeSymfony Day 2014 in Barcelona about different approaches of testing with my teammate Jordi Llonch.
We created a GitHub repository comparing the main libraries available in PHP: https://github.com/Akamon/to-mock-or-not-to-mock
Nowadays, it is quite common to have build infrastructure that, on every change in a repository, builds your software and runs all your tests. However this is where most development teams stop. This talk demonstrates how you can consistently deploy systems from development to testing, staging and production.
With Bndtools we semantically version bundles in the Eclipse IDE. The continuous build is setup to automatically deploy to a bundle repository and create snapshots of changed bundles compared to a baselined version that is available in a release repository. By hooking up these repositories to Apache ACE, such updates can instantly be deployed to systems in different configurations, allowing you to deploy new features to QA systems, beta users and finally roll them out to all other customers.
This presentation was given at ApacheCon NA 2014, Denver.
PHPSpec & Behat: Two Testing Tools That Write Code For You (#phptek edition)Joshua Warren
PHPSpec and Behat are two amazing PHP tools that empower specification-driven development and behavior-driven development. These two tools combined can help you build test coverage, but many people don't realize they can also write much of your code for you. In this talk, we'll see what PHPSpec and Behat can do, through a series of examples and use cases. In other words, I heard you like to code, so I wrote code that writes code while you code.
Presented at #phptek - http://tek.phparch.com
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...Agile Testing Alliance
Agile Testing Alliance hosted it's 3rd webinar on "Strengthening your Agility with BDD - A demo using Cucumber". The webinar was hosted on 24th Jan, 2018.
apidays LIVE New York 2021 - Docs Driven API Development by Rahul Dighe, Paypalapidays
apidays LIVE New York 2021 - API-driven Regulations for Finance, Insurance, and Healthcare
July 28 & 29, 2021
Docs Driven API Development
Rahul Dighe, Lead Product Manager at Paypal
Acceptance Test Driven Development and Robot FrameworkSteve Zhang
This presentation is about using Robot Framework automation test framework to implement Acceptance Test Driven Development, BDD or Specification By Example
PHPConf.asia 2016 - BDD with Behat for BeginnersAdam Englander
Learn the basics of Behavioral Driven Development (BDD) with Behat to build quality applications. Behat utilizes natural language syntax to define feature test scenarios. In this tutorial you will learn how to write integration tests for web applications. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and Sauce Labs. Learn a better way to perform integration testing today!
Summarizing some common mistakes when building/launching a new API. Additionally, some strategies to follow in order to create the best product in an API.
A survey of various tools and techniques commonly used by API craftsman. API specification languages, testing, debugging and analytics are covered.
As presented by Jason Harmon at Booz Allen Hamilton's "Distinguished Speaker Series" 3/2/2015
A history of integration and ultimately APIs, as well as a current state of the space and a future look at where we're headed.
As presented by Jason Harmon at Booz Allen Hamilton's "Distinguished Speaker Series" 3/1/2015
An overview of the Paypal PPaaS (Paypal as a Service) program. API portfolio management, goal-oriented design, design-first methodology, mocking. Decentralization of function through education and internal evangelism
An overview of the Paypal PPaaS (Paypal as a Service) program. API portfolio management, goal-oriented design, design-first methodology, mocking. Decentralization of function through education and internal evangelism
A trimmed version for the 5x5 format at RESTFest 2014.
An overview of the Paypal PPaaS (Paypal as a Service) program. API portfolio management, goal-oriented design, design-first methodology, mocking.
Some of the discipline and principles the "Paypal as a Service" is using to create a REST API driven platform across all of Paypal engineering.
As presented at @APIWorld 2014 in San Francisco 9/17
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
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.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
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.
2. Jason Harmon
Blogger @apiux
API Architect @uShip
Likes Python
Works in everything else
~20 years of tech experience
Background in many integrations
3. What is BDD?
“Behavior Driven Development”
English readable description of how the product
behaves
Defined by team up-front: not Dev, QA or product
owned
Used to verify the acceptance criteria for features in a
product
Conceptually like TDD (test-first), but for functional
testing (not code architecture)
4. What BDD is NOT
A testing framework
Really just an English-readable UI for your own testing
implementation
A drop-in solution
You have to write the code
A UI-testing solution, like Selenium
You can actually use Selenium as a driver for Uis, but
we‟re talking APIs!
5. * Agile Testing: A Practical Guide for Testers and Agile Teams (AddisonWesley, 2009)
http://lisacrispin.com/2011/11/08/using-the-agile-testing-
6. Supporting the Team
Q2 Automated & Manual
Tests
Business Facing
Functional Tests
Examples
Story Tests
Prototypes
Simulations
16. Behavior Driven
User experience trumps all; APIs are no exception
Treat API consumers like first class citizens
Describe how your API behaves from a consumer
perspective
26. Pushback
QA might be uncomfortable with code
Have dev help with a framework, QA can stick to feature
files and simple step definition code
Dev might not be happy writing tests
Once they realize QA+PO signs off easy and fast, they‟ll
be convinced
Product might just be afraid they have to code or learn
something “Techy”
Once they realize it‟s all about business lingo, i.e.
„Domain Language‟, they‟re fine
27. Productivity
Stakeholders know what they‟re getting
Devs know how to build it, less rework
Testers know how to test it, more time to explore
Product knows how to sign off, and quickly
Documentation has a head start
28. Domain Language
Focus on how you describe everything
Find agreement on how to describe behavior
Recognize when behavior is different than before
“Wait, we‟ve never deleted before!”
Homework: Domain Driven Design
31. Share!
All BDD tests can be committed to
SCM, including branches
Provides process which allows collaborative
coding on building test framework
Code reviews on changes to test framework are
able to be automated
32. Continuous Integration
Regression is running all the time
Use tags to select the right depth of
regression
Very fast identification of what‟s broken, in
business language
34. Reading material
Posts on BDD with APIs
http://www.pragmaticapi.com/2013/01/12/bdd-atdd-foryour-agile-rest-api/
http://www.pragmaticapi.com/2013/01/21/bdd-atdd-foryour-agile-rest-api-part-2/