Software testing-Software Engineering

Social share


The set of activities that ensure that software correctly implements a specific function/algorithm.


The set of activities that ensure that software has been built is traceable to customer requirements.

E.g.:- Does the product perform as required?

When we consider testing, there are 5 stages followed by IT companies in software testing.

Strategies of Software Testing

1.unit testing

2.integration testing

3.system testing’

4.regression testing

5.acceptence testing

Unit testing

Unit Testing - Tutorialspoint

Focuses on the smallest element of software design. It make heavy use in white box testing. White box testing is a methodology ,test done in internal code and structure. There are test cases need to apply on modules during test.

Test cases

1.Interface test cas

2.local data structure

3.error handling

In unit testing, system is divided in to sub module. Each sub module will be to test individually.

Integration testing

The purpose of this testing is to expose faults in the interaction between integration unit.

Integration testing is a process of testing the interface between two software units or module.

This test can be done in 3 ways.

1.Big bang approach

2.Top down approach

3.Bottom up approach

Big bang approach

combining all the modules once and verifying the functionality after completion if individual module testing.

Top down approach

Testing take place from top to bottom.High level modules are tested first. Secondly test low level module. Finally integrating low level module to high level module to high level module to ensure the system is working as instead.

Stubs use in integration testing. It is a temporary module ,if a module is not ready for integration testing it will use as a temporary module.This stubs are only use in top down approach..

stubs are dummy module. Stubs is a called program.

Bottom up approach

Take place from bottom to up. Lowes level module are tested first and then high level module will be test..Finally integrating the high level module to low level module to ensure the system is working as instead.

Drivers are used here as a temporary module. Driver is calling program.

NOTE:- sandwich approach is a combination of topdown and bottom up approach.

System testing

Premium Online Software Testing Video Courses - Tutorialspoint

The system as a whole is tested to uncover requirement error.

System testing verifies that all system elements work properly and that overall system function and performance has been achieved. There are 2 testing techniques in system testing.

1.Alpha testing

2.Beta testing

1.Alpha testing

It is carried out by the test team with in the developing organization.

2.Beta testing

It is perform by selected group of friendly customers. Here product will given to customers and test.

Acceptance testing

It is performed by customer to determine whether to accept or reject the delivery of system.

Performance testing

It is carried out to check whether the system meets the non functional requirements identified in the SRS document.

Regression test

Regression test means that occurs due to some action or activities in a system. it is a return of a bug.

It is a testing process that is done to find the regression in the system after doing any changes in the product.

Regression test required when there is a:-

1.Change in requirements

2.Code is modified according to the requirement.

3.New features is added to your system.

4.Defect fixing

4.Performance issue fix.

Techniques used in regression testing.

1.Reset all

2.Regression test selection

3.priotization of test cases.

There are 3 main testing methodology…

1.Black box testing

2.White box testing

3.Gray testing

Black box testing

It is a method of software testing that examines the functionality of an application without looking into its internal structures of working.

This method is applied at every level of software testing.

1.unit testing

2.intergration testing

3.system testing

4.acceptence testing

Here tests are based on requirements and functionality.

It is carried out to test functionality of the program. So it is called as :behavioral testing”.

The test in the case has set of input values and providing input ,if the output matched with the desired results ,the programme is tested ok…

In this testing method the design and structure of code are not known to test.Testers and test engineers and end users conduct this test on software. Here not bother about what inside the code.

White box testing

This testing method is based on analysis of the internal structure of components of system.This testing method also known as

1.Clear box testing

2.Glass box testing

3.transparents box testing

4.structured based testing.

I t can be applied at all levels of SDLC

Most of defects are found in unit, components and integration level is through white box testing. Tests are based on coverage of code statements ,branches, paths and conditions.

Gray box testing

It is a combination of whit box testing and black box testing.Here testers have limited knowledge of internal details of program.

Gray box testing is partially knows internal structure and algorithms of defining test case.

Techniques used in Gray box testing.

1.Matrix techniques

2.Regression techniques

3.pattern testing

4.athougnal array testing

Comprision of 3 test methods…

Black-Box TestingGrey-Box TestingWhite-Box Testing
The internal workings of an application need not be known.The tester has limited knowledge of the internal workings of the application.Tester has full knowledge of the internal workings of the application.
Also known as closed-box testing, data-driven testing, or functional testing.Also known as translucent testing, as the tester has limited knowledge of the insides of the application.Also known as clear-box testing, structural testing, or code-based testing.
Performed by end-users and also by testers and developers.Performed by end-users and also by testers and developers.Normally done by testers and developers.
Testing is based on external expectations – Internal behavior of the application is unknown.Testing is done on the basis of high-level database diagrams and data flow diagrams.Internal workings are fully known and the tester can design test data accordingly.
It is exhaustive and the least time-consuming.Partly time-consuming and exhaustive.The most exhaustive and time-consuming type of testing.
Not suited for algorithm testing.Not suited for algorithm testing.Suited for algorithm testing.
This can only be done by trial-and-error method.Data domains and internal boundaries can be tested, if known.Data domains and internal boundaries can be better tested.

Leave a Reply

Your email address will not be published. Required fields are marked *