SE CH - 6 Software Testing
SE CH - 6 Software Testing
Testing is the process of executing a program to find errors. To make our software
perform well it should be error-free. If testing is done successfully it will remove all the
errors from the software.
Principles of Testing:-
1. Unit Testing
2. Integration Testing
3. Regression Testing
4. Smoke Testing
5. Object-Oriented Testing
6. Performance Testing
1) Unit Testing:
Unit testing is a type of software testing where individual software components are
tested.
Unit testing of the software product is carried out during the development of an
application.
An individual component may be either an individual function or a procedure. Unit
testing is typically performed by the developer. It is a testing method using which every
independent module are tested to determine if there is any issue by the developer
himself.
1. Unit testing allows developers to learn what functionality is provided by a unit and
how to use it to gain a basic understanding of the unit API.
2. Unit testing allows the programmer to refine code and make sure the module works
properly.
3. Unit testing enables testing parts of the project without waiting for others to be
completed.
2) Integration Testing:
Integration testing is the process of testing the interface between two software units or
modules.
Its focus is on determining the correctness of the interface.
Integration testing aims to expose faults in the interaction between integrated units.
Once all the modules have been unit tested, integration testing is performed.
Example: White box testing: - It is used for verification. In this, we focus on internal
mechanisms. Such as “How the output is achieved?”
S.
No. Unit Testing Integration Testing
In unit testing tester knows the internal Integration testing doesn’t know the
2. design of the software. internal design of the software.
4. Unit testing is white box testing. Integration testing is black box testing.
It tests parts of the project without It tests only after the completion of all
7. waiting for others to be completed. parts.
The proper working of your code with The proper working of your code with
the external dependencies is not the external dependencies is ensured by
11. ensured by unit testing. integration testing.
3) Regression Testing:
Every time a new module is added leads to changes in the program. This type of testing
makes sure that the whole component works properly even after adding components to
the complete program.
Example: In school, record suppose we have module staff, students and finance
combining these modules and checking if on integration of these modules works fine in
regression testing.
4) Smoke Testing:
This test is done to make sure that the software under testing is ready or stable for
further testing. It is called a smoke test as the testing of an initial pass is done to check
if it did not catch the fire or smoke in the initial switch on.
Example: If the project has 2 modules so before going to the module make sure that
module 1 works properly
5) Object-Oriented Testing:
This testing is a combination of various testing techniques that help to verify and
validate object-oriented software. This testing is done in the following manner:
Testing of Requirements,
Design and Analysis of Testing,
Testing of Code,
Integration testing,
System testing,
User Testing.
6) Performance Testing:
Verification:
Verification is the process of checking that software achieves its goal without any bugs.
It is the process to ensure whether the product that is developed is right or not.
It verifies whether the developed product fulfills the requirements that we have.
Verification is Static Testing.
Validation:
Validation is the process of checking whether the software product is up to the mark or
in other words product has high level requirements.
It is the process of checking the validation of product i.e. it checks what we are
developing is the right product. It is validation of actual and expected product.
Validation is the Dynamic Testing.
1. The Black Box Test is a test that only considers the external behavior of the
system; the internal workings of the software is not taken into account.
Black box testing involves testing a system with no prior knowledge of its
internal workings. A tester provides an input, and observes the output generated
by the system under test.
2. The White Box Test is a method used to test a software taking into consideration
its internal functioning. It is carried out by testers.
The types of white box testing are – Path testing, Loop testing, and Condition
testing.
White-box testing is also known as clear box testing, glass box testing,
transparent box testing, and structural testing.
Software Configuration Management Process
It uses the tools which keep that the necessary change has been implemented adequately
to the appropriate component. The SCM process defines a number of tasks:
o Identification of objects in the software configuration
o Version Control
o Change Control
o Configuration Audit
o Status Reporting
Identification
Version Control
Configuration Audit
SCM audits to verify that the software product satisfies the baselines requirements
and ensures that what is built and what is delivered.
SCM audits also ensure that traceability is maintained between all CIs and that all
work requests are associated with one or more CI modification.
Status Reporting