SlideShare a Scribd company logo
Agile testing tools and approaches  Anand Ramdeo  Nathan Bain
What we were building?
Adopting Agile.
Scrum Product Owner, Technical Owner, Scrum Master & Team including tester.
Sprint Product Backlog Sprint Backlog 3 Week Sprint Daily Burn New Priority Product Owner Next Sprint  Please. Technical Owner
Process Highlights PO, TO and tester to meet before sprint planning to complete stories and acceptance criteria. Four column task board to ensure every task is tested. Unit testing, code review, show and tell – They were part of every story. End of sprint demo, bug bash, retrospective and release (when applicable) were part of every sprint.
Approach to Testing Test automation using open source tools like FitNesse, Selenium, Twill etc. Manual exploratory testing. Very little emphasis on documented test cases as such. Feature capabilities metrics during releases. Defect management using Jira.
Feature Capability Metric Can be reported Can be moderated Comments Can be scheduled Can be published Article Comments Opera Safari FF3 FF2 IE8 IE7 IE6 Feature
Environment & Automation Python, Django, PyUnit, Selenium RC (with Python), Twill, FitNesse (With WebTest), .NET etc. Continuous Integration for all the projects. Continuous and auto deployment for 'demo' environment. Manual deployment for 'snapshot' environment.
A bit of Twill Open source library in Python. Can be used for testing web application – below browser. Best suited for validating at page source, http request / response level. Can be used from command line in interactive mode or from Python scripts. Extremely powerful if used with other Python libraries.
How we used it? 1. Get Page 2. Get All the links 3. Get first link and if link is not external and crawler has not visited it, open link. 4. Get Page Source 5. Validate all the rules you want to validate on this page 6. Repeat 1 to 5 for all the pages. * Title and meta tags like keywords and description are present for all the pages and is not generic.  * Instrumentation code is present on all the pages. * Every image has an alternative text associated with it.  * Ad code is coming from the right server and has all the relevant information we need.  * Every page contains at least two ads and no more than four ads. * And many more… Pseudo Algorithm Validation Rules Links pointing to content server in  stage environment. Editorials not using SEO tools to  populate meta tags. Links used by editors are dead. SA Sample Defects
A bit of Selenium Selenium RC was used with Python. Domain Specific Language was created for abstraction and robustness. Started exploring ui-elements to abstract element locators. Automation was driven from feature – capabilities and releases where possible.
Abstraction With UI-Element selenium.type("q", “TestingGeek"); selenium.click("btnG"); LOGIN_BUTTON = "css=input[value='Log in']" DELETE_CONFIRMATION = "css=input[value='\"Yes, I'm sure\"']"   myMap.addPageset({     name: 'allPages',     description: 'All WLL Pages',     pathRegexp: '.*' }); myMap.addElement ('allPages', {     name: 'register'     , description: 'Register link on all the pages'     , locator: "xpath=//*[@id='user']/dd/a[1]"     })   sel.click("ui=allPages::register()")
DSL & Data Driven Testing stations =  {          'sgrfm' : {                                    'splitter' : '/east/ipswich/sgr-fm.html',      'link' : 'Go to heart ipswich',      'cookie' : 'heart_ipswich'       }, More stations… gusto_dsl.login_to_admin(…) gusto_dsl.write.an_article(….) gusto_dsl.goto_sitehome_from_gusto(…) gusto_dsl.open_page(…) gusto_dsl.asserts_for_articles(..) Use power of language for Data Driven Testing Invest in creating Domain Specific Language to make your tests readable, maintainable. # Go to home page # Go to splitter page for a specific station # Click on the link to go to the new website # Go back. # Ensure that cookies is set up properly. # Go to the home page. # Ensure that home page is redirected automatically based on the information in cookies.
Would have been better if.. Selenium test suite, Twill etc. were also included in CI. Automation for stories were included as a task in the story itself.  Session Based Test Management was used to highlight manual exploratory testing. Controlled releases, technical debt management and more test automation.
Key Learning If you have few testers in a team, you can afford to automate. If you do not have, you can not afford to not automate.
Thank You. Anand Ramdeo www.TestingGeek.com @testinggeek www.AtlantisSw.com [email_address] Nathan Bain
Things I wish I had known as a new Agile Tester
You are the testing expert! Agile is a new practice – the rulebook is still being written Software Development Methodologies are not written with testing in mind We are just beginning to understand how Agile testing fits in Huge amounts of information being published every day on blogs, user groups etc.
You are the testing expert! What should I do? Listen and Learn Read, Research & Follow Discuss, Suggest, Offer an Opinion and come to an Agreement
You are the testing expert! As a non-tester, how can I help? Share your opinion on how testing should be approached on your project If you disagree, then discuss this with the test team Try to be Constructive and Supportive
If you don’t feel involved, then involve yourself! Testing is no longer a phase in a project – it’s a continuous activity – testers should always be involved. I found that I wasn’t invited to meetings discussing the fundamental requirements of projects. If you don’t capture the requirements early, then how can you test them later?
If you don’t feel involved, then involve yourself! What should I do? Invite yourself to meetings Explain to team members the importance of capturing requirements early Suggest how you can add value
If you don’t feel involved, then involve yourself! As a non-tester, how can I help? Keep the tester involved in all phases of product development.  Invite testers to products meetings.  Don’t assume that they are not going to be interested. Don’t assume that testers have nothing to contribute to certain meetings.
No more quality police! Testing on waterfall was a phase – we were paid to find as many bugs a possible in a short space of time Finding a bug was a triumph – but was that how the developers saw things? Fostered an Us V’s Them relationship Now we are all on the same team
No more quality police! What should I do? Keep finding bugs – you will be thanked for it! Communicate first, raise a bug report later. Get into the team spirit - contribute to the teams efforts.
No more quality police! As a non-tester, how can I help? Treat your testers as you would any other team member. Discuss bugs with the testers – it may not require a bug report.
Recruit your own deputies There are never enough testers There will be times when testing becomes the bottleneck on the project due to the lack of resources Other times, testing something becomes the priority – set release dates!!
Recruit your own deputies What should I do? Agile teams are multi-disciplined – if one area is suffering, then we should all help put Recruit your Developers, Project Managers, Product Managers and anyone else to help out with testing
Recruit your own deputies As a non-tester, how can I help? Be open to the idea of testing when needed Keep an eye on the project board – if testing is a bottleneck, then offer to help out
ABC – Always Be Communicating No more huge documentation documents. Requirements are communicated via emails, wiki’s, presentations, IM conversations, - verbally! If you don’t communicate – then the steam train will keep on rolling, and you have missed an opportunity
ABC – Always Be Communicating What should I do? At first, you may miss your requirements documents – learn to communicate with team members and stakeholders Get involved in meetings Don’t be afraid to ask questions – that’s what Product Manager’s are there for
ABC – Always Be Communicating As a non-tester, how can I help? Communication is a 2-way process. Copy your testers in on all your project emails – don’t assume it’s not relevant to them. Invite testers to meetings – formal and informal.
ABC – Always Be Communicating Brett Pettichord “ The reason Agile teams can do with less planning is because feedback allows you to make sure that you are on course. If you don’t have meaningful feedback then you’re not agile. You’re just in a new form of chaos. ” http://www.io.com/~wazmo/blog/archives/2008_08.html#000285
Be Organised, yet Lightweight As the name suggests, Agile team members should be quick to react and not bogged down by paperwork, processes etc. However, you cannot work without some kind of structure and planning You also need to be able to track your progress and report back to the team
Be Organised, yet Lightweight What should I do? You don’t need huge test scripts which detail every button click -  lists of features, areas to be tested, browser combinations etc. will help planning/tracking. Scenarios in automated test tools can be re-used for manual testing too.
What else? Learn your domain. Learn the language of your team. Experiment with test tools. Keep up to date with the latest news. Attend tester meetings (skillsmattter) Don’t be afraid to ask for help – from your colleagues, from online bloggers, user groups, authors.
Thank You. Nathan Bain www.nathanbain.co.uk @nathanbain [email_address]

More Related Content

PPT
Patterns in Testing and a claim - iCheckWebsite
PDF
Some great tools
PDF
How to construct your own SEO a b split tests (for free) - BrightonSEO July 2021
PPTX
Testable requirements
PPTX
#SydPHP - Pull Requests - The Good, The Bad & The Ugly
PDF
Getting started with Visual Testing using Applitools - @TPC, Feb2020
ODP
Agille Testing Meetup 1
PDF
TDD — Are you sure you properly test code?
Patterns in Testing and a claim - iCheckWebsite
Some great tools
How to construct your own SEO a b split tests (for free) - BrightonSEO July 2021
Testable requirements
#SydPHP - Pull Requests - The Good, The Bad & The Ugly
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Agille Testing Meetup 1
TDD — Are you sure you properly test code?

What's hot (20)

PDF
The What, Why and How of Analytics Testing
PDF
Seven Bad Habits to Avoid As a QA Engineer
PPTX
Automated Acceptance Test Practices and Pitfalls
PDF
Adaptive Automation: Tests that Recover Instead of Failing
PPTX
I Don't Test Often ...
PPT
Website Testing Project
PDF
You have no idea what your users want - WordCamp PDX
PPTX
There's an app for that
PDF
Quality and Testing of AI Algorithms - Enterprise Deep Learning
ODP
Continuous Deployment
PDF
How and When To Code Review
PDF
Manual Testing in Scrum is Hard (But Not Impossible)
PDF
Don't lose revenue. Go viral with no downtime.
PPT
Learn Unit Testing and Improve Sexual Performance
PDF
Apply A/B Testing with NGINX Routing Policy
PDF
How to Run Smarter A/B Tests, Faster
PDF
Before launching your experiment. QA tips and tools.
PPTX
A Sampling of Tools
PDF
Agile Testing - Testing From Day 1
PDF
Fail fast! approach
The What, Why and How of Analytics Testing
Seven Bad Habits to Avoid As a QA Engineer
Automated Acceptance Test Practices and Pitfalls
Adaptive Automation: Tests that Recover Instead of Failing
I Don't Test Often ...
Website Testing Project
You have no idea what your users want - WordCamp PDX
There's an app for that
Quality and Testing of AI Algorithms - Enterprise Deep Learning
Continuous Deployment
How and When To Code Review
Manual Testing in Scrum is Hard (But Not Impossible)
Don't lose revenue. Go viral with no downtime.
Learn Unit Testing and Improve Sexual Performance
Apply A/B Testing with NGINX Routing Policy
How to Run Smarter A/B Tests, Faster
Before launching your experiment. QA tips and tools.
A Sampling of Tools
Agile Testing - Testing From Day 1
Fail fast! approach
Ad

Similar to Agile Testing (20)

PPTX
Automated tests
PDF
Beyond "Quality Assurance"
PPTX
Agile testingandautomation
PDF
Automation testing: how tools are important?
PPTX
Agile test practices
DOCX
sotware testing curriculum
PPTX
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
PDF
Evil Tester's Guide to Agile Testing
PPT
How to do usability testing and eye tracking
PPT
Agile testing
PPTX
5 reasons you'll love to hate Agile Development
PPTX
Create Your Tester Portfolio
PDF
Tackling software testing challenges in the agile era
PPTX
[TestWarez 2017] Zapomnij o jakości, skup się na szybkości
PPT
! Testing for agile teams
PDF
Effective Testing fo Startups
PDF
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
PDF
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
PPTX
Developer testing webinar
Automated tests
Beyond "Quality Assurance"
Agile testingandautomation
Automation testing: how tools are important?
Agile test practices
sotware testing curriculum
Get the Balance Right: Acceptance Test Driven Development, GUI Automation and...
Evil Tester's Guide to Agile Testing
How to do usability testing and eye tracking
Agile testing
5 reasons you'll love to hate Agile Development
Create Your Tester Portfolio
Tackling software testing challenges in the agile era
[TestWarez 2017] Zapomnij o jakości, skup się na szybkości
! Testing for agile teams
Effective Testing fo Startups
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Developer testing webinar
Ad

More from Anand Ramdeo (12)

PPTX
Rano fest
PPTX
Ranosys jobs
PDF
Misleading Validations - Be Aware Of Green
PDF
Keeping London On The Move - Interesting Solutions For Challenging Problems
PDF
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
PDF
Workshop for Managing Expectations By Utilising A Communication Toolkit
PDF
Testing strategies for the eCommerce stores built on Magento
PDF
Tes automation for CMS Backed applications - Channel-4 Case Study
PDF
Java primer
PDF
Ramdeo green
PPTX
Selenium conference 2012 - One Step At A Time
PPT
Simple tools to fight bigger quality battle
Rano fest
Ranosys jobs
Misleading Validations - Be Aware Of Green
Keeping London On The Move - Interesting Solutions For Challenging Problems
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
Workshop for Managing Expectations By Utilising A Communication Toolkit
Testing strategies for the eCommerce stores built on Magento
Tes automation for CMS Backed applications - Channel-4 Case Study
Java primer
Ramdeo green
Selenium conference 2012 - One Step At A Time
Simple tools to fight bigger quality battle

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Approach and Philosophy of On baking technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
A Presentation on Artificial Intelligence
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Modernizing your data center with Dell and AMD
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Big Data Technologies - Introduction.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
20250228 LYD VKU AI Blended-Learning.pptx
NewMind AI Weekly Chronicles - August'25 Week I
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
NewMind AI Monthly Chronicles - July 2025
Review of recent advances in non-invasive hemoglobin estimation
Approach and Philosophy of On baking technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Chapter 3 Spatial Domain Image Processing.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
A Presentation on Artificial Intelligence
MYSQL Presentation for SQL database connectivity
Modernizing your data center with Dell and AMD
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Big Data Technologies - Introduction.pptx
Electronic commerce courselecture one. Pdf
Machine learning based COVID-19 study performance prediction
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Dropbox Q2 2025 Financial Results & Investor Presentation

Agile Testing

  • 1. Agile testing tools and approaches Anand Ramdeo Nathan Bain
  • 2. What we were building?
  • 4. Scrum Product Owner, Technical Owner, Scrum Master & Team including tester.
  • 5. Sprint Product Backlog Sprint Backlog 3 Week Sprint Daily Burn New Priority Product Owner Next Sprint Please. Technical Owner
  • 6. Process Highlights PO, TO and tester to meet before sprint planning to complete stories and acceptance criteria. Four column task board to ensure every task is tested. Unit testing, code review, show and tell – They were part of every story. End of sprint demo, bug bash, retrospective and release (when applicable) were part of every sprint.
  • 7. Approach to Testing Test automation using open source tools like FitNesse, Selenium, Twill etc. Manual exploratory testing. Very little emphasis on documented test cases as such. Feature capabilities metrics during releases. Defect management using Jira.
  • 8. Feature Capability Metric Can be reported Can be moderated Comments Can be scheduled Can be published Article Comments Opera Safari FF3 FF2 IE8 IE7 IE6 Feature
  • 9. Environment & Automation Python, Django, PyUnit, Selenium RC (with Python), Twill, FitNesse (With WebTest), .NET etc. Continuous Integration for all the projects. Continuous and auto deployment for 'demo' environment. Manual deployment for 'snapshot' environment.
  • 10. A bit of Twill Open source library in Python. Can be used for testing web application – below browser. Best suited for validating at page source, http request / response level. Can be used from command line in interactive mode or from Python scripts. Extremely powerful if used with other Python libraries.
  • 11. How we used it? 1. Get Page 2. Get All the links 3. Get first link and if link is not external and crawler has not visited it, open link. 4. Get Page Source 5. Validate all the rules you want to validate on this page 6. Repeat 1 to 5 for all the pages. * Title and meta tags like keywords and description are present for all the pages and is not generic. * Instrumentation code is present on all the pages. * Every image has an alternative text associated with it. * Ad code is coming from the right server and has all the relevant information we need. * Every page contains at least two ads and no more than four ads. * And many more… Pseudo Algorithm Validation Rules Links pointing to content server in stage environment. Editorials not using SEO tools to populate meta tags. Links used by editors are dead. SA Sample Defects
  • 12. A bit of Selenium Selenium RC was used with Python. Domain Specific Language was created for abstraction and robustness. Started exploring ui-elements to abstract element locators. Automation was driven from feature – capabilities and releases where possible.
  • 13. Abstraction With UI-Element selenium.type("q", “TestingGeek"); selenium.click("btnG"); LOGIN_BUTTON = "css=input[value='Log in']" DELETE_CONFIRMATION = "css=input[value='\"Yes, I'm sure\"']" myMap.addPageset({     name: 'allPages',     description: 'All WLL Pages',     pathRegexp: '.*' }); myMap.addElement ('allPages', {     name: 'register'     , description: 'Register link on all the pages'     , locator: "xpath=//*[@id='user']/dd/a[1]"    }) sel.click("ui=allPages::register()")
  • 14. DSL & Data Driven Testing stations = {         'sgrfm' : {                                   'splitter' : '/east/ipswich/sgr-fm.html',      'link' : 'Go to heart ipswich',      'cookie' : 'heart_ipswich'       }, More stations… gusto_dsl.login_to_admin(…) gusto_dsl.write.an_article(….) gusto_dsl.goto_sitehome_from_gusto(…) gusto_dsl.open_page(…) gusto_dsl.asserts_for_articles(..) Use power of language for Data Driven Testing Invest in creating Domain Specific Language to make your tests readable, maintainable. # Go to home page # Go to splitter page for a specific station # Click on the link to go to the new website # Go back. # Ensure that cookies is set up properly. # Go to the home page. # Ensure that home page is redirected automatically based on the information in cookies.
  • 15. Would have been better if.. Selenium test suite, Twill etc. were also included in CI. Automation for stories were included as a task in the story itself. Session Based Test Management was used to highlight manual exploratory testing. Controlled releases, technical debt management and more test automation.
  • 16. Key Learning If you have few testers in a team, you can afford to automate. If you do not have, you can not afford to not automate.
  • 17. Thank You. Anand Ramdeo www.TestingGeek.com @testinggeek www.AtlantisSw.com [email_address] Nathan Bain
  • 18. Things I wish I had known as a new Agile Tester
  • 19. You are the testing expert! Agile is a new practice – the rulebook is still being written Software Development Methodologies are not written with testing in mind We are just beginning to understand how Agile testing fits in Huge amounts of information being published every day on blogs, user groups etc.
  • 20. You are the testing expert! What should I do? Listen and Learn Read, Research & Follow Discuss, Suggest, Offer an Opinion and come to an Agreement
  • 21. You are the testing expert! As a non-tester, how can I help? Share your opinion on how testing should be approached on your project If you disagree, then discuss this with the test team Try to be Constructive and Supportive
  • 22. If you don’t feel involved, then involve yourself! Testing is no longer a phase in a project – it’s a continuous activity – testers should always be involved. I found that I wasn’t invited to meetings discussing the fundamental requirements of projects. If you don’t capture the requirements early, then how can you test them later?
  • 23. If you don’t feel involved, then involve yourself! What should I do? Invite yourself to meetings Explain to team members the importance of capturing requirements early Suggest how you can add value
  • 24. If you don’t feel involved, then involve yourself! As a non-tester, how can I help? Keep the tester involved in all phases of product development. Invite testers to products meetings. Don’t assume that they are not going to be interested. Don’t assume that testers have nothing to contribute to certain meetings.
  • 25. No more quality police! Testing on waterfall was a phase – we were paid to find as many bugs a possible in a short space of time Finding a bug was a triumph – but was that how the developers saw things? Fostered an Us V’s Them relationship Now we are all on the same team
  • 26. No more quality police! What should I do? Keep finding bugs – you will be thanked for it! Communicate first, raise a bug report later. Get into the team spirit - contribute to the teams efforts.
  • 27. No more quality police! As a non-tester, how can I help? Treat your testers as you would any other team member. Discuss bugs with the testers – it may not require a bug report.
  • 28. Recruit your own deputies There are never enough testers There will be times when testing becomes the bottleneck on the project due to the lack of resources Other times, testing something becomes the priority – set release dates!!
  • 29. Recruit your own deputies What should I do? Agile teams are multi-disciplined – if one area is suffering, then we should all help put Recruit your Developers, Project Managers, Product Managers and anyone else to help out with testing
  • 30. Recruit your own deputies As a non-tester, how can I help? Be open to the idea of testing when needed Keep an eye on the project board – if testing is a bottleneck, then offer to help out
  • 31. ABC – Always Be Communicating No more huge documentation documents. Requirements are communicated via emails, wiki’s, presentations, IM conversations, - verbally! If you don’t communicate – then the steam train will keep on rolling, and you have missed an opportunity
  • 32. ABC – Always Be Communicating What should I do? At first, you may miss your requirements documents – learn to communicate with team members and stakeholders Get involved in meetings Don’t be afraid to ask questions – that’s what Product Manager’s are there for
  • 33. ABC – Always Be Communicating As a non-tester, how can I help? Communication is a 2-way process. Copy your testers in on all your project emails – don’t assume it’s not relevant to them. Invite testers to meetings – formal and informal.
  • 34. ABC – Always Be Communicating Brett Pettichord “ The reason Agile teams can do with less planning is because feedback allows you to make sure that you are on course. If you don’t have meaningful feedback then you’re not agile. You’re just in a new form of chaos. ” http://www.io.com/~wazmo/blog/archives/2008_08.html#000285
  • 35. Be Organised, yet Lightweight As the name suggests, Agile team members should be quick to react and not bogged down by paperwork, processes etc. However, you cannot work without some kind of structure and planning You also need to be able to track your progress and report back to the team
  • 36. Be Organised, yet Lightweight What should I do? You don’t need huge test scripts which detail every button click - lists of features, areas to be tested, browser combinations etc. will help planning/tracking. Scenarios in automated test tools can be re-used for manual testing too.
  • 37. What else? Learn your domain. Learn the language of your team. Experiment with test tools. Keep up to date with the latest news. Attend tester meetings (skillsmattter) Don’t be afraid to ask for help – from your colleagues, from online bloggers, user groups, authors.
  • 38. Thank You. Nathan Bain www.nathanbain.co.uk @nathanbain [email_address]