Agile practices brought numerous innovations into the world of software development and changed numerous processes as we knew them. For example tests are written before actual code is created and throughout the entire dev cycle and not in the end when they are, frankly, too late.
Development and testing are now done with respect to end-users and agile is pretty much about creation of small, testable chunks of ready-to-use functionality that are fused into a whole product at the end, rather than end-to-end creation of the entire product.
But how does one really know which tests should be in place before first lines of code are even written? How does one test solutions that do not exist in anything else than a stack of requirements?
Design > Construction
No building was ever constructed without a blueprint. Or even if it was, it didn’t last long. And what is a blueprint? A plan of what’s expected from the building under construction. And you, as a tester also have such a plan – the requirements. They determine what business expects to achieve from the solution under development like how many windows or doors should there be, how will the ventilation work and where will people cook their food. Consider all these factors as UX and try to create tests that put important aspects under question.
That’s exactly where User Stories come in handy. Creation of such stories requires personas, or hypothetical users who are destined to give your house a test drive. Creation of these personas requires separate attention and, in fact, was already covered here. So let’s get straight to the chase. Your building, as probably any other has a front door and a back door. And your requirements state users should use the font one. How can this be achieved? Development creates a more comfortable front door that attracts attention and gives more privileges that are of value to people, like, let’s say it’s closer to the mail box and the elevator.
Your job as a tester here would be creation of Sally, Billy and Mandy who have their own sets of preferences and requirements. Will the front door be the perfect and desirable option for all of them despite their unique tasks in the house? Now you have several great ideas for test cases, right? Oh, and what about Jack who prefers the back door despite all odds as it’s just in his nature? Will he be able to break anything or perhaps there are several unguarded passages left in a place you don’t expect people to enter from?
And this is exactly how you create valid tests oriented on planning rather than on 100% accomplished houses in which it’s insanely difficult to re-design and re-build various elements.