You are on page 1of 36

UNIT -I

Overview: UNIT I

 Goals Of Software Testing


 Model For Software Testing
 Software Testing Terminology
 Software Testing Life Cycle (STLC)
 Software Testing Methodology
 Software Testing Strategy
 Test Strategy Matrix
 Testing Life Cycle Model
 Validation Activities
 Defect management process
 Software Failure Case Studies
What is Software Testing?

 Process of finding the yet undiscovered bugs/errors


in the program
 Reduces this risk
 Can identify the issues and resolve them
Goals of Software Testing

 Detecting bugs as soon as feasible in any situation.


 Avoiding errors in a project’s and product’s final
versions.
 Inspect to see whether the customer requirements
criterion has been satisfied.
 The primary purpose of testing is to gauge the
project and product level of quality.
Continued…

1. Immediate Goals
2. Long-term Goals
3. Post-Implementation Goals
Immediate Goals

These objectives are the direct outcomes of testing.


These objectives may be set at any time during the
SDLC process.

 Bug Discovery

 Bug Prevention
Long-Term Goals

These objectives have an impact on product quality in


the long run after one cycle of the SDLC is completed.

 Quality
 Customer Satisfaction
 Reliability
 Risk Management
Post-Implemented Goals

 Reduce Maintenance Cost

 Improved Software Testing Process


Types of Testing Techniques /
Terminologies

 Unit Testing
 Integration Testing
 System Testing
 Regression Testing
 UAT – User Acceptance testing
Software Testing Terminologies
 Black Box Testing
 White Box Testing
 Grey Box Testing
 Ad-hoc Testing
 Exploratory Testing
 Alpha Testing
 Beta Testing
 Automated Testing
Software Testing Models

Different types of software testing models are as


below:
 Waterfall Model
 V Model
 Agile Model
 Spiral Model
 Iterative Model
Waterfall Model
V Model
Agile Model
Spiral Model
Iterative Model
Software Testing Terminology

 Failure: When the software is tested, failure is the first


term being used. It means the inability of a system or
component to perform a required function according to
its specification.
 Fault/Defect/Bug : Failure is the term which is used to
describe the problems in a system on the output side.
 Fault is a condition that in actual causes a system to
produce failure.
 Error : Whenever a development team member
makes a mistake in any phase of SDLC, errors are
produced.

Fig: Flow of faults


Software Testing Life Cycle (STLC)

 In SDLC, there is need for a well-defined series of


steps to ensure successful and effective software
testing.
Test Planning

 The goal of test planning is to take into account the


important issues of testing strategy, viz. resources,
schedules, responsibilities, risks, and priorities, as a
roadmap.
 Defining the test strategy.
 „Estimate the number of test cases, their duration, and cost.
 „Plan the resources like the manpower to test, tools required,
documents required.
 „Identifying areas of risks.
 „Defining the test completion criteria.
 „Identification of methodologies, techniques, and tools for various
test cases.
 „Identifying reporting procedures, bug classification, databases for
testing, bug severity levels, and project metrics.
 After analysing the issues, the following activities are
performed:
 „Develop a test case format.
 „Develop test case plans according to every phase of SDLC.
 „Identify test cases to be automated (if applicable).

 „Prioritize the test cases according to their importance and


criticality.
 „Define areas of stress and performance testing.

 „Plan the test cycles required for regression testing


Test Design

• Determining the test objectives and their prioritization

• Preparing list of items to be tested

• Mapping items to test cases

• Selection of test case design techniques

• Creating test cases and test data

• Setting up the test environment and supporting tools

• Creating test procedure specification


Test Execution

 In this phase, all test cases are executed including


verification and validation.
 Test results are documented in the test incident
reports, test logs, testing status, and test summary
reports.
Post-Execution/Test Review

 This phase is to analyse bug-related issues and get


feedback so that maximum number of bugs can be
removed.
Understanding the bug
Reproducing the bug
Analysing the nature and cause of the bug
SOFTWARE TESTING METHODOLOGY
SOFTWARE TESTING STRATEGY

 Testing strategy is the planning of the whole testing


process into a well-planned series of steps.
 Test Factors:
 Test factors are risk factors or issues related to the system under
development. Risk factors need to be selected and ranked according
to a specific system under development.

 Test Phase:
o It refers to the phases of SDLC where testing will be performed.

o Testing strategy may be different for different models of SDLC,


e.g. strategies will be different for waterfall and spiral models.
Test Strategy Matrix

 A test strategy matrix identifies the concerns that


will become the focus of test planning and execution.
 The matrix is prepared using test factors and test
phase:
 Select and rank test factors
 Identify system development phases
 Identify risks associated with the system under development
 Select and rank test factors
 Identify the test phases
 Identify the risks associated with each test factor and
its corresponding test phase
 Plan the test strategy for every risk identified
TESTING LIFE CYCLE MODEL
 Verification and validation (V&V) are the building blocks
of a testing process.
 V&V can be best understood when these are modeled in the
testing process. This model is known as the Testing Life
Cycle Model.
 Life cycle involves continuous testing of the system during
the development process.
 At predetermined points, the results of the development
process are inspected to determine the correctness of
implementation.
 These inspections identify defects as early as possible. But,
life cycle testing is dependent upon the completion of
predetermined deliverables at a specified point in the
development life cycle.
V-Testing
VALIDATION ACTIVITIES

 Validation has the following three activities which are


also known as the three levels of validation testing.

 Unit Testing:

 It is a major validation effort performed on the smallest module of


the system. If avoided, many bugs become latent bugs and are
released to the customer.
 Unit testing is a basic level of testing which cannot be overlooked,
and confirms the behaviour of a single module according to its
functional specifications.
 Integration Testing
 When we unit test a module, its interfacing with other modules
remain untested. When one module is combined with another
in an integrated environment, interfacing between units must
be tested.
 If some data structures, messages, or other things are common
between some modules, then the standard format of these
interfaces must be checked during integration testing,
otherwise these will not be able to interface with each other
 System Testing
 This testing level focuses on testing the entire integrated
system. It incorporates many types of testing, as the full
system can have various users in different environments.
 The purpose is to test the validity for specific users and
environments. The validity of the whole system is checked
against the requirement specification.
Defect management process

You might also like