SlideShare a Scribd company logo
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

PDF
Performance Testing Session - OSSCamp 2014
OSSCube
 
PDF
Performance Testing Using JMeter | Edureka
Edureka!
 
PDF
Load Testing Using JMeter Tutorial | Edureka
Edureka!
 
PPTX
Load Testing and JMeter Presentation
Neill Lima
 
PPTX
Performance testing using jmeter
Rachappa Bandi
 
PPTX
SDLC. QA Role
eleksdev
 
DOCX
Performance testing interview questions and answers
Garuda Trainings
 
Performance Testing Session - OSSCamp 2014
OSSCube
 
Performance Testing Using JMeter | Edureka
Edureka!
 
Load Testing Using JMeter Tutorial | Edureka
Edureka!
 
Load Testing and JMeter Presentation
Neill Lima
 
Performance testing using jmeter
Rachappa Bandi
 
SDLC. QA Role
eleksdev
 
Performance testing interview questions and answers
Garuda Trainings
 

What's hot (18)

PPT
Performance testing with Jmeter
Prashanth Kumar
 
ODP
A Beginner's Guide to Application Load Testing
Birgit Pauli-Haack
 
PPT
Performance Testing
sharmaparish
 
PPT
Performance Testing With Jmeter
Adam Goucher
 
PPTX
Test automation
Xavier Yin
 
PDF
How to start performance testing project
NaveenKumar Namachivayam
 
PDF
Loadrunner vs Jmeter
Atul Pant
 
PPTX
How to Simplify Load Testing: JMeter and Beyond
Andrey Pokhilko
 
PPTX
API Testing - The power of libraries (chai, cheerio.js ,lodash and moment.js)
AnuradhaRaman5
 
PPT
Load Test Drupal Site Using JMeter and Amazon AWS
Vladimir Ilic
 
PPTX
Load Runner
Shama Ahsan
 
PDF
Infographic: Importance of Performance Testing
KiwiQA
 
PPTX
Software Testing 3/5
Damian T. Gordon
 
PDF
LoadRunner Performance Testing
Atul Pant
 
PPT
Software Testing 5/5
Damian T. Gordon
 
PPTX
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
Simplilearn
 
PPT
Jmeter From Scratch
ChinmayBrahma22
 
PPTX
Integration testing
Vaibhav Dash
 
Performance testing with Jmeter
Prashanth Kumar
 
A Beginner's Guide to Application Load Testing
Birgit Pauli-Haack
 
Performance Testing
sharmaparish
 
Performance Testing With Jmeter
Adam Goucher
 
Test automation
Xavier Yin
 
How to start performance testing project
NaveenKumar Namachivayam
 
Loadrunner vs Jmeter
Atul Pant
 
How to Simplify Load Testing: JMeter and Beyond
Andrey Pokhilko
 
API Testing - The power of libraries (chai, cheerio.js ,lodash and moment.js)
AnuradhaRaman5
 
Load Test Drupal Site Using JMeter and Amazon AWS
Vladimir Ilic
 
Load Runner
Shama Ahsan
 
Infographic: Importance of Performance Testing
KiwiQA
 
Software Testing 3/5
Damian T. Gordon
 
LoadRunner Performance Testing
Atul Pant
 
Software Testing 5/5
Damian T. Gordon
 
JMeter Load Testing | Load Testing Using JMmeter | JMeter Tutorial For Beginn...
Simplilearn
 
Jmeter From Scratch
ChinmayBrahma22
 
Integration testing
Vaibhav Dash
 
Ad

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

PDF
Agile Testing Pasadena JUG Aug2009
Grig Gheorghiu
 
PDF
Continuous Delivery Testing @HiQ
Tomas Riha
 
PDF
Fundamentals of software testing
Noha Gamal
 
PDF
Elements of software testing
Qualitest
 
PPT
Automated testing 101
Tabitha Chapman
 
PDF
Types of Automation Testing: A Comprehensive Guide
Jace Reed
 
PPTX
Software testing
KarnatiChandramoules
 
PDF
Testing in a glance
Rajesh Kumar
 
PPTX
Testing 101
Noam Barkai
 
PDF
5 Steps to Jump Start Your Test Automation
Sauce Labs
 
PDF
Testing in Agile Development
Hariprakash Agrawal
 
PPTX
Creating testing tools to support development
Chema del Barco
 
PPT
Automated Testing with Agile
Ken McCorkell
 
PDF
Methodology: IT test
Jean-François Nguyen
 
PDF
Introduction to Automated Testing
Lars Thorup
 
PDF
Introduction to-automated-testing
BestBrains
 
PPTX
Automated tests
Damian Sromek
 
PDF
Agile Acceptance testing with Fitnesse
ClareMcLennan
 
PPT
Automated testing overview
Alex Pop
 
PPT
Test planning and software's engineering
MansiganeshJawale
 
Agile Testing Pasadena JUG Aug2009
Grig Gheorghiu
 
Continuous Delivery Testing @HiQ
Tomas Riha
 
Fundamentals of software testing
Noha Gamal
 
Elements of software testing
Qualitest
 
Automated testing 101
Tabitha Chapman
 
Types of Automation Testing: A Comprehensive Guide
Jace Reed
 
Software testing
KarnatiChandramoules
 
Testing in a glance
Rajesh Kumar
 
Testing 101
Noam Barkai
 
5 Steps to Jump Start Your Test Automation
Sauce Labs
 
Testing in Agile Development
Hariprakash Agrawal
 
Creating testing tools to support development
Chema del Barco
 
Automated Testing with Agile
Ken McCorkell
 
Methodology: IT test
Jean-François Nguyen
 
Introduction to Automated Testing
Lars Thorup
 
Introduction to-automated-testing
BestBrains
 
Automated tests
Damian Sromek
 
Agile Acceptance testing with Fitnesse
ClareMcLennan
 
Automated testing overview
Alex Pop
 
Test planning and software's engineering
MansiganeshJawale
 
Ad

More from Unboxed (18)

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

Recently uploaded (20)

PDF
717629748-Databricks-Certified-Data-Engineer-Professional-Dumps-by-Ball-21-03...
pedelli41
 
PPTX
World-population.pptx fire bunberbpeople
umutunsalnsl4402
 
PDF
Research about a FoodFolio app for personalized dietary tracking and health o...
AustinLiamAndres
 
PPTX
Probability systematic sampling methods.pptx
PrakashRajput19
 
PDF
blockchain123456789012345678901234567890
tanvikhunt1003
 
PPTX
lecture 13 mind test academy it skills.pptx
ggesjmrasoolpark
 
PPTX
Data-Driven Machine Learning for Rail Infrastructure Health Monitoring
Sione Palu
 
PDF
WISE main accomplishments for ISQOLS award July 2025.pdf
StatsCommunications
 
PDF
202501214233242351219 QASS Session 2.pdf
lauramejiamillan
 
PDF
Blue Futuristic Cyber Security Presentation.pdf
tanvikhunt1003
 
PPTX
Introduction to Biostatistics Presentation.pptx
AtemJoshua
 
PDF
Company Presentation pada Perusahaan ADB.pdf
didikfahmi
 
PPTX
IP_Journal_Articles_2025IP_Journal_Articles_2025
mishell212144
 
PPTX
White Blue Simple Modern Enhancing Sales Strategy Presentation_20250724_21093...
RamNeymarjr
 
PPTX
Databricks-DE-Associate Certification Questions-june-2024.pptx
pedelli41
 
PPTX
Data Security Breach: Immediate Action Plan
varmabhuvan266
 
PDF
oop_java (1) of ice or cse or eee ic.pdf
sabiquntoufiqlabonno
 
PPT
Real Life Application of Set theory, Relations and Functions
manavparmar205
 
PDF
Practical Measurement Systems Analysis (Gage R&R) for design
Rob Schubert
 
PPTX
INFO8116 - Week 10 - Slides.pptx data analutics
guddipatel10
 
717629748-Databricks-Certified-Data-Engineer-Professional-Dumps-by-Ball-21-03...
pedelli41
 
World-population.pptx fire bunberbpeople
umutunsalnsl4402
 
Research about a FoodFolio app for personalized dietary tracking and health o...
AustinLiamAndres
 
Probability systematic sampling methods.pptx
PrakashRajput19
 
blockchain123456789012345678901234567890
tanvikhunt1003
 
lecture 13 mind test academy it skills.pptx
ggesjmrasoolpark
 
Data-Driven Machine Learning for Rail Infrastructure Health Monitoring
Sione Palu
 
WISE main accomplishments for ISQOLS award July 2025.pdf
StatsCommunications
 
202501214233242351219 QASS Session 2.pdf
lauramejiamillan
 
Blue Futuristic Cyber Security Presentation.pdf
tanvikhunt1003
 
Introduction to Biostatistics Presentation.pptx
AtemJoshua
 
Company Presentation pada Perusahaan ADB.pdf
didikfahmi
 
IP_Journal_Articles_2025IP_Journal_Articles_2025
mishell212144
 
White Blue Simple Modern Enhancing Sales Strategy Presentation_20250724_21093...
RamNeymarjr
 
Databricks-DE-Associate Certification Questions-june-2024.pptx
pedelli41
 
Data Security Breach: Immediate Action Plan
varmabhuvan266
 
oop_java (1) of ice or cse or eee ic.pdf
sabiquntoufiqlabonno
 
Real Life Application of Set theory, Relations and Functions
manavparmar205
 
Practical Measurement Systems Analysis (Gage R&R) for design
Rob Schubert
 
INFO8116 - Week 10 - Slides.pptx data analutics
guddipatel10
 

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