What is Nonfunctional Testing?
November 20, 2018

What Is Non Functional Testing?

Test Management
Application Lifecycle Management

Non functional testing verifies the way software works — and how well it works. Whereas functional testing verifies what software does. Non functional testing is just as important as functional testing. Both ensure that your product is working as it should. But non functional testing checks things that aren’t covered in functional tests.

Image Resources 6 Tips Successful System Integration Testing

7 Types of Non Functional Testing

There are several different types of non functional tests. The most common ones are:

  1. Performance Tests
  2. Load Tests
  3. Stress Tests
  4. Volume Tests
  5. Security Tests
  6. Upgrade & Installation Tests
  7. Recovery Tests

1. Performance Tests

Performance testing checks how well software components work. These tests find issues in software design and architecture performance.

This is typically done by:

  • Measuring response times
  • Identifying bottlenecks
  • Locating failure points

Performance tests ensure software quality. They validate that it’s fast, scalable, stable, and reliable.

2. Load Tests

Load testing checks how the software behaves under normal and peak conditions. This is done to determine how much work the software can handle before performance is affected.

You can do load tests by running multiple applications simultaneously, subjecting a server to a lot of traffic, or downloading a large quantity of files.

Load tests are used to ensure fast and scalable software.

3. Stress Tests

Stress testing checks how the software behaves under abnormal conditions. This determines the limit at which the software will break.

It’s important to find out what happens when the system is under stress. Does the right error message display? Does the system fail? How will it recover?

Stress tests are used to analyze what happens when a system fails. This ensures that software is recoverable, stable, and reliable.

4. Volume Tests

Volume testing finds out what happens to system performance when a huge volume of data is added to the database. This is done to identify what problems may occur with increasing volumes of data. It’s also known as flood testing.

You can use volume tests to check if there’s any data loss, warning or error messages, or data storage issues.

Volume tests verify that systems respond as expected to certain volumes of data. This is important for ensuring performance and stability.

5. Security Tests

Security testing checks software to find flaws that may compromise data. The goal of security testing is to prove that an attack won’t happen.

Common security tests include:

  • Vulnerability scans
  • Security scans
  • Penetration testing
  • Risk assessment
  • Security audits
  • Posture assessment
  • Ethical hacking

Running these tests is important to developing a safe, stable system.

6. Upgrade and Installation Tests

Upgrade testing and installation testing verify that software will work properly on everyone’s machines. So, upgrade testing is done for existing users. And installation testing is done for new users.

Both of these types of functional tests are important for user satisfaction.

More on upgrade vs. installation testing >>

7. Recovery Tests

Recovery tests determine how quickly software can rebound after a crash or failure. This is done by forcing the system to fail.

This type of testing is done to see what happens:

  • To the software if you unplug the hardware.
  • If you disconnect from the network during a data transfer.
  • When you restart the system unexpectedly.

Recovery tests are important to improving software performance.

More Types of Software Testing

 

Non Functional Testing Tools

Non functional tests are typically done with different tools. But no matter how which tool(s) you use, it’s important to have visibility across all of your testing efforts.

Helix TCM is a test management tool that gives you visibility across testing, from functional through non functional. Plus, it’s part of Helix ALM, so you’ll also be able to connect your tests to your requirements.

 

Examples of Testing in Helix ALM