Software Testing Unit 1&2
Software Testing Unit 1&2
What is software:
It is a product
vehicle for delivering a product.
As the vehicle used to deliver the product, software acts as the basis for
the control of the computer (operating systems), the communication of
information (networks), and the creation and control other programs
(software tools and environments).
Software Characteristics:
Functionality
1| Page
BSc CS (SY) Software Engineering
Reliability
Efficiency
Usability
It refers to the extent to which the software can be used with ease.
the amount of effort or time required to learn how to use the
software.
2| Page
BSc CS (SY) Software Engineering
Maintainability
Portability
A set of attributes that bears on the ability of software to be
transferred from one environment to another, without minimum
changes.
Classification of Software
In a computer system, the software is basically a set of instructions
or commands that tells a computer what to do. Or in other words,
the software is a computer program that provides a set of
instructions to execute a user’s commands and tell the computer
what to do. For example, like MS-Word, MS-Excel, PowerPoint, etc.
The chart below describes the types of software:
3| Page
BSc CS (SY) Software Engineering
System Software
Application Software
4| Page
BSc CS (SY) Software Engineering
5| Page
BSc CS (SY) Software Engineering
Software Evolution
The cost and impact of these changes are accessed to see how much
system is affected by the change and how much it might cost to
implement the change. If the proposed changes are accepted, a new
release of the software system is planned. During release planning,
all the proposed changes (fault repair, adaptation, and new
functionality) are considered.
A design is then made on which changes to implement in the next
version of the system. The process of change implementation is an
iteration of the development process where the revisions to the
system are designed, implemented and tested.
The necessity of Software evolution: Software evaluation is
necessary just because of the following reasons:
6| Page
BSc CS (SY) Software Engineering
7| Page
BSc CS (SY) Software Engineering
Software Crisis
8| Page
BSc CS (SY) Software Engineering
Software Myths:
9| Page
BSc CS (SY) Software Engineering
Fact:
If software is late, adding more people will merely make the
problem worse. This is because the people already working on
the project now need to spend time educating the newcomers,
and are thus taken away from their work. The newcomers are
also far less productive than the existing software engineers,
and so the work put into training them to work on the software
does not immediately meet with an appropriate reduction in
work.
(ii)Customer Myths:
The customer can be the direct users of the software, the technical
team, marketing / sales department, or other company. Customer
has myths leading to false expectations (customer) & that’s why
you create dissatisfaction with the developer.
Myth 1:
A general statement of intent is enough to start writing plans
(software development) and details of objectives can be done over
time.
Fact:
Official and detailed description of the database function, ethical
performance, communication, structural issues and the
verification process are important.
Unambiguous requirements (usually derived iteratively) are
developed only through effective and continuous
communication between customer and developer.
Myth 2:
Software requirements continually change, but change can be
easily accommodated because software is flexible
Fact:
It is true that software requirements change, but the impact of
change varies with the time at which it is introduced. When
requirements changes are requested early (before design or
code has been started), the cost impact is relatively small..
10 | P a g e
BSc CS (SY) Software Engineering
(iii)Practitioner’s Myths:
Myths 1:
They believe that their work has been completed with the writing of
the plan.
Fact:
It is true that every 60-80% effort goes into the maintenance
phase (as of the latter software release). Efforts are required,
where the product is available first delivered to customers.
Myths 2:
There is no other way to achieve system quality, until it is
“running”.
Fact:
Systematic review of project technology is the quality of
effective software verification method. These updates are quality
filters and more accessible than test.
Myth 3:
An operating system is the only product that can be successfully
exported project.
Fact:
A working system is not enough, the right document brochures
and booklets are also required to provide guidance & software
support.
Myth 4:
Engineering software will enable us to build powerful and
unnecessary document & always delay us.
Fact:
Software engineering is not about creating documents. It is
about creating a quality product. Better quality leads to reduced
rework. And reduced rework results in faster delivery times
11 | P a g e
BSc CS (SY) Software Engineering
software process :
software process is the set of activities and associated outcome that
produce a software product. Software engineers mostly carry out
these activities. These are four key process activities, which are
common to all software processes. These activities are:
12 | P a g e
BSc CS (SY) Software Engineering
Waterfall Model
The Waterfall Model was the first Process Model to be introduced. It
is also referred to as a linear-sequential life cycle model. It is very
simple to understand and use. In a waterfall model, each phase must
be completed before the next phase can begin and there is no
overlapping in the phases.
The Waterfall model is the earliest SDLC approach that was used for
software development.
13 | P a g e
BSc CS (SY) Software Engineering
14 | P a g e
BSc CS (SY) Software Engineering
15 | P a g e
BSc CS (SY) Software Engineering
1. Incremental Model
2. Spiral Model
Incremental Model
Incremental Model is a process of software development where
requirements divided into multiple standalone modules of the software
development cycle. In this model, each module goes through the
requirements, design, implementation and testing phases. Every
subsequent release of the module adds function to the previous release.
The process continues until the complete system achieved.
16 | P a g e
BSc CS (SY) Software Engineering
17 | P a g e
BSc CS (SY) Software Engineering
18 | P a g e
BSc CS (SY) Software Engineering
Spiral Model
When viewed as a diagram, the spiral model looks like a coil with
many loops. The number of loops varies based on each project and is
often designated by the project manager. Each loop of the spiral is a
phase in the software development process.
19 | P a g e
BSc CS (SY) Software Engineering
Advantages
Disadvantages
20 | P a g e