Bug Blog

Check out the latest news in software testing

Testing software for nonfunctional performance

The purpose of nonfunctional testing is to go beyond the input and output of an application to determine how well it meets system requirements. Nonfunctional testing determines how well an application interacts with the the environment in which it is intended to function.
We cut software testing from weeks to days. Let’s talk for 15 minutes to see if we can accelerate your digital delivery too. Schedule a call with our CEO Ash Conway.
Contact Us

User experience testing is an example of nonfunctional performance testing.  It exists to determine how well the user can interact with the application and so such testing goes beyond the application itself and enters the realm of the environment that application is intended to function within.

Performance testing is perhaps the most important form of nonfunctional testing.  In performance testing, the application is tested against a real world sized database to determine if response time and other important processes fall within acceptable parameters.  Load testing is another form of nonfunctional testing.  The application is put under the pressure of many users accessing at once in order to replicate the environment that the application will be functioning in.

Other forms of nonfunctional testing include stress testing by pushing the system beyond its designed limits.  This isn't the same as load testing, which deals with the maximum designed load, but is an attempt to determine how the system will handle a load greater than it has been designed for.

Nonfunctional testing pretty much addresses anything not directly addressed by functional testing.  This includes things like scalability, where the capacity of an application to be scaled up is tested.  Or it may include other things such as speed, stability and reliability.  It may even include the classic smoke test, where the application is run just to see if anything goes wrong.

Performance testing begins by documentation of the important requirements through interaction with stakeholders such as project managers, architects and developers and of course users. Requirements are then set and a test strategy is planned and carried out at various points during software development depending on what is to be tested, such as application architecture or user experience.  This includes the use of performance test scripts.

Nonfunctional performance testing exists to demonstrate that the application meets the intended performance criteria.  In the process, it can gather information that enables fine tuning of the system. Nonfunctional testing also improves user experience, informs stakeholders as to the status of the application and, most importantly, demonstrates when the application is ready for delivery.  Nonfunctional performance testing gives us an understanding of how a given system will perform in the real world.

Bug Newsletter

Keep up to date with the latest in beta, bug & product testing