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

Software Testing for Developers

The document discusses software development lifecycle (SDLC) and software testing lifecycle (STLC). It describes the different phases of SDLC like requirements, design, coding, testing, implementation and maintenance. It then explains the various levels of software testing - unit testing, integration testing, system testing and acceptance testing. For each type of testing, it provides the objectives, timing, inputs, outputs, roles and methods used.

Uploaded by

Bhauma Lila Das
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 views27 pages

Software Testing for Developers

The document discusses software development lifecycle (SDLC) and software testing lifecycle (STLC). It describes the different phases of SDLC like requirements, design, coding, testing, implementation and maintenance. It then explains the various levels of software testing - unit testing, integration testing, system testing and acceptance testing. For each type of testing, it provides the objectives, timing, inputs, outputs, roles and methods used.

Uploaded by

Bhauma Lila Das
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/ 27

Day 2 –

Learn Software
Testing
Day 2 – SDLC, STLC and Test Levels

 SDLC
 Different Phases of SDLC
 STLC
 Different Testing Levels
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

Phases of SDLC

• Requirement Specification and Analysis


• Design
• Coding
• Testing
• Implementation
• Maintenance
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
Design

The output of SRS is the input of design phase.

Two types of design -

High Level Design (HLD)


Low Level Design (LLD)
Coding, Testing and Implementation

Coding
Developers use the LLD document and write the code
in the programming language specified.
Testing
The testing process involves development of a test
plan, executing the plan and documenting the test
results.
Implementation
Installation of the product in its operational
environment.
Maintenance

After the software is released and the client starts using the software,
maintenance phase is started.

3 things happen - Bug fixing, Upgrade, Enhancement

Bug fixing – bugs arrived due to some untested scenarios.

Upgrade – Upgrading the application to the newer versions of the


software.

Enhancement - Adding some new features into the existing software.


Software Testing Lifecycle Phases

 Requirements study

 Test Case Design and Development

 Test Execution

 Test Closure

 Test Process Analysis


Requirement Study

 Testing Cycle starts with the study of client’s


requirements.

 Understanding of the requirements is very essential for


testing the product.
Analysis and Planning

Test objective and coverage


Overall schedule
Standards and Methodologies
Resources required, including necessary training
Roles and responsibilities of the team members
Tools used
Test Case Design

Test Case Design and Development

• Component Identification
• Test Specification Design
• Test Specification Review

Test Execution

• Code Review
• Test execution and evaluation
• Performance and simulation
Test Closure and Analysis

Test Closure

• Test summary report


• Project De-brief
• Project Documentation

Test Process Analysis

Analysis done on the reports and improving the application’s


performance by implementing new technology and additional
features.
Testing Levels

•Unit testing
•Integration testing
•System testing
•Acceptance testing
Unit Testing

 The most ‘micro’ scale of testing.


 Tests done on particular functions or code modules.
 Requires knowledge of the internal program design and
code.
 Done by Programmers (not by testers).
Unit Testing

Objectives  To test the function of a program or unit of code such as


a program or module
 To test internal logic
 To verify internal design
 To test path & conditions coverage
 To test exception conditions & error handling
When  After modules are coded
Input  Internal Application Design
 Master Test Plan
 Unit Test Plan

Output  Unit Test Report


Unit Testing

Who Developer

Methods White Box testing techniques


Test Coverage techniques

Tools Debug
Re-structure
Code Analyzers
Path/statement coverage tools
Education Testing Methodology
Effective use of tools
Incremental Integration Testing

 Continuous testing of an application as and when a new


functionality is added.

 Application’s functionality aspects are required to be


independent enough to work separately before completion of
development.

 Done by programmers or testers.


Integration Testing

 Testing of combined parts of an application to determine their


functional correctness.

 ‘Parts’ can be
 code modules
 individual applications
 client/server applications on a network.
Types of Integration Testing

Big Bang testing

Top Down Integration testing

Bottom Up Integration testing


Integration Testing

Objectives  To technically verify proper interfacing


between modules, and within sub-systems

When  After modules are unit tested

Input  Internal & External Application Design


 Master Test Plan
 Integration Test Plan

Output  Integration Test report


Integration Testing

Who Developers

Methods White and Black Box


techniques
Problem / Configuration
Management
Tools Debug
Re-structure
Code Analyzers
Education Testing Methodology
Effective use of tools
System Testing

Objectives  To verify that the system components perform control


functions
 To perform inter-system test
 To demonstrate that the system performs both functionally
and operationally as specified
 To perform appropriate types of tests relating to
Transaction Flow, Installation, Reliability, Regression etc.

When  After Integration Testing


Input  Detailed Requirements & External Application Design
 Master Test Plan
 System Test Plan

Output  System Test Report


System Configuration

Who Development Team and Users

Methods Problem / Configuration Management

Tools Recommended set of tools

Education Testing Methodology


Effective use of tools
Systems Integration Testing

Objectives  To test the co-existence of products and applications that are


required to perform together in the production-like operational
environment (hardware, software, network)
 To ensure that the system functions together with all the
components of its environment as a total system
 To ensure that the system releases can be deployed in the
current environment

When  After system testing


 Often performed outside of project life-cycle
Input  Test Strategy
 Master Test Plan
 Systems Integration Test Plan
Output  Systems Integration Test report
Systems Integration Testing

Who System Testers

Methods White and Black Box techniques


Problem / Configuration Management

Tools Recommended set of tools

Education Testing Methodology


Effective use of tools
Acceptance Testing

Objectives  To verify that the system meets the user


requirements

When  After System Testing


Input  Business Needs & Detailed
Requirements
 Master Test Plan
 User Acceptance Test Plan
Output  User Acceptance Test report
Acceptance Testing

Who Users / End Users


Methods Black Box techniques
Problem / Configuration
Management
Tools Compare, keystroke capture & playback,
regression testing
Education Testing Methodology
Effective use of tools
Product knowledge
Business Release Strategy

You might also like