SlideShare a Scribd company logo
Testing Throughout the Software Life Cycle
1 Fundamentals 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
ISTQB Foundation Exam Preparation
Chapter 2
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
Contents
2.1 Software Development Models
2.2 Test Levels
2.3 Test Types
2.4 Maintenance Testing
Neeraj Kumar Singh
Software Development Model
V-Model(Sequential Development Model)
Business
Requirements
System
Requirements
Architectural
Design
Detailed
Design
Acceptance
Testing
System
Testing
Integration
Testing
Component
Testing
Code
ATP
STP
ITP
CTP
Neeraj Kumar Singh
Software Development Model
Testing within a Life Cycle Model
In any life cycle model, there are several characteristics of good testing:
 For every development activity there is a corresponding testing activity.
 Each test level has test objectives specific to that level.
 The analysis and design of tests for a given test level should begin during the
corresponding development activity.
 Testers should be involved in reviewing documents as soon as drafts are available in the
development life cycle.
Neeraj Kumar Singh
Software Development Model
A sequential development model describes the software development process as a linear,
sequential flow of activities. This means that any phase in the development process should begin
when the previous phase is complete.
Incremental development involves establishing requirements, designing, building, and testing a
system in pieces, which means that the software’s features grow incrementally. The size of these
feature increments vary, with some methods having larger pieces and some smaller pieces.
Iterative development occurs when groups of features are specified, designed, built, and tested
together in a series of cycles, often of a fixed duration. Iterations may involve changes to
features developed in earlier iterations, along with changes in project scope.
 Rational Unified Process
 Scrum
 Kanban
 Spiral
Neeraj Kumar Singh
Software Development Model
Software Development Model in Context
 Software development lifecycle models must be selected and adapted to the context of
project and product characteristics. An appropriate software development lifecycle
model should be selected and adapted based on the project goal, the type of product
being developed, business priorities (e.g., time-tomarket), and identified product and
project risks.
 In addition, software development lifecycle models themselves may be combined. For
example, a Vmodel may be used for the development and testing of the backend
systems and their integrations, while an Agile development model may be used to
develop and test the front-end user interface (UI) and functionality.
 Internet of Things (IoT) systems, which consist of many different objects, such as
devices, products, and services, typically apply separate software development
lifecycle models for each object. This presents a particular challenge for the
development of Internet of Things system versions.
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
1 Fundamentals 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
ISTQB Foundation Exam Preparation
Chapter 2
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
Contents
2.1 Software Development Models
2.2 Test Levels
2.3 Test Types
2.4 Maintenance Testing
Neeraj Kumar Singh
Test Levels
Component Testing
 Component testing searches for defects in, and verifies the functioning of, software
modules, programs, objects, classes, etc. that are separately testable.
 Component testing is also known as unit, module, program, structure, code testing.
 Component testing may be required to test core functionality and specific non-
functional characteristics, such as resource behavior.
 Typically conducted with access to the code in form of White Box testing with support
of development environment
Test Basis for Component testing
 Component requirement
 Detailed design
 Code
Typical Test Objects
 Components
 Programs
 Data conversion/migration programs
 Database Modules
Neeraj Kumar Singh
Test Levels
Integration Testing
 Integration testing tests interfaces between components, interactions with different parts
of the system and interfaces between systems.
 There may be more than one level of integration testing
 Component Integration Testing.
 System Integration Testing.
 Systematic integration strategies may be based on the system architecture(TDA, BUA, BBA).
 The greater the scope of integration, the more difficult it becomes to isolate defects to a
specific component or system, which may increase risk.
Test Basis for Integration testing
 Software & System design
 Architecture, Workflows
 Use cases
Typical Test Objects
 Subsystems
 Database implementation
 Infrastructure, Interfaces
 System config & configuration data
Neeraj Kumar Singh
Test Levels
System Testing(K2)
 System testing is concerned with the behavior of a whole system/product.
 In System testing, the test environment should correspond to the final target or
production environment to minimize the risk of environment-specific failure.
 Systems testing may include tests based on risk.
 Testers also need to deal with incomplete or undocumented requirements.
 System Integration Testing can be performed after System Testing as well.
Test Basis for System testing
 System & Software requirement specs
 Functional Specification
 Use cases
 Risk analysis report
Typical Test Objects
 System, user and operation manuals
 System Configuration
 Configuration data
Neeraj Kumar Singh
Test Levels
Acceptance Testing(K2)
 Acceptance testing is to establish confidence in the system, parts of the system or specific non-
functional characteristics of the system.
 Typica forms of acceptance testing include
 User acceptance testing
 Operational (acceptance) testing
 Contract and regulation acceptance testing
 Levels of testing
 Alpha Testing
 Beta Testing
Test Basis for Acceptance testing
 User & Software requirement specs
 Business Process
 Use cases
 Risk analysis report
Typical Test Objects
 Business process, operational process
 User procedures
 Forms, Reports
 Configuration data
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
1 Fundamentals 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
ISTQB Foundation Exam Preparation
Chapter 2
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
Contents
2.1 Software Development Models
2.2 Test Levels
2.3 Test Types
2.4 Maintenance Testing
Neeraj Kumar Singh
Test Types
Classification of Testing
Software Testing
Dynamic TestingStatic Testing
Informal
Review
Walkthrough
Technical
Review
Inspection
Component
Testing
Integration
Testing
System Testing
Acceptance
Testing
Reviews Levels of testing
Verification ValidationNeeraj Kumar Singh
Test Types
Testing of function(Functional Testing)
 Functional testing is all about testing the core features of testing.
 The functions are “WHAT” the system does.
 The general levels like – Unit Testing, Integration Testing, System Testing and
Acceptance Testing are conducted as Functional level of testing.
Neeraj Kumar Singh
Test Types
Testing of Non-Functional Characteristics
 Non-Functional testing is about enhancing the quality characteristics of the system.
 The non-functions are “HOW” the system works.
 The non-functional testing includes, but not limited to, performance testing, stress
testing, load testing, usability testing, maintainability testing, reliability testing and
portability testing.
Neeraj Kumar Singh
Test Types
Testing of Software Structure
The different approaches to conduct dynamic levels of testing
 White Box Testing.
 Commonly performed by a developer, with
the knowledge of code/structure.
 Performed by executing the program.
 Also known as
 Structure Box testing
 Glass Box Testing
 Open Box Testing
 Clear Box Testing
 Transparent Box Testing
 Black Box Testing.
 Commonly performed by a tester, without
the knowledge of code/structure.
 Performed by entering inputs at User
Interface(UI) level.
 Also known as
 Skin Box testing
 Closed Box Testing
 Opaque Box Testing
Neeraj Kumar Singh
Test Types
Change Related Testing
 After a defect is detected and fixed, the should be re-tested to confirm that the defect
reported is successfully fixed. This is also called as Re-testing.
 Regression Testing is the repeated testing of an already tested program, after
modification to check if there are any adverse affect on unchanged part due to
changed part.
 As regression doesn’t have a primary objective of finding defects it is considered as a
good candidate for automation.
 Regression testing is also conducted in the scenario where –
 A live operational system’s environment changes.
 A new functionality or feature is included to a live operational system.
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
1 Fundamentals 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
ISTQB Foundation Exam Preparation
Chapter 2
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
Contents
2.1 Software Development Models
2.2 Test Levels
2.3 Test Types
2.4 Maintenance Testing
Neeraj Kumar Singh
Maintenance Testing
Maintenance Testing
 Once deployed, a software system is often in service for years. During this time the
system, its configuration data, or its environment are often corrected, changed or
extended.
 Modification include planned enhanced changes, corrective and emergency changes and
changes of environment.
 These include updates, upgrades, migration and retirement.
 Depending on the changes, maintenance testing(Regression Testing) may be done at all
test levels and for any or all test types.
Neeraj Kumar Singh
Maintenance Testing
Triggers for Maintenance Testing
 We can classify the triggers for maintenance as follows: Modification, such as planned
enhancements (e.g., release-based), corrective and emergency changes, changes of the
operational environment (such as planned operating system or database upgrades),
upgrades of COTS software, and patches for defects and vulnerabilities
 Migration, such as from one platform to another, which can require operational tests of
the new environment as well as of the changed software, or tests of data conversion
when data from another application will be migrated into the system being maintained
 Retirement, such as when an application reaches the end of its life
Neeraj Kumar Singh
Maintenance Testing
Impact Analysis
 Impact analysis may be done before a change is made, to help decide if the change
should be made, based on the potential consequences in other areas of the system.
 Impact analysis can be difficult if:
 Specifications (e.g., business requirements, user stories, architecture) are out of date or
missing
 Test cases are not documented or are out of date
 Bi-directional traceability between tests and the test basis has not been maintained
 Tool support is weak or non-existent
 The people involved do not have domain and/or system knowledge
 Insufficient attention has been paid to the software's maintainability during development
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
1 Fundamentals 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
ISTQB Foundation Exam Preparation
Chapter 2
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
Sample Questions
1. Given the following statements about the relationships between software development
activities and test activities in the software development lifecycle:
1. Each development activity should have a corresponding testing activity.
2. Reviewing should start as soon as final versions of documents become available.
3. The design and implementation of tests should start during the corresponding
development. activity
4. Testing activities should start in the early stages of the software development lifecycle.
Which of the following CORRECTLY shows which are true and false?
Answer Set:
A. True – 1, 2; False – 3, 4
B. True – 2, 3; False – 1, 2
C. True – 1, 2, 4; False – 3
D. True – 1, 4; False – 2, 3
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
Sample Questions
2. Given that the testing being performed has the following attributes:
 based on interface specifications;
 focused on finding failures in communication;
 the test approach uses both functional and structural test types.
Which of the following test levels is MOST likely being performed?
Answer Set:
A. Component integration testing.
B. Acceptance testing.
C. System testing.
D. Component testing.
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
Sample Questions
3. Which of the following statements about test types and test levels is
CORRECT?
Answer Set:
A. Functional and non-functional testing can be performed at system and
acceptance test levels, while white-box testing is restricted to component and
integration testing.
B. Functional testing can be performed at any test level, while white-box testing
is restricted to component testing.
C. It is possible to perform functional, non-functional and white-box testing at any
test level.
D. Functional and non-functional testing can be performed at any test level, while
Whitebox testing is restricted to component and integration testing.
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
Sample Questions
4. Which of the following statements BEST compares the purposes of confirmation
testing and regression testing?
Answer Set:
A. The purpose of regression testing is to ensure that all previously run tests still work
correctly, while the purpose of confirmation testing is to ensure that any fixes made
to one part of the system have not adversely affected other parts.
B. The purpose of confirmation testing is to check that a previously found defect has
been fixed, while the purpose of regression testing is to ensure that no other parts
of the system have been adversely affected by the fix.
C. The purpose of regression testing is to ensure that any changes to one part of the
system have not caused another part to fail, while the purpose of confirmation
testing is to check that all previously run tests still provide the same results as
before.
D. The purpose of confirmation testing is to confirm that changes to the system were
made successfully, while the purpose of regression testing is to run tests that
previously failed to ensure that they now work correctly.
Neeraj Kumar Singh
Testing Throughout the Software Life Cycle
Sample Questions
5. Which of the following statements CORRECTLY describes a role of impact
analysis in Maintenance Testing?
Answer Set:
A. Impact analysis is used when deciding if a fix to a maintained system is
worthwhile.
B. Impact analysis is used to identify how data should be migrated into the
maintained system.
C. Impact analysis is used to decide which hot fixes are of most value to the user.
D. Impact analysis is used to determine the effectiveness of new maintenance test
cases.
Neeraj Kumar Singh

More Related Content

What's hot (20)

PPTX
Chapter 1 - Testing Process
Neeraj Kumar Singh
 
PPTX
Chapter 2 - Test Management
Neeraj Kumar Singh
 
PDF
Chapter 6 - Test Tools and Automation
Neeraj Kumar Singh
 
PPTX
Chapter 4 - Testing Quality Characteristics
Neeraj Kumar Singh
 
PDF
Chapter 1 - Testing Process
Neeraj Kumar Singh
 
PDF
Chapter 4 - Test Analysis & Design Techniques V4.0
Neeraj Kumar Singh
 
PDF
Chapter 1 - Basic Concepts
Neeraj Kumar Singh
 
PDF
Chapter 5 - Improving the Testing Process
Neeraj Kumar Singh
 
PDF
Chapter 3 - Static Testing (Review) V4.0
Neeraj Kumar Singh
 
PPTX
Chapter 6 - Test Tools and Automation
Neeraj Kumar Singh
 
PPTX
Chapter 3 - Analytical Techniques
Neeraj Kumar Singh
 
PPTX
ISTQB foundation level - day 2
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 
PPTX
Chapter 5 - Reviews
Neeraj Kumar Singh
 
PPTX
Chapter 3 - Agile Testing Methods, Techniques and Tools
Neeraj Kumar Singh
 
PPTX
Chapter 4 - Quality Characteristics for Technical Testing
Neeraj Kumar Singh
 
PPTX
Chapter 2 - Fundamental Agile Testing Principle, Practices & Process
Neeraj Kumar Singh
 
PPTX
Chapter 4 - Deployment & Delivery
Neeraj Kumar Singh
 
PPTX
Chapter 2 - Testing in Agile
Neeraj Kumar Singh
 
PPTX
Chapter 6 - Test Tools and Automation
Neeraj Kumar Singh
 
PDF
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
Rahul R Pandya
 
Chapter 1 - Testing Process
Neeraj Kumar Singh
 
Chapter 2 - Test Management
Neeraj Kumar Singh
 
Chapter 6 - Test Tools and Automation
Neeraj Kumar Singh
 
Chapter 4 - Testing Quality Characteristics
Neeraj Kumar Singh
 
Chapter 1 - Testing Process
Neeraj Kumar Singh
 
Chapter 4 - Test Analysis & Design Techniques V4.0
Neeraj Kumar Singh
 
Chapter 1 - Basic Concepts
Neeraj Kumar Singh
 
Chapter 5 - Improving the Testing Process
Neeraj Kumar Singh
 
Chapter 3 - Static Testing (Review) V4.0
Neeraj Kumar Singh
 
Chapter 6 - Test Tools and Automation
Neeraj Kumar Singh
 
Chapter 3 - Analytical Techniques
Neeraj Kumar Singh
 
ISTQB foundation level - day 2
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 
Chapter 5 - Reviews
Neeraj Kumar Singh
 
Chapter 3 - Agile Testing Methods, Techniques and Tools
Neeraj Kumar Singh
 
Chapter 4 - Quality Characteristics for Technical Testing
Neeraj Kumar Singh
 
Chapter 2 - Fundamental Agile Testing Principle, Practices & Process
Neeraj Kumar Singh
 
Chapter 4 - Deployment & Delivery
Neeraj Kumar Singh
 
Chapter 2 - Testing in Agile
Neeraj Kumar Singh
 
Chapter 6 - Test Tools and Automation
Neeraj Kumar Singh
 
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
Rahul R Pandya
 

Similar to Chapter 2 - Testing Throughout the Development LifeCycle (20)

PPTX
CTFL Module 02
Davis Thomas
 
PPTX
Testing throughout the software life cycle
Achmad Harpin Asrori
 
PPTX
Testing throughout the software life cycle
chayo rona
 
PPTX
Testing throughout the software life cycle
Riski Indra Hilman
 
PPTX
Chapter 2 Testing Throughout the Software Life Cycle
Siti Deny Nadiroha
 
PPTX
An introduction to Software Testing and Test Management
Anuraj S.L
 
PPTX
Chater 2 software life cycle (eva normala)
EvaNormala
 
DOCX
System testing
Kinnudj Amee
 
PDF
Software testing methods, levels and types
Confiz
 
PPT
Software Testing Presentation in Cegonsoft Pvt Ltd...
ChithraCegon
 
PDF
An Overview of Software Testing Methodologies
rohit singh
 
PPTX
Software Testing Foundations Part 2 - Testing in Software Lifecycle
Nikita Knysh
 
PPTX
Ppt 2 testing throughout the software life cycle
santi suryani
 
PPTX
Sftwre engg.testng
kanika20071990
 
PPT
02. testing throughout the software life cycle
Tricia Karina
 
ODP
Importanc of softwaretesting
Isaiah Edem
 
PPTX
softwaretestingppt-FINAL-PPT-1
FAIZALSAIYED
 
PPTX
Software testing
Sengu Msc
 
PPTX
Software testing
Sengu Msc
 
CTFL Module 02
Davis Thomas
 
Testing throughout the software life cycle
Achmad Harpin Asrori
 
Testing throughout the software life cycle
chayo rona
 
Testing throughout the software life cycle
Riski Indra Hilman
 
Chapter 2 Testing Throughout the Software Life Cycle
Siti Deny Nadiroha
 
An introduction to Software Testing and Test Management
Anuraj S.L
 
Chater 2 software life cycle (eva normala)
EvaNormala
 
System testing
Kinnudj Amee
 
Software testing methods, levels and types
Confiz
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
ChithraCegon
 
An Overview of Software Testing Methodologies
rohit singh
 
Software Testing Foundations Part 2 - Testing in Software Lifecycle
Nikita Knysh
 
Ppt 2 testing throughout the software life cycle
santi suryani
 
Sftwre engg.testng
kanika20071990
 
02. testing throughout the software life cycle
Tricia Karina
 
Importanc of softwaretesting
Isaiah Edem
 
softwaretestingppt-FINAL-PPT-1
FAIZALSAIYED
 
Software testing
Sengu Msc
 
Software testing
Sengu Msc
 
Ad

More from Neeraj Kumar Singh (20)

PDF
Chapter 6 - Test Tools Considerations V4.0
Neeraj Kumar Singh
 
PDF
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
 
PDF
Chapter 2 - Testing Throughout SDLC V4.0
Neeraj Kumar Singh
 
PDF
Chapter 1 - Fundamentals of Testing V4.0
Neeraj Kumar Singh
 
PDF
Chapter 5 - Automating the Test Execution
Neeraj Kumar Singh
 
PDF
Chapter 4 - Mobile Application Platforms, Tools and Environment
Neeraj Kumar Singh
 
PDF
Chapter 3 - Common Test Types and Test Process for Mobile Applications
Neeraj Kumar Singh
 
PDF
Chapter 2 - Mobile Application Test Types
Neeraj Kumar Singh
 
PDF
Chapter 1 - Mobile World - Business and Technology Drivers
Neeraj Kumar Singh
 
PDF
ISTQB Performance Tester Sample Questions
Neeraj Kumar Singh
 
PDF
ISTQB Performance Tester Sample Questions' Answers
Neeraj Kumar Singh
 
PDF
ISTQB Performance Tester Certification Syllabus and Study Material
Neeraj Kumar Singh
 
PDF
Chapter 5 - Tools
Neeraj Kumar Singh
 
PDF
Chapter 4 - Performance Testing Tasks
Neeraj Kumar Singh
 
PDF
Chapter 3 - Performance Testing in the Software Lifecycle
Neeraj Kumar Singh
 
PDF
Chapter 2 - Performance Measurement Fundamentals
Neeraj Kumar Singh
 
PDF
Chapter 7 - People Skills and Team Composition
Neeraj Kumar Singh
 
PDF
Chapter 4 - Defect Management
Neeraj Kumar Singh
 
PDF
Chapter 3 - Reviews
Neeraj Kumar Singh
 
PDF
Chapter 2 - Test Management
Neeraj Kumar Singh
 
Chapter 6 - Test Tools Considerations V4.0
Neeraj Kumar Singh
 
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
 
Chapter 2 - Testing Throughout SDLC V4.0
Neeraj Kumar Singh
 
Chapter 1 - Fundamentals of Testing V4.0
Neeraj Kumar Singh
 
Chapter 5 - Automating the Test Execution
Neeraj Kumar Singh
 
Chapter 4 - Mobile Application Platforms, Tools and Environment
Neeraj Kumar Singh
 
Chapter 3 - Common Test Types and Test Process for Mobile Applications
Neeraj Kumar Singh
 
Chapter 2 - Mobile Application Test Types
Neeraj Kumar Singh
 
Chapter 1 - Mobile World - Business and Technology Drivers
Neeraj Kumar Singh
 
ISTQB Performance Tester Sample Questions
Neeraj Kumar Singh
 
ISTQB Performance Tester Sample Questions' Answers
Neeraj Kumar Singh
 
ISTQB Performance Tester Certification Syllabus and Study Material
Neeraj Kumar Singh
 
Chapter 5 - Tools
Neeraj Kumar Singh
 
Chapter 4 - Performance Testing Tasks
Neeraj Kumar Singh
 
Chapter 3 - Performance Testing in the Software Lifecycle
Neeraj Kumar Singh
 
Chapter 2 - Performance Measurement Fundamentals
Neeraj Kumar Singh
 
Chapter 7 - People Skills and Team Composition
Neeraj Kumar Singh
 
Chapter 4 - Defect Management
Neeraj Kumar Singh
 
Chapter 3 - Reviews
Neeraj Kumar Singh
 
Chapter 2 - Test Management
Neeraj Kumar Singh
 
Ad

Recently uploaded (20)

PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Python basic programing language for automation
DanialHabibi2
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 

Chapter 2 - Testing Throughout the Development LifeCycle

  • 1. Testing Throughout the Software Life Cycle 1 Fundamentals 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB Foundation Exam Preparation Chapter 2 Neeraj Kumar Singh
  • 2. Testing Throughout the Software Life Cycle Contents 2.1 Software Development Models 2.2 Test Levels 2.3 Test Types 2.4 Maintenance Testing Neeraj Kumar Singh
  • 3. Software Development Model V-Model(Sequential Development Model) Business Requirements System Requirements Architectural Design Detailed Design Acceptance Testing System Testing Integration Testing Component Testing Code ATP STP ITP CTP Neeraj Kumar Singh
  • 4. Software Development Model Testing within a Life Cycle Model In any life cycle model, there are several characteristics of good testing:  For every development activity there is a corresponding testing activity.  Each test level has test objectives specific to that level.  The analysis and design of tests for a given test level should begin during the corresponding development activity.  Testers should be involved in reviewing documents as soon as drafts are available in the development life cycle. Neeraj Kumar Singh
  • 5. Software Development Model A sequential development model describes the software development process as a linear, sequential flow of activities. This means that any phase in the development process should begin when the previous phase is complete. Incremental development involves establishing requirements, designing, building, and testing a system in pieces, which means that the software’s features grow incrementally. The size of these feature increments vary, with some methods having larger pieces and some smaller pieces. Iterative development occurs when groups of features are specified, designed, built, and tested together in a series of cycles, often of a fixed duration. Iterations may involve changes to features developed in earlier iterations, along with changes in project scope.  Rational Unified Process  Scrum  Kanban  Spiral Neeraj Kumar Singh
  • 6. Software Development Model Software Development Model in Context  Software development lifecycle models must be selected and adapted to the context of project and product characteristics. An appropriate software development lifecycle model should be selected and adapted based on the project goal, the type of product being developed, business priorities (e.g., time-tomarket), and identified product and project risks.  In addition, software development lifecycle models themselves may be combined. For example, a Vmodel may be used for the development and testing of the backend systems and their integrations, while an Agile development model may be used to develop and test the front-end user interface (UI) and functionality.  Internet of Things (IoT) systems, which consist of many different objects, such as devices, products, and services, typically apply separate software development lifecycle models for each object. This presents a particular challenge for the development of Internet of Things system versions. Neeraj Kumar Singh
  • 7. Testing Throughout the Software Life Cycle 1 Fundamentals 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB Foundation Exam Preparation Chapter 2 Neeraj Kumar Singh
  • 8. Testing Throughout the Software Life Cycle Contents 2.1 Software Development Models 2.2 Test Levels 2.3 Test Types 2.4 Maintenance Testing Neeraj Kumar Singh
  • 9. Test Levels Component Testing  Component testing searches for defects in, and verifies the functioning of, software modules, programs, objects, classes, etc. that are separately testable.  Component testing is also known as unit, module, program, structure, code testing.  Component testing may be required to test core functionality and specific non- functional characteristics, such as resource behavior.  Typically conducted with access to the code in form of White Box testing with support of development environment Test Basis for Component testing  Component requirement  Detailed design  Code Typical Test Objects  Components  Programs  Data conversion/migration programs  Database Modules Neeraj Kumar Singh
  • 10. Test Levels Integration Testing  Integration testing tests interfaces between components, interactions with different parts of the system and interfaces between systems.  There may be more than one level of integration testing  Component Integration Testing.  System Integration Testing.  Systematic integration strategies may be based on the system architecture(TDA, BUA, BBA).  The greater the scope of integration, the more difficult it becomes to isolate defects to a specific component or system, which may increase risk. Test Basis for Integration testing  Software & System design  Architecture, Workflows  Use cases Typical Test Objects  Subsystems  Database implementation  Infrastructure, Interfaces  System config & configuration data Neeraj Kumar Singh
  • 11. Test Levels System Testing(K2)  System testing is concerned with the behavior of a whole system/product.  In System testing, the test environment should correspond to the final target or production environment to minimize the risk of environment-specific failure.  Systems testing may include tests based on risk.  Testers also need to deal with incomplete or undocumented requirements.  System Integration Testing can be performed after System Testing as well. Test Basis for System testing  System & Software requirement specs  Functional Specification  Use cases  Risk analysis report Typical Test Objects  System, user and operation manuals  System Configuration  Configuration data Neeraj Kumar Singh
  • 12. Test Levels Acceptance Testing(K2)  Acceptance testing is to establish confidence in the system, parts of the system or specific non- functional characteristics of the system.  Typica forms of acceptance testing include  User acceptance testing  Operational (acceptance) testing  Contract and regulation acceptance testing  Levels of testing  Alpha Testing  Beta Testing Test Basis for Acceptance testing  User & Software requirement specs  Business Process  Use cases  Risk analysis report Typical Test Objects  Business process, operational process  User procedures  Forms, Reports  Configuration data Neeraj Kumar Singh
  • 13. Testing Throughout the Software Life Cycle 1 Fundamentals 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB Foundation Exam Preparation Chapter 2 Neeraj Kumar Singh
  • 14. Testing Throughout the Software Life Cycle Contents 2.1 Software Development Models 2.2 Test Levels 2.3 Test Types 2.4 Maintenance Testing Neeraj Kumar Singh
  • 15. Test Types Classification of Testing Software Testing Dynamic TestingStatic Testing Informal Review Walkthrough Technical Review Inspection Component Testing Integration Testing System Testing Acceptance Testing Reviews Levels of testing Verification ValidationNeeraj Kumar Singh
  • 16. Test Types Testing of function(Functional Testing)  Functional testing is all about testing the core features of testing.  The functions are “WHAT” the system does.  The general levels like – Unit Testing, Integration Testing, System Testing and Acceptance Testing are conducted as Functional level of testing. Neeraj Kumar Singh
  • 17. Test Types Testing of Non-Functional Characteristics  Non-Functional testing is about enhancing the quality characteristics of the system.  The non-functions are “HOW” the system works.  The non-functional testing includes, but not limited to, performance testing, stress testing, load testing, usability testing, maintainability testing, reliability testing and portability testing. Neeraj Kumar Singh
  • 18. Test Types Testing of Software Structure The different approaches to conduct dynamic levels of testing  White Box Testing.  Commonly performed by a developer, with the knowledge of code/structure.  Performed by executing the program.  Also known as  Structure Box testing  Glass Box Testing  Open Box Testing  Clear Box Testing  Transparent Box Testing  Black Box Testing.  Commonly performed by a tester, without the knowledge of code/structure.  Performed by entering inputs at User Interface(UI) level.  Also known as  Skin Box testing  Closed Box Testing  Opaque Box Testing Neeraj Kumar Singh
  • 19. Test Types Change Related Testing  After a defect is detected and fixed, the should be re-tested to confirm that the defect reported is successfully fixed. This is also called as Re-testing.  Regression Testing is the repeated testing of an already tested program, after modification to check if there are any adverse affect on unchanged part due to changed part.  As regression doesn’t have a primary objective of finding defects it is considered as a good candidate for automation.  Regression testing is also conducted in the scenario where –  A live operational system’s environment changes.  A new functionality or feature is included to a live operational system. Neeraj Kumar Singh
  • 20. Testing Throughout the Software Life Cycle 1 Fundamentals 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB Foundation Exam Preparation Chapter 2 Neeraj Kumar Singh
  • 21. Testing Throughout the Software Life Cycle Contents 2.1 Software Development Models 2.2 Test Levels 2.3 Test Types 2.4 Maintenance Testing Neeraj Kumar Singh
  • 22. Maintenance Testing Maintenance Testing  Once deployed, a software system is often in service for years. During this time the system, its configuration data, or its environment are often corrected, changed or extended.  Modification include planned enhanced changes, corrective and emergency changes and changes of environment.  These include updates, upgrades, migration and retirement.  Depending on the changes, maintenance testing(Regression Testing) may be done at all test levels and for any or all test types. Neeraj Kumar Singh
  • 23. Maintenance Testing Triggers for Maintenance Testing  We can classify the triggers for maintenance as follows: Modification, such as planned enhancements (e.g., release-based), corrective and emergency changes, changes of the operational environment (such as planned operating system or database upgrades), upgrades of COTS software, and patches for defects and vulnerabilities  Migration, such as from one platform to another, which can require operational tests of the new environment as well as of the changed software, or tests of data conversion when data from another application will be migrated into the system being maintained  Retirement, such as when an application reaches the end of its life Neeraj Kumar Singh
  • 24. Maintenance Testing Impact Analysis  Impact analysis may be done before a change is made, to help decide if the change should be made, based on the potential consequences in other areas of the system.  Impact analysis can be difficult if:  Specifications (e.g., business requirements, user stories, architecture) are out of date or missing  Test cases are not documented or are out of date  Bi-directional traceability between tests and the test basis has not been maintained  Tool support is weak or non-existent  The people involved do not have domain and/or system knowledge  Insufficient attention has been paid to the software's maintainability during development Neeraj Kumar Singh
  • 25. Testing Throughout the Software Life Cycle 1 Fundamentals 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB Foundation Exam Preparation Chapter 2 Neeraj Kumar Singh
  • 26. Testing Throughout the Software Life Cycle Sample Questions 1. Given the following statements about the relationships between software development activities and test activities in the software development lifecycle: 1. Each development activity should have a corresponding testing activity. 2. Reviewing should start as soon as final versions of documents become available. 3. The design and implementation of tests should start during the corresponding development. activity 4. Testing activities should start in the early stages of the software development lifecycle. Which of the following CORRECTLY shows which are true and false? Answer Set: A. True – 1, 2; False – 3, 4 B. True – 2, 3; False – 1, 2 C. True – 1, 2, 4; False – 3 D. True – 1, 4; False – 2, 3 Neeraj Kumar Singh
  • 27. Testing Throughout the Software Life Cycle Sample Questions 2. Given that the testing being performed has the following attributes:  based on interface specifications;  focused on finding failures in communication;  the test approach uses both functional and structural test types. Which of the following test levels is MOST likely being performed? Answer Set: A. Component integration testing. B. Acceptance testing. C. System testing. D. Component testing. Neeraj Kumar Singh
  • 28. Testing Throughout the Software Life Cycle Sample Questions 3. Which of the following statements about test types and test levels is CORRECT? Answer Set: A. Functional and non-functional testing can be performed at system and acceptance test levels, while white-box testing is restricted to component and integration testing. B. Functional testing can be performed at any test level, while white-box testing is restricted to component testing. C. It is possible to perform functional, non-functional and white-box testing at any test level. D. Functional and non-functional testing can be performed at any test level, while Whitebox testing is restricted to component and integration testing. Neeraj Kumar Singh
  • 29. Testing Throughout the Software Life Cycle Sample Questions 4. Which of the following statements BEST compares the purposes of confirmation testing and regression testing? Answer Set: A. The purpose of regression testing is to ensure that all previously run tests still work correctly, while the purpose of confirmation testing is to ensure that any fixes made to one part of the system have not adversely affected other parts. B. The purpose of confirmation testing is to check that a previously found defect has been fixed, while the purpose of regression testing is to ensure that no other parts of the system have been adversely affected by the fix. C. The purpose of regression testing is to ensure that any changes to one part of the system have not caused another part to fail, while the purpose of confirmation testing is to check that all previously run tests still provide the same results as before. D. The purpose of confirmation testing is to confirm that changes to the system were made successfully, while the purpose of regression testing is to run tests that previously failed to ensure that they now work correctly. Neeraj Kumar Singh
  • 30. Testing Throughout the Software Life Cycle Sample Questions 5. Which of the following statements CORRECTLY describes a role of impact analysis in Maintenance Testing? Answer Set: A. Impact analysis is used when deciding if a fix to a maintained system is worthwhile. B. Impact analysis is used to identify how data should be migrated into the maintained system. C. Impact analysis is used to decide which hot fixes are of most value to the user. D. Impact analysis is used to determine the effectiveness of new maintenance test cases. Neeraj Kumar Singh