Monday, 27 February 2012

Types of Software Testing

Software Testing is mainly divided into two types.

01.Functionality Testing
02.Non-Functionality Testing

Functionality Testing:

As the name suggests we need to test the Software against the well defined requirements. It means we are going to test the logical part of the software.For example, we can take Calculator. Assume that a user enters 0, Presses + button, enter 1, Presses = Button. The result should be 4. It means the programming logic should follow the actual requirment. This is called Functionality Testing.

Non-Functionality Testing:

Non-functionality is not really about the programming logic. It's all about how the same application behaves under different circumstances.

For example, we can take the same Calculator application. Assume that the application was tested with 1GB RAM, 40GB HDD with single user login.SO,the application worked perfectly as expected.Assume that more than 1,000 users are going to access the application at the same time.

So, it's possible for that the application crash. If that happens, either resources of the machine on which the application is running should be improved, like increasing the RAM or CPU, etc in such a way that the application code has been improved to handle n-number of users.

Unless we run such a test, we'll be at risk of the application crash in production when it comes under heavy load. This kind of testing is called as Non-Functional.

It's very important to gather both Functional and Non-Functional requirements during requirement phase itself to avoid such kind of issues.

This is the main responsibility of the Test Engineer to get clarity on these requirements.


Post a Comment

Back To Top