0% found this document useful (0 votes)
79 views26 pages

Fundamentals of Software Testing

The document discusses the fundamentals of software testing and outlines 4 phases of testing: unit testing, integration testing, system testing, and acceptance testing. It describes black box and white box testing approaches and provides details about the objectives, test types, activities, and responsibilities for each testing phase. Unit testing focuses on testing individual program units in isolation to detect errors within those units. Integration testing then combines program units and tests their interactions to discover interface errors.

Uploaded by

jatinder
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views26 pages

Fundamentals of Software Testing

The document discusses the fundamentals of software testing and outlines 4 phases of testing: unit testing, integration testing, system testing, and acceptance testing. It describes black box and white box testing approaches and provides details about the objectives, test types, activities, and responsibilities for each testing phase. Unit testing focuses on testing individual program units in isolation to detect errors within those units. Integration testing then combines program units and tests their interactions to discover interface errors.

Uploaded by

jatinder
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 26

FUNDAMENTALS OF SOFTWARE

TESTING
Introduction

The test process defines 4 phases (including Test Types) of


software testing which occur between product coding and product
delivery.
It also covers, in brief, pre-test activities on which the test effort
depends. This document is intended to provide an overview about
Fundamentals of Software Testing.

2
CONCEPT: BLACK BOX TESTING

Black box testing:


Not based on any knowledge of internal design or code.
Tests are based on requirements and functionalities.

3
CONCEPT: WHITEBOX TESTING

White box testing:


Based on knowledge of the internal logic of an application's
code. Tests are based on coverage of code statements,
branches, paths, and conditions.

4
CONCEPTS: PHASES OF TEST

There are essentially 4 test phases that have to be completed


between coding and product delivery:

1 2 3 4
Unit Test Integration System Test Acceptance
Phase Test Phase Phase Test Phase

Each test phase is structured to detect specific categories of


defects
The types of tests that are performed in each test phase

5
CONCEPTS: PHASES OF TEST (cont.)

Test Phases Responsibility Primary Test


Platform

Unit Test Phase Project Team


Unit Test Oversees the entire testing process SDE Host

Integration Test QA/QC/SW Team


Phase:
Software - Module
Software - Subsystem SDE Host
Software, HardWare - SDE Host
Deliverable Product Target Platform

System Test Phase QA/QC/SW Team Target Platform

Acceptance Test Target Platform


Acceptance Test Group
Phase
6
Unit Test Phase
1 2 3 4
Unit Test Integration System Test Acceptance
Phase Test Phase Phase Test Phase

NOTE
1. Feature testing is NOT
performed in this phase of
TEST TYPES testing.
2.“This phase catches 65% of
all bugs”- Ross Collard.
 Statement Coverage 3 . “Effective unit testing is the
foundation of all later phases
 Basis Path Coverage of testing. No amount of
 Help and Error Messages integration or system testing
 File Handling can compensate for inadequate
unit testing”- Boris Beizer

7
Integration Test Phase
1 2 3 4
Unit Test Integration System Test Acceptance
Phase Test Phase Phase Test Phase

TEST TYPES
 Inter-unit/module/subsystem communication
 • Functional tests
 • Timing and synchronization tests
 • Reliability
 • Load and Performance

8
Integration Test Phase (cont.)

NOTE
1. Feature testing is NOT performed in this phase of testing.

2. Stubs are used to replace components which are not ready for the initial
phase of this testing. Stubs are replaced by actual components in the latter
phase of this testing.

3. Performance, load, and reliability test types are all subsystem based that
could be performed in this test phase.

4. Integration testing is hierarchical. Units are integrated into modules, and


modules may be integrated into other modules or subsystems. Full system
integration is the final stage of integration.

5. The target platform is used only for full system integration testing
when ALL units become available

9
System Test Phase

1 2 3 4
Unit Test Integration System Test Acceptance
Phase Test Phase Phase Test Phase

TEST TYPES

 • Feature  Performance
 • Load  Reliability
 • Storage  Capacity
 • Systems Operations and Maintenance

10
Acceptance Test Phase

1 2 3 4
Unit Test Integration System Test Acceptance
Phase Test Phase Test Phase

TEST TYPES

 • End-User tests
 • Administrator tests
 • Distributor tests
 • Support tests

11
THE RELATED ACTIVITIES IN PER TEST
PHASES

12
UNIT TEST PHASE

Objective of the Unit Test Phase :


“Effective unit testing is the foundation of all later phases of
testing. No amount of integration or system testing can
compensate for an inadequate unit test” - Boris Beizer
 
A unit may be regarded as a single callable routine or function
(eg. A function in C). Unit test cases require the unit to be
defined in this manner.
 
Note:
The functionality provided by the unit is most likely NOT visible to the end-
user of the system

13
UNIT TEST RELATED ACTIVITIES

Write Detailed Design (includes Unit & Module


Level Integration Test Plans)

Detailed Design Review (includes review of


Unit & Module Level Integration Test Plans)

Code & Write Unit Test Cases


How many Unit
Test-related
Code Inspection
activities are
ready?
Unit Test Execution

Unit Test Report / Unit Handover

Design Group (Author or Programmer)

14
UNIT TEST PHASE (cont.)

Deliverables to Unit Test


A unit which meets the Unit Test Entrance Criteria
Unit test cases
Unit test case data (input and expected output)

Note:
    Any new or modified unit must undergo unit testing.

15
UNIT TEST PHASE (cont.)

Unit Test Entrance Criteria


The following must occur prior to the start of unit testing:
Review of all specifications (Product, and Feature)
Review of all appropriate design documents (High Level, and
Detailed Level)
Unit must have been code inspected
Reviewed unit test plan available

16
UNIT TEST PHASE (cont.)

Deliverables from Unit Test


The following items are delivered to the integration test primes:
Unit
Unit test data
Unit test results
Test report

17
UNIT TEST PHASE (cont.)

Unit Test Exit Criteria


A unit must successfully pass unit testing (100% unit test
case execution on complete inspected code with 100% of all
identified defects resolved)

Note:
Defect: A defect may be identified in the code, specifications, test
cases, or test plans.

18
UNIT TEST PHASE (cont.)

Responsibility for the Unit Test Phase


The author or designer from the author’ s design group are
responsible for ensuring that this test phase is carried out

19
INTEGRATION TEST PHASE

Objective of the Integration Test Phase:


Integration testing tests modules, subsystems, and finally
the full- system to ensure distinct components of the
application still work in accordance to customer
requirements.

Note:
The test item in integration testing is either a module, subassembly,
subsystem, or full-system.

20
INTEGRATION TEST RELATED ACTIVITIES

Write High Level Design

High Level Design Review

Write Integration Test Plan (subsystem


and full-system) & Test Cases

How many Integration Test Plan (subsystem and


Integration Test- full-system) & Test Case Review
related activities
are ready?
Integration Test Execution (SW & HW)

Integration Test Report / Integrated System


Handover (System Test Acceptance
Meeting)
Design / System Test Groups
21
INTEGRATION TEST PHASE (cont.)

Integration Test Coverage


Focus on uncovering interfacing problems (e.g. Interface
problems between units within a module)
Inter-unit/module/subsystem communication
Functional tests
Timing and synchronization tests
Reliability
Load and Performance
Note :
Performance, load, and reliability test types may be performed in the
integration test phase if it is appropriate to the primary functioning of the
test item or indicative of full system performance.

22
INTEGRATION TEST PHASE (cont.)

Deliverables to Integration Test


The following items must be delivered prior to integration
testing:
Units which have successfully passed unit testing
Unit test report
Integration test cases
Integration test data
Target hardware platform (before full system integration
testing)

23
INTEGRATION TEST PHASE (cont.)

Integration Entrance Criteria


The following must occur prior to the start of integration
testing:
Before a unit may enter into integration testing, it must have
successfully completed unit testing
All defects identified in unit test must have been resolved
Unit test results must be provided for inspection
The reviewed integration test plan and test cases must also
be available

24
INTEGRATION TEST PHASE (cont.)

Deliverables from Integration Test


The following items are delivered to System Test:
Release notes
Integration test report

Integration Test Exit Criteria


Integration testing must be fully integrated on the target
hardware platform, and successfully complete before it
meets the integration test exit criteria (100% integration test
case execution, with 100% of all identified defects resolved )
Test results must be made available to System Test for
inspection

Note:
Defect: A defect may be identified in the code, specifications,test
cases, or test plans.

25
INTEGRATION TEST PHASE (cont.)

Responsibility for the Integration Test Phase


Designers and/or design primes are responsible for low level
integration testing. Design primes and the System Test
Group are responsible for higher level integration testing and
full system integration testing. In some instances, the
System Test Group may be augmented by a designated set
of designers

26

You might also like