Types of software testing techniques

Broadly, software testing techniques can be broken into two types:

  1. Functionality testing
  2. Non-functionality testing

Functionality testing

This means testing the behaviour of the application to see if it is doing what it is expected to do. If one person were to use a Windows calculator application, he should expect to see that addition, subtraction, multiple and division work accurately.

Example: If he enters 2, presses + button, enters 2, presses = button, the result displayed should be 4.

Which means the programming logic of the application should follow the actual requirement. This is functionality testing.

Non-functionality testing

Non-functionality testing is not really about programming logic. It's about how the same application would behave when run under different circumstances.

Example: If the above Windows calendar application works perfectly well  for a single user on a machine with 512KB RAM and 20GB hard disk, assuming that 500 users are going to login to that machine and use that application at the same time, what would happen to it?

It is possible that the application might crash. If that happens, either the resources of the machine needs to be improved, like increase RAM or increase CPU, etc or the application code has to be improved to handle 500 users.

So, unless we run such a test, we will be at risk of the application crashing in production on a customer site when it comes under heavy load.

It is thus important, during requirements gathering, that not only functional requirements are detailed but also non-functional requirements.

An example of non-functional requirement can be '500 users must be able to use the Windows calculator at the same time'. It cannot be something like 'Many users should be able to use the Windows calculator at the same time'. There should not be any place for ambiguity.

It is the responsibility of the tester to get clarity on these requirements.

I think, Funtionality

I think, Funtionality testing and Non-functionality testing are the Testing Types and not techniques.Testing Techniques are,1. White Box testing - Testing done by developer or Tester having knowledge of programming languages anda. Statement coverageb. Loop coveragec. Conditional coverage etc.2. Black Box testing- Testing done by Testera. Boundary Value Analysisb. Equivalance Partioningc. Guessing Please correct me if I am Wrong...  

about test plan

Hi, This is ajaykumarcg, i have started my career in testing field before 1.5yrs, but till i didn,t  come across any test plan. Anybody please tell me abt test plan

A proper test plan is

A proper test plan is typically used only in big service companies. Most small product companies use a minimal version of it which is just good enough to strategise and plan their testing activity.

You can take a look here and download a copy to understand more about test plans.


User login

Who's new

  • amitbhagwat
  • TenLekerand
  • ClainaNaigh
  • RaviGunasekaran
  • gopasruhafoni

Who's online

There are currently 0 users and 2 guests online.