What is non-functional testing?

Answer Posted / vj

Software application has several Quality Properties like Functionality, Scalability, Recoverability, Availability, Security etc. 'Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives', a book by Rozanski is very useful. Testing any Quality Property other than Functionality can be called as 'Non-Functional' Testing.

Non-Functional Testing is more technical than functional testing in that, it is performed on the infrastructure(servers/networks etc) within the environment rather than application as in functional testing.

We can test servers, databases, network components, messaging etc. The important point to remember is, these tests are performed to support Functionality of the application - because end users will not see the Non-functionality of the application other than when system performs slowly/ someone hacked etc. They only work with functionality of the system and it is their priority but Architecture contains not only functionality but also other qualities and hardware to support such functionality.

Servers are tested for resilience and availability defined in Operations Requirements, Service Level Agreements(SLAs), for Capacity Management to accommodate number of Users/Volumes of traffic defined in the requirements, for endurance.
Alerting and Monitoring for component/system failures, breaching resource threshold levels - these will be useful in Operations.
Logging, Log Shipping(or Rotating), Audits to make sure every user activity is logged and can be audited - This is done as part of conformance as well as understanding if something goes wrong in the system, we know exactly what hapenned.
Network Components within the environment/Architecture to determine that there are no Single Point of Failures and no data loss during failure conditions in live. These tests can be linked through to Alerting and monitoring and also to Auditing.
Databases for Backup and Restoring - several backup techniques available depending on the requirements in Operations.
Disaster Recovery is another type of Non-Functional test where entire Data Centre( if the architecture is data centric) is failed over to secondary data centre and operated from secondary site without impacting Business/functionality in live.

Non-Functional testing can be done in parallel with Functional Testing depending on Test Environments availability as well as non-intrusive to other testing types.

Just like Functionality, there are few tools available for Non-Functional Testing as well.
For example,
LoadRunner for Testing Scalability(Load, Stress, Soak).
Backup and Restore/Recovery - Recovery Manager (RMAN) is a built-in Backup and Recovery tool in Oracle
Disaster Recovery is mostly manual but some of the processes can be automated.
Security - There are hundreds of tools Open source tools available for Security Testing - have to be very careful when trying these out.
Monitoring and Alerting - There are number of open source tools.

Hope this will be helpful


VJ

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Can list out some disadvantages of manual testing?

676


i have 2.5 years of experience in manual testing and qtp. can anyone say me what kind of questions do they ask on manual testing and qtp.

2978


integration test cases for mouse and keyboard

3228


What is alpha testing?

675


What is bidirectional traceability ??? and how it is implemented

1692






what is the impact analysis?

1918


What is the difference between Functional testing and Unit Functionality testing?

1536


What is an error?

669


what is sanity test (or) build test?

653


What is Difference between Test Strategy and Test Methodology?

1735


What are parametere require for Performance testing?

1923


If I want to check compability of software in a MAC OS then which steps shold I follow?

1601


Please explain how to elaborate on the types of system/functionality for testing Payments, Statements, & Transactions features in a bank.....like what do we test in these,in detail? It's urgent, please reply...thanks in advance.

2012


Encapsulation of attributes and operations inside objects makes it easy to obtain object state information during testing. is it true.explain

1647


Which is the best book to ref. for design the test cases/scenario in manual testing,which gives detailed idea with all the strategies ?

5963