SlideShare a Scribd company logo
1 of 16
Tea camp #5
Automated software
testing
David Durant
Greater London Authority
@cholten99
Intro
Why do we test? It's about trust
Ensuring quality everyone can see, making updates faster and safer.
It’s part of the whole development narrative from business needs, coding,
testing, deployment, and iteration - part of modern fast Agile development cycles
The art of possible - GDS makes multiple zero downtime fully tested
deployments every day
The testing pyramid
We test at lots of different levels - often defined as the following.
Unit tests
Regression tests - ensure bugs have been fixed
Integration tests
System tests
User acceptance tests (UAT)
Some history
Testing has been around (almost) as long as software
Early testing was all manual
Later this included manual repeatable testing made up of lists of tests and test
steps in a spreadsheet - this kind of testing is slow, potentially accident prone
and takes up lots of people-time
Automated testing - driven by business needs (“happy path”), expected errors
and exploratory testing
Early automation
Unit tests are small / fast pieces of test code that test specific blocks of system
component code - there can be 100s of 1000s of them in a big system
At this stage teams are still doing manual integration, system and UAT testing
Modern code delivery pipeline
Automated testing is part of a full managed development pipeline using software
such an Jenkins
Team has an agreed branching / merging strategy for code
Zero downtime deployments
Jenkins
Testing stages
Start by developer running tests on their own machine before committing code
to integration branch
Test machine - VM or Docker clone of production
Staging - at most one update behind production
Production - could be a cluster
Types of tests, numbers & when they are run
Unit tests - 100,000s - own machine
Integration / system tests - 1000s - own machine / test / staging
UAT - 100s - own machine / test / staging
Smoke - 10s - production
How tests are done (1)
Integration testing - API specific ‘black box’ testing
System testing
Browser compatibility - often cloud based
Load testing (Gatling)
Security (OWASP, NCSC, etc - constant not just periodic PEN testing)
Others
How tests are done (2)
User acceptance testing
End-to-end user journey testing - sometimes call Behaviour Driven Development
Selenium “headless” testing
Re-entrant - consistent test data
BDD test tool - Cucumber - based on acceptance criteria for user stories agreed
with the business as part of the Agile process
Based on “given / when / then” format
Cucumber example
Scenario: Duplicate email
When someone tries to create an account for an email address that
already exists
Given I have chosen to sign up
When I enter an email address that has already been registered
Then I should be told that the email is already registered
And I should be offered an option to recover my password
Same test, multiple data
Cucumber supports the idea of tables of data
The same test is executed with data from each row in the table
This can included testing for expected errors
The next frontier - Test Driven Development
Test Driven Development is writing your tests for each sprint before you write
your code
Initially all your tests will fail!
But as your implement the required functionality they will start to pass
Any regressions are immediately obvious during development
Online testing communities
Cross-government Slack : http://tiny.cc/uk-cross-gov-testers
Local government Slack : http://tiny.cc/local-gov-testers
Any questions?
London Digital Peer Group Slack : http://tiny.cc/london-digital-peer-group
David Durant
Senior Business Analyst
Greater London Authority

More Related Content

What's hot

SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Roleeleksdev
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answersGaruda Trainings
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with JmeterPrashanth Kumar
 
A Beginner's Guide to Application Load Testing
A Beginner's Guide to Application Load TestingA Beginner's Guide to Application Load Testing
A Beginner's Guide to Application Load TestingBirgit Pauli-Haack
 
Performance Testing
Performance TestingPerformance Testing
Performance Testingsharmaparish
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With JmeterAdam Goucher
 
Test automation
Test automationTest automation
Test automationXavier Yin
 
Loadrunner vs Jmeter
Loadrunner vs JmeterLoadrunner vs Jmeter
Loadrunner vs JmeterAtul Pant
 
How to Simplify Load Testing: JMeter and Beyond
How to Simplify Load Testing: JMeter and BeyondHow to Simplify Load Testing: JMeter and Beyond
How to Simplify Load Testing: JMeter and BeyondAndrey Pokhilko
 
API Testing - The power of libraries (chai, cheerio.js ,lodash and moment.js)
API Testing - The power of libraries (chai, cheerio.js ,lodash and moment.js)API Testing - The power of libraries (chai, cheerio.js ,lodash and moment.js)
API Testing - The power of libraries (chai, cheerio.js ,lodash and moment.js)AnuradhaRaman5
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSVladimir Ilic
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance TestingKiwiQA
 
LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance TestingAtul Pant
 
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...Simplilearn
 
Integration testing
Integration testingIntegration testing
Integration testingVaibhav Dash
 

What's hot (20)

SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Role
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answers
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
 
A Beginner's Guide to Application Load Testing
A Beginner's Guide to Application Load TestingA Beginner's Guide to Application Load Testing
A Beginner's Guide to Application Load Testing
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
 
Test automation
Test automationTest automation
Test automation
 
How to start performance testing project
How to start performance testing projectHow to start performance testing project
How to start performance testing project
 
Loadrunner vs Jmeter
Loadrunner vs JmeterLoadrunner vs Jmeter
Loadrunner vs Jmeter
 
How to Simplify Load Testing: JMeter and Beyond
How to Simplify Load Testing: JMeter and BeyondHow to Simplify Load Testing: JMeter and Beyond
How to Simplify Load Testing: JMeter and Beyond
 
API Testing - The power of libraries (chai, cheerio.js ,lodash and moment.js)
API Testing - The power of libraries (chai, cheerio.js ,lodash and moment.js)API Testing - The power of libraries (chai, cheerio.js ,lodash and moment.js)
API Testing - The power of libraries (chai, cheerio.js ,lodash and moment.js)
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWS
 
Load Runner
Load RunnerLoad Runner
Load Runner
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
 
Software Testing 3/5
Software Testing 3/5Software Testing 3/5
Software Testing 3/5
 
LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance Testing
 
Software Testing 5/5
Software Testing 5/5Software Testing 5/5
Software Testing 5/5
 
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
 
Integration testing
Integration testingIntegration testing
Integration testing
 

Similar to TeaCamp #5: Automated software testing

Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Modelsnazeer pasha
 
Testing Web Application Security
Testing Web Application SecurityTesting Web Application Security
Testing Web Application SecurityTed Husted
 
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New ArchitecturesContinuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New ArchitecturesEberhard Wolff
 
want to contact me login to www.stqa.org
want to contact me login to www.stqa.orgwant to contact me login to www.stqa.org
want to contact me login to www.stqa.orgnazeer pasha
 
Coldbox developer training – session 4
Coldbox developer training – session 4Coldbox developer training – session 4
Coldbox developer training – session 4Billie Berzinskas
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsBhavin Javia
 
03 test specification and execution
03   test specification and execution03   test specification and execution
03 test specification and executionClemens Reijnen
 
Automated testing-whitepaper
Automated testing-whitepaperAutomated testing-whitepaper
Automated testing-whitepaperimdurgesh
 
Test design techniques
Test design techniquesTest design techniques
Test design techniquesOksana
 

Similar to TeaCamp #5: Automated software testing (20)

Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Software testing overview subbu
Software testing overview subbuSoftware testing overview subbu
Software testing overview subbu
 
Testing Web Application Security
Testing Web Application SecurityTesting Web Application Security
Testing Web Application Security
 
Dev ops
Dev opsDev ops
Dev ops
 
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New ArchitecturesContinuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
 
want to contact me login to www.stqa.org
want to contact me login to www.stqa.orgwant to contact me login to www.stqa.org
want to contact me login to www.stqa.org
 
Testing 101
Testing 101Testing 101
Testing 101
 
Coldbox developer training – session 4
Coldbox developer training – session 4Coldbox developer training – session 4
Coldbox developer training – session 4
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails Applications
 
Testing
TestingTesting
Testing
 
Software testing
Software testingSoftware testing
Software testing
 
03 test specification and execution
03   test specification and execution03   test specification and execution
03 test specification and execution
 
Automated testing-whitepaper
Automated testing-whitepaperAutomated testing-whitepaper
Automated testing-whitepaper
 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
 
Software testing
Software testingSoftware testing
Software testing
 
Software test proposal
Software test proposalSoftware test proposal
Software test proposal
 
Software testing2
Software testing2Software testing2
Software testing2
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Demo1ghjkl
Demo1ghjklDemo1ghjkl
Demo1ghjkl
 

More from Unboxed

SHARP Impact Assessment
SHARP Impact AssessmentSHARP Impact Assessment
SHARP Impact AssessmentUnboxed
 
Working toward better patient referrals with Guy’s & St Thomas’ hospital
Working toward better patient referrals with Guy’s & St Thomas’ hospitalWorking toward better patient referrals with Guy’s & St Thomas’ hospital
Working toward better patient referrals with Guy’s & St Thomas’ hospitalUnboxed
 
GLA Testing Presentation by Test Partners Ltd v1
GLA Testing Presentation by Test Partners Ltd v1GLA Testing Presentation by Test Partners Ltd v1
GLA Testing Presentation by Test Partners Ltd v1Unboxed
 
Agile Tour Brussels: Think people, not resources
Agile Tour Brussels: Think people, not resourcesAgile Tour Brussels: Think people, not resources
Agile Tour Brussels: Think people, not resourcesUnboxed
 
Agile Pilot - Martyn Evans
Agile Pilot - Martyn EvansAgile Pilot - Martyn Evans
Agile Pilot - Martyn EvansUnboxed
 
Andrew White's Technical Breakfast Club
Andrew White's Technical Breakfast ClubAndrew White's Technical Breakfast Club
Andrew White's Technical Breakfast ClubUnboxed
 
The £50k Springboard - SH:24
The £50k Springboard - SH:24The £50k Springboard - SH:24
The £50k Springboard - SH:24Unboxed
 
How to demonstrate value quickly and get buy-in early
How to demonstrate value quickly and get buy-in earlyHow to demonstrate value quickly and get buy-in early
How to demonstrate value quickly and get buy-in earlyUnboxed
 
What’s New in Rails 5.0?
What’s New in Rails 5.0?What’s New in Rails 5.0?
What’s New in Rails 5.0?Unboxed
 
Planting the seeds for successful KPI trees
Planting the seeds for successful KPI treesPlanting the seeds for successful KPI trees
Planting the seeds for successful KPI treesUnboxed
 
Masterclass: Deliver 50% growth with Lean UX
Masterclass: Deliver 50% growth with Lean UXMasterclass: Deliver 50% growth with Lean UX
Masterclass: Deliver 50% growth with Lean UXUnboxed
 
Webinar: Speed up problem and customer validation
Webinar: Speed up problem and customer validationWebinar: Speed up problem and customer validation
Webinar: Speed up problem and customer validationUnboxed
 
Speed up stakeholder communication and sign off
Speed up stakeholder communication and sign offSpeed up stakeholder communication and sign off
Speed up stakeholder communication and sign offUnboxed
 
Redesigning the UX of employment @ UBXD 0215
Redesigning the UX of employment @ UBXD 0215Redesigning the UX of employment @ UBXD 0215
Redesigning the UX of employment @ UBXD 0215Unboxed
 
Brain funding - Melissa Sabella
Brain funding - Melissa SabellaBrain funding - Melissa Sabella
Brain funding - Melissa SabellaUnboxed
 
A warm hug at the door that opens many more
A warm hug at the door that opens many moreA warm hug at the door that opens many more
A warm hug at the door that opens many moreUnboxed
 
Unstick your digital products by @ubxd
Unstick your digital products by @ubxdUnstick your digital products by @ubxd
Unstick your digital products by @ubxdUnboxed
 
Unstick your digital products - 25th March 2015
Unstick your digital products - 25th March 2015Unstick your digital products - 25th March 2015
Unstick your digital products - 25th March 2015Unboxed
 

More from Unboxed (18)

SHARP Impact Assessment
SHARP Impact AssessmentSHARP Impact Assessment
SHARP Impact Assessment
 
Working toward better patient referrals with Guy’s & St Thomas’ hospital
Working toward better patient referrals with Guy’s & St Thomas’ hospitalWorking toward better patient referrals with Guy’s & St Thomas’ hospital
Working toward better patient referrals with Guy’s & St Thomas’ hospital
 
GLA Testing Presentation by Test Partners Ltd v1
GLA Testing Presentation by Test Partners Ltd v1GLA Testing Presentation by Test Partners Ltd v1
GLA Testing Presentation by Test Partners Ltd v1
 
Agile Tour Brussels: Think people, not resources
Agile Tour Brussels: Think people, not resourcesAgile Tour Brussels: Think people, not resources
Agile Tour Brussels: Think people, not resources
 
Agile Pilot - Martyn Evans
Agile Pilot - Martyn EvansAgile Pilot - Martyn Evans
Agile Pilot - Martyn Evans
 
Andrew White's Technical Breakfast Club
Andrew White's Technical Breakfast ClubAndrew White's Technical Breakfast Club
Andrew White's Technical Breakfast Club
 
The £50k Springboard - SH:24
The £50k Springboard - SH:24The £50k Springboard - SH:24
The £50k Springboard - SH:24
 
How to demonstrate value quickly and get buy-in early
How to demonstrate value quickly and get buy-in earlyHow to demonstrate value quickly and get buy-in early
How to demonstrate value quickly and get buy-in early
 
What’s New in Rails 5.0?
What’s New in Rails 5.0?What’s New in Rails 5.0?
What’s New in Rails 5.0?
 
Planting the seeds for successful KPI trees
Planting the seeds for successful KPI treesPlanting the seeds for successful KPI trees
Planting the seeds for successful KPI trees
 
Masterclass: Deliver 50% growth with Lean UX
Masterclass: Deliver 50% growth with Lean UXMasterclass: Deliver 50% growth with Lean UX
Masterclass: Deliver 50% growth with Lean UX
 
Webinar: Speed up problem and customer validation
Webinar: Speed up problem and customer validationWebinar: Speed up problem and customer validation
Webinar: Speed up problem and customer validation
 
Speed up stakeholder communication and sign off
Speed up stakeholder communication and sign offSpeed up stakeholder communication and sign off
Speed up stakeholder communication and sign off
 
Redesigning the UX of employment @ UBXD 0215
Redesigning the UX of employment @ UBXD 0215Redesigning the UX of employment @ UBXD 0215
Redesigning the UX of employment @ UBXD 0215
 
Brain funding - Melissa Sabella
Brain funding - Melissa SabellaBrain funding - Melissa Sabella
Brain funding - Melissa Sabella
 
A warm hug at the door that opens many more
A warm hug at the door that opens many moreA warm hug at the door that opens many more
A warm hug at the door that opens many more
 
Unstick your digital products by @ubxd
Unstick your digital products by @ubxdUnstick your digital products by @ubxd
Unstick your digital products by @ubxd
 
Unstick your digital products - 25th March 2015
Unstick your digital products - 25th March 2015Unstick your digital products - 25th March 2015
Unstick your digital products - 25th March 2015
 

Recently uploaded

Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...shivangimorya083
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxJohnnyPlasten
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Valters Lauzums
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 

Recently uploaded (20)

Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 

TeaCamp #5: Automated software testing

  • 1. Tea camp #5 Automated software testing David Durant Greater London Authority @cholten99
  • 2. Intro Why do we test? It's about trust Ensuring quality everyone can see, making updates faster and safer. It’s part of the whole development narrative from business needs, coding, testing, deployment, and iteration - part of modern fast Agile development cycles The art of possible - GDS makes multiple zero downtime fully tested deployments every day
  • 3. The testing pyramid We test at lots of different levels - often defined as the following. Unit tests Regression tests - ensure bugs have been fixed Integration tests System tests User acceptance tests (UAT)
  • 4. Some history Testing has been around (almost) as long as software Early testing was all manual Later this included manual repeatable testing made up of lists of tests and test steps in a spreadsheet - this kind of testing is slow, potentially accident prone and takes up lots of people-time Automated testing - driven by business needs (“happy path”), expected errors and exploratory testing
  • 5. Early automation Unit tests are small / fast pieces of test code that test specific blocks of system component code - there can be 100s of 1000s of them in a big system At this stage teams are still doing manual integration, system and UAT testing
  • 6. Modern code delivery pipeline Automated testing is part of a full managed development pipeline using software such an Jenkins Team has an agreed branching / merging strategy for code Zero downtime deployments
  • 8. Testing stages Start by developer running tests on their own machine before committing code to integration branch Test machine - VM or Docker clone of production Staging - at most one update behind production Production - could be a cluster
  • 9. Types of tests, numbers & when they are run Unit tests - 100,000s - own machine Integration / system tests - 1000s - own machine / test / staging UAT - 100s - own machine / test / staging Smoke - 10s - production
  • 10. How tests are done (1) Integration testing - API specific ‘black box’ testing System testing Browser compatibility - often cloud based Load testing (Gatling) Security (OWASP, NCSC, etc - constant not just periodic PEN testing) Others
  • 11. How tests are done (2) User acceptance testing End-to-end user journey testing - sometimes call Behaviour Driven Development Selenium “headless” testing Re-entrant - consistent test data BDD test tool - Cucumber - based on acceptance criteria for user stories agreed with the business as part of the Agile process Based on “given / when / then” format
  • 12. Cucumber example Scenario: Duplicate email When someone tries to create an account for an email address that already exists Given I have chosen to sign up When I enter an email address that has already been registered Then I should be told that the email is already registered And I should be offered an option to recover my password
  • 13. Same test, multiple data Cucumber supports the idea of tables of data The same test is executed with data from each row in the table This can included testing for expected errors
  • 14. The next frontier - Test Driven Development Test Driven Development is writing your tests for each sprint before you write your code Initially all your tests will fail! But as your implement the required functionality they will start to pass Any regressions are immediately obvious during development
  • 15. Online testing communities Cross-government Slack : http://tiny.cc/uk-cross-gov-testers Local government Slack : http://tiny.cc/local-gov-testers
  • 16. Any questions? London Digital Peer Group Slack : http://tiny.cc/london-digital-peer-group David Durant Senior Business Analyst Greater London Authority