Testing without requirements can be difficult. Not knowing what is required of the software poses risks in knowing what and how to test the software. After all, how can you test something if you don’t know how it’s required to work? The importance of requirements often goes overlooked.
Software requirements specifications (SRS) are the foundation of the pillars of software. They drive design, development, user experience, support documentation, and more. Yet, so often, they do not exist. Or do they?
The truth is, there are always requirements, but they often go undocumented. Every software has a purpose, therefor every software has requirements. But when they are not documented, testers are left to find the them their-selves.
This requires the tester putting on their detector hat and sifting through any existing clues and information to determine how exactly the software application should work. Some of these clues might be previous versions of the software or help documents. Other clues might be discussions with stakeholders and product owners. Either way, it’s going to take time.
The risk in undocumented requirements
While testing can be done without requirements, there’s a risk and cost of not having them formally documented. The importance of requirements really spans across the entire team. Without any documented requirements, many assumptions are made during the development and testing phase. Developers and designers claim poorly functioning features are that way by design, and in general, things slip through the cracks.
Lets take a closer look at some of the things that can happen when requirements are not documented.
Without requirements, testers don’t know what to test
Testers must make assumptions and spend time defining or looking for hidden requirements themselves. This essentially adds to the overall time and cost of the testing process.
Developers don’t know what is considered “Complete”
Is it good enough if “delete” just simply deletes. Or does the delete functionality need to show a confirmation? Should it send an email notification? Should all users be able to perform a delete action? Without requirements, these decisions are going to be made somewhere along the line. Hopefully by the right person, and hopefully with the user in mind.
Customers don’t know what to expect
Software requirements establish the agreement between your team and the customer on what the application is supposed to do. Without a description of what features will be included and details on how the features will work, the users of the software can’t determine if the software will meet their needs.
Bugs can slip through the cracks
It’s not uncommon for bugs to be introduced due to unclear requirements or a misunderstanding of them. Make sure you’re not introducing requirements into the software from the start by ensuring your requirements are correct, complete, and communicated clearly.
Taking the time up front to document requirements will save you and your team time further down the line. Requirements don’t always need to be extremely detailed documents but they should exist in some form. They are the document of record to make sure every one is on the same page.