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
what is system testing? as test eng, what do u do in sys testing? who invoves in sys testing?
how will you test a wine filled bottle along with 100 glasses
What is a test server?
what do you mean by Develop test data through sourcing (or) handcrafting techniques
What is verification in software testing?
What are the typical risks that you identify during test planning and their mitigation plan and Contengency plan.
what types of bugs will we find out in banking projects
What criteria would you use to select Web transactions for load testing?
what are questions asked in TCS for database tester (sqlserver)?ay idea
What is Mixed Testing
How to do Pixel Size testing in a PDF document. Is there any Open tool that will be avaiable?
When new application ready to test than whats your testing strategies?
MS Paint
What is the difference between manual testing and automation testing?
What is smoke test? Do you use any automation tool for smoke testing?