Page 198 - DCAP405_SOFTWARE_ENGINEERING
P. 198
Unit 11: Testing Strategies
Validation Testing Notes
Software validation testing is essentially a task carried out by a software tester. The aim is to
check, if the software has been made in lines with the requirements of the client. In this article,
we will talk about software validation testing in detail.
While verification is a quality control process, quality assurance process carried out before the
software is ready for release is known as validation testing. The validation testing goals is to
validate and be confident about the software product or system, that it fulfills the requirements
given by the customer. The acceptance of the software from the end customer is also a part of
validation testing.
Validation testing answers the question, “Are you building the right software system”. Another
question, which the entire process of validation testing in software engineering answers is, “Is
the deliverable fit for purpose”. In other words, does the software system provide the right
solution to the problem. Therefore, often the testing activities are introduced early in the software
development life cycle.
Notes The two major areas, when validation testing should take place are in the early
stages of software development and towards the end, when the product is ready for
release. In other words, it is acceptance testing which is a part of validation testing.
Validation Testing Types
If the testers are involved in the software product right from the very beginning, then validation
testing in software testing starts right after a component of the system has been developed. The
different types of software validation testing are:
1. Component Testing: Component testing is also known as unit testing. The aim of the tests
carried out in this testing type is to search for defects in the software component. At the
same time, it also verifies the functioning of the different software components, like
modules, objects, classes, etc., which can be tested separately.
2. Integration Testing: This is an important part of the software validation model, where the
interaction between the different interfaces of the components is tested. Along with the
interaction between the different parts of the system, the interaction of the system with
the computer operating system, file system, hardware and any other software system it
might interact with is also tested.
3. System Testing: System testing, also known as functional and system testing is carried out
when the entire software system is ready. The concern of this testing is to check the
behavior of the whole system as defined by the scope of the project. The main concern of
system testing is to verify the system against the specified requirements. While carrying
out the tester is not concerned with the internals of the system, but checks if the system
behaves as per expectations.
4. Acceptance Testing: Here the tester especially has to literally think like the client and test
the software with respect to user needs, requirements and business processes and determine,
whether the software can be handed over to the client. At this stage, often a client
representative is also a part of the testing team, so that the client has confidence in the
system. There are different types of acceptance testing:
Operational Acceptance Testing
LOVELY PROFESSIONAL UNIVERSITY 191