cool! testing's getting fun again - stickyminds · – new technology depends on distribution...
TRANSCRIPT
K3 Keynote 4/11/2013 8:45 AM
"Cool! Testing's Getting Fun Again"
Presented by:
Jonathan Kohl
Kohl Concepts, Inc.
Brought to you by:
340 Corporate Way, Suite 300, Orange Park, FL 32073 888-‐268-‐8770 ∙ 904-‐278-‐0524 ∙ [email protected] ∙ www.sqe.com
Jonathan Kohl Kohl Concepts, Inc.
Jonathan Kohl is an internationally recognized consultant, technical leader, and popular speaker based in Calgary, Alberta, Canada. The founder and principal consultant of Kohl Concepts, Inc., Jonathan assists teams with testing, helps companies define and implement their ideas in products, coaches practitioners as they develop software on teams, and works with leaders to help them define and implement their strategic visions. As a thought leader in mobile application testing—with a newly published book Tap Into Mobile Application Testing, Jonathan develops policy and strategy, helps teams adjust to methodology changes, and actively works with teams to deliver the best possible products.
2/5/13
1
Cool! Testing’s Getting Fun Again
Jonathan Kohl [email protected]
www.kohl.ca @jonathan_kohl
1
Author:
2
Contributing Author:
http://leanpub.com/testmobileapps
2/5/13
2
Welcome to the Paradigm Shift
“We shape our tools, and thereafter they shape us.” –Marshall McLuhan
3
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
2/5/13
3
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
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
2/5/13
4
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
“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
2/5/13
5
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
2
Problems With The Status Quo
10
2/5/13
6
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
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
2/5/13
7
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
3
Improve Testing Engagement:
FUN!
14
2/5/13
8
Reinvent Reality to be More Like a Game
15
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 co-operation.” – McFadzean/Kohl [2]
›❯ “Games make us happy because they are hard work that we choose for ourselves.”
– Jane McGonigal [1]
16
[1] Reality is Broken, McGonigal, Jane. 2010. [2] The Software Development Game, McFadzean, Kohl. 2012. Better Software Magazine.
2/5/13
9
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
17 Reality is Broken, McGonigal, Jane. 2010.
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
18 Reality is Broken, McGonigal, Jane. 2010. ch. 7
2/5/13
10
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
19 Designing Games as a Nurse, Sort, Anna. 2012. Games for Health Europe
4
A Gamification Model
20
2/5/13
11
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
Quality Discoveries – Epic Wins
›❯ There is joy and incredible value in discovering important issues in the software we test.
22 Epic Win – Reality is Broken, McGonigal, Jane. 2010. pp. 247-48
2/5/13
12
A Gamified Model of Testing
23
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
2/5/13
13
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?)
25 Quests – Reality is Broken, McGonigal, Jane. 2010. pp. 56-57
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
2/5/13
14
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
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
2/5/13
15
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
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.
30 Gaming can Make a Better World, TED Talk. McGonigal, Jane. 2010.
2/5/13
16
Create New Tools to Shape Us
It’s time to create a new model of testing that is effective, engaging, and fun.
31
©2013 Kohl Concepts Inc.
32
Jonathan Kohl [email protected]
www.kohl.ca @jonathan_kohl