The role played by testers in the realm of software development has changed drastically in recent years. While in the past these individuals were primarily tasked with simple verification, now software testing is a much more expansive, critical function.
This evolution has significant implications when it comes to specifying requirements at the beginning of the software lifecycle, according to TechTarget contributor Jennifer Lent. She recently argued that contrary to traditional notions, it may be better for software testers to receive fewer requirements, rather than more.
Less is more
According to Lent, testers are beginning to fulfill a more important role in the software cycle. Instead of solely validating requirements, team leaders now expect their tests to do far more. Lent noted that test expert Lisa Crispin believes the true role of software testers today is to help business leaders to determine the right features to deliver. Business stakeholders, Crispin explained, frequently have misguided notions about which features a given application should possess. By providing guidance and insight, testers can not only ensure the application works properly, but also shape the very nature of that app, making it more appealing and useful.
Consequently, testing requirements can act as hindrances, rather than useful directives, Lent asserted. She wrote that when software testers are presented with a long list of detailed requirements, their job becomes more straightforward. The end result is likely to be better-tested requirements – not better products. While this was once good enough, it is no longer the case. After all, an application with well-tested requirements is not nearly as valuable as a better-designed software offering. By focusing less on requirements, Lent explained, software testers can experiment more and offer improved insight.
She compared these two testing approaches to car production. Software testers with robust requirements are like workers on an assembly line, following directions and making sure that each part functions as intended. With fewer requirements, these roles shift more toward design, helping the company to develop the best car – or software – it possibly can.
However, the increase in software testers' responsibilities does not in any way reduce the need for robust review. No matter the role played by testers in designing the application, they still need to utilize tools such as static analysis to provide completeness of test cases and open source scanning to ensure comprehensive code coverage.