SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Testing Throughout the Software Life Cycle
Section 2
ISTQB Foundation
Summary
What you will learn in this second section
• Software Testing Methodologies. Waterfall, V-Model and Iterative
• What is unity or component system testing
• What is integration, system and acceptance means
• Differences between functional and non-functional testing
• What is a structural testing
• Change-related testing
• Maintenance testing
Life Cycle Models
Sequential Life Cycle Models
In sequential models the entire system is
built in a single sequence of activities that
successively define, build test and implement
the software.
Examples are waterfall, Structured System
Analysis and Design Method (SSADM), the
V-model and the W-model.
Iterative-Incremental (Agile) Life Cycle Models
In iterative-incremental development models, systems
are built in a series of short development cycles which
deliver working systems in a number of separate
increments that can later be integrated together.
Agile development is a term for several methodologies
including Scrum, Crystal Clear and many more.
Each has its specific approach but all share the common
vision and core values as continuous planning, testing,
integration, for the project and software. Is adaptable and
they all focus on empowering people to collaborate and
make decisions together quickly and effectively.
Life Cycle Models
Testing does not exist in isolation. Test activities are related to software development activities.
Different development life cycle models, methodologies, need different approaches to testing.
There are many system development life cycle models, which fall into two main categories:
Sequential
• Waterfall
• V-Model
Iterative-Incremental (Agile)
• Rapid Application Development (RAD)
• Rational Unified Process (PUP)
• Extreme Programming (XP)
• Scrum
• Dynamic Systems Development Method (DSDM) Atern
Waterfall Model
Life cycle through which a project goes. Sequential or linear design process.
Testing is carried out at the end.
Initiation
Analysis
Design
Build
Test
Deploy
This is the traditional approach to systems development.
Each stage is quite separate, carried out by specialists,
and each must complete before the next begins. Each
stage outputs a deliverable which is input to the next.
All testing is done at the end, after the code is developed.
Therefore this model does not allow for early testing, as
recommended in the principles earlier.
V-model
Although the similarities with the sequential method as
in waterfall, the V-model includes a number of different
test levels, each correspond to a development stage.
This allows testing activities to be fully integrated with
other tasks in the project life cycle.
Mini cycles show the purpose of each test level, and
show the importance of catching defects early.
The V-model also shows how static testing can be
carried out during the development stages, before the
code is written. Documents are identified which can be
reviewed to trap faults as early as possible.
Requirements Product Ready
Coding
V-model
Then goes on to describe two different integration
test levels, so in this demonstration, I’ll describe a
V-model with 5 levels of testing instead:
- Component testing
- Component integration testing
- System testing
- System integration testing
- Acceptance testing
There’s many variations of V-model, with slightly
different number and description of levels. The ISTQB
Foundation exam syllabus refers to a model with 4
test levels:
- Component testing
- Integration testing
- System testing
- Acceptance testing
---------
--------------------
-------------------------------
-----------------------------------------------------
-------------------------------------------
V-model
Business
Requirements
Interface
Specifications
System
Specifications
Design
Specification
Component
Specification
Source
Code
Object
Code
Component
Testing
Component
Integration
Testing
System
Testing
System
Integration
Testing
Acceptance
Testing
Iterative-Incremental (Agile) Models
A software design model where the stages are ongoing opposite to the
waterfall method. Testing occurs as part of each sprint.
Agile development is an umbrella term for several iterative and incremental
software development methodologies.
Most popular agile methodologies are: Scrum, Crystal Clear, XP (Extreme
Programming), DSDM and FDD.
Typically, development teams work closely together with fewer formal
documents and more emphasis on face-to-face communication.
This minimises overall risk and allows the project to adapt to changes quickly.
Iterative-Incremental (Agile) Models
Reqts
Test
Code
Design Reqts
Test
Code
Design
Reqts
Test
Code
Design
Increment 1 Increment 2 Increment 3
----------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------
timebox timebox timebox
Unity or Component Testing
Tests individual units or pieces of code for a system. The aim of component testing is to
determine whether an individual function works properly in isolation before integrate with the
system then combine it with other components.
Component testing is different from all later test stages as it is not done by testers but by the
developers of the code, in the developer’s environment using IDE, debugging tools and test
frameworks incorporating stubs and drivers.
As an example, in the V-model method Component Specification and Component Testing
level unity is where is located at.
Code Review
Component
Or
Subsystem
Component
test
Code Unit A
Code Unit B
Code Unit C
Integration Testing
Performed to ensure that two modules operate
together correctly. The aim is to test all major
interfaces and interactions between the individual
components, and to uncover communication
failures between components.
It should not test the functionality within the
component (by this time it has already been done
by component testing), only focusing how it
communicate with each other. It is normally
performed by developers in the development
environment.
V-model document: Design Specification and
Component A
Component CComponent B
Integration
Testing
System Testing
Tests the various parts of the applications work
together within a system work. This test the behaviour
of an end-to-end integrated system as defined by the
scope of a development project. It is usually conducted
by independent testers.
System testing may include tests based on risks,
requirements, business processes, use cases or high
level text descriptions, models or system behaviour,
interactions with the operating system and system
resources.
The test environment should be as close to the
production environment as possible in order to
minimise the risk of environment-specific failures not
being found in testing.
System Testing
Requirements
Events
Inputs
Outcome
System Integration Testing
Most computer system will link with other systems, either internally to the organisation of
externally.
The purpose of system integration testing is to expose defects in the interfaces and
interactions between systems and between hardware and software.
System Under Test
Internet
Other current
systems
Legacy systems
Central databaseExternal systems or databases
It is normally carried out once system testing
is complete by independent system testers in a
near live environment.
When testing links with external systems, testers
may control only their own side of the interface,
which might be considered as a risk, as their test
system may be linked to an external production
system.
Workflow implementation of business processes
may involve a series of systems, where cross
platform issues may be significant.
To determine whether the product indeed satisfies its specifications and user story
requirements.
The purpose of acceptance testing is to establish confidence and main focus is ensuring
is fit for purpose, not finding defects.
Acceptance can be carried out by real business users or by independent testers
representing users.
Acceptance testing is normally the final stage of testing before deployment.
V-model document: Business requirement and Acceptance testing.
Can also be
called as
UAT (User
Acceptance
Testing)
Acceptance Testing
DEV QA UAT PROD
Functional Testing
Testing what the system does, based on analysis of specified requirements.
Functional testing is concerned with WHAT the system must do to achieve its objectives,
as defined in business requirements, functional specifications, use cases, business
process models, etc.
It considers the external behaviour of the software, hence is black-box testing.
Black
box
Input Output
Black Box TestingFunctional testing is usually associated with
data manipulation, such as input, validation,
processing, storage and output.
Non-Functional Testing
Testing how well the system meets the required software characteristics such as
performance and usability.
It tests the attributes of a system that do not relate to functionality. It is concerned with how
well a system works.
It considers constraints on the functionality on how, how often, who or where a function can
take place.
Black
box
Input Output
Black Box Testing
Non-functional testing includes:
• Performance
• Load
• Stress
• Usability
• Accessibility
• Maintainability
• Reliability
• Portability
Structural Testing
Testing that takes into account the internal mechanism [structure] of a system or
component. Types include branch testing, path testing, statement testing.
Input Output
White Box Testing
White box
Coverage measurement applies at all levels, as any aspect of a system which can be
represented in a structural diagram can be used as the basis for structural testing.
• Program code design: coverage of statement, decisions, paths
• Component hierarchy diagram: coverage of component interfaces
• Web pages structure: coverage of page navigation
Structural testing, it is sometimes called glass box,
usually follows specification-based tests to ensure
thoroughness of coverage. Full structured testing
is very thorough but time-consuming, and is often
mandated in safety-critical system such as life
support machines.
Remember Password
Regression testing of a previously tested program following
modification to ensure that defects have not been introduced or
uncovered in unchanged areas of the software as a result of the
changes made. An estimated 20% to 50% of changes introduce
new defects.
It may be performed at all test levels and types, including functional,
non-functional and structural testing. Regression should take place
at all stages of testing after a functional improvement or repair.
Change-related Testing
Testing a system following modifications or corrections; includes re-testing and regression testing. This is
testing following a change or fix to the software or environment. This should involve two types of test:
Re-testing or confirmation testing, that reruns test cases that
previously failed in order to verify the success of corrective actions.
Username
Password
Remember me
Sign In
Regression
RetestingAutomation testing, this is an advanced level for new be testers,
make sure you follow my blog for other courses specifically on automation.
Retesting and regression should be repeatable, so they can re-run every time there is a change or fix.
Its essential to automate both re-testing and regression tests.
Automation is not a full substitute to manual testing as not 100% automation testing can be achieved and it shouldn’t.
• Planned enhancements or upgrades to business systems
• Corrective and emergency changes
• Changes to the operating environment such as system upgrades
• Upgrade of commercial-off-the-shelf software
• Migration of applications from one platform to another
• Retirement of legacy software systems
Maintenance Testing
Once deployed, as software system is often in service for years or decades. During this time the
operational system, its configuration data or its environment are often corrected, changed or extended.
The testing of these changes is called maintenance testing, and is
triggered by:
Select key
functionality
New
Changes
?
?
?
Assess
impact of
changes
on
rest of
system
Live System
Regression
Test Pack
Review
This is what you have learned so far...
• Waterfall Model
• V-Model
• Iterative Model
• Unity or Component testing
• Integration testing
• System testing
• Acceptance testing
• Functional testing
• Non-Functional testing
• Structural testing
• Change-related Testing
• Maintenance Testing
End of Section
2
Do the Quiz (attached) for Section
2
Questions?
Comments?
Thumbs up and Share it if you like
this.
Testing Throughout the Software
Life Cycle – Section 2
ISTQB Foundation
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

Software requirement verification & validation
Software requirement verification & validationSoftware requirement verification & validation
Software requirement verification & validation
Abdul Basit
 

Was ist angesagt? (20)

Testing types functional and nonfunctional - Kati Holasz
Testing types   functional and nonfunctional - Kati HolaszTesting types   functional and nonfunctional - Kati Holasz
Testing types functional and nonfunctional - Kati Holasz
 
Software evolution and Verification,validation
Software evolution and Verification,validationSoftware evolution and Verification,validation
Software evolution and Verification,validation
 
Verification & Validation
Verification & ValidationVerification & Validation
Verification & Validation
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
functional testing
functional testing functional testing
functional testing
 
SDLC vs STLC
SDLC vs STLCSDLC vs STLC
SDLC vs STLC
 
Software requirement verification & validation
Software requirement verification & validationSoftware requirement verification & validation
Software requirement verification & validation
 
Software testing
Software testingSoftware testing
Software testing
 
Software quality and testing (func. & non func.)
Software quality and testing (func. & non   func.)Software quality and testing (func. & non   func.)
Software quality and testing (func. & non func.)
 
Testing tools
Testing toolsTesting tools
Testing tools
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3
 
Chapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test ExecutionChapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test Execution
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineering
 
Software testing and analysis
Software testing and analysisSoftware testing and analysis
Software testing and analysis
 
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
 
Verification and validation
Verification and validationVerification and validation
Verification and validation
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3
 

Andere mochten auch

ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
Swarnima Tiwari
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
Nesrine Shokry
 
Software Craftsmanship VS Software Engineering
Software Craftsmanship VS Software EngineeringSoftware Craftsmanship VS Software Engineering
Software Craftsmanship VS Software Engineering
Andy Maleh
 
Professional Code of Ethics in Software Engineering
Professional Code of Ethics in Software EngineeringProfessional Code of Ethics in Software Engineering
Professional Code of Ethics in Software Engineering
Lemi Orhan Ergin
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
Damian T. Gordon
 

Andere mochten auch (20)

ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing Fundamentals
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an Imperative
 
TIAD 2016 : Ethics in software development
TIAD 2016 : Ethics in software developmentTIAD 2016 : Ethics in software development
TIAD 2016 : Ethics in software development
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Six Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower ScientistsSix Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower Scientists
 
Software Engineering Ethics
Software Engineering EthicsSoftware Engineering Ethics
Software Engineering Ethics
 
software engineering ethics
software engineering ethicssoftware engineering ethics
software engineering ethics
 
Software Craftsmanship VS Software Engineering
Software Craftsmanship VS Software EngineeringSoftware Craftsmanship VS Software Engineering
Software Craftsmanship VS Software Engineering
 
Software testing
Software testingSoftware testing
Software testing
 
Best practices for test case creation & maintenance
Best practices for test case creation & maintenanceBest practices for test case creation & maintenance
Best practices for test case creation & maintenance
 
A crash course to user story mapping
A crash course to user story mappingA crash course to user story mapping
A crash course to user story mapping
 
SE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of EthicsSE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of Ethics
 
Software Engineering- Crisis and Process Models
Software Engineering- Crisis and Process ModelsSoftware Engineering- Crisis and Process Models
Software Engineering- Crisis and Process Models
 
Professional Code of Ethics in Software Engineering
Professional Code of Ethics in Software EngineeringProfessional Code of Ethics in Software Engineering
Professional Code of Ethics in Software Engineering
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
software engineering
 software engineering software engineering
software engineering
 
Introduction to Engineering and Profession Ethics Lecture3-Introduction to En...
Introduction to Engineering and Profession Ethics Lecture3-Introduction to En...Introduction to Engineering and Profession Ethics Lecture3-Introduction to En...
Introduction to Engineering and Profession Ethics Lecture3-Introduction to En...
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
 

Ähnlich wie Testing Throughout the Software Life Cycle - Section 2

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
 
Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2
Egi Ilham Elnusa
 
Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Testing throughout the software life cycle 2
Testing throughout the software life cycle 2
Risun Hidayat
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
nazeer pasha
 

Ähnlich wie Testing Throughout the Software Life Cycle - Section 2 (20)

testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2
 
CTFL Module 02
CTFL Module 02CTFL Module 02
CTFL Module 02
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementation
 
Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v model
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Testing ppt
Testing pptTesting ppt
Testing ppt
 
Software development models
Software development modelsSoftware development models
Software development models
 
Software test life cycle
Software test life cycleSoftware test life cycle
Software test life cycle
 
Gcs day1
Gcs day1Gcs day1
Gcs day1
 
Software Testing
Software Testing Software Testing
Software Testing
 
Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2Presentasi testing throughout the software life cycle 2
Presentasi testing throughout the software life cycle 2
 
Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Testing throughout the software life cycle 2
Testing throughout the software life cycle 2
 
Testing Throughout The Software Life Cycle II (Dhea Frizky)
Testing Throughout The Software Life Cycle II (Dhea Frizky)Testing Throughout The Software Life Cycle II (Dhea Frizky)
Testing Throughout The Software Life Cycle II (Dhea Frizky)
 
Testing throughout the software life cycle 2
Testing throughout the software life cycle 2Testing throughout the software life cycle 2
Testing throughout the software life cycle 2
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Testing throughout the software life cycle (software development models)
Testing throughout the software life cycle (software development models)Testing throughout the software life cycle (software development models)
Testing throughout the software life cycle (software development models)
 
Quality Assurance Process
Quality Assurance ProcessQuality Assurance Process
Quality Assurance Process
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+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)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
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, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+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...
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

Testing Throughout the Software Life Cycle - Section 2

  • 1. Testing Throughout the Software Life Cycle Section 2 ISTQB Foundation
  • 2. Summary What you will learn in this second section • Software Testing Methodologies. Waterfall, V-Model and Iterative • What is unity or component system testing • What is integration, system and acceptance means • Differences between functional and non-functional testing • What is a structural testing • Change-related testing • Maintenance testing
  • 3. Life Cycle Models Sequential Life Cycle Models In sequential models the entire system is built in a single sequence of activities that successively define, build test and implement the software. Examples are waterfall, Structured System Analysis and Design Method (SSADM), the V-model and the W-model. Iterative-Incremental (Agile) Life Cycle Models In iterative-incremental development models, systems are built in a series of short development cycles which deliver working systems in a number of separate increments that can later be integrated together. Agile development is a term for several methodologies including Scrum, Crystal Clear and many more. Each has its specific approach but all share the common vision and core values as continuous planning, testing, integration, for the project and software. Is adaptable and they all focus on empowering people to collaborate and make decisions together quickly and effectively.
  • 4. Life Cycle Models Testing does not exist in isolation. Test activities are related to software development activities. Different development life cycle models, methodologies, need different approaches to testing. There are many system development life cycle models, which fall into two main categories: Sequential • Waterfall • V-Model Iterative-Incremental (Agile) • Rapid Application Development (RAD) • Rational Unified Process (PUP) • Extreme Programming (XP) • Scrum • Dynamic Systems Development Method (DSDM) Atern
  • 5. Waterfall Model Life cycle through which a project goes. Sequential or linear design process. Testing is carried out at the end. Initiation Analysis Design Build Test Deploy This is the traditional approach to systems development. Each stage is quite separate, carried out by specialists, and each must complete before the next begins. Each stage outputs a deliverable which is input to the next. All testing is done at the end, after the code is developed. Therefore this model does not allow for early testing, as recommended in the principles earlier.
  • 6. V-model Although the similarities with the sequential method as in waterfall, the V-model includes a number of different test levels, each correspond to a development stage. This allows testing activities to be fully integrated with other tasks in the project life cycle. Mini cycles show the purpose of each test level, and show the importance of catching defects early. The V-model also shows how static testing can be carried out during the development stages, before the code is written. Documents are identified which can be reviewed to trap faults as early as possible. Requirements Product Ready Coding
  • 7. V-model Then goes on to describe two different integration test levels, so in this demonstration, I’ll describe a V-model with 5 levels of testing instead: - Component testing - Component integration testing - System testing - System integration testing - Acceptance testing There’s many variations of V-model, with slightly different number and description of levels. The ISTQB Foundation exam syllabus refers to a model with 4 test levels: - Component testing - Integration testing - System testing - Acceptance testing
  • 9. Iterative-Incremental (Agile) Models A software design model where the stages are ongoing opposite to the waterfall method. Testing occurs as part of each sprint. Agile development is an umbrella term for several iterative and incremental software development methodologies. Most popular agile methodologies are: Scrum, Crystal Clear, XP (Extreme Programming), DSDM and FDD. Typically, development teams work closely together with fewer formal documents and more emphasis on face-to-face communication. This minimises overall risk and allows the project to adapt to changes quickly.
  • 10. Iterative-Incremental (Agile) Models Reqts Test Code Design Reqts Test Code Design Reqts Test Code Design Increment 1 Increment 2 Increment 3 ---------------------------------------------------------------------- ---------------------------------------------------------------------- ---------------------------------------------------------------------- ---------------------------------------------------------------------- timebox timebox timebox
  • 11. Unity or Component Testing Tests individual units or pieces of code for a system. The aim of component testing is to determine whether an individual function works properly in isolation before integrate with the system then combine it with other components. Component testing is different from all later test stages as it is not done by testers but by the developers of the code, in the developer’s environment using IDE, debugging tools and test frameworks incorporating stubs and drivers. As an example, in the V-model method Component Specification and Component Testing level unity is where is located at. Code Review Component Or Subsystem Component test Code Unit A Code Unit B Code Unit C
  • 12. Integration Testing Performed to ensure that two modules operate together correctly. The aim is to test all major interfaces and interactions between the individual components, and to uncover communication failures between components. It should not test the functionality within the component (by this time it has already been done by component testing), only focusing how it communicate with each other. It is normally performed by developers in the development environment. V-model document: Design Specification and Component A Component CComponent B Integration Testing
  • 13. System Testing Tests the various parts of the applications work together within a system work. This test the behaviour of an end-to-end integrated system as defined by the scope of a development project. It is usually conducted by independent testers. System testing may include tests based on risks, requirements, business processes, use cases or high level text descriptions, models or system behaviour, interactions with the operating system and system resources. The test environment should be as close to the production environment as possible in order to minimise the risk of environment-specific failures not being found in testing. System Testing Requirements Events Inputs Outcome
  • 14. System Integration Testing Most computer system will link with other systems, either internally to the organisation of externally. The purpose of system integration testing is to expose defects in the interfaces and interactions between systems and between hardware and software. System Under Test Internet Other current systems Legacy systems Central databaseExternal systems or databases It is normally carried out once system testing is complete by independent system testers in a near live environment. When testing links with external systems, testers may control only their own side of the interface, which might be considered as a risk, as their test system may be linked to an external production system. Workflow implementation of business processes may involve a series of systems, where cross platform issues may be significant.
  • 15. To determine whether the product indeed satisfies its specifications and user story requirements. The purpose of acceptance testing is to establish confidence and main focus is ensuring is fit for purpose, not finding defects. Acceptance can be carried out by real business users or by independent testers representing users. Acceptance testing is normally the final stage of testing before deployment. V-model document: Business requirement and Acceptance testing. Can also be called as UAT (User Acceptance Testing) Acceptance Testing DEV QA UAT PROD
  • 16. Functional Testing Testing what the system does, based on analysis of specified requirements. Functional testing is concerned with WHAT the system must do to achieve its objectives, as defined in business requirements, functional specifications, use cases, business process models, etc. It considers the external behaviour of the software, hence is black-box testing. Black box Input Output Black Box TestingFunctional testing is usually associated with data manipulation, such as input, validation, processing, storage and output.
  • 17. Non-Functional Testing Testing how well the system meets the required software characteristics such as performance and usability. It tests the attributes of a system that do not relate to functionality. It is concerned with how well a system works. It considers constraints on the functionality on how, how often, who or where a function can take place. Black box Input Output Black Box Testing Non-functional testing includes: • Performance • Load • Stress • Usability • Accessibility • Maintainability • Reliability • Portability
  • 18. Structural Testing Testing that takes into account the internal mechanism [structure] of a system or component. Types include branch testing, path testing, statement testing. Input Output White Box Testing White box Coverage measurement applies at all levels, as any aspect of a system which can be represented in a structural diagram can be used as the basis for structural testing. • Program code design: coverage of statement, decisions, paths • Component hierarchy diagram: coverage of component interfaces • Web pages structure: coverage of page navigation Structural testing, it is sometimes called glass box, usually follows specification-based tests to ensure thoroughness of coverage. Full structured testing is very thorough but time-consuming, and is often mandated in safety-critical system such as life support machines.
  • 19. Remember Password Regression testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software as a result of the changes made. An estimated 20% to 50% of changes introduce new defects. It may be performed at all test levels and types, including functional, non-functional and structural testing. Regression should take place at all stages of testing after a functional improvement or repair. Change-related Testing Testing a system following modifications or corrections; includes re-testing and regression testing. This is testing following a change or fix to the software or environment. This should involve two types of test: Re-testing or confirmation testing, that reruns test cases that previously failed in order to verify the success of corrective actions. Username Password Remember me Sign In Regression RetestingAutomation testing, this is an advanced level for new be testers, make sure you follow my blog for other courses specifically on automation. Retesting and regression should be repeatable, so they can re-run every time there is a change or fix. Its essential to automate both re-testing and regression tests. Automation is not a full substitute to manual testing as not 100% automation testing can be achieved and it shouldn’t.
  • 20. • Planned enhancements or upgrades to business systems • Corrective and emergency changes • Changes to the operating environment such as system upgrades • Upgrade of commercial-off-the-shelf software • Migration of applications from one platform to another • Retirement of legacy software systems Maintenance Testing Once deployed, as software system is often in service for years or decades. During this time the operational system, its configuration data or its environment are often corrected, changed or extended. The testing of these changes is called maintenance testing, and is triggered by: Select key functionality New Changes ? ? ? Assess impact of changes on rest of system Live System Regression Test Pack
  • 21. Review This is what you have learned so far... • Waterfall Model • V-Model • Iterative Model • Unity or Component testing • Integration testing • System testing • Acceptance testing • Functional testing • Non-Functional testing • Structural testing • Change-related Testing • Maintenance Testing
  • 22. End of Section 2 Do the Quiz (attached) for Section 2 Questions? Comments? Thumbs up and Share it if you like this. Testing Throughout the Software Life Cycle – Section 2 ISTQB Foundation Thank You