There are a lot of examples on the web on how to introduce good agile testing and architectural patterns when you are starting a new software development project. In reality, even on newer projects, you are more often working in a less than ideal state.
Agile testing tutorials and how to content : Test-Driven Development (TDD), Behavior-Driven Development (BDD) and other agile approaches for software testing.
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.
Part of the .NET Foundation, xUnit.net is an open source unit testing tool for the .NET Framework (C#, F#, VB.NET, etc). xUnit.net works with ReSharper, CodeRush, TestDriven.NET and Xamarin.
A Coach’s Guide to Agile Testing is part of the nice series proposed to Agile coaches by Samantha Laing and Karen Greaves. This book provides a complete plan to run a workshop where members of a Scrum team can understand and learn the concepts behind Agile Testing.
The “refactor” step in Test-Driven Development (TDD) is deceptively simple: you just have to improve the code, without changing what it does, right? And the experts make it look so easy: “Look”, they say, “here’s some duplication, which I will remove by “insert magic incantation here”. But how should you decide which “duplication” to remove first? What happens if you fix the “wrong” smell? And how do you even see that duplication in the first place?
With the rapid implementation of Agile development in most IT environments, the traditional roles of functional QA managers are changing. Testing is now the responsibility by the product team; day-to-day testing tasks and accountabilities are largely owned by the product team and defect status is discussed on a quick daily meeting. But yet all of the testing personnel report into the QA Manager from an organizational viewpoint.
Behavior-Driven Development (BDD) is an Agile approach that mixes requirement gathering, documentation and acceptance testing. You write human-readable sentences describing the features of your application and how they should work. Then you implement this behavior using a tool that produces automated acceptance tests to verify that the feature is implemented correctly. Open source .NET BDD tools like SpecFlow are used to store the requirements as live documentation and to perform functional or acceptance tests.