a new model for testing
TRANSCRIPT
Helping clients transform their testing through
INNOVATION, COACHING and LEADERSHIP
Our CLIENTS– Want to be agile rather than follow Agile
dogma– Have a pragmatic approach and are focused on
delivery– Want a solution that fits, not a badly fitting
suit.
Agenda• Innovations that Drive Change• 3 Patterns of Software Development?• A New Model for Testing• Some Consequences• Some Research• A New Test Process?• Close
What's happening?• Stampede to mobile computing -
Digital• Big Data• Internet of (Every)Thing, Pervasive
Computing• Continuous Delivery, DevOps• (Test) Analytics, Data-Driven
Development• Shift-left, embedded testers, no test
team• Did you really think Agile was the last
word?
Three Innovations That Are Driving
ChangeBeing agileShift LeftAnalytics
(Digital/IoT/IoE and others too, of course)
#1Agile doesn’t work
but being agile might
Agile is no longer "innovative"Challenging Agile and being
agile might beIs continuous delivery for
you?
Have you been Agiled?
#2Shift Left
Developers in test?Testers in development?
Automation, analytics, collaboration, experimentation
#3Test Analytics
Shift-Right?Analytics from production
Analytics from testAn opportunity for testing
There are three patterns, not just two• Many ‘new’ approaches are labelled 'Agile'
but– They aren’t Agile, they just work– Aimed at factory workers, not knowledge
workers• Continuous-delivery approach is appropriate
for rapid-delivery into online/mobile systems• CD advocates often have an Agile
background, so you might think CD is Agile• Not so.
Intelligent Definition and Assurance Slide 10
Three development patterns
Intelligent Definition and Assurance Slide 11
Structured
Agile Continuous
Goal-Bas
edHi-Process
Autonomous
Key pattern characteristicsCharacteristic SummaryStructure Structure of the project team
Pace/cadence What drives the rate of decisions making?
Leadership How is the team managed/directed?
Definition In what format is requirements knowledge captured?
Testing How is testing (mostly) performed?
Auto. Test When are automated tests created? Who leads?
Measurement What/how is project measurement performed?
Governance What form does governance take?
Intelligent Definition and Assurance Slide 12
All models are WRONG, some are USEFULNeedless to say, I’ll be generalising quite a lot
Profiles of the three patternsCharacteristic Structured Agile ContinuousStructure Managed team Autonomous Production Cell
Pace/cadence Business decision Team decision Feedback
Leadership Project Managed Guided Research Line Managed
Definition Fixed spec Dynamic spec Live Specs
Testing Scripted Exploratory Automated
Auto. Test Retrospective Developer led Pervasive
Measurement Pervasive Avoided Analytics
Governance Bureaucratic Trust-based Insight-Driven
Intelligent Definition and Assurance Slide 13
From high process to DIY process• In the past, high process was seen to
be the technical solution to the software problem
• But technical solutions cannot solve human problems
• True agility means a team can adapt or select its process on-the-fly
• We need to strip down our thinking to the essential aspects…
Forget Logistics(for the time being)
Document or not?Automated or manual?
Agile v waterfall?This business or that
business?This technology v that
technology?
ALL Testing is Exploratory
We explore sources of knowledge ...
... to build test models ...... that inform our testing.
Judgement, exploring and testing
Testing(the system)
Our model(s) are adequate
Our model(s) are not adequate
Exploring (sources) Judgement
Creates testmodels
Uses testmodels
We explore sources of knowledge to build test models that inform our testing
BTW – Do Developers explore the same way? I think so.
Exploration process
ExplorationDefinitions specs/stories
People(& you)
Sources
Require-ments
TestModels
Enquiring
Challenging
Sources:People, documents,experience, system under test
Modelling
Test Models:Can be documented
or mental models
Predicting
System under test
Testing process
TestingSystem
Under Test
Refining
Informing Applying
Interpreting
TestModels
Revise the System
Logging Revis
ing
More exploring Reporting
New Model Testing
My BBC talk: http://www.bbc.co.uk/academy/technology/article/art20150522113029398 29 page paper: http://dev.sp.qa/download/newModel
Test automation from a different
perspectiveAutomation efforts fail too oftenAutomation uses different test
models
Capabilities
Enquiring, Modelling, Predicting, Challenging
Informing, Applying, Interpreting, Refining
Reporting and Logging
• Analysis, enquiry and elicitation• Modelling• Creation of custom models, using
heuristics, guesses, brainstorming, ideation, creative thinking
• Custom test design techniques• Comparison of models, value,
advantages, disadvantages, compromises
• Identification, validation and use of oracles
• Predicate logic and proof• Hypothesis and inference• Socratic method• Rapid Review and Inspection
techniques• Test case design• Test models and the meaning of
coverage• Testing as controlled experiment• Observation, Note taking,
recording
A very different skillset• Basic data analysis and statistics• Decision-making with
incomplete data• Computer forensics• Fault tree analysis• Failure diagnosis• Bug advocacy, triage processes
and negotiation• Meaningful software and test
metrics• Visual presentation of data• Reporting and presentation skills• Understanding stakeholders• Test analytics• Risk management, risk-based
testing and decision-making• Critical Thinking• Interpersonal skills• Dealing with
uncertainty/fallibility
Testing Career Development(speculative)
Foundations
Technical
Management
StrategicTest Strategy Project
IntelligenceTest Assurance
Exploration Forensics Interpretation
Scripting/Programming
Test Automation Technical (Excel, SQL, OS utils etc)
Stakeholder management
Analytics & visualisation
Managing uncertainty
Critical Thinking
ISTQB, TMMi etc...
Supplier Management
Test Process Management
Methodology
Will Robots Replace Testers?
Some research
There is a paper at: https://tkbase.com/resources/viewResource/14
A recent study*…• Over the next two decades, 47% of jobs in the
US may be under threat• It ranks 702 occupations in order of their
probability of computerisation– Telemarketers: 99% likely– Recreational therapists: 0.28% likely– Computer programmers: 48% likely
• Something significant is going on out there• If programmers have a 50/50 chance of being
replaced by robots, we should think seriously on how the same might happen to testers.
* “The future of employment: how susceptible are jobs to computerisation?”http://www.oxfordmartin.ox.ac.uk/downloads/academic/The_Future_of_Employment.pdf
Intelligent Definition and Assurance Slide 32
Some systems-related occupations
Intelligent Definition and Assurance Slide 33
Occupation Rank (out of 702)
Probability of Computeris-ation
Computer and Information Research Scientists 69 1.5%
Network and Computer Systems Administrators 109 3.0%
Computer and Information Systems Managers 118 3.5%
Information Security Analysts, Web Developers, and Computer Network Architects
208 21%
Computer Occupations, All Other 212 22%Computer Programmers 293 48%Computer Support Specialists 359 65%Computer Operators 428 78%Inspectors, Testers, Sorters, Samplers and Weighers
670 98%
The term Test Automation misleads• It misleads as a label because the
whole of testing cannot be automated
• The label is bad, but the scope of Test Automation is what I call ‘Applying’ in the New Model
Intelligent Definition and Assurance Slide 35
Testers need Thinking Tools• There are ten testing activities in the New Model– Test automation tools only support one: ‘Applying’
• The remaining nine activities (information gathering, analysis, modelling, challenging, test design and so on) are not well supported
• All require some level of thinking and skills• Checking is possible when a system and its
purpose are well understood and trusted• Test automation tools are simple in principle…
… compared to the rest of the test process.
Intelligent Definition and Assurance Slide 36
Four quadrant model of intelligent test tools
Ability to Investigate
Abili
ty to
Cap
ture
Kno
wle
dge
• Text editors, Screen Shots
Models, visualisations, relationships, transformations
• Note Takers
• Mind Maps
• UML/Case Tools
Control, imagination, discernm
ent, foresight
• Pencil and paper, sketching tools
Intelligent Definition and Assurance Slide 37
Cervaya™Tool Architecture
A nine month bot journey(But it’s been a twenty year
testing journey so far)https://huddle.eurostarsoftwaretesting.com/resource/test-management/new-model-testing-new-test-process-tool/
Intelligent Definition and Assurance
The vision thing• I want a bot partner/pair that supports
exploratory testing• You know my view (model)
of testing already• Can we use the explore v test paradigm in a bot
that allows you to:– Explore, take notes and model– Record ideas, risks, tests, outcomes and bugs– Generate reports and documentation as a
consequence, rather than requiring you write them• Codename: Cervaya (cervaya.com is a holding page for now)
Slide 40
Schematic
Intelligent Definition and Assurance Slide 41
Schema ServerSchema
Manager(web site)
Schema Repository
(web service)
Cervaya Bot ClientRobot Engine
Cervaya Server
Actions(web services)
Application Web Site
Speech Recognition
Interface
Command Line
Interface
Administer Schemas through the Web
DownloadSchema Perform Robot
Actions through services
Application Reporting, Monitoring, Control,
Management
Many App Servers – one (or many) per Schema
robotschemascervaya
The target user is…• (Not really a freestyle exploratory tester
working in a start-up or small product company)• Target users are testers working in:– Regulated, high-integrity, safety critical– High documentation, high accountability– Environments where testers are constrained by their
processes– Testers struggling to apply ‘trad’ methods in an
Agile, Digital, DevOps environment• Why can’t we dictate a detailed test plan for a
bot to document, analyse, visualise?
Intelligent Definition and Assurance Slide 42
The location hierarchy• Explorers create maps (or should do!)• The system model/map is a hierarchy of
locations as follows:• Application– Places
• Features– Forms
» Fields• All other content is located with respect to
some level and location in the system model.
Intelligent Definition and Assurance Slide 43
Exploration support• Frustration:
– testers are unimaginative, working by-rote– constant pressure to cut costs
• Productivity of exploratory testing is proven• Testers want to explore, but the need for control and
documentation constrains them• Testers needs tools that can capture plans and tester
activity in real-time• The next generation will be led by tools that support
the exploration of sources of knowledge• These tools might use a “Surveying” metaphor.
Intelligent Definition and Assurance Slide 45
Staged ProcessSystem Testing Re-Test
Big, up-front Test Planning
RegressionTestDevelopment
Automation
From Staged to Continuous
Scoping exploration sessions
Interactive Testing Sessions
Clarifications
Continuous Integration
ChangesRefinements
Continuous Dev, Test and Delivery
Bot Supported
Bot Supported
Speech recognition, text to speech• Right now, I’m using:– Google Speech Recognition (a slow web service)– pyttsx a Python Text to Speech module (depends on
pywin32-extensions for Windows)• I’m looking at Amazon Alexa as an alternative– https://www.youtube.com/watch?v=hPXS7rC1PWo– Alexa is the web service, Echo Dot is the latest
device that captures and synthesises voice– It promises to be a lot faster (and it works better).
Intelligent Definition and Assurance Slide 48
Real-Time test management• Once you have a shared system model:– The activity of the team can be visualised in real-
time– Tester activity: visible – testers liaise when
necessary– Test paths through the system map can be traced
• Developers can also see progress and requests for more information in context:
• Cervaya has an integration with Slack:– Model changes, additions, queries, test failures
can be posted to Slack/ChatOps service.
Intelligent Definition and Assurance Slide 49
From Staged to Continuous Testing• Waterfall projects create, execute tests in stages• Shifted-left testers can:– Model features as they are created by the developers– Create accurate tests a low level as the functionality
emerges over time– End to end tests use low-level tests as building blocks
• Tests and test run histories are manage against versions (and platforms/environments soon)
• The aim: to export tests as soon as practical to be automated to provide continuous feedback.
Intelligent Definition and Assurance Slide 50
Testing Styles, Approaches“Structured/Waterfall/ Staged” Testing• Systematic• Transparent, Documented• Reviewable• Auditable• Repeatable, measurable• Automatable• Inflexible, not responsive• Obsolescent/inaccurate
documentation• Prone to biases, inattention• Outdated process• Expensive, Inefficient• Unimaginative, boring
“Exploratory” Testing• Agile (with a small ‘a’)• Improvised, imaginative• Flexible and responsive to change• Faster, cheaper• More effective• Personally enjoyable• Not repeatable• Not easily automated• Little or no documentation• Hard to manage• Hard to scale• Opaque• Not auditable, measurable.
Intelligent Definition and Assurance Slide 51
We need to change the testing metaphor
Surveying and testing – the new process?• The “tester as surveyor” affects the
relationship of testing to development• A new style of testing process emerges:– No more documentation created in a knowledge
vacuum– Iterative, incremental knowledge capture closely
aligned with the emergent delivery of functionality• Could this be an Agile test process at last?• It fits the increasingly popular Continuous
Delivery, DevOps development approaches.
Intelligent Definition and Assurance Slide 52
New Model Testing changes what
testers & developers need to
learnRoles of developers/testers become
blurredPerhaps they are not different disciplines
after all?Why have a tester certification?
The phase after development is REWORK, not
TestingTesting must align with
development, not compete with it or rescue it