Pages

Regression Testing

Regression Testing, performed to validate the software following any code change, to ensure the intent software functionality is working fine as expected after the code change. It is basically re running the test cases after every software build and before the software releases to the customer. Regression test cases are best suit for the automation execution, since this test cases are executed frequently.


Ad-Hoc Testing

Ad-hoc Testing is unstructured and no formal test cases or documentation are needed to test the software. This testing can be performed right after the software build deployment to validate the very basic features of software, before we start the formal testing. This testing will benefit to detect the defects at earliest.

Performance Testing

Performance testing is a type of software testing, which is to verify the non-functional features of the software like speed & stability of the system. The goal of this testing is to identify the performance of the system.

Some types of the performance testing are,

  1. Load Testing
  2. Stress Testing
  3. Volume Testing

Load Testing:

Load testing is a type of performance testing, where it is to test the application to identify its performance on normal & peak usage. The goal is to identify the bottlenecks in the system by applying estimated load to the system.

Stress Testing:

Stress testing is applying the load gradually to the system, at some point the system will break with non responsive state for the request’s. This state is considered as the breaking point.

Volume Testing:

Volume testing is storing a large volume of data in the data base, to identify the overall performance of the system behavior. The goal is to verify the system performance with different volume of data.


Shakedown Testing

Shakedown Testing is type of software testing, that is performed in the application to test basic functionalities are working fine without any issues. This testing is kind of entry criteria for the actual in-depth testing.

We cannot start the in-depth testing, if any major issues reported during the shakedown testing.

As a simple example, we cannot start a actual in-depth testing, if we encounter a login issue to access the application, that was reported during shakedown testing


System Testing & Acceptance Testing

System Testing is level of the software testing performed to test completely developed/integrated software to verify and validate the end to end functional and non - functional behavior of the software as per customer requirements.
To perform System testing it is not mandatory to have knowledge on the internal working structure of the software and it is enough to have knowledge on the external working of the software, due to this the system testing activities falls under black box testing.

Acceptance Testing:

Acceptance Testing is usually done by the client or the end user to verify that it meet the expectation based on the business requirements given to the software company/vendors. In this testing, client verifies and accepts the software product if it meet their criteria. This is also referred as UAT (User acceptance testing).

Acceptance testing is done once the system testing is completed successfully.

In the below case, assume the product school management system is given to the software company for development. Once company develops the product, it is pushed for the system testing. From the successful system testing phase, further the software product is ready to deliver to the client for the acceptance testing. In this level of testing, client validates the software product based on the business requirements.

Software Testing, System Testing, Beta Testing, UAT Testing, User Acceptance Testing
Acceptance Testing

Software Testing and its Types

What is Software Testing?

Software Testing is the process of executing or evaluating the developed software, to maintain the software quality or verifying and validating the software is working as per customer requirements/expectation.

Types of Software Testing:

Black Box and White BoxTesting

Black box testing is a Software testing technique to test the functionality of software without having knowledge on internal working structure of the code. This kind of testing is done based on requirements of application. For black box testing it is not mandatory to know internal working structure of software and it is enough to have a functional knowledge of the software.

For example:

Login Screen with user name and password input field.

1) Provide valid input for user name and password and verify we can able to login successfully.
2) Provide invalid input for user name and valid password and verify we should not able to login.

In this case we don't know the internal working structure of code, just tester should know knowledge on valid input to login successfully and invalid input for unsuccessful authenticate.




White Box testing done based on analysis of internal working structure of software/program. It is also known as structure/clear/glass box testing. White box testing is performed based on the knowledge of how the system is implemented. Mostly developer may do this testing, because they are well known on the internal working structure of the program such as statement coverage, branch coverage and path coverage.