Many of the most common problems people have with implementing BDD or agile acceptance testing come from a misalignment of conceptual models. By changing our view at the specifications/tests we can make most of those issues go away instantly. This post explains the principle of symmetric change: one small change in a business model should require one small change to executable specifications.
Software Testing Blogs: Load Testing, Unit Testing, Functional Testing
This blog post is about the fact that testers are probably the biggest generalists on any team and they should try to pair with other development roles to increase their knowledge.
Rspec is a great tool in the behavior driven design process of writing human readable specifications that direct and validate the development of your application. Follow these practices to write elegant and maintainable specifications.
This post about exploratory testing and review discusses the misapprehension that the advocates of exploratory testing suggest that review or other forms of testing should be dropped.
System tests have the reputation of being slow (not entirely avoidable, I admit), difficult to automate reliably and difficult to diagnose when they fail. However, I find that many teams follow a TDD process at the unit-level, but do post-hoc testing at the system level, and so don’t use system tests as a source of design feedback. This blog post shows how you should do TDD at the system scale.
This post contains an interesting figure summarizing the test automation adoption curve.
This post will compare MSTest to NUnit in Visual Studio 2010 to see how the two frameworks stack up from the perspective of those three criteria.