SlideShare a Scribd company logo
1 of 21
Deployment and Delivery
1 Requirement
Engineering
2 Testing in Agile 3 Test Automation
Software Testing - ISTQB Advance
Agile Technical Tester Exam Preparation
Chapter 4
Neeraj Kumar Singh
4 Deployment &
Delivery
Deployment and Delivery
Contents
4.1 Continuous Integration, continuous testing
and continuous delivery
4.2 Service Virtualization
Neeraj Kumar Singh
Continuous Integration, Testing and Delivery
Contents
4.1.1 Continuous integration and
its impact on testing
4.1.2 The role of continuous testing in
continuous delivery and deployment (CD)
Neeraj Kumar Singh
Continuous Integration, Testing and Delivery
Continuous Integration and its Impact on Testing
The aim of continuous integration (CI) is to provide fast feedback so if defects are introduced into the code, they
are found and fixed as soon as possible.
Agile testers should contribute to the design, implementation, and maintenance of an effective and efficient CI
process, not only in terms of creating and maintaining automated tests that fit within the CI framework, but also in
terms of prioritizing the tests, the necessary environments, configurations, and so forth.
In an ideal situation with CI, once the code is built, all automated tests are then run to verify that the software
continues to behave as defined and has not been damaged by the code changes. However, there are two conflicting
goals:
1. Execute the CI process frequently to obtain immediate feedback on the code
2. Verify the code as thoroughly as possible after each build
When adequate care is not taken in the design, implementation, and maintenance of the automated tests
executing all the automated tests will take too long for the CI process to be completed multiple times per day.
Even with careful test automation, it can be the case that complete execution of all automated tests across all
test levels would slow down the CI process excessively.
Different organizations have different priorities and different projects need different solutions to find the right
balance between the goals mentioned above. For example, if a system is stable and changes less frequently, then
fewer CI cycles may be needed. If the system is being updated constantly, then more CI cycles are most likely
needed.
Neeraj Kumar Singh
Continuous Integration, Testing and Delivery
Continuous Integration and its Impact on Testing
There are solutions that support both goals, which are complementary and can be used in parallel.
The first is to prioritize testing so that the basic and most important tests are always executed by using a risk-
based testing approach.
The second solution is to enable different test configurations in the CI process to be used for different types of CI
cycles. For the daily build and test process, only the basic tests selected based on upfront prioritization are
executed. For the nightly CI process, a larger number or possibly all of the functional tests which do not require
the pre-production environment are executed,
The third solution is to speed up test execution by decreasing the amount of User Interface (UI) testing. Usually,
there are no time issues completing the execution of unit/integration tests, which generally run very quickly. A
situation might arise where so many unit tests exist that they cannot be completely executed during the CI
process. The real issues with time generally are related to the use of end-to-end UI test cases as part of the CI
process.
The solution is to increase the amount of API, command line, data-layer, service-layer, and other non-UI business
logic testing and decrease UI testing, pushing the automation effort down on the test automation pyramid. This
ensures more maintainable tests but also reduces the test execution time.
Neeraj Kumar Singh
Continuous Integration, Testing and Delivery
Continuous Integration and its Impact on Testing
The fourth solution can be used when test executions are very frequent in a CI system and it is impossible to run
all the test cases. Based on the code modifications and knowledge of the execution trace of the existing test cases,
a developer or tester can select and execute only those test cases affected by the changes (i.e., the use of impact
analysis to select tests). Since only a small fraction of the whole code base is modified during a short cycle,
relatively few test cases have to be executed.
A fifth solution is to split the test suite into equally sized chunks and run them in parallel on multiple environments
(agents, build farm, cloud). This is very commonly applied in companies using CI, because they already need a lot
of build server capacity.
Current CI tools support not only continuous integration, but continuous delivery and continuous deployment as
well. Running automated tests in an environment that doesn’t completely replicate production can lead to false
negatives, but cloning the production environment can be cost excessive. Solutions include using cloud testing
environments that replicate production environments on an as needed basis, or creating a test environment that is
a scaled-down but realistic version of production.
Good CI systems need to be able to automatically deploy on more complex environments and different platforms.
The testers’ task is to plan which test cases to include, prioritize which have to be executed on some or all
platforms in order to maintain good coverage, and to design test cases to efficiently validate the software in a
production-like environment.
Neeraj Kumar Singh
Deployment and Delivery
1 Requirement
Engineering
2 Testing in Agile 3 Test Automation
Software Testing - ISTQB Advance
Agile Technical Tester Exam Preparation
Chapter 4
Neeraj Kumar Singh
4 Deployment &
Delivery
Deployment and Delivery
Contents
4.1 Continuous Integration, continuous testing
and continuous delivery
4.2 Service Virtualization
Neeraj Kumar Singh
Continuous Integration, Testing and Delivery
Contents
4.1.1 Continuous integration and
its impact on testing
4.1.2 The role of continuous testing in
continuous delivery and deployment (CD)
Neeraj Kumar Singh
Continuous Integration, Testing and Delivery
Continuous Testing
Continuous testing is an approach that involves a process of testing early, testing often, test everywhere, and
automate to obtain feedback on the business risks associated with a software release candidate as rapidly as
possible.
In continuous testing, a modification made to the system triggers the required tests (i.e., those tests that cover
the change) to be executed automatically, giving the developer prompt feedback.
Continuous testing can be applied in different situations. However, the concept is the same, i.e., to automatically
execute tests as early as possible.
Neeraj Kumar Singh
Continuous Integration, Testing and Delivery
Continuous Delivery and Continuous Deployment
Continuous delivery requires continuous integration. Continuous delivery extends continuous integration by
deploying all code changes to a testing or pre-production environment and/or a production-like environment after
the build stage.
This staging process makes it possible to execute functional tests by applying real user inputs and non-functional
tests such as load, stress, performance and portability tests.
Since every change embedded is delivered to the staging environment using complete automation, the Agile team
can have confidence the system can be deployed to production with a push of a button when the definition of done
is achieved.
Continuous deployment takes continuous delivery a step further with the notion that every change is automatically
deployed to production.
Continuous deployment aims to minimize the time elapsed between the development task of writing new code and
having it be used by real users, in production.
Neeraj Kumar Singh
Deployment and Delivery
1 Requirement
Engineering
2 Testing in Agile 3 Test Automation
Software Testing - ISTQB Advance
Agile Technical Tester Exam Preparation
Chapter 4
Neeraj Kumar Singh
4 Deployment &
Delivery
Deployment and Delivery
Contents
4.1 Continuous Integration, continuous testing
and continuous delivery
4.2 Service Virtualization
Neeraj Kumar Singh
Delivery and Deployment
Service Virtualization
Service virtualization refers to the process of creating a shareable testing service (a virtual service) that simulates
the relevant behavior, data, and performance of a connected system or service. This virtual service enables
development and test teams to execute their tasks even if the actual service is still under development or not
available.
Testing early in the development cycle is difficult to accomplish with today’s highly connected and interdependent
development teams and systems. By decoupling teams and systems using service virtualization, teams can test
their software earlier in the development lifecycle using more realistic use cases and loads.
While stubs, drivers and mocks are valuable in allowing for early testing, manually created stubs are usually
stateless and provide simple responses to requests with fixed response times.
Virtual services can support stateful transactions and maintain context of dynamic elements (session / customer
IDs, dates & times etc.) as well as having variable response times that model the message flow through multiple
systems.
Neeraj Kumar Singh
Delivery and Deployment
Service Virtualization
Virtual services are created with the help of service virtualization tool, often in one of the following ways:
 By interpreting from data: XML file, historical data from server logs or simply sample spreadsheet of data
 By monitoring network traffic: exercising the SUT (System under test) will trigger relevant behavior of
dependent system which is captured and modelled by the service virtualization tool
 By capturing from agents: server-side or internal logic may not be visible on the communication messages
forcing relevant data and messages to be pushed from dependent server to be recreated as a virtual service
If none of the above applies, then the virtual service needs to be created within the project team, based on the
appropriate communication protocol.
Neeraj Kumar Singh
Delivery and Deployment
Service Virtualization
Benefits of service virtualization include:
 Parallel development and test activities for the service under development
 Earlier testing of services and API’s
 Earlier test data setup
 Parallel compilation, continuous integration, and test automation
 Earlier discovery of defects
 Reduced over-utilization of shared resources (COTS system, mainframe, data warehouses)
 Reduced testing costs by reducing the investment in infrastructure.
 Enabling early non-functional testing of SUT
 Simplifying test environment management
 Less maintenance work for test environments (no need to maintain middleware)
 Lower risk for data management (which helps in GDPR compliance)
Introducing a service virtualization could be a complex and potentially expensive endeavor. The introduction of a service
virtualization tool should be treated similarly to introducing any new test tool to the team and organization.
Neeraj Kumar Singh
Deployment and Delivery
1 Requirement
Engineering
2 Testing in Agile 3 Test Automation
Software Testing - ISTQB Advance
Agile Technical Tester Exam Preparation
Chapter 4
Neeraj Kumar Singh
4 Deployment &
Delivery
Deployment & Delivery
Sample Questions Pattern
Neeraj Kumar Singh
Source : www.istqb.org
Deployment & Delivery
Sample Questions
1. A functionality from Swiss Banking system is available in all environments 24 X 7 and it needs service for
different transactions from a 3rd party software component. Does this SUT qualify for Service virtualization?
I. I. No, as there is an interface with an external service.
II. Yes, to perform time controlled non-functional testing of SUT.
III. Yes, to lower the cost of test infrastructure set-up as compared to the cost of testing with real 3rd party
service due to the fact that virtual service does not need to include all of the functionality and test data of
the actual external service.
IV. No, as external services have some sort of inherent wait time associated with network travel time and
virtual service can respond instantaneously as it is in the same network/environment as our SUT. .
Select ONE option.
Answer Set
a. I
b. II and III
c. III and IV
d. II, III and IV
Neeraj Kumar Singh
Deployment & Delivery
Sample Questions
2. Which is the best definition of continuous testing and continuous delivery? Continuous testing :
a. the tester will perform test execution (manual, automatic) based on given timing, e.g. once per day at 7:00 as part of
continuous delivery.
b. The system will trigger automatically a sample test execution based on Developer decision (e.g. after every software
replacement in the project library).
c. The test will be executed based on a new version of application, which can happen once a day, once a week or on
demand as part of continuous delivery.
Continuous delivery
1. The developer is asked to replace the code he has modified by end of day or on demand.
2. The developer replaces his module once completed, the continuous testing can take place upon replacement of new
software.
3. The developer replaces his module once completed, a new version of app will be created and the testing can take place
upon completion.
Select ONE options.
Answer Set
a. a3
b. c2
c. b3
d. b2
Neeraj Kumar Singh
Deployment & Delivery
Sample Questions
3. The Test manager of a testing team is working together with a developer and they plan to have a continuous
integration process established from the next release. Which of the following elements are NOT part of a continuos
integration:
Select ONE options.
Answer Set
a. The test cases to be executed need to be defined and prioritized.
b. Several test configuration should be defined and made available, so that depending on a special phase, the correct
configuration can be used.
c. It is important to have a reduced well defined set of TCs. The system test performed should not take longer than a
predefined time. If the test will take longer, the task to overlap with next cycle can bring to useless results.
d. Need to speed up the test execution, so that the performed TC, most related to unit test, will complete in a short
time.
e. It is a good rule to execute always the same TC as they are defined, if not the behavior, e.g. execution time, will
differ from a run to another one, which would make the result not relevant.
Neeraj Kumar Singh

More Related Content

What's hot

Chapter 4 - Deployment Risks and Contingencies
Chapter 4 - Deployment Risks and ContingenciesChapter 4 - Deployment Risks and Contingencies
Chapter 4 - Deployment Risks and ContingenciesNeeraj Kumar Singh
 
Chapter 5 - Improving the Testing Process
Chapter 5 -  Improving the Testing ProcessChapter 5 -  Improving the Testing Process
Chapter 5 - Improving the Testing ProcessNeeraj Kumar Singh
 
Chapter 3 - The Generic Test Automation Architecture
Chapter 3 - The Generic Test Automation Architecture Chapter 3 - The Generic Test Automation Architecture
Chapter 3 - The Generic Test Automation Architecture Neeraj Kumar Singh
 
Chapter 5 - Test Automation Reporting and Metrics
Chapter 5 - Test Automation Reporting and MetricsChapter 5 - Test Automation Reporting and Metrics
Chapter 5 - Test Automation Reporting and MetricsNeeraj Kumar Singh
 
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 CompositionNeeraj Kumar Singh
 
Chapter 4 - Test Design Techniques
Chapter 4 - Test Design TechniquesChapter 4 - Test Design Techniques
Chapter 4 - Test Design TechniquesNeeraj Kumar Singh
 
Chapter 2 - White Box Test Techniques
Chapter 2 - White Box Test TechniquesChapter 2 - White Box Test Techniques
Chapter 2 - White Box Test TechniquesNeeraj Kumar Singh
 
Chapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality CharacteristicsChapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality CharacteristicsNeeraj Kumar Singh
 
Chapter 6 - Transitioning Manual Testing to an Automation Environment
Chapter 6 - Transitioning Manual Testing to an Automation EnvironmentChapter 6 - Transitioning Manual Testing to an Automation Environment
Chapter 6 - Transitioning Manual Testing to an Automation EnvironmentNeeraj Kumar Singh
 
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 TestingNeeraj Kumar Singh
 
Chapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationChapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationNeeraj Kumar Singh
 
Chapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationChapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationNeeraj Kumar Singh
 
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 TestingNeeraj Kumar Singh
 
Chapter 2 - Testing Throughout the Development LifeCycle
Chapter 2 - Testing Throughout the Development LifeCycleChapter 2 - Testing Throughout the Development LifeCycle
Chapter 2 - Testing Throughout the Development LifeCycleNeeraj Kumar Singh
 

What's hot (20)

Chapter 4 - Deployment Risks and Contingencies
Chapter 4 - Deployment Risks and ContingenciesChapter 4 - Deployment Risks and Contingencies
Chapter 4 - Deployment Risks and Contingencies
 
Chapter 2 - Testing in Agile
Chapter 2 - Testing in AgileChapter 2 - Testing in Agile
Chapter 2 - Testing in Agile
 
Chapter 5 - Improving the Testing Process
Chapter 5 -  Improving the Testing ProcessChapter 5 -  Improving the Testing Process
Chapter 5 - Improving the Testing Process
 
Chapter 3 - The Generic Test Automation Architecture
Chapter 3 - The Generic Test Automation Architecture Chapter 3 - The Generic Test Automation Architecture
Chapter 3 - The Generic Test Automation Architecture
 
Chapter 5 - Test Automation Reporting and Metrics
Chapter 5 - Test Automation Reporting and MetricsChapter 5 - Test Automation Reporting and Metrics
Chapter 5 - Test Automation Reporting and Metrics
 
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 - Test Management
Chapter 5 - Test ManagementChapter 5 - Test Management
Chapter 5 - Test Management
 
Chapter 4 - Test Design Techniques
Chapter 4 - Test Design TechniquesChapter 4 - Test Design Techniques
Chapter 4 - Test Design Techniques
 
Chapter 2 - White Box Test Techniques
Chapter 2 - White Box Test TechniquesChapter 2 - White Box Test Techniques
Chapter 2 - White Box Test Techniques
 
Chapter 3 - Static Testing
Chapter 3 - Static TestingChapter 3 - Static Testing
Chapter 3 - Static Testing
 
Chapter 3 - Reviews
Chapter 3 - ReviewsChapter 3 - Reviews
Chapter 3 - Reviews
 
Chapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality CharacteristicsChapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality Characteristics
 
Chapter 6 - Transitioning Manual Testing to an Automation Environment
Chapter 6 - Transitioning Manual Testing to an Automation EnvironmentChapter 6 - Transitioning Manual Testing to an Automation Environment
Chapter 6 - Transitioning Manual Testing to an Automation Environment
 
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
 
Chapter 2 - Test Management
Chapter 2 - Test ManagementChapter 2 - Test Management
Chapter 2 - Test Management
 
Chapter 5 - Reviews
Chapter 5 - ReviewsChapter 5 - Reviews
Chapter 5 - Reviews
 
Chapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationChapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and Automation
 
Chapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and AutomationChapter 6 - Test Tools and Automation
Chapter 6 - Test Tools and Automation
 
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 2 - Testing Throughout the Development LifeCycle
Chapter 2 - Testing Throughout the Development LifeCycleChapter 2 - Testing Throughout the Development LifeCycle
Chapter 2 - Testing Throughout the Development LifeCycle
 

Similar to Chapter 4 - Deployment & Delivery

An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfKMSSolutionsMarketin
 
QA outsourcing in US_QATesting_VTEST.pptx
QA outsourcing in US_QATesting_VTEST.pptxQA outsourcing in US_QATesting_VTEST.pptx
QA outsourcing in US_QATesting_VTEST.pptxSakshiPatel82
 
Navigating Automated Testing_ Avoiding Common Pitfalls.pdf
Navigating Automated Testing_ Avoiding Common Pitfalls.pdfNavigating Automated Testing_ Avoiding Common Pitfalls.pdf
Navigating Automated Testing_ Avoiding Common Pitfalls.pdfkalichargn70th171
 
Test Orchestration in DevOps
Test Orchestration in DevOps Test Orchestration in DevOps
Test Orchestration in DevOps Knoldus Inc.
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategyDaniel Giraldo
 
Software Development Models by Graham et al
Software Development Models by Graham et alSoftware Development Models by Graham et al
Software Development Models by Graham et alEmi Rahmi
 
Software Development Models
Software Development ModelsSoftware Development Models
Software Development ModelsEmi Rahmi
 
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)IRJET Journal
 
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)tyas setyo
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleEmi Rizki Ayunanda
 
Best SQA Document.pdf
Best SQA Document.pdfBest SQA Document.pdf
Best SQA Document.pdfAzmatIqbal2
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentalsCygnet Infotech
 
What Key Features Lead to Successful Continuous Testing and its Benefits.pdf
What Key Features Lead to Successful Continuous Testing and its Benefits.pdfWhat Key Features Lead to Successful Continuous Testing and its Benefits.pdf
What Key Features Lead to Successful Continuous Testing and its Benefits.pdfpCloudy
 
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...kalichargn70th171
 
How to Implement Continuous Testing in Dev Ops Like a Pro
How to Implement Continuous Testing in Dev Ops Like a Pro How to Implement Continuous Testing in Dev Ops Like a Pro
How to Implement Continuous Testing in Dev Ops Like a Pro Sarah Elson
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptxpavelpopov43
 
Performance Testing in Agile Process
Performance Testing in Agile ProcessPerformance Testing in Agile Process
Performance Testing in Agile ProcessIdexcel Technologies
 

Similar to Chapter 4 - Deployment & Delivery (20)

An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
 
QA outsourcing in US_QATesting_VTEST.pptx
QA outsourcing in US_QATesting_VTEST.pptxQA outsourcing in US_QATesting_VTEST.pptx
QA outsourcing in US_QATesting_VTEST.pptx
 
Navigating Automated Testing_ Avoiding Common Pitfalls.pdf
Navigating Automated Testing_ Avoiding Common Pitfalls.pdfNavigating Automated Testing_ Avoiding Common Pitfalls.pdf
Navigating Automated Testing_ Avoiding Common Pitfalls.pdf
 
Test Orchestration in DevOps
Test Orchestration in DevOps Test Orchestration in DevOps
Test Orchestration in DevOps
 
Implementing a testing strategy
Implementing a testing strategyImplementing a testing strategy
Implementing a testing strategy
 
Software Development Models by Graham et al
Software Development Models by Graham et alSoftware Development Models by Graham et al
Software Development Models by Graham et al
 
Software Development Models
Software Development ModelsSoftware Development Models
Software Development Models
 
A New Generation Software Test Automation Framework – CIVIM
A New Generation Software Test Automation Framework – CIVIMA New Generation Software Test Automation Framework – CIVIM
A New Generation Software Test Automation Framework – CIVIM
 
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
 
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)
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Best SQA Document.pdf
Best SQA Document.pdfBest SQA Document.pdf
Best SQA Document.pdf
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentals
 
What Key Features Lead to Successful Continuous Testing and its Benefits.pdf
What Key Features Lead to Successful Continuous Testing and its Benefits.pdfWhat Key Features Lead to Successful Continuous Testing and its Benefits.pdf
What Key Features Lead to Successful Continuous Testing and its Benefits.pdf
 
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...
Mastering Continuous Testing_ A Definitive Guide to Seamless Software Deliver...
 
Chapter 5 - Tools
Chapter 5 - ToolsChapter 5 - Tools
Chapter 5 - Tools
 
Unit 5 st ppt
Unit 5 st pptUnit 5 st ppt
Unit 5 st ppt
 
How to Implement Continuous Testing in Dev Ops Like a Pro
How to Implement Continuous Testing in Dev Ops Like a Pro How to Implement Continuous Testing in Dev Ops Like a Pro
How to Implement Continuous Testing in Dev Ops Like a Pro
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
 
Performance Testing in Agile Process
Performance Testing in Agile ProcessPerformance Testing in Agile Process
Performance Testing in Agile Process
 

More from Neeraj Kumar Singh

Chapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test ExecutionChapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test ExecutionNeeraj Kumar Singh
 
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 EnvironmentNeeraj Kumar Singh
 
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 ApplicationsNeeraj Kumar Singh
 
Chapter 2 - Mobile Application Test Types
Chapter 2 - Mobile Application Test TypesChapter 2 - Mobile Application Test Types
Chapter 2 - Mobile Application Test TypesNeeraj Kumar Singh
 
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 DriversNeeraj Kumar Singh
 
ISTQB Performance Tester Sample Questions
ISTQB Performance Tester Sample QuestionsISTQB Performance Tester Sample Questions
ISTQB Performance Tester Sample QuestionsNeeraj Kumar Singh
 
ISTQB Performance Tester Sample Questions' Answers
ISTQB Performance Tester Sample Questions' AnswersISTQB Performance Tester Sample Questions' Answers
ISTQB Performance Tester Sample Questions' AnswersNeeraj Kumar Singh
 
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 MaterialNeeraj Kumar Singh
 
Chapter 4 - Performance Testing Tasks
Chapter 4 - Performance Testing TasksChapter 4 - Performance Testing Tasks
Chapter 4 - Performance Testing TasksNeeraj Kumar Singh
 
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 LifecycleNeeraj Kumar Singh
 
Chapter 2 - Performance Measurement Fundamentals
Chapter 2 - Performance Measurement FundamentalsChapter 2 - Performance Measurement Fundamentals
Chapter 2 - Performance Measurement FundamentalsNeeraj Kumar Singh
 
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 PaperNeeraj Kumar Singh
 
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 PaperNeeraj Kumar Singh
 
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 AnalystNeeraj Kumar Singh
 
Chapter 3 - Analytical Techniques
Chapter 3 - Analytical TechniquesChapter 3 - Analytical Techniques
Chapter 3 - Analytical TechniquesNeeraj Kumar Singh
 
ISTQB Agile Technical Tester Answers for Sample Question Paper
ISTQB Agile Technical Tester Answers for Sample Question PaperISTQB Agile Technical Tester Answers for Sample Question Paper
ISTQB Agile Technical Tester Answers for Sample Question PaperNeeraj Kumar Singh
 

More from Neeraj Kumar Singh (19)

Chapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test ExecutionChapter 5 - Automating the Test Execution
Chapter 5 - Automating the Test Execution
 
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 1 - Basic Concepts
Chapter 1 - Basic ConceptsChapter 1 - Basic Concepts
Chapter 1 - Basic Concepts
 
Chapter 2 - Performance Measurement Fundamentals
Chapter 2 - Performance Measurement FundamentalsChapter 2 - Performance Measurement Fundamentals
Chapter 2 - Performance Measurement Fundamentals
 
Chapter 4 - Defect Management
Chapter 4 - Defect ManagementChapter 4 - Defect Management
Chapter 4 - Defect 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 5 - Reviews
Chapter 5 - ReviewsChapter 5 - Reviews
Chapter 5 - Reviews
 
Chapter 3 - Analytical Techniques
Chapter 3 - Analytical TechniquesChapter 3 - Analytical Techniques
Chapter 3 - Analytical Techniques
 
ISTQB Agile Technical Tester Answers for Sample Question Paper
ISTQB Agile Technical Tester Answers for Sample Question PaperISTQB Agile Technical Tester Answers for Sample Question Paper
ISTQB Agile Technical Tester Answers for Sample Question Paper
 

Recently uploaded

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 FMESafe Software
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
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 FresherRemote DBA Services
 
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 ...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
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...Jeffrey Haguewood
 
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...apidays
 
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 WoodJuan lago vázquez
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
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.pdfsudhanshuwaghmare1
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 

Recently uploaded (20)

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
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
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
 
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 ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
+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...
 
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...
 
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...
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 

Chapter 4 - Deployment & Delivery

  • 1. Deployment and Delivery 1 Requirement Engineering 2 Testing in Agile 3 Test Automation Software Testing - ISTQB Advance Agile Technical Tester Exam Preparation Chapter 4 Neeraj Kumar Singh 4 Deployment & Delivery
  • 2. Deployment and Delivery Contents 4.1 Continuous Integration, continuous testing and continuous delivery 4.2 Service Virtualization Neeraj Kumar Singh
  • 3. Continuous Integration, Testing and Delivery Contents 4.1.1 Continuous integration and its impact on testing 4.1.2 The role of continuous testing in continuous delivery and deployment (CD) Neeraj Kumar Singh
  • 4. Continuous Integration, Testing and Delivery Continuous Integration and its Impact on Testing The aim of continuous integration (CI) is to provide fast feedback so if defects are introduced into the code, they are found and fixed as soon as possible. Agile testers should contribute to the design, implementation, and maintenance of an effective and efficient CI process, not only in terms of creating and maintaining automated tests that fit within the CI framework, but also in terms of prioritizing the tests, the necessary environments, configurations, and so forth. In an ideal situation with CI, once the code is built, all automated tests are then run to verify that the software continues to behave as defined and has not been damaged by the code changes. However, there are two conflicting goals: 1. Execute the CI process frequently to obtain immediate feedback on the code 2. Verify the code as thoroughly as possible after each build When adequate care is not taken in the design, implementation, and maintenance of the automated tests executing all the automated tests will take too long for the CI process to be completed multiple times per day. Even with careful test automation, it can be the case that complete execution of all automated tests across all test levels would slow down the CI process excessively. Different organizations have different priorities and different projects need different solutions to find the right balance between the goals mentioned above. For example, if a system is stable and changes less frequently, then fewer CI cycles may be needed. If the system is being updated constantly, then more CI cycles are most likely needed. Neeraj Kumar Singh
  • 5. Continuous Integration, Testing and Delivery Continuous Integration and its Impact on Testing There are solutions that support both goals, which are complementary and can be used in parallel. The first is to prioritize testing so that the basic and most important tests are always executed by using a risk- based testing approach. The second solution is to enable different test configurations in the CI process to be used for different types of CI cycles. For the daily build and test process, only the basic tests selected based on upfront prioritization are executed. For the nightly CI process, a larger number or possibly all of the functional tests which do not require the pre-production environment are executed, The third solution is to speed up test execution by decreasing the amount of User Interface (UI) testing. Usually, there are no time issues completing the execution of unit/integration tests, which generally run very quickly. A situation might arise where so many unit tests exist that they cannot be completely executed during the CI process. The real issues with time generally are related to the use of end-to-end UI test cases as part of the CI process. The solution is to increase the amount of API, command line, data-layer, service-layer, and other non-UI business logic testing and decrease UI testing, pushing the automation effort down on the test automation pyramid. This ensures more maintainable tests but also reduces the test execution time. Neeraj Kumar Singh
  • 6. Continuous Integration, Testing and Delivery Continuous Integration and its Impact on Testing The fourth solution can be used when test executions are very frequent in a CI system and it is impossible to run all the test cases. Based on the code modifications and knowledge of the execution trace of the existing test cases, a developer or tester can select and execute only those test cases affected by the changes (i.e., the use of impact analysis to select tests). Since only a small fraction of the whole code base is modified during a short cycle, relatively few test cases have to be executed. A fifth solution is to split the test suite into equally sized chunks and run them in parallel on multiple environments (agents, build farm, cloud). This is very commonly applied in companies using CI, because they already need a lot of build server capacity. Current CI tools support not only continuous integration, but continuous delivery and continuous deployment as well. Running automated tests in an environment that doesn’t completely replicate production can lead to false negatives, but cloning the production environment can be cost excessive. Solutions include using cloud testing environments that replicate production environments on an as needed basis, or creating a test environment that is a scaled-down but realistic version of production. Good CI systems need to be able to automatically deploy on more complex environments and different platforms. The testers’ task is to plan which test cases to include, prioritize which have to be executed on some or all platforms in order to maintain good coverage, and to design test cases to efficiently validate the software in a production-like environment. Neeraj Kumar Singh
  • 7. Deployment and Delivery 1 Requirement Engineering 2 Testing in Agile 3 Test Automation Software Testing - ISTQB Advance Agile Technical Tester Exam Preparation Chapter 4 Neeraj Kumar Singh 4 Deployment & Delivery
  • 8. Deployment and Delivery Contents 4.1 Continuous Integration, continuous testing and continuous delivery 4.2 Service Virtualization Neeraj Kumar Singh
  • 9. Continuous Integration, Testing and Delivery Contents 4.1.1 Continuous integration and its impact on testing 4.1.2 The role of continuous testing in continuous delivery and deployment (CD) Neeraj Kumar Singh
  • 10. Continuous Integration, Testing and Delivery Continuous Testing Continuous testing is an approach that involves a process of testing early, testing often, test everywhere, and automate to obtain feedback on the business risks associated with a software release candidate as rapidly as possible. In continuous testing, a modification made to the system triggers the required tests (i.e., those tests that cover the change) to be executed automatically, giving the developer prompt feedback. Continuous testing can be applied in different situations. However, the concept is the same, i.e., to automatically execute tests as early as possible. Neeraj Kumar Singh
  • 11. Continuous Integration, Testing and Delivery Continuous Delivery and Continuous Deployment Continuous delivery requires continuous integration. Continuous delivery extends continuous integration by deploying all code changes to a testing or pre-production environment and/or a production-like environment after the build stage. This staging process makes it possible to execute functional tests by applying real user inputs and non-functional tests such as load, stress, performance and portability tests. Since every change embedded is delivered to the staging environment using complete automation, the Agile team can have confidence the system can be deployed to production with a push of a button when the definition of done is achieved. Continuous deployment takes continuous delivery a step further with the notion that every change is automatically deployed to production. Continuous deployment aims to minimize the time elapsed between the development task of writing new code and having it be used by real users, in production. Neeraj Kumar Singh
  • 12. Deployment and Delivery 1 Requirement Engineering 2 Testing in Agile 3 Test Automation Software Testing - ISTQB Advance Agile Technical Tester Exam Preparation Chapter 4 Neeraj Kumar Singh 4 Deployment & Delivery
  • 13. Deployment and Delivery Contents 4.1 Continuous Integration, continuous testing and continuous delivery 4.2 Service Virtualization Neeraj Kumar Singh
  • 14. Delivery and Deployment Service Virtualization Service virtualization refers to the process of creating a shareable testing service (a virtual service) that simulates the relevant behavior, data, and performance of a connected system or service. This virtual service enables development and test teams to execute their tasks even if the actual service is still under development or not available. Testing early in the development cycle is difficult to accomplish with today’s highly connected and interdependent development teams and systems. By decoupling teams and systems using service virtualization, teams can test their software earlier in the development lifecycle using more realistic use cases and loads. While stubs, drivers and mocks are valuable in allowing for early testing, manually created stubs are usually stateless and provide simple responses to requests with fixed response times. Virtual services can support stateful transactions and maintain context of dynamic elements (session / customer IDs, dates & times etc.) as well as having variable response times that model the message flow through multiple systems. Neeraj Kumar Singh
  • 15. Delivery and Deployment Service Virtualization Virtual services are created with the help of service virtualization tool, often in one of the following ways:  By interpreting from data: XML file, historical data from server logs or simply sample spreadsheet of data  By monitoring network traffic: exercising the SUT (System under test) will trigger relevant behavior of dependent system which is captured and modelled by the service virtualization tool  By capturing from agents: server-side or internal logic may not be visible on the communication messages forcing relevant data and messages to be pushed from dependent server to be recreated as a virtual service If none of the above applies, then the virtual service needs to be created within the project team, based on the appropriate communication protocol. Neeraj Kumar Singh
  • 16. Delivery and Deployment Service Virtualization Benefits of service virtualization include:  Parallel development and test activities for the service under development  Earlier testing of services and API’s  Earlier test data setup  Parallel compilation, continuous integration, and test automation  Earlier discovery of defects  Reduced over-utilization of shared resources (COTS system, mainframe, data warehouses)  Reduced testing costs by reducing the investment in infrastructure.  Enabling early non-functional testing of SUT  Simplifying test environment management  Less maintenance work for test environments (no need to maintain middleware)  Lower risk for data management (which helps in GDPR compliance) Introducing a service virtualization could be a complex and potentially expensive endeavor. The introduction of a service virtualization tool should be treated similarly to introducing any new test tool to the team and organization. Neeraj Kumar Singh
  • 17. Deployment and Delivery 1 Requirement Engineering 2 Testing in Agile 3 Test Automation Software Testing - ISTQB Advance Agile Technical Tester Exam Preparation Chapter 4 Neeraj Kumar Singh 4 Deployment & Delivery
  • 18. Deployment & Delivery Sample Questions Pattern Neeraj Kumar Singh Source : www.istqb.org
  • 19. Deployment & Delivery Sample Questions 1. A functionality from Swiss Banking system is available in all environments 24 X 7 and it needs service for different transactions from a 3rd party software component. Does this SUT qualify for Service virtualization? I. I. No, as there is an interface with an external service. II. Yes, to perform time controlled non-functional testing of SUT. III. Yes, to lower the cost of test infrastructure set-up as compared to the cost of testing with real 3rd party service due to the fact that virtual service does not need to include all of the functionality and test data of the actual external service. IV. No, as external services have some sort of inherent wait time associated with network travel time and virtual service can respond instantaneously as it is in the same network/environment as our SUT. . Select ONE option. Answer Set a. I b. II and III c. III and IV d. II, III and IV Neeraj Kumar Singh
  • 20. Deployment & Delivery Sample Questions 2. Which is the best definition of continuous testing and continuous delivery? Continuous testing : a. the tester will perform test execution (manual, automatic) based on given timing, e.g. once per day at 7:00 as part of continuous delivery. b. The system will trigger automatically a sample test execution based on Developer decision (e.g. after every software replacement in the project library). c. The test will be executed based on a new version of application, which can happen once a day, once a week or on demand as part of continuous delivery. Continuous delivery 1. The developer is asked to replace the code he has modified by end of day or on demand. 2. The developer replaces his module once completed, the continuous testing can take place upon replacement of new software. 3. The developer replaces his module once completed, a new version of app will be created and the testing can take place upon completion. Select ONE options. Answer Set a. a3 b. c2 c. b3 d. b2 Neeraj Kumar Singh
  • 21. Deployment & Delivery Sample Questions 3. The Test manager of a testing team is working together with a developer and they plan to have a continuous integration process established from the next release. Which of the following elements are NOT part of a continuos integration: Select ONE options. Answer Set a. The test cases to be executed need to be defined and prioritized. b. Several test configuration should be defined and made available, so that depending on a special phase, the correct configuration can be used. c. It is important to have a reduced well defined set of TCs. The system test performed should not take longer than a predefined time. If the test will take longer, the task to overlap with next cycle can bring to useless results. d. Need to speed up the test execution, so that the performed TC, most related to unit test, will complete in a short time. e. It is a good rule to execute always the same TC as they are defined, if not the behavior, e.g. execution time, will differ from a run to another one, which would make the result not relevant. Neeraj Kumar Singh