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
Can list out some disadvantages of manual testing?
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.
integration test cases for mouse and keyboard
What is alpha testing?
What is bidirectional traceability ??? and how it is implemented
what is the impact analysis?
What is the difference between Functional testing and Unit Functionality testing?
What is an error?
what is sanity test (or) build test?
What is Difference between Test Strategy and Test Methodology?
What are parametere require for Performance testing?
If I want to check compability of software in a MAC OS then which steps shold I follow?
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.
Encapsulation of attributes and operations inside objects makes it easy to obtain object state information during testing. is it true.explain
Which is the best book to ref. for design the test cases/scenario in manual testing,which gives detailed idea with all the strategies ?