Non Functional Testing
Non Functional Testing
Non Functional Testing
Purpose
Imagine that an application meets all the user requirements perfectly, but some
unauthorized user easily goes and cracks the data entered by the user in the application,
or the application dies when more than 5GB of any file is uploaded. So would you say
that the application is of good quality? Obviously not right!!
The purpose is to cover the testing of all the characteristics of the application which
helps to provide an application that meets the business expectation.
Functional testing tests the application’s functionality and ensures that it works as
expected but non- functional testing ensures that the application works good enough to
meet the business expectations.
Response time might increase or when the load is increased to an extent, the application
might crash. This shows how important it is to test an application’s non-functional
aspects.
1 Functional Testing verifies how Non functional testing verifies how well the
well the system works. system responds.
Performance Testing:
Evaluates the overall performance of the system.
– This test is repeated with multiple users to get the response time and throughput.
– At the time of testing, the data base should be realistic.
– The test should be conducted on a dedicated server which stimulates the actual
environment.
Stress Testing:
Stress Testing is to verify the behaviour of the system once the load increases more
than the system’s design expectations. This testing addresses which components fail
first when we stress the system by applying the load beyond the design expectations. So
that we can design more robust system.
Volume Testing:
Volume Testing is to verify that the system/application can handle a large amount of
data. This testing focuses on Data Base.
Compatibility Testing:
Evaluates that the application is compatible with other hardware /software with minimum
and maximum configuration.
Soak Testing:
Soak Testing is aka Endurance Testing. Running a system at high load for a prolonged
period of time to identify the performance problems is called Soak Testing. It is to make
sure the software can handle the expected load over a long period of time.
Spike Testing:
Spike Testing is to determine the behaviour of the system under sudden increase of load
(a large number of users) on the system.
We can include non-functional testing details in the test plan or can create a separate
strategy for it. In either case, the goal is to have a proper coverage of non-functional
aspects of the software.