Stqs
Stqs
Introduction
SOME SOFTWARE FAILURES
• The Y2K problem was the most critical problem of the last
century.
• The whole world was expecting something drastic on January
1, 2000.
• Significant sums of money were spent by software companies
to get rid of this problem.
• What was the problem? It was simply the case of using two
digits for the year instead of four digits.
• For instance, 1965 was considered as 65.
• The developers could not imagine the problem of year 2000.
The Y2K Problem
• Verification:
• “It is the process of evaluating the system or component to
determine whether the products of a given development
phase satisfy the conditions imposed at the start of that
phase.”
• It is the process of reviewing the requirement document,
design document, source code and other related documents
of the project.
Verification and Validation
• Validation:
• “It is the process of evaluating a system or component during
or at the end of development process to determine whether
it satisfies the specified requirements.”
• It requires the actual execution of the program.
• It is dynamic testing and requires a computer for execution of
the program.
• Here, we experience failures and identify the causes of such
failures.
• Hence, testing includes both verification and validation.
• Thus, Testing = Verification + Validation
Fault, Error, Bug and Failure
• Most of us feel that these terms are similar and may be used
interchangeably.
• This creates confusion about the purpose of the testing team
and Quality Assurance (QA) team.
• As we have seen in the previous , the purpose of testing is to
find faults and find them in the early phases of software
development.
• We remove faults and ensure the correctness of removal and
also minimize the effect of change on other parts of the
software.
Testing, Quality Assurance and Quality Control
• The shape of the model is like the English letter ‘V’ and it
emphasizes testing activities in every phase.
• There are two parts of the software development life cycle in
this model i.e. development and testing and are shown in
Figure.
• We want to carry out development and testing activities in
parallel and this model helps us to do the same in order to
reduce time and cost.
Graphical Representation
Relationship of Development and Testing Parts
• The development part consists of the first four phases (i.e.
requirements analysis and specification, high level design,
detailed design and implementation) whereas the testing part
has three phases (i.e. unit and integration testing, system
testing and acceptance testing).
• The model establishes the relationship between the
development and testing parts.
• The acceptance test case design and planning activities should
be conducted along with the software requirements and
specifications phase.
• Similarly the system test case design and planning activities
should be carried out along with high level design phase.
Relationship of Development and Testing Parts