SlideShare ist ein Scribd-Unternehmen logo
1 von 30
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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Chapter 1 - Testing Process
Chapter 1 - Testing ProcessChapter 1 - Testing Process
Chapter 1 - Testing Process
 
ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 
ISTQB Foundation Level Mock Exam 1
ISTQB Foundation Level Mock Exam 1ISTQB Foundation Level Mock Exam 1
ISTQB Foundation Level Mock Exam 1
 
Chapter 2 - Testing in Agile
Chapter 2 - Testing in AgileChapter 2 - Testing in Agile
Chapter 2 - Testing in Agile
 
Chapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality CharacteristicsChapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality Characteristics
 
Chapter 3 - Agile Testing Methods, Techniques and Tools
Chapter 3 - Agile Testing Methods, Techniques and ToolsChapter 3 - Agile Testing Methods, Techniques and Tools
Chapter 3 - Agile Testing Methods, Techniques and Tools
 
Chapter 1 - Basic Concepts
Chapter 1 - Basic ConceptsChapter 1 - Basic Concepts
Chapter 1 - Basic Concepts
 
Chapter 5 - Reviews
Chapter 5 - ReviewsChapter 5 - Reviews
Chapter 5 - Reviews
 
Chapter 2 - Fundamental Agile Testing Principle, Practices & Process
Chapter 2 - Fundamental Agile Testing Principle, Practices & ProcessChapter 2 - Fundamental Agile Testing Principle, Practices & Process
Chapter 2 - Fundamental Agile Testing Principle, Practices & Process
 
Chapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationChapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and Automation
 
Chapter 1 - Testing Process
Chapter 1 - Testing ProcessChapter 1 - Testing Process
Chapter 1 - Testing Process
 
Chapter 4 - Quality Characteristics for Technical Testing
Chapter 4 - Quality Characteristics for Technical TestingChapter 4 - Quality Characteristics for Technical Testing
Chapter 4 - Quality Characteristics for Technical Testing
 
Chapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationChapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and Automation
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Chapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test ExecutionChapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test Execution
 
CTFL Module 02
CTFL Module 02CTFL Module 02
CTFL Module 02
 
Chapter 1 - Agile Methodology
Chapter 1 - Agile MethodologyChapter 1 - Agile Methodology
Chapter 1 - Agile Methodology
 
Chapter 2 - White Box Test Techniques
Chapter 2 - White Box Test TechniquesChapter 2 - White Box Test Techniques
Chapter 2 - White Box Test Techniques
 
Istqb chapter 5
Istqb chapter 5Istqb chapter 5
Istqb chapter 5
 

Ähnlich wie Chapter 2 - Testing Throughout the Development LifeCycle

System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v model
Minal Kashyap
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
atish90
 

Ähnlich wie Chapter 2 - Testing Throughout the Development LifeCycle (20)

Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual Testing
 
Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training
 
Software Testing
Software Testing Software Testing
Software Testing
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v model
 
Test Process
Test ProcessTest Process
Test Process
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | Edureka
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Chapter 4 - Deployment & Delivery
Chapter 4 - Deployment & DeliveryChapter 4 - Deployment & Delivery
Chapter 4 - Deployment & Delivery
 
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDifferent Software Testing Types and CMM Standard
Different Software Testing Types and CMM Standard
 
Testing and Rolling Out Enterprise Applications
Testing and Rolling Out Enterprise ApplicationsTesting and Rolling Out Enterprise Applications
Testing and Rolling Out Enterprise Applications
 
Manualtestingppt
ManualtestingpptManualtestingppt
Manualtestingppt
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 
Software test life cycle
Software test life cycleSoftware test life cycle
Software test life cycle
 
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptxLecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Best software testing course
Best software testing courseBest software testing course
Best software testing course
 
Software testing
Software testingSoftware testing
Software testing
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
 
Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineering
 

Mehr von Neeraj Kumar Singh

Mehr von Neeraj Kumar Singh (20)

Chapter 4 - Mobile Application Platforms, Tools and Environment
Chapter 4 - Mobile Application Platforms, Tools and EnvironmentChapter 4 - Mobile Application Platforms, Tools and Environment
Chapter 4 - Mobile Application Platforms, Tools and Environment
 
Chapter 3 - Common Test Types and Test Process for Mobile Applications
Chapter 3 - Common Test Types and Test Process for Mobile ApplicationsChapter 3 - Common Test Types and Test Process for Mobile Applications
Chapter 3 - Common Test Types and Test Process for Mobile Applications
 
Chapter 2 - Mobile Application Test Types
Chapter 2 - Mobile Application Test TypesChapter 2 - Mobile Application Test Types
Chapter 2 - Mobile Application Test Types
 
Chapter 1 - Mobile World - Business and Technology Drivers
Chapter 1 - Mobile World - Business and Technology DriversChapter 1 - Mobile World - Business and Technology Drivers
Chapter 1 - Mobile World - Business and Technology Drivers
 
ISTQB Performance Tester Sample Questions
ISTQB Performance Tester Sample QuestionsISTQB Performance Tester Sample Questions
ISTQB Performance Tester Sample Questions
 
ISTQB Performance Tester Sample Questions' Answers
ISTQB Performance Tester Sample Questions' AnswersISTQB Performance Tester Sample Questions' Answers
ISTQB Performance Tester Sample Questions' Answers
 
ISTQB Performance Tester Certification Syllabus and Study Material
ISTQB Performance Tester Certification Syllabus and Study MaterialISTQB Performance Tester Certification Syllabus and Study Material
ISTQB Performance Tester Certification Syllabus and Study Material
 
Chapter 4 - Performance Testing Tasks
Chapter 4 - Performance Testing TasksChapter 4 - Performance Testing Tasks
Chapter 4 - Performance Testing Tasks
 
Chapter 3 - Performance Testing in the Software Lifecycle
Chapter 3 - Performance Testing in the Software LifecycleChapter 3 - Performance Testing in the Software Lifecycle
Chapter 3 - Performance Testing in the Software Lifecycle
 
Chapter 2 - Performance Measurement Fundamentals
Chapter 2 - Performance Measurement FundamentalsChapter 2 - Performance Measurement Fundamentals
Chapter 2 - Performance Measurement Fundamentals
 
Chapter 7 - People Skills and Team Composition
Chapter 7 - People Skills and Team CompositionChapter 7 - People Skills and Team Composition
Chapter 7 - People Skills and Team Composition
 
Chapter 5 - Improving the Testing Process
Chapter 5 -  Improving the Testing ProcessChapter 5 -  Improving the Testing Process
Chapter 5 - Improving the Testing Process
 
Chapter 4 - Defect Management
Chapter 4 - Defect ManagementChapter 4 - Defect Management
Chapter 4 - Defect Management
 
Chapter 3 - Reviews
Chapter 3 - ReviewsChapter 3 - Reviews
Chapter 3 - Reviews
 
Chapter 2 - Test Management
Chapter 2 - Test ManagementChapter 2 - Test Management
Chapter 2 - Test Management
 
ISTQB Technical Test Analyst Answers to Sample Question Paper
ISTQB Technical Test Analyst Answers to Sample Question PaperISTQB Technical Test Analyst Answers to Sample Question Paper
ISTQB Technical Test Analyst Answers to Sample Question Paper
 
ISTQB Technical Test Analyst Sample Question Paper
ISTQB Technical Test Analyst Sample Question PaperISTQB Technical Test Analyst Sample Question Paper
ISTQB Technical Test Analyst Sample Question Paper
 
ISTQB Advance level syllabus 2019 Technical Test Analyst
ISTQB Advance level syllabus 2019 Technical Test AnalystISTQB Advance level syllabus 2019 Technical Test Analyst
ISTQB Advance level syllabus 2019 Technical Test Analyst
 
Chapter 3 - Analytical Techniques
Chapter 3 - Analytical TechniquesChapter 3 - Analytical Techniques
Chapter 3 - Analytical Techniques
 
Chapter 1 - The Technical Test Analyst Tasks in Risk Based Testing
Chapter 1 - The Technical Test Analyst Tasks in Risk Based TestingChapter 1 - The Technical Test Analyst Tasks in Risk Based Testing
Chapter 1 - The Technical Test Analyst Tasks in Risk Based Testing
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

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