Content tagged with: BDD
The purpose of the article is to implement a Behavior Driver Development (BDD) infrastructure for Android applications with the JBehave open source BDD tool and Robotium open source Android testing software. We will go through complete architectural understandings and try to set-up the framework.
In this blog post, Dror Helper presents a short “getting started” procedure to do Behavior Drive Development (BDD) with SubSpec. SubSpec allows developers to write declarative tests operating in C# at all layers of abstraction consisting of highly composable, small primitive concepts. SubSpec is based on the xUnit testing framework and can easily be integrated into existing testing environments. The blog post shows how to write its first behavior test and how to run all the assertions in one test.
This article from David Sale provides a short introduction to Behavior-Driven Development in Python. The article presents the principles of Behavior Driven Development and present the syntax of the Gherkin language that can be used with the freshen Python package, a clone of the famous Cucumber BDD framework written for Ruby. Freshen is an open source acceptance testing framework for Python that uses (mostly) the same syntax as Cucumber. A small step by step example is provided on how to use freshen and alternative tools are proposed.
Unit tests are programmer’s best friend, but relying on them exclusively gives an illusion of overall system integrity. At some level, we need to verify how our components integrate and ensure unexpected behavior does not creep in when we shift the application into the target runtime. It all amounts to whether your application is providing the end user what he or she is really needs (tire swing) instead of what anyone thinks they need. How can we save our users from frustration, keep the fail whale at bay and communicate …
SpecFlow is an acceptance test driven development and behavior driven development for .NET. One of them the biggest challenge in using SpecFlow is to improve the efficiency of the automated testing process. Typical questions are about organizing feature files, keeping the specification language consistent, refactoring feature files, automation code maintainability, better feedback from failing tests, test execution time or handling stability issues.
This article provides a general overview of behaviour-driven development (BDD) in a .NET context. I presents some .NET tools for BDD (SpecFlow) and UI testing (White) and proceeds with a working example giving hands on BDD in .NET. SpecFlow is an open source tool aims to provide a pragmatic and frictionless approach to Acceptance Test Driven Development and Behavior Driven Development for .NET projects. White is an open source framework for automating rich client applications based on Win32, WinForms, WPF, Silverlight and SWT (Java) platforms. It is .NET based and …
Software tests never run fast enough. To improve this performance, this article presents a process called DMAIC (Define, Measure, Analyze, Improve, Control). It shows how to apply this approach with Cucumber, an open source Behavior Driven Development tool. Cucumber lets you describe how software should behave in plain text. The text is written in a business-readable domain-specific language and serves as requirements documentation and source of automated acceptance tests.
Behaviour Driven Development (BDD) is a different way of approaching the “how to validate your code” problem. It aims to help focus development on the delivery of prioritized, verifiable business value by providing a common vocabulary. This video discusses various ways to try out BDD in Python, from the periodically maligned doctests to simple unittest module usages to more specialized modules.
RSpec is an open source Behavior-Driven Development (BDD) ruby package that lets you build a specification alongside your software. BDD is an approach to software development that combines Test-Driven Development (TDD), Domain Driven Design and Acceptance Test-Driven Planning. RSpec helps you do the TDD part of that equation, focusing on the documentation and design aspects of TDD.