Automated test case generation to validate non-functional software requirements
Pingyu Zhang · Lincoln (University of Nebraska) · 2013
A software system is bounded by a set of requirements. Functional requirements describe what the system must do, in terms of inputs, the behavior, and outputs. Non-functional requirements describe how well these functional requirements are satisfied, in terms of qualities or constraints on the design or implementation of a system. Both requirements are integral parts of software design specification, and should be revisited constantly during all software development phases. In practice, however, technique support for validating these requirements, does not receive equal emphasis. Techniques for validating functional requirements target all levels of software testing phases, and explore both black box and white box approaches. Techniques for validating non-functional requirements, on the other hand, largely operate in a black box manner, and only focus on system testing level. As a result, most software companies put more efforts in validating functional requirements, and only assess non-functional requirements after functional validation is complete. We propose a set of exhaustive white-box testing techniques that enable cost-effective validation of non-functional requirements from two perspectives. For non-functional requirements defined as qualities