The last exciting era in testing was in the late ‘90s when the web turned technology on its ear, the agile movement overthrew our processes, and the rise of open source gave us accessible and innovative tools. However, since then, Jonathan Kohl finds it has been a lot of the same-old, same-old: more web applications, variants of agile, and testing tool debates. After a while, you start to feel like you’ve “Been there, Done that, Got that t-shirt.” However, testing doesn’t have to be a rehash of all the things you’ve done before. It is an exciting time to be a tester! Major changes are happening all at once. Smartphones and tablets have upended computing. Continuous release movements like DevOps are challenging our processes. BigData, the Cloud, and other disruptive technologies are fostering the development of new tools. These innovations are pushing testers in new directions. While this upheaval is challenging, it also offers enormous opportunity for growth. Jonathan challenges you to embrace these changes—and have fun doing it. Discover today’s amazing new opportunities, and how we can learn, adapt, and ride the wave.
3. Welcome to the Paradigm Shift
“We shape our tools, and thereafter they
shape us.” –Marshall McLuhan
3
4. Forces for Change from the Past
❯Traditional QA process: 1970s
❯Test case management tools: 1980s
❯The World Wide Web: 1992
❯Scrum: created in 1992
❯GUI Automation tools: 1990s
❯Agile methods: 1990s-early 2000s
❯Exploratory Testing: coined in 1987
4
5. New Forces of Change
❯Mobile devices: smartphones, tablets,
apps and wireless infrastructure
❯The Cloud: utility computing distributed
geographically for low cost
❯BigData: noSQL, different tools, models and
enormous scale of queries
❯DevOps: combine development and
operations teams.
– Themes: continuous releases, little regression
testing, tools to test in production
5
6. Combining Technologies
❯Pervasive computing:
– Devices everywhere, embedded within our lives
in the real world, not just an office or home
❯Personalized computing:
– Content and processing dependent on
location, activity and demographics
❯Enormous scale:
– Scalability, performance are vital
❯Usability, Privacy and Security:
– Embedded technology can cause more harm
6
7. New Testing Pressures
❯Technology
– More technical skills, new technologies to learn
❯Tools
– Old tools don’t work as well, new areas have
poor tool support
❯Process
– Enmeshed with other teams, more
troubleshooting and monitoring required
❯Test execution:
– Computing is context and people-dependent,
so our testing needs to reflect that
7
8. “Testing has to Adapt”
❯To technology changes
❯To new methodologies: Agile, Lean,
kanban, others
❯To different styles of working and
tools
❯To different terminology
❯To different products, expectations
and consumer behavior
8
9. A New Era for Testing
It’s the end of the (testing) world as we know it!
❯Less individual testing
– New technology depends on distribution and user
collaboration in different locations worldwide
❯No more “black box”
– Pervasive technology requires knowledge of new
computing devices, sensors, communication,
wireless and distributed computing
❯New productivity tools
– Need to support testing on the move, and
distributed collaboration, rich system information
9
11. Testing Loses Out
❯People don’t want to test, so it gets
outsourced:
– To tools
– To other people
– We lose jobs, lose new entrants into the field
❯Viewed as a drag on productivity:
– “Testing is always behind.”
– “Testers just test what we tell them to – they
don’t provide value.”
11
12. We Follow Rather than Innovate
❯What we do is dictated by others
– Tradition: test the way it has always been done
– Programmers: automate it!
– Managers : count the test cases
❯Our tools aren’t compatible with new
technology and methodologies
– Test case management systems & mobile
– Test cases and Agile methods
– Regression automation rather than real world
conditions and distributed testing
12
13. Profession Loses Credibility
❯Rather than deal with what people dislike
about testing and address that, we will
continue to lose out:
– Why would I want to go into testing? It looks
boring and the tools are outdated.
– I see no career path here – management
doesn’t value testing enough to invest in it.
– Why should we help the testing team when
they get behind? I’d rather do anything else.
13
16. Game Definition
❯“All games share four defining traits: a
goal, rules, a feedback system and
voluntary participation” – Jane McGonigal
[1]
❯“A situation involving conflict and cooperation.” – McFadzean/Kohl
[2]
❯“Games make us happy because they are
hard work that we choose for ourselves.”
– Jane McGonigal
[1] Reality is Broken, McGonigal, Jane. 2010.
[2] The Software Development Game,
McFadzean, Kohl. 2012. Better Software
Magazine.
[1]
16
17. Gamification Happiness Goals
❯More satisfying work
– It feels good to work hard at testing
❯Hope of success
– My testing work matters to me, my team and
our customers
❯Social Connections
– I don’t feel alone, I am part of a team who is
learning together
❯Meaning in what we do
– My contributions matter to the success of our
products
Reality is Broken, McGonigal, Jane. 2010.
17
18. Idea 1: Alternate Reality Games
❯Taking game mechanics and applying
them to the real world
– Chore Wars: makes household chores a fun
activity
– Super Better: helps people assist you when
recovering from illness
❯We can do this in testing as well
– If we do it right, you won’t get distracted by the
gaming aspects, you’ll just have a different
approach
Reality is Broken, McGonigal, Jane.
2010. ch. 7
18
19. Idea 2: Bring Reality Into Games
❯Solve real-world problems within video
games:
– e.g. Anna Sort’s World of Warcraft Diabetes
Mod
❯Distribute basic testing to gamers
– Utilize location and distribution to find out
important information such as Yes/No tests
– Integrate a test task within a game quest
Designing Games as a Nurse, Sort,
Anna. 2012. Games for Health Europe
19
21. Use Intrinsic and Extrinsic Rewards
❯Exploratory testing: qualitative focus.
Reward is based on approach, testers
have reasonable amount of choice and
autonomy in work.
❯Scripted testing: quantitative focus.
Reward based on coverage. Very little
choice in what to test, regression-heavy.
❯Gamified testing: – blend the quantitative
and qualitative while creating an effective
approach that works for you.
21
22. Quality Discoveries – Epic Wins
❯There is joy
and incredible
value in
discovering
important
issues in the
software we
test.
Epic Win – Reality is Broken,
McGonigal, Jane. 2010. pp. 247-48
22
24. Test Quests
❯Create a challenge for testers
❯Adventures rather than coverage
❯Share information, visibility on coverage and
progress
❯Extrinsic and intrinsic rewards
❯Can contain:
–
–
–
–
–
Tests
Tasks
Tours
Sessions, threads, etc
Anything useful for testing
24
25. Test Quests
1. Goal statement (what we intend to
accomplish)
2. Why the goal matters (why are we doing
this?)
3. Where to go in the application (what
technique or approach are we using to
test?)
4. Instructions (not detailed steps, but enough
guidance to help)
5. Proof of completion (how do you know
when you are finished?)
Quests – Reality is Broken,
McGonigal, Jane. 2010. pp. 56-57
25
26. Guidance
❯Test plans, strategies
❯Video demos and activities
❯Documentation:
– How to and other guides
– Coverage models
– Checklists
– Mind maps
❯Utilize and exploit technology provide
enough guidance to be effective, but not
so much to crush creativity and choice.
26
27. Rewards from Games
❯Leveling up
– Provide experience points for those who have
completed testing activities
❯Character growth
– Developing your skills personally and professionally
❯Completion
– Visible progress on testing and coverage
❯A meaningful test approach
– We don’t have control over bug finding, so reward
testers for having a great methodology
❯Make difficult tasks fun
– Extra rewards for regression testing, maintenance
work, and anything unpleasant
27
28. Social Interactions
❯Mentoring and guidance
❯Healthy competition
– Fun collaboration
❯Knowledge and information exchange
with technology
– Video, chat, social networking
❯Harness people’s talents physically and
virtually to help complete quests
– Collaborate to get there faster
28
29. Use of Tools
❯Gain visibility into what is being done
– Like heads-up displays in games
❯Understand progress and quality
information at a glance
– Visible, simple dashboards
❯Use automation and other tools to help
testers do more
– Tools to help us have more power like weapons,
vehicles and magic in games
29
30. Ideals in Testing
❯Many epic wins – extraordinary positive
outcomes
❯Epic meaning – feel capable and inspired
❯Urgent optimism – work to find those wins
❯Blissful productivity – people work hard if it
makes you happy
❯Strong social fabric – we can build bonds
of trust and co-operation
❯ We can create the testing future we need.
Gaming can Make a Better World,
TED Talk. McGonigal, Jane. 2010.
30
31. Create New Tools to Shape Us
It’s time to create a new model of testing
that is effective, engaging, and fun.
31