SlideShare a Scribd company logo
1 of 31
Evolution of Agile Testing
     (A tester's view)
        By Erik Petersen
 Frank Lee’s Learning Summary
Methodologists meet in the snow
    Mid February 2001, 17 people met in the
     Utah mountains over a weekend
    They represented styles of lightweight
     software development
Manifesto
for Agile Software Development
Methodologists meet in the snow
    Only one, Brian Marick, had major
     interest in testing (a quiet person)
    Another tester invitee, James Bach, could
     not attend (a loud person)
Where's testing?

   Neither the agile manifesto or supporting
    principles mention testing, focussing on
    ”sponsor, developer, user”
   Principles do mention ”architecture,
    requirements & designs” but no testing or
    validation activity mentioned explicitly
Agile testing V1.0
   Strong Extreme Programming slant
   Developers do all tests, using TDD for design
    & automated unit tests, Junit mostly
   No need for system tester role, ”all tests
    automated”
   Developers to learn extra testing skills from
    testers then replace them
   Kent Beck tells conference of testers they
    will all be out of jobs in a few years
XP
A week of Ruby dev, test & talk
   Mid June 2003, a group of agile devs and
    exploratory testers spend a week together
    talking and creating software at ”Agile
    Fusion” (Erik watches via webcam!)
   Early version of Ruby seen as immature by
    devs (but great language for testing)
   Some agile devs understand importance of
    exploratory testing, e.g Ward Cunningham
Agile Testing manifesto?

 ”It’s very important to understand that we in
 this Agile Fusion conference did not come to
agreement on *any* specifically phrased idea
about what agile testing is or isn’t. We tried to
discuss it, but it quickly became apparent that
       there are important philosophical &
     terminological differences among us.”
                    James Bach
Agile testing V2.0
   Strong XP Programming slant weakening
   Regression testing done by developers, using
    automated unit tests, now Xunit
   Some appreciation for system tester role, e,g
    Thoughtworks, Mary Poppendieck
   Some developers learn more about testing
    and importance of exploratory testing
   Agile testing champions, e.g Elisabeth
    Hendrickson
Enter the test toolsmith
   Developer explicitly supporting less technical
    testers, or more busy devs
   Creating tools to support testability
   Automating data creation, configuration
    table setup, security profiles, UI information
    fields only visible in test mode or hidden in
    html, etc
   Focussed on manual & automated tests
   Testability champion, Brett Pettichord
Test tools rule

   Rapid expansion of free functional tools
          Framework for Integrated Test (FIT)
           2002, java based implementation of
           customer examples as tests, lead dev
           Ward Cunningham
          Selenium 2004, web application driver
           using javascript, lead dev Jason Huggins
          Many other less popular tools
Dependency Injection
• This simplifies the design, and makes it more
  flexible allowing different types of materials to
  be provided in different cases.
• Another advantage is the ability to provide
  fake materials, when we are only interested in
  testing the function to check it still works
  properly.
Agile testing V3.0 Flavors
   Regression testing by developers, using TDD
    & automated unit tests, with dependency
    injection & testability
   Testsmiths create custom tools for their
    teams
   Functional automation by developers or
    technical testers using tools like Selenium
   Customer examples linked by dev tester to
    fixtures create simple tests, like FIT
ET in Agile Development
   Jim Shore & Chromatic write ”Art of Agile
    Development”, 2007 with community review
    of each chapter
   Lone voice of tester reviewer in dev cloud
    (Erik), pushing tester role & viewpoint
   Book expanded to include ET
    Viewpoint: ET needed to find bugs missed by devs (to
   improve process to find next time!)
Included Exploratory testing chapter written by Elisabeth
   Hendrickson
Agile testing for testers & team
   Agile Testing stage at Agile 2009 conference
   Exploratory testing sessions at Agile
    conference, Erik Petersen 2008, 2009, Jon
    Bach 2010
   ”Agile Testing” 2009, by Crispin & Gregory
    gets great reviews across all agile tribes
   Strong agile tester community
   Bughunts becoming popular in industry
Agile Testing Quadrants
The 2nd wave of test tools
   Cucumber 2009, english-like fixture based
    tool dominating functional test automation,
    lead developer Aslak Hellesoy
   Selenium and Selenium Grid almost industry
    standard
   Domain Specific Languages (e.g in Groovy),
    Robot framework, etc
   AA functional test tools group discussing and
    leveraging tools, also GTAC (Google)
Key (system) testing skills
   Test techniques: e.g. boundary analysis,
    equivalence partitioning, test intuition
   Test modelling: domain, application,
    navigation, authorisation, etc.
   Test case design and coverage
   Defect management
   Failure modelling (often innate skill)
   Shadow architect & designer/ devils
    advocate
Key skill: Exploratory testing
   ET Framework: Three main parts
           Investigation
                 Wide across app, or deep to feature
           Exploration
                 Confirming app & other models, or trying
                  failure models
           Reflection
                 Maintain focus or change to next priority
                 Investigate bug clusters
   Attempt to make implicit skill visible
Agile testing today
   Still no agile testing manifesto, just many
    flavors (like with agile)
   New tools can be adopted quickly
    worldwide, e.g Cucumber
   Many great developer testers but still
    specialist tester role needed
   Risk based exploratory testing preferred
    technique for rapid testing
   TDD ”checks” versus human ET ”tests”
Agile Tester
   敏捷测试人员首先是专业化的测试者,适应变
化,与开发人员和业务人员开展良好的合作,贯彻
利用测试记录需求和驱动开发的精神,具有优秀的
技术能力,懂得合作以实现测试自动化,更擅长探
索性测试。了解客户在做什么,透彻的理解客户对
软件的需求。
                  – by Lisa Crispin
价值观
个体和交互                   VS   工具和过程
Individuals and interactions
可以运行的软件            VS   面面俱到的文档
Working software
客户合作                 VS   合同谈判
Customer collaboration
响应变化               VS   遵循计划
Responding to change
Key Point
Agile Tester
   敏捷测试人员首先是专业化的测试者,适应
变化,与开发人员和业务人员开展良好的合作,贯
彻利用测试记录需求和驱动开发的精神,具有优
秀的技术能力,懂得合作以实现测试自动化,更
擅长探索性测试。
  了解客户在做什么,透彻的理解客户对
软件的需求。
             – by Lisa Crispin
The End

More Related Content

What's hot

Scrum and Test-driven development
Scrum and Test-driven developmentScrum and Test-driven development
Scrum and Test-driven developmenttoteb5
 
Software Design for Testability
Software Design for TestabilitySoftware Design for Testability
Software Design for Testabilityamr0mt
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Mohamed Taman
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010guest5639fa9
 
НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...
НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...
НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...GoQA
 
Client Side Unit Testing
Client Side Unit TestingClient Side Unit Testing
Client Side Unit Testingcloud chen
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical DebtHayim Makabee
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...Hayim Makabee
 
Design for Testability
Design for Testability Design for Testability
Design for Testability Pawel Kalbrun
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010Klocwork
 
ATDD in Practice
ATDD in PracticeATDD in Practice
ATDD in PracticeSteven Mak
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015Raghu Karnati
 
The WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpecThe WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpecBen Mabey
 
Testing in agile
Testing in agileTesting in agile
Testing in agileKYarli
 
Agile Programming Systems # TDD intro
Agile Programming Systems # TDD introAgile Programming Systems # TDD intro
Agile Programming Systems # TDD introVitaliy Kulikov
 
Why you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software companyWhy you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software companyMatts Devriendt
 

What's hot (20)

Tdd dev session
Tdd dev sessionTdd dev session
Tdd dev session
 
Scrum and Test-driven development
Scrum and Test-driven developmentScrum and Test-driven development
Scrum and Test-driven development
 
Software Design for Testability
Software Design for TestabilitySoftware Design for Testability
Software Design for Testability
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010
 
НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...
НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...
НІКОЛАЙ ЛОТОЦКИЙ «Тестування всьому голова або будуємо тест план в голові роз...
 
Client Side Unit Testing
Client Side Unit TestingClient Side Unit Testing
Client Side Unit Testing
 
Ensuring code quality
Ensuring code qualityEnsuring code quality
Ensuring code quality
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical Debt
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
 
Design for Testability
Design for Testability Design for Testability
Design for Testability
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
 
ATDD in Practice
ATDD in PracticeATDD in Practice
ATDD in Practice
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
The WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpecThe WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpec
 
Testing in agile
Testing in agileTesting in agile
Testing in agile
 
Agile Programming Systems # TDD intro
Agile Programming Systems # TDD introAgile Programming Systems # TDD intro
Agile Programming Systems # TDD intro
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Why you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software companyWhy you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software company
 

Similar to Frank's Learning Summary - Evolution of agile testing

EclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testingEclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testingMichaela Greiler
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile EngineeringJohn Lewis
 
Software presentation
Software presentationSoftware presentation
Software presentationJennaPrengle
 
Test-driven development & Behavior-driven development basics
Test-driven development & Behavior-driven development basicsTest-driven development & Behavior-driven development basics
Test-driven development & Behavior-driven development basicsOleksii Prohonnyi
 
10 Lessons learned in test automation
10 Lessons learned in test automation10 Lessons learned in test automation
10 Lessons learned in test automationRomania Testing
 
Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionSteven Mak
 
DevOps interview questions and answers
DevOps interview questions and answersDevOps interview questions and answers
DevOps interview questions and answersHopeTutors1
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedMichael Palotas
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWDVikas Sarin
 
Bridging the communication gap
Bridging the communication gapBridging the communication gap
Bridging the communication gapGuillagui San
 
Trends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa CrispinTrends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa CrispinDirecti Group
 
Testing Strategies for Node.pdf
Testing Strategies for Node.pdfTesting Strategies for Node.pdf
Testing Strategies for Node.pdfinfowindtech
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBayDominik Dary
 
Waterfallacies V1 1
Waterfallacies V1 1Waterfallacies V1 1
Waterfallacies V1 1Jorge Boria
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureWee Witthawaskul
 

Similar to Frank's Learning Summary - Evolution of agile testing (20)

Agile testing
Agile testingAgile testing
Agile testing
 
EclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testingEclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testing
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
Software presentation
Software presentationSoftware presentation
Software presentation
 
Test-driven development & Behavior-driven development basics
Test-driven development & Behavior-driven development basicsTest-driven development & Behavior-driven development basics
Test-driven development & Behavior-driven development basics
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
10 Lessons learned in test automation
10 Lessons learned in test automation10 Lessons learned in test automation
10 Lessons learned in test automation
 
Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile Adoption
 
DevOps interview questions and answers
DevOps interview questions and answersDevOps interview questions and answers
DevOps interview questions and answers
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
 
Bridging the communication gap
Bridging the communication gapBridging the communication gap
Bridging the communication gap
 
Trends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa CrispinTrends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa Crispin
 
Testing Strategies for Node.pdf
Testing Strategies for Node.pdfTesting Strategies for Node.pdf
Testing Strategies for Node.pdf
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBay
 
Agile test tools
Agile test toolsAgile test tools
Agile test tools
 
tem7
tem7tem7
tem7
 
Waterfallacies V1 1
Waterfallacies V1 1Waterfallacies V1 1
Waterfallacies V1 1
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
 

Recently uploaded

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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: 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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
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
 
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
 
"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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 

Recently uploaded (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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: 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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
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
 
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
 
"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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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?
 

Frank's Learning Summary - Evolution of agile testing

  • 1. Evolution of Agile Testing (A tester's view) By Erik Petersen Frank Lee’s Learning Summary
  • 2. Methodologists meet in the snow  Mid February 2001, 17 people met in the Utah mountains over a weekend  They represented styles of lightweight software development
  • 4. Methodologists meet in the snow  Only one, Brian Marick, had major interest in testing (a quiet person)  Another tester invitee, James Bach, could not attend (a loud person)
  • 5. Where's testing?  Neither the agile manifesto or supporting principles mention testing, focussing on ”sponsor, developer, user”  Principles do mention ”architecture, requirements & designs” but no testing or validation activity mentioned explicitly
  • 6. Agile testing V1.0  Strong Extreme Programming slant  Developers do all tests, using TDD for design & automated unit tests, Junit mostly  No need for system tester role, ”all tests automated”  Developers to learn extra testing skills from testers then replace them  Kent Beck tells conference of testers they will all be out of jobs in a few years
  • 7. XP
  • 8. A week of Ruby dev, test & talk  Mid June 2003, a group of agile devs and exploratory testers spend a week together talking and creating software at ”Agile Fusion” (Erik watches via webcam!)  Early version of Ruby seen as immature by devs (but great language for testing)  Some agile devs understand importance of exploratory testing, e.g Ward Cunningham
  • 9. Agile Testing manifesto? ”It’s very important to understand that we in this Agile Fusion conference did not come to agreement on *any* specifically phrased idea about what agile testing is or isn’t. We tried to discuss it, but it quickly became apparent that there are important philosophical & terminological differences among us.” James Bach
  • 10. Agile testing V2.0  Strong XP Programming slant weakening  Regression testing done by developers, using automated unit tests, now Xunit  Some appreciation for system tester role, e,g Thoughtworks, Mary Poppendieck  Some developers learn more about testing and importance of exploratory testing  Agile testing champions, e.g Elisabeth Hendrickson
  • 11. Enter the test toolsmith  Developer explicitly supporting less technical testers, or more busy devs  Creating tools to support testability  Automating data creation, configuration table setup, security profiles, UI information fields only visible in test mode or hidden in html, etc  Focussed on manual & automated tests  Testability champion, Brett Pettichord
  • 12. Test tools rule  Rapid expansion of free functional tools  Framework for Integrated Test (FIT) 2002, java based implementation of customer examples as tests, lead dev Ward Cunningham  Selenium 2004, web application driver using javascript, lead dev Jason Huggins  Many other less popular tools
  • 13. Dependency Injection • This simplifies the design, and makes it more flexible allowing different types of materials to be provided in different cases. • Another advantage is the ability to provide fake materials, when we are only interested in testing the function to check it still works properly.
  • 14. Agile testing V3.0 Flavors  Regression testing by developers, using TDD & automated unit tests, with dependency injection & testability  Testsmiths create custom tools for their teams  Functional automation by developers or technical testers using tools like Selenium  Customer examples linked by dev tester to fixtures create simple tests, like FIT
  • 15. ET in Agile Development  Jim Shore & Chromatic write ”Art of Agile Development”, 2007 with community review of each chapter  Lone voice of tester reviewer in dev cloud (Erik), pushing tester role & viewpoint  Book expanded to include ET Viewpoint: ET needed to find bugs missed by devs (to improve process to find next time!) Included Exploratory testing chapter written by Elisabeth Hendrickson
  • 16. Agile testing for testers & team  Agile Testing stage at Agile 2009 conference  Exploratory testing sessions at Agile conference, Erik Petersen 2008, 2009, Jon Bach 2010  ”Agile Testing” 2009, by Crispin & Gregory gets great reviews across all agile tribes  Strong agile tester community  Bughunts becoming popular in industry
  • 18. The 2nd wave of test tools  Cucumber 2009, english-like fixture based tool dominating functional test automation, lead developer Aslak Hellesoy  Selenium and Selenium Grid almost industry standard  Domain Specific Languages (e.g in Groovy), Robot framework, etc  AA functional test tools group discussing and leveraging tools, also GTAC (Google)
  • 19. Key (system) testing skills  Test techniques: e.g. boundary analysis, equivalence partitioning, test intuition  Test modelling: domain, application, navigation, authorisation, etc.  Test case design and coverage  Defect management  Failure modelling (often innate skill)  Shadow architect & designer/ devils advocate
  • 20. Key skill: Exploratory testing  ET Framework: Three main parts  Investigation  Wide across app, or deep to feature  Exploration  Confirming app & other models, or trying failure models  Reflection  Maintain focus or change to next priority  Investigate bug clusters  Attempt to make implicit skill visible
  • 21. Agile testing today  Still no agile testing manifesto, just many flavors (like with agile)  New tools can be adopted quickly worldwide, e.g Cucumber  Many great developer testers but still specialist tester role needed  Risk based exploratory testing preferred technique for rapid testing  TDD ”checks” versus human ET ”tests”
  • 22. Agile Tester 敏捷测试人员首先是专业化的测试者,适应变 化,与开发人员和业务人员开展良好的合作,贯彻 利用测试记录需求和驱动开发的精神,具有优秀的 技术能力,懂得合作以实现测试自动化,更擅长探 索性测试。了解客户在做什么,透彻的理解客户对 软件的需求。 – by Lisa Crispin
  • 24. 个体和交互 VS 工具和过程 Individuals and interactions
  • 25. 可以运行的软件 VS 面面俱到的文档 Working software
  • 26. 客户合作 VS 合同谈判 Customer collaboration
  • 27. 响应变化 VS 遵循计划 Responding to change
  • 28.
  • 30. Agile Tester 敏捷测试人员首先是专业化的测试者,适应 变化,与开发人员和业务人员开展良好的合作,贯 彻利用测试记录需求和驱动开发的精神,具有优 秀的技术能力,懂得合作以实现测试自动化,更 擅长探索性测试。 了解客户在做什么,透彻的理解客户对 软件的需求。 – by Lisa Crispin