Primary keyword—Software testing
Secondary keywords—Software testing, phase of software testing , strategies
Page title- Software testing
The Development of finalized version of software involves series of activities. These
activities are mainly:
Testing is one of important phase of software development life cycle. After development
of software a set of activities are required to make the software suitable to use by the end
user. Thus software testing techniques enter the picture to achieve the goal of providing
error free software to the customers. Testing is phase in software development life cycle
that comes into scene after the Coding and before maintenance. Testing is required to
check the working of modules of software or software as a whole. Software testing is a
critical element in software quality assurance and represents the ultimate review of
specification, design and code generation. Generally organizations expend 30 to 40% of
total project effort on testing. In case of human rated software like flight control, nuclear
reactor monitoring etc. can cost 3 to 5 times as much as altogether software engineering
Objectives of Testing:
Testing is undertaken by executing the program with the intent of finding uncovered
error. A good and successful test is one that is able to uncover all hidden errors and which
has high probability of success.
Verification and Validation: Software testing is often referred to as verification and
validation. Verification is a set of activities that ensures the software is correctly able to
perform its functions whereas validation are a set of activities that are able to find out
whether the software is able to meet the customer requirements. Thus the only difference
between verification and validation is that verification of checking of software internally
whereas validation is process of external checking of software where output of software
is able to meet the customer requirements or not.
Types of software testing strategies: Software Testing strategies are also of different
types. These are broadly classified under verification testing and validation testing.
Verification testing includes Unit testing and Integration testing.
Unit testing: When tests are conducted to check the functionality of each component or
unit module software. It is Unit testing.
Integration Testing: When all the modules of software are tested together or the software
is tested as a whole. It is Integration testing.
Validation testing includes system testing, alpha testing and beta or acceptance testing.
System Testing: Top level of Integration testing. At this level requirements are validated
as in SRS.
Alpha Testing: When software is tested at developer’s site with the inputs supplied by
application testers of Developer Company itself. This is Alpha Testing.
Beta Testing or Acceptance Testing: When the software tests are conducted at the
customer site with the inputs supplied by application user. This is Beta testing. It is also
called Acceptance testing because after this testing software is accepted by customer or
this test is necessary just to make it acceptable to customer.