SlideShare una empresa de Scribd logo
1 de 13
Automated Acceptance Testing and Continuous Delivery
Larry Apke
Agile Expert
www.agile-doctor.com
larry@agile-doctor.com
• The ability to consistently and predictably deliver high-

•
•
•
•

quality software that the end user can easily understand
and use into a production-like environment every
iteration.
Consistent – every iteration
Predictable – over 90% story completion
High Quality – fully tested with no end user
compromising defects
Usable– the end user knows how to, and can, efficiently
use the functionality
• Consistency problems
• Predictability problems
• Quality problems
• Usability problems
• Sometimes described with different terms:
• TDD – Test Driven Development
• ATDD – Automated Test Driven Development
• BDD – Behavioral Driven Development
• Specification by Example
• AMDD – Agile Model Driven Development
• Executable specifications
• EDD - Example Driven Development
• AAT - Agile Acceptance Testing
• A collaborative approach to defining requirements

and business-oriented functional tests for software
products based on capturing and illustrating
requirements using realistic examples instead of
abstract statements. It is applied in the context of
Agile software development methods, in particular
Behavior driven development. This approach is
particularly successful for managing requirements
and functional tests on large-scale projects of
significant domain and organisational complexity.
Wikipedia.
• Specifications are written in terms of behavior or by

using examples

Given…When…Then (Initial Context…Event…Result)
• Referred to as scenarios
• Focuses the conversation at the right level and
becomes something that business and developers can
understand
•

• Scenarios become the framework for automated tests
• The tests that are generated/written from scenarios

fail when run
• Code is written / refactored until tests pass and it
meets code quality standards
• Write the Story

Feature: Calculator
In order to avoid silly mistakes
As a math idiot
I want to be able to add, subtract, multiply and divide
numbers
• Write the Scenarios

Scenario: 1. Add two numbers
Given I have entered +50 into the calculator
And I have entered +70 into the calculator
When I press calculate
Then the result should be 120 on the screen
• Code and Passing the Tests
• Code Coverage
• Feature Files
• How long does it take for one line of code that is

changed to flow through the delivery chain?
• How long should it take? Some companies release to
production multiple times per day – Flickr, Facebook,
Twitter, LinkedIn – are held up as examples
• Automated Testing
• Every code check in is a release candidate
• Broken builds are fixed immediately
• There is a deployment pipeline that takes release

candidates from one level to the next ie Dev, QA,
UAT, Production
• There are different levels of testing along the pipeline
based on increasing confidence
• Highly automated – one button deploy
• Always use version control
• Check in everything – “have everything that can

possibly change at any point in the life of the project
stored in a controlled manner” – Jez Humble –
Continuous Delivery
• Check in to trunk
• Manage dependencies and configuration through
automated scripts
• Build your environments automatically from scratch
• Specification By Example - How successful teams
•
•
•
•

deliver the right software
Continuous Delivery: Reliable Software Releases
through Build, Test, and Deployment Automation
The Cucumber Book: Behaviour-Driven Development
for Testers and Developers
Dan North – Introducing BDD http://dannorth.net/introducing-bdd/
Fitnesse - http://fitnesse.org/

Más contenido relacionado

La actualidad más candente

QA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel LucentQA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel LucentAgileSparks
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should knowRichard Cheng
 
ISTQB Agile Extension
ISTQB Agile ExtensionISTQB Agile Extension
ISTQB Agile ExtensionDavis Thomas
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overviewguestb4c770
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentationCarl Bruiners
 
Relieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarRelieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarCprime
 
Understanding Agile Hardware
Understanding Agile HardwareUnderstanding Agile Hardware
Understanding Agile HardwareCprime
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterDeclan Whelan
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentJoseph Beale
 
Agile Resourcing
Agile ResourcingAgile Resourcing
Agile ResourcingCprime
 
Scrum Process Overview
Scrum Process OverviewScrum Process Overview
Scrum Process OverviewPaul Nguyen
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesSlideTeam
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, OverviewBayard Randel
 
RIPPLE 2014: "Be Agile in a CMMI level 5 World"
RIPPLE 2014: "Be Agile in a CMMI level 5 World"RIPPLE 2014: "Be Agile in a CMMI level 5 World"
RIPPLE 2014: "Be Agile in a CMMI level 5 World"Délio Almeida
 
Agile vs waterfall
Agile vs waterfallAgile vs waterfall
Agile vs waterfallLohet Ramesh
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing MethodologyGaya1985
 
Optimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile WorldOptimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile WorldOriginal Software
 
Comparative study on agile software development
Comparative study on agile software developmentComparative study on agile software development
Comparative study on agile software developmentA B M Moniruzzaman
 
How to be successful with Agile at Scale. 2013 PM Symposium
How to be successful with Agile at Scale. 2013 PM SymposiumHow to be successful with Agile at Scale. 2013 PM Symposium
How to be successful with Agile at Scale. 2013 PM SymposiumDerek Huether
 

La actualidad más candente (20)

QA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel LucentQA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel Lucent
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know
 
ISTQB Agile Extension
ISTQB Agile ExtensionISTQB Agile Extension
ISTQB Agile Extension
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Relieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - WebinarRelieveing the Testing Bottle Neck - Webinar
Relieveing the Testing Bottle Neck - Webinar
 
Understanding Agile Hardware
Understanding Agile HardwareUnderstanding Agile Hardware
Understanding Agile Hardware
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
Agile Resourcing
Agile ResourcingAgile Resourcing
Agile Resourcing
 
Scrum Process Overview
Scrum Process OverviewScrum Process Overview
Scrum Process Overview
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation Slides
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, Overview
 
RIPPLE 2014: "Be Agile in a CMMI level 5 World"
RIPPLE 2014: "Be Agile in a CMMI level 5 World"RIPPLE 2014: "Be Agile in a CMMI level 5 World"
RIPPLE 2014: "Be Agile in a CMMI level 5 World"
 
Agile vs waterfall
Agile vs waterfallAgile vs waterfall
Agile vs waterfall
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Optimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile WorldOptimising Quality Assurance in an Agile World
Optimising Quality Assurance in an Agile World
 
Comparative study on agile software development
Comparative study on agile software developmentComparative study on agile software development
Comparative study on agile software development
 
How to be successful with Agile at Scale. 2013 PM Symposium
How to be successful with Agile at Scale. 2013 PM SymposiumHow to be successful with Agile at Scale. 2013 PM Symposium
How to be successful with Agile at Scale. 2013 PM Symposium
 

Similar a Automated Acceptance Testing and Continuous Delivery for Agile Teams

Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineeringMansiganeshJawale
 
Definition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinementDefinition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinementChristian Vos
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITVishnu Raju Datla
 
Why your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating itWhy your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating itFarooq Ali
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing ProcessSynerzip
 
Introduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and ToolsIntroduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and ToolsKMS Technology
 
Vladimir Lozanov How to deliver high quality apps to the app store
Vladimir Lozanov	How to deliver high quality apps to the app storeVladimir Lozanov	How to deliver high quality apps to the app store
Vladimir Lozanov How to deliver high quality apps to the app storeАліна Шепшелей
 
Putting Quality First through Continuous Testing
Putting Quality First through Continuous TestingPutting Quality First through Continuous Testing
Putting Quality First through Continuous TestingTechWell
 
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery DistilledMatt Callanan
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous TestingParasoft
 
Aligning Software Testing With Modern Age Development Practices
Aligning Software Testing With Modern Age Development PracticesAligning Software Testing With Modern Age Development Practices
Aligning Software Testing With Modern Age Development PracticesAspire Systems
 
Continuous testing for continuous delivery
Continuous testing for continuous deliveryContinuous testing for continuous delivery
Continuous testing for continuous deliveryDavid Hart
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+OpsShalu Ahuja
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10Syed Muhammad Hammad
 
Software product development process
Software product development processSoftware product development process
Software product development processSri Kanajan
 

Similar a Automated Acceptance Testing and Continuous Delivery for Agile Teams (20)

Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
 
Definition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinementDefinition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinement
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 
Why your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating itWhy your company loves to welcome change but sucks at accommodating it
Why your company loves to welcome change but sucks at accommodating it
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
Introduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and ToolsIntroduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and Tools
 
Vladimir Lozanov How to deliver high quality apps to the app store
Vladimir Lozanov	How to deliver high quality apps to the app storeVladimir Lozanov	How to deliver high quality apps to the app store
Vladimir Lozanov How to deliver high quality apps to the app store
 
Putting Quality First through Continuous Testing
Putting Quality First through Continuous TestingPutting Quality First through Continuous Testing
Putting Quality First through Continuous Testing
 
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery Distilled
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
Aligning Software Testing With Modern Age Development Practices
Aligning Software Testing With Modern Age Development PracticesAligning Software Testing With Modern Age Development Practices
Aligning Software Testing With Modern Age Development Practices
 
Continuous testing for continuous delivery
Continuous testing for continuous deliveryContinuous testing for continuous delivery
Continuous testing for continuous delivery
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 
Software product development process
Software product development processSoftware product development process
Software product development process
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Devops as a service
Devops as a serviceDevops as a service
Devops as a service
 

Último

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Último (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Automated Acceptance Testing and Continuous Delivery for Agile Teams

  • 1. Automated Acceptance Testing and Continuous Delivery Larry Apke Agile Expert www.agile-doctor.com larry@agile-doctor.com
  • 2. • The ability to consistently and predictably deliver high- • • • • quality software that the end user can easily understand and use into a production-like environment every iteration. Consistent – every iteration Predictable – over 90% story completion High Quality – fully tested with no end user compromising defects Usable– the end user knows how to, and can, efficiently use the functionality
  • 3. • Consistency problems • Predictability problems • Quality problems • Usability problems
  • 4. • Sometimes described with different terms: • TDD – Test Driven Development • ATDD – Automated Test Driven Development • BDD – Behavioral Driven Development • Specification by Example • AMDD – Agile Model Driven Development • Executable specifications • EDD - Example Driven Development • AAT - Agile Acceptance Testing
  • 5. • A collaborative approach to defining requirements and business-oriented functional tests for software products based on capturing and illustrating requirements using realistic examples instead of abstract statements. It is applied in the context of Agile software development methods, in particular Behavior driven development. This approach is particularly successful for managing requirements and functional tests on large-scale projects of significant domain and organisational complexity. Wikipedia.
  • 6. • Specifications are written in terms of behavior or by using examples Given…When…Then (Initial Context…Event…Result) • Referred to as scenarios • Focuses the conversation at the right level and becomes something that business and developers can understand • • Scenarios become the framework for automated tests • The tests that are generated/written from scenarios fail when run • Code is written / refactored until tests pass and it meets code quality standards
  • 7. • Write the Story Feature: Calculator In order to avoid silly mistakes As a math idiot I want to be able to add, subtract, multiply and divide numbers
  • 8. • Write the Scenarios Scenario: 1. Add two numbers Given I have entered +50 into the calculator And I have entered +70 into the calculator When I press calculate Then the result should be 120 on the screen
  • 9. • Code and Passing the Tests • Code Coverage • Feature Files
  • 10. • How long does it take for one line of code that is changed to flow through the delivery chain? • How long should it take? Some companies release to production multiple times per day – Flickr, Facebook, Twitter, LinkedIn – are held up as examples
  • 11. • Automated Testing • Every code check in is a release candidate • Broken builds are fixed immediately • There is a deployment pipeline that takes release candidates from one level to the next ie Dev, QA, UAT, Production • There are different levels of testing along the pipeline based on increasing confidence • Highly automated – one button deploy
  • 12. • Always use version control • Check in everything – “have everything that can possibly change at any point in the life of the project stored in a controlled manner” – Jez Humble – Continuous Delivery • Check in to trunk • Manage dependencies and configuration through automated scripts • Build your environments automatically from scratch
  • 13. • Specification By Example - How successful teams • • • • deliver the right software Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation The Cucumber Book: Behaviour-Driven Development for Testers and Developers Dan North – Introducing BDD http://dannorth.net/introducing-bdd/ Fitnesse - http://fitnesse.org/

Notas del editor

  1. {}