Thursday, 29 October 2015

Non Functionality Testing

After completion of functionality testing. Testers concentrate on non -functionality features of a system.  Non functionality features are considered to be extra features of system which are even more important to be Tested before system get released into the market. In this testing particularly the quality of the system is tested . I mean here we think in depth of the application and beyond the application functionality aspects. Some of the factors can be
  • How does the application perform under normal circumstances?
  • How the application behave when too many user logs in concurrently?
  • Can the application handle stress?
  • How secure is the application?
  • Can the application recover from any disaster?
  • Can the application behave in the same way in different environment or OS?
  • How easy is to port the application in different system?
Are the documents / user manual provided with the application easy to understand?
These features are equally important as the functionality of the testing. Imagine the application which meets all the user requirements perfectly, but some tricky user can easily go and crack the data entered by the user in the application or application dies when more than 5BB of any file is uploaded. So would you say that the application is of good quality  of course not. So here comes the Non functionality Testing which helps in Testing the application in all the ways. Non functionality  testing tests the following extra features mostly
  • Reliability testing
  • Compatibility Testing
  • Portability testing
  • System Integration testing
  • Performance Testing
  • Security Testing
  • Localization or Internationalization testing
  • Installation Or uninstallation testing
  • Recovery Testing
  • Compliance Testing

Reliability Testing:  The probability that a software can work without any failure and defaults for a specified period of time under specified conditions. Simply we can say that warranty of the application or system.
Compatibility Testing:  It is a process of testing the functionality of the application or a software on different hardware and software environments. We mainly concentrate on the output the application is giving in different environments and compare with other environment. For example Web apps can be tested in different web browsers such as internet explorer, opera, Mozilla Firefox, Safari, Netscape Etc. So in order understand what is compatibility testing if we test IRCTC application in different web browsers we can better understand
Portability Testing: It is a process of testing the functionality of an application on different operating system. It refers to the process of testing the ease with which a computer software component or application can be moved from one environment to another. For example if we test the web application or standalone application in different operating systems like Windows 7, 8.1, Linux and Unix and Mac in Tosh etc.,
System Integration Testing: It is a process of testing an application interactions with other application’s interface. For example test an IRCTC application and book  a ticket, during the payment process it has to redirect to a net banking page of Bank application, that means the IRCTC application has to interact with Banking application to complete it’s transaction. So this non functionality testing helps in checking the System Integration testing.
Performance Testing: It is done to check the performance of the application of the software or the application. In the defined conditions with the focus on responsiveness  and scalability. For example test a Flipkart application at the peak business hours and check the performance, loading time and all. In performance of the following concepts are mainly covered like Load Testing, Stress Testing , Volume Testing, Soak testing.
  • Load Testing: In order to find out the stability and response time of the product, the application or product is tested against fixed number of issues.
  • Stress testing: It is done to evaluate, if the application is stretched at peak load that is beyond the limits of its specified requirements.
  • Volume Testing: It is done to test the stability of the application by processing huge amount of data which is exceeding the memory limit.
  • Soak testing: It is done by applying the significant load over an extended period of time to discover how the system behaves.

Security Testing: It is process of testing an application that how well it is protected form unauthorized users or entries. It is used to find out all the potentials loop holes and weakness of the system. It is also known as Penetration testing. Through this testing we can protect the system or applications highly sensitive information from theft and check that the system is secure and not exposed to any type of the attack.
Localization or Internationalization: Internationalization is a process of designing a software application so that it can be adapted to various languages and regions without any changes. Whereas Localization is a process of adapting internationalized software for a specific region or language by adding local specific components and translating text.
Installation and Uninstall: IT is done to check whether all the files related to the Application are installed and uninstalled perfectly or not.
Recover Testing: Recovery testing is done in order to check how fast and better the application can recover after it has gone through any type of crash or hardware failure etc. Recovery testing is the forced failure of the software in a variety of ways to verify that recovery is properly performed. For example, when an application is receiving data from a network, unplug the connecting cable. After some time, plug the cable back in and analyze the application’s ability to continue receiving data from the point at which the network connection got disappeared. Restart the system while a browser has a definite number of sessions and check whether the browser is able to recover all of them or not.
Compliance Testing:  It is related with the IT standards followed by the company and it is the testing done to find the deviations from the company prescribed standards.

1 comment:

  1. I was very interested in the article , it’s quite inspiring I should admit. I like visiting your site since I always come across interesting articles like this one. Keep sharing! Regards. Read more about
    Security Testing Services
    Test Automation Services
    Software Testing Services
    Compatibility Testing Services
    Regression Testing Services

    ReplyDelete