Software Engg Chap 04
Software Engg Chap 04
This is incremental
construction of the approach to
software Bottom up integration
sub modules and atomicbegins with
checking
architecture.
Modules
moving are integrated
downward by the
through Low-level
into Components
clusters that are
perform a combined
specific
control
the mainhierarchy,
control beginning
module with software sub function
(main
Program).
Regression testing
Each time a new module is added as part of
integration testing,the s/w changes.
New data flow paths are established,new i/o may
occur,new control logic is invoked. These
changes may cause problems with functions
that previously worked flawlessly.
Regression testing is the re execution of some
subsets of tests that have already been
conducted to ensure that changes have not
propagated unintended side effects.
It is the activity that helps to ensure that changes
do not introduce unintended behavior and
additional errors.
Regression testing may be conducted manually
or by using automated tools.
As integration testing proceeds, the number of
regression tests can grow quite large.
Smoke testing
Smoke testing is an integration testing approach that is
commonly used when software products are being
developed.
It is designed as pacing(a single step in
process)mechanism for time critical projects ,allowing
the s/w team to test their projects on frequent basis.
S /w components that have been translated into code
are integrated into a “Build” - build includes all data
files,libraries,reusable modules,engineered
components that are required to implement one or
more product functions.
A series of tests is designed to expose errors that will
keep the build from performing its function.
The build is integrated with other build and the
entire product is smoke tested daily.
It does not have to be exhaustive,but it should be
capable of exposing major problems.
If the build passes ,you can assume that it is
stable enough to be tested more completely.
Benefits of s/w testing:-
1.Integration risk is minimized.
2.The quality of the end product is improved.
3.Error diagnosis and correction are simplified.
4.Progress is easier to assess.
Validation Testing
Alpha testing:-
This test takes place at the developer’s
site. Developers observe the users and
note problems.
Alpha testing is testing of an application
when development is about to complete.
Alpha testing is typically performed by a
group that is independent of the design
team, but still within the company, e.g. in-
house software test engineers, or
software QA engineers.
Alpha testing is final testing before the
software is released to the general public.
It has two phases:
In the first phase of alpha testing, the
software is tested by in-house
developers. The goal is to catch bugs
quickly.
In the second phase of alpha testing,
the software is handed over to the
software QA staff, for additional testing in
an environment that is similar to the
intended use.
Beta Testing
It is also known as field testing. It takes place at
customer’s site. It sends the system to users
who install it and use it under real-world
working conditions.
A beta test is the second phase of software
testing in which a sampling of the intended
audience tries the product out. (Beta is the
second letter of the Greek alphabet.)
Originally, the term alpha test meant the first
phase of testing in a software development
process. The first phase includes unit testing,
component testing, and system testing. Beta
testing can be considered “pre-release testing.
The goal of beta testing is to place your
application in the hands of real users outside of
your own engineering team to discover any
flaws or issues from the user’s perspective that
you would not want to have in your final,
released version of the application.
ALPHA TESTING BETA TESTING