SlideShare a Scribd company logo
Software Testing 2012
A Year in Review
Introduction

•   What are the latest trends within software testing?

•   What has happened during 2012 that is worth highlighting?

•   Very subjective, but here is my view
Software Testing Trends Overview




                          Good Test
   Google Testing 2.0
                         Automation




                        Context-driven
       Test Roles
                           Testing
Google Testing 2.0 (Google)

•   “This brings us to the current chapter in test which I call Testing 1.5. This chapter is being written
    by computer scientists, applied scientists, engineers, developers, statisticians, and many other
    disciplines. These people come together in the Software Engineer in Test (SET) and Test
    Engineer (TE) roles at Google. SET/TEs focus on; developing software faster, building it better
    the first time, testing it in depth, releasing it quicker, and making sure it works in all
    environments. We often put deep test focus on Security, Reliability and Performance. I
    sometimes think of the SET/TE’s as risk assessors whose role is to figure out the probability of
    finding a bug, and then working to reduce that probability. Super interesting computer science
    problems where we take a solid engineering approach, rather than a process oriented /
    manual / people intensive based approach. We always look to scale with machines wherever
    possible.” [1]




                                               a lot of “art” has turned into “science”
Good Test Automation (Microsoft)

•   Designing good tests is one of the hardest tasks in software development. [2]

•   Relying on test automation for any part of your testing is pointless if you don’t care about the results and look at
    failed tests every time they fail. [3]

•   I’m all for saving time and money, but I have concerns with an automation approach based entirely (or largely) on automating
    a bunch of manual tests. Good test design considers manual and computer assisted testing as two different
    attributes – not sequential tasks. That concept is such an ingrained approach to me (and the testers I get to work
    with), that the idea of a write tests->run tests manually->automate those tests seems fundamentally broken. [4]

•   Key benefits of API testing include [7]:
     – Reduced testing costs
     – Improved productivity
     – Higher functional (business logic) quality

•   First off, let me state my main points for disliking GUI automation [8]:
      – It’s (typically) fragile – tests tend to break / stop working / work unsuccessfully often
      – It rarely lasts through multiple versions of a project (another aspect of fragility)
      – It’s freakin’ hard to automate UI (and keep track of state, verify, etc.)
      – Available tools are weak to moderate (this is arguable, depending on what you want to do with the tools).

•   Only those problems … which specifically require human judgment, such as the beauty of a user interface or whether
    exposing some piece of data constitutes a privacy concern, should remain in the realm of manual testing. [9]
Test Roles (Google + Microsoft)

•   Roles that testers play on teams vary. They vary a lot. You can’t compare them. That’s ok, and
    (IMO) part of the growth of the role. [5]

•   Which leads me to two test roles that, while they definitely exist, I could say they’re dead to me.
    [5]
     –   The first is the test-automation only role. I think the role of taking manual test scripts written by one person and then
         automating those steps is a bad practice.
     –   I’ll call the final role “waterfall-tester” – even though I know this role exists at some (fr)agile shops as well. This is the when-
         I’m-done-writing-it-you-can-test-it role.

•   Google Tester Roles [6]
     –   The SWE or Software Engineer is the traditional developer role.
     –   The SET or Software Engineer in Test is also a developer role except their focus is on testability. They
         review designs and look closely at code quality and risk. They refactor code to make it more testable. SETs
         write unit testing frameworks and automation. They are a partner in the SWE code base but are more
         concerned with increasing quality and test coverage than adding new features or increasing performance.
     –   The TE or Test Engineer is the exact reverse of the SET. It is a a role that puts testing first and
         development second. Many Google TEs spend a good deal of their time writing code in the form of
         automation scripts and code that drives usage scenarios and even mimics a user. They also organize the
         testing work of SWEs and SETs, interpret test results and drive test execution, particular in the late stages of
         a project as the push toward release intensifies. TEs are product experts, quality advisers and analyzers of
         risk.
Context-driven Testing

•   Cem Kaner: “Rather than calling it a “school”, I prefer to refer to a context-driven approach.“ [10]

•   “One of the striking themes in what I saw was a mistrust of test automation. Hey, I agree that regression test
    automation is a poor bases for an effective comprehensive testing strategy, but the mistrust went beyond that.
    Manual (session-based, of course) exploratory testing had become a Best Practice.” [11]

•   “I think we need to look more sympathetically at more contexts and more solutions. To ask more about what is
    right with alternative ideas and what we can learn from them. And to develop batteries of skills to work with them.
    For that, I think we need to get past the politics of The One School of context-driven testing. “[11]

•   Many great ideas from the context-driven world:
     – 37 Sources for Test Ideas [12]
     – The scripted and exploratory testing continuum [13]
     – Where does all the time go? [14]
     – A Testing Landscape [15]
     – 8 Layer Model for Exploratory Testing [16]
     – Silent Evidence in Testing [17]
     – Etc.


•   Mostly improvements, not innovations?
Summary
Is there any consensus in the testing world?

•   Testing requires qualified professionals that take ownership – Hiring many unqualified
    testers will only result in higher costs and waste

•   Reduce the time spent on useless artefacts, either by tool support, or by removing them
    completely

•   Always look for a way to support your testing activities with tools – not only test execution

•   Everything is risk-based! The more data you have (qualitative or quantitative) the better!

•   Mindless automation is not valuable

•   Manual scripted regression testing is not an effective way to find bugs – There should
    always be a good reason to run scripted manual tests, like specific legal or customer
    requirements

•   Customer involvement is important – both as input and as live user testers

•   Focus on testing in agile projects
Reference

[1] Testing 2.0
http://googletesting.blogspot.se/#!/2012/08/testing-20.html                    [14] Where does all the time go?
[2] Orchestrating Test Automation                                              http://www.developsense.com/blog/2012/10/where-does-all-that-time-go/
http://angryweasel.com/blog/?p=496                                             [15] A testing landscape
[3] Oops I did it again                                                        http://www.shino.de/2012/11/07/a-testing-landscape/
http://angryweasel.com/blog/?p=432
                                                                               [16] 8 Layer Model for Exploratory Testing
[4] Exploring Test Automation
http://angryweasel.com/blog/?p=412                                             http://www.shino.de/2012/03/23/testbash-an-8-layer-model-for-exploratory-
[5] Exploring Test Roles                                                               testing/
http://angryweasel.com/blog/?p=444                                             [17] Silen Evidence in Testing
[6] How do Google Test Software – Part 2                                       http://testers-headache.blogspot.se/2012/03/silent-evidence-in-testing.html
http://googletesting.blogspot.se/search?q=test+roles#!/2011/02/how-google-
        tests-software-part-two.html
[7] API Testing – How It Can Help
http://www.testingmentor.com/imtesty/2011/12/01/api-testinghow-can-it-help/
[8] Design for *GUI* automation
http://angryweasel.com/blog/?p=332
[9] How Google Tests Softwre – Part 5
http://googletesting.blogspot.se/search?q=exploratory+testing#!/2011/03/how-
        google-tests-software-part-five.html
[10] Context-driven Testing
http://context-driven-testing.com/?page_id=9
[11] Context-driven Testing is not a Religion
http://context-driven-testing.com/?p=23
[12] 37 Sources for Test Ideas
http://thetesteye.com/blog/2012/02/announcing-37-sources-for-test-ideas/
[13] The Scripted and Exploratory Testing Continuum
http://thetesteye.com/blog/2012/01/the-scripted-and-exploratory-testing-
        continuum/

More Related Content

PDF
Test Driven Development
PDF
Justin Ison
PPTX
From Gatekeeper to Partner by Kelsey Shannahan
PDF
Exploratory Testing in Practice
PPTX
Atmosphere 2016 - Berk Dulger - DevOps Tactical Adoption Theory
PDF
Methodology: IT test
PDF
10 Lessons learned in test automation
PDF
Darshan Desai - Virtual Test Labs,The Next Frontier - EuroSTAR 2010
Test Driven Development
Justin Ison
From Gatekeeper to Partner by Kelsey Shannahan
Exploratory Testing in Practice
Atmosphere 2016 - Berk Dulger - DevOps Tactical Adoption Theory
Methodology: IT test
10 Lessons learned in test automation
Darshan Desai - Virtual Test Labs,The Next Frontier - EuroSTAR 2010

What's hot (20)

PDF
03 - chomu prohramisty ne testuiut - yurii chulovskyi - it event 2013 (5)
PDF
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
PPTX
Test-Driven Development In Action
PPTX
Implementing Test Automation in Agile Projects
PDF
Rapid software testing
PDF
Tune Agile Test Strategies to Project and Product Maturity
PDF
Managing Successful Test Automation
PDF
Exploratory test
PDF
Four Stages of Automated Testing by Bradley Temple
PPT
Extreme & pair programming Slides ppt
PPTX
DevOps Tactical Adoption Theory: Continuous Testing
PDF
5-Ways-to-Revolutionize-Your-Software-Testing
PDF
Improving the Quality of Incoming Code
PDF
Project Management in 3 Slides
PPT
Unit Testing, TDD and the Walking Skeleton
PPTX
Test Driven Development (C#)
PDF
The limits of unit testing by Craig Stuntz
PPTX
DevOps Tactical Adoption Theory - DevOpsDays istanbul 2016
PPTX
Lean Enterprise, A Definitive Approach in Software Development Production
PPTX
Going extreme-with-extreme-programming
03 - chomu prohramisty ne testuiut - yurii chulovskyi - it event 2013 (5)
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Test-Driven Development In Action
Implementing Test Automation in Agile Projects
Rapid software testing
Tune Agile Test Strategies to Project and Product Maturity
Managing Successful Test Automation
Exploratory test
Four Stages of Automated Testing by Bradley Temple
Extreme & pair programming Slides ppt
DevOps Tactical Adoption Theory: Continuous Testing
5-Ways-to-Revolutionize-Your-Software-Testing
Improving the Quality of Incoming Code
Project Management in 3 Slides
Unit Testing, TDD and the Walking Skeleton
Test Driven Development (C#)
The limits of unit testing by Craig Stuntz
DevOps Tactical Adoption Theory - DevOpsDays istanbul 2016
Lean Enterprise, A Definitive Approach in Software Development Production
Going extreme-with-extreme-programming
Ad

Similar to Software testing 2012 - A Year in Review (20)

PDF
Introduction to Automated Testing
PDF
Introduction to-automated-testing
PDF
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
PDF
Automated softwaretestingmagazine april2013
PDF
Test is dead?
PDF
The productivity of testing in software development life cycle
PPT
Automated testing vs manual testing
PDF
Interview with a tester
PPTX
Automatic for the People
PDF
Agile Testing Pasadena JUG Aug2009
PDF
The Tester’s Role: Balancing Technical Acumen and User Advocacy
PDF
Testing Experience - Evolution of Test Automation Frameworks
PPTX
Bug debug keynote - Present problems and future solutions
PDF
Automated testing-whitepaper
PDF
Test and Behaviour Driven Development (TDD/BDD)
PDF
Agile testing (n)
PPTX
Test Automation Techniques for Windows Applications
PDF
Programmer testing
PPT
Test Automation Framework Designs
PPT
Test Automation Framework Designs
Introduction to Automated Testing
Introduction to-automated-testing
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Automated softwaretestingmagazine april2013
Test is dead?
The productivity of testing in software development life cycle
Automated testing vs manual testing
Interview with a tester
Automatic for the People
Agile Testing Pasadena JUG Aug2009
The Tester’s Role: Balancing Technical Acumen and User Advocacy
Testing Experience - Evolution of Test Automation Frameworks
Bug debug keynote - Present problems and future solutions
Automated testing-whitepaper
Test and Behaviour Driven Development (TDD/BDD)
Agile testing (n)
Test Automation Techniques for Windows Applications
Programmer testing
Test Automation Framework Designs
Test Automation Framework Designs
Ad

More from Johan Hoberg (20)

PDF
Deep Testing, Deep Work - How and when we should enable deep work for testers
PDF
Turning Quality Information into Quality Intelligence - A QI Concept
PDF
Quality Intelligence, Documentation & AI
PDF
How Trust Impacts Quality and Efficiency in Games Development
PDF
7 Quality Pillars of Mobile Game Development
PDF
Approaches to unraveling a complex test problem
PDF
A business case for a modern QA organization
PDF
Signing off on Quality
PDF
Quality Information Coverage - A QI Concept
PDF
The Bug Backlog - An Evergrowing Mountain
PDF
Quality Intelligence: Transparency & Visibility
PDF
Building a QA Mindset
PPTX
What is QI?
PDF
Building High Quality Software
PPTX
Testit 2017 - Exploratory Testing for Everyone
DOCX
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
DOCX
Moving from scripted regression testing to exploratory testing
PDF
Building High Quality Software
DOCX
Quality, Testing & Agile Methodologies
DOCX
QI, not QA
Deep Testing, Deep Work - How and when we should enable deep work for testers
Turning Quality Information into Quality Intelligence - A QI Concept
Quality Intelligence, Documentation & AI
How Trust Impacts Quality and Efficiency in Games Development
7 Quality Pillars of Mobile Game Development
Approaches to unraveling a complex test problem
A business case for a modern QA organization
Signing off on Quality
Quality Information Coverage - A QI Concept
The Bug Backlog - An Evergrowing Mountain
Quality Intelligence: Transparency & Visibility
Building a QA Mindset
What is QI?
Building High Quality Software
Testit 2017 - Exploratory Testing for Everyone
Don’t celebrate failure. Don’t celebrate success. Celebrate commitment, owner...
Moving from scripted regression testing to exploratory testing
Building High Quality Software
Quality, Testing & Agile Methodologies
QI, not QA

Recently uploaded (20)

PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Machine Learning_overview_presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
Teaching material agriculture food technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Electronic commerce courselecture one. Pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
Dropbox Q2 2025 Financial Results & Investor Presentation
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Machine Learning_overview_presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Empathic Computing: Creating Shared Understanding
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Spectral efficient network and resource selection model in 5G networks
Teaching material agriculture food technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
The AUB Centre for AI in Media Proposal.docx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Programs and apps: productivity, graphics, security and other tools
A comparative analysis of optical character recognition models for extracting...
Electronic commerce courselecture one. Pdf
Review of recent advances in non-invasive hemoglobin estimation

Software testing 2012 - A Year in Review

  • 1. Software Testing 2012 A Year in Review
  • 2. Introduction • What are the latest trends within software testing? • What has happened during 2012 that is worth highlighting? • Very subjective, but here is my view
  • 3. Software Testing Trends Overview Good Test Google Testing 2.0 Automation Context-driven Test Roles Testing
  • 4. Google Testing 2.0 (Google) • “This brings us to the current chapter in test which I call Testing 1.5. This chapter is being written by computer scientists, applied scientists, engineers, developers, statisticians, and many other disciplines. These people come together in the Software Engineer in Test (SET) and Test Engineer (TE) roles at Google. SET/TEs focus on; developing software faster, building it better the first time, testing it in depth, releasing it quicker, and making sure it works in all environments. We often put deep test focus on Security, Reliability and Performance. I sometimes think of the SET/TE’s as risk assessors whose role is to figure out the probability of finding a bug, and then working to reduce that probability. Super interesting computer science problems where we take a solid engineering approach, rather than a process oriented / manual / people intensive based approach. We always look to scale with machines wherever possible.” [1] a lot of “art” has turned into “science”
  • 5. Good Test Automation (Microsoft) • Designing good tests is one of the hardest tasks in software development. [2] • Relying on test automation for any part of your testing is pointless if you don’t care about the results and look at failed tests every time they fail. [3] • I’m all for saving time and money, but I have concerns with an automation approach based entirely (or largely) on automating a bunch of manual tests. Good test design considers manual and computer assisted testing as two different attributes – not sequential tasks. That concept is such an ingrained approach to me (and the testers I get to work with), that the idea of a write tests->run tests manually->automate those tests seems fundamentally broken. [4] • Key benefits of API testing include [7]: – Reduced testing costs – Improved productivity – Higher functional (business logic) quality • First off, let me state my main points for disliking GUI automation [8]: – It’s (typically) fragile – tests tend to break / stop working / work unsuccessfully often – It rarely lasts through multiple versions of a project (another aspect of fragility) – It’s freakin’ hard to automate UI (and keep track of state, verify, etc.) – Available tools are weak to moderate (this is arguable, depending on what you want to do with the tools). • Only those problems … which specifically require human judgment, such as the beauty of a user interface or whether exposing some piece of data constitutes a privacy concern, should remain in the realm of manual testing. [9]
  • 6. Test Roles (Google + Microsoft) • Roles that testers play on teams vary. They vary a lot. You can’t compare them. That’s ok, and (IMO) part of the growth of the role. [5] • Which leads me to two test roles that, while they definitely exist, I could say they’re dead to me. [5] – The first is the test-automation only role. I think the role of taking manual test scripts written by one person and then automating those steps is a bad practice. – I’ll call the final role “waterfall-tester” – even though I know this role exists at some (fr)agile shops as well. This is the when- I’m-done-writing-it-you-can-test-it role. • Google Tester Roles [6] – The SWE or Software Engineer is the traditional developer role. – The SET or Software Engineer in Test is also a developer role except their focus is on testability. They review designs and look closely at code quality and risk. They refactor code to make it more testable. SETs write unit testing frameworks and automation. They are a partner in the SWE code base but are more concerned with increasing quality and test coverage than adding new features or increasing performance. – The TE or Test Engineer is the exact reverse of the SET. It is a a role that puts testing first and development second. Many Google TEs spend a good deal of their time writing code in the form of automation scripts and code that drives usage scenarios and even mimics a user. They also organize the testing work of SWEs and SETs, interpret test results and drive test execution, particular in the late stages of a project as the push toward release intensifies. TEs are product experts, quality advisers and analyzers of risk.
  • 7. Context-driven Testing • Cem Kaner: “Rather than calling it a “school”, I prefer to refer to a context-driven approach.“ [10] • “One of the striking themes in what I saw was a mistrust of test automation. Hey, I agree that regression test automation is a poor bases for an effective comprehensive testing strategy, but the mistrust went beyond that. Manual (session-based, of course) exploratory testing had become a Best Practice.” [11] • “I think we need to look more sympathetically at more contexts and more solutions. To ask more about what is right with alternative ideas and what we can learn from them. And to develop batteries of skills to work with them. For that, I think we need to get past the politics of The One School of context-driven testing. “[11] • Many great ideas from the context-driven world: – 37 Sources for Test Ideas [12] – The scripted and exploratory testing continuum [13] – Where does all the time go? [14] – A Testing Landscape [15] – 8 Layer Model for Exploratory Testing [16] – Silent Evidence in Testing [17] – Etc. • Mostly improvements, not innovations?
  • 8. Summary Is there any consensus in the testing world? • Testing requires qualified professionals that take ownership – Hiring many unqualified testers will only result in higher costs and waste • Reduce the time spent on useless artefacts, either by tool support, or by removing them completely • Always look for a way to support your testing activities with tools – not only test execution • Everything is risk-based! The more data you have (qualitative or quantitative) the better! • Mindless automation is not valuable • Manual scripted regression testing is not an effective way to find bugs – There should always be a good reason to run scripted manual tests, like specific legal or customer requirements • Customer involvement is important – both as input and as live user testers • Focus on testing in agile projects
  • 9. Reference [1] Testing 2.0 http://googletesting.blogspot.se/#!/2012/08/testing-20.html [14] Where does all the time go? [2] Orchestrating Test Automation http://www.developsense.com/blog/2012/10/where-does-all-that-time-go/ http://angryweasel.com/blog/?p=496 [15] A testing landscape [3] Oops I did it again http://www.shino.de/2012/11/07/a-testing-landscape/ http://angryweasel.com/blog/?p=432 [16] 8 Layer Model for Exploratory Testing [4] Exploring Test Automation http://angryweasel.com/blog/?p=412 http://www.shino.de/2012/03/23/testbash-an-8-layer-model-for-exploratory- [5] Exploring Test Roles testing/ http://angryweasel.com/blog/?p=444 [17] Silen Evidence in Testing [6] How do Google Test Software – Part 2 http://testers-headache.blogspot.se/2012/03/silent-evidence-in-testing.html http://googletesting.blogspot.se/search?q=test+roles#!/2011/02/how-google- tests-software-part-two.html [7] API Testing – How It Can Help http://www.testingmentor.com/imtesty/2011/12/01/api-testinghow-can-it-help/ [8] Design for *GUI* automation http://angryweasel.com/blog/?p=332 [9] How Google Tests Softwre – Part 5 http://googletesting.blogspot.se/search?q=exploratory+testing#!/2011/03/how- google-tests-software-part-five.html [10] Context-driven Testing http://context-driven-testing.com/?page_id=9 [11] Context-driven Testing is not a Religion http://context-driven-testing.com/?p=23 [12] 37 Sources for Test Ideas http://thetesteye.com/blog/2012/02/announcing-37-sources-for-test-ideas/ [13] The Scripted and Exploratory Testing Continuum http://thetesteye.com/blog/2012/01/the-scripted-and-exploratory-testing- continuum/