This talk will take you through the challenge of testing a cloud-native application that uses MQTT (a pub/sub protocol), webhooks and REST to interact with IoT devices on top of AWS. It uses services which cannot be run on a developers machine for testing, so it was needed to develop a test setup which enables us to continuously test against real services.
Behavior-Driven Development (BDD) agile testing articles, tools, tutorials and videos.
Agile approaches aims to improve the collaboration between the development team and the end-users or the Product Owner in Scrum. As far as software testing is concerned, it is however deceptive to believe that this could happen without a strong contribution from software testing experts.
Matt Wynne, co-founder of Cucumber, delivers a short webinar presentation on 10 easy ways to fail at Behavior-Driven Development (BDD). Many organizations desperately want to enjoy the benefits of practicing Agile testing BDD, yet set themselves up for failure.
Behavior-Driven Development (BDD) is an Agile approach that mixes requirement gathering, documentation and acceptance testing. The idea is that you start by writing human-readable sentences that describe a feature of your application and how it should work. Then you implement this behavior in software. This description can produce automated tests that will verify that the feature is implemented correctly. On the testing side, BDD tools provide you the features to perform functional or acceptance tests. There are many tools that implement the BDD concept for different languages, including PHP.
This presentation shows what it is like working with Behavior Driven Development (BDD) frameworks like JBehave, Cucumber or Concordian. It proposes an effective alternative solution for BDD which is ‘Spock’ – a convenient, lightweight framework, based on the Groovy language.
Gherkin is the language that many Behavior-Driven Development open source software testing tools like Cucumber or Behat use to define test cases. Gherkin is designed to be non-technical and human readable, and collectively describes use cases relating to a software system.