Software Testing Practices, Test Methodologies and Test Competency Services


Welcome to the world of Software Testing & Best Test Practices.

All you wanted to know about Software Testing, Test Practices, Test Methodologies and building the Test Competency Services !!


Wednesday, October 3, 2012

Difference between Functional and Non Functional Testing


Let us have a look at the major difference between Functional and Non Functional Testing.



Functional Testing:


A type of black box testing, functional testing tests an application against the business requirements. Testers can either use automated tools or manual testing tools to verify the function of the code. Listed below are 5 Steps to remember in Functional testing:


1.    Based on the specifications of functions, it involves preparing test data.

2.    The inputs to functional testing are the business requirements.
3.    The output of the functions has to be verified against the functional specifications.
4.    Executing test cases.
5.    Verify the output against the expected output.

The below listed testing are the sub types of Functional Testing.


1.    Unit Testing:
Unit testing is very useful to detect bugs and defects right at the beginning of the software development life cycle.
2.    Smoke Testing:
Smoke Testing or Build Verification Testing consist of a set of non-exhaustive tests which ensures that the most vital functions work.
3.    Sanity testing:
An unscripted type of test, sanity testing focuses on few functional areas of an application.
4.    Integration testing:
Integration testing tests an application as a whole to detect if there are any defects in the interaction between the integrated units of the application.
5.    Usability Testing:
An evaluation method, unit testing is used to ensure that the user is satisfied with the application.

The other sub-types of Functional testing are:


1.    Interface Testing

2.    System Testing
3.    Regression Testing
4.    User Acceptance Testing

Non-Functional Testing


Non-Functional Testing, tests an application against the non-functional requirements. These include the quality of the product.  A tester can test the non-functionality of an application after he/she has tested the application against the functional requirements. Listed below are they sub-types of Non-Functional Testing:


1.    Compatibility Testing:
This type of testing evaluates the compatibility of an application with a computing environment.
2.    Load Testing/Stress Testing:
It is important for a tester to check if the application/website can withstand the load and stress when there are many people assessing it at the same time.
3.    Recovery Testing:
Testers will need to check the capability of an application to recover after experiencing hardware failure or crashes.
4.    Security Testing:
Security is important especially when it comes to applications that require a user to enter critical information such as account or credit card information. Testers have to ensure that such information is being transmitted safely.
5.    Volume Testing:
The functions of volume testing are often misunderstood or used interchangeable. It refers to testing an application’s performance with a specific amount of data.

The other sub-types of Non-Functional testing are:


1.    Availability Testing

2.    Baseline Testing
3.    Compliance Testing
4.    Configuration Testing
5.    Documentation Testing
6.    Endurance Testing
7.    Ergonomics Testing
8.    Interoperability Testing
9.    Installation Testing
10.    Localization Testing and Internationalization Testing
11.    Maintainability Testing
12.    Operational Readiness Testing
13.    Performance Testing
14.    Reliability Testing
15.    Resilience Testing
16.    Scalability Testing
17.    Usability Testing

No comments: