Wednesday 20 March 2013

Creative and Critical Thinking and Testing Part 4

The previous articles in this series have looked at what is critical and creative thinkingdefining the stages of testing and looking at the thinking required for documentation review.  This article looks in depth at the test planning stage and the style of thinking that may be best for this stage as described in the diagram from the first article of this series

Test Planning

The traditional approach to test planning has involved mapping requirements to test cases and creating test scripts with steps and expected results.  This activity has started to be replaced with the use of automation especially using frameworks such as cucumber and behaviour driven development  methods.  In conjunction with this testers use the exploratory testing approach of creating charters and missions to create test ideas. During test planning testers should be primary using creative thinking with some critical thinking.

Since the cognitive outcomes are dependent on thinking of ideas, new things/ways to test then the best way to achieve this is by the use of creative thinking.  Testing is very good at finding ways in which the software does not work and our role is to exercise the software the best we can and by planning at a high level novel and interesting ways to do this based upon our skills, knowledge and experience is a good exercise in creative thinking.

There is some overlap here with test execution since when we test we find more to test and whilst following our mission find more creative things to do.

So to encourage our creative thinking we need to use tools and approaches that are more suited to this way of thinking.

Mind Maps

One way to do this is to not have too much structure and allow the person to be able to follow their creative processes.  The use of mind maps allows people to capture their thoughts and ideas.  They then can amend, group, ungroup, change the information they have thought about in a way that encourages and follows their creative thinking process.  It provides a visual reference of their ideas and allows them to see a bigger picture. There are many articles here, here and here on the use of mind maps to aid creative thinking but to quote from one
“Mind mapping is one of the most powerful tools for capturing and cultivating ideas” Mind maps and creative thinking 
Currently the majority of teams, I have been involved with, are working with Freemind as the de-facto tool for mind mapping within the organisation.  There are a great many articles on the use of mind maps for test planning and for those interested you can read more here, here and here.

During the planning stage there are occasions when you suddenly become blank and cannot think of new things that you plan to test.  This happens in all creative activities (commonly known as writers block) however there are tools and techniques that can help to overcome and that is what we shall look at next.

Checklists and cheat sheets

One thing that can help generate ideas is the use of checklists and cheat sheets.  There are many examples of these within testing and a few that can be recommended are:

Brainstorming

There are arguments for and against using brainstorming for improving the creative process.  However the research appears to side with the fact that collaboration with others can has a positive effect on creativity as long as the people involved encourage and support rather than criticize and say negative things.  It has to be handled in a sensitive way for collaboration to work when thinking creatively.   It is important for creative to work correctly to be in a creative environment and there are many articles giving suggestion on how this can be achieved (Creating a creative environment for braining storming), (Creating innovate workplaces).   The benefits are that another person’s perspective can trigger a new path to follow or spot something you may have missed or does not make sense.

If you are asked to review someone’s creative work and ideas you have a vital role to ensure you do not become too negative and support and encourage their ideas.  It is very easy to squash someone  creative side by using negative throwaway comments.  I am not saying there is no need for debate and discussion but it needs to be discussed with empathy and respect.

There are some interesting articles about feedback and they can be found here, here and here.

Test Tours and Personas

Within testing there is a concept of testing tours which have been around for quite a while and they can prove useful for helping to drive creativity by placing .  They are many useful tours which can help you think about a certain function or feature and find novel ways to test it.  Some examples include:
  • Documentation Tour: Look in the on-line help or user manual and find some instructions about how to perform some interesting activity. Do those actions. Improvise from them.
  • Feature tour: Move through the application and get familiar with all the controls and features you come across.
  • Obsessive compulsive tour: Perform tasks multiple times, perform tasks multiple times, perform tasks multiple times
  • Back alley tour: Test the least-used features
  • Testability tour: Find all the features you can use as testability features and/or identify tools you have available that you can use to help in your testing.
  • Continuous Use: While testing, do not reset the system. Leave windows and files open. Let disk and memory usage mount. You’re hoping that the system ties itself in knots over time.
There are many more and I have provide some links to them here , here, here and here.  These can be used during the planning stages to help you focus on certain areas and with creative thinking devise novel ways to ‘tour’ around the application

Testing personas are fictional people who represent a typical type/group of users who will use the software.  When you are thinking creativity you can come up with many different types or groups of people and then note some ideas of how that persona would test the software. Similar to testing tours there have been many articles on using and creating testing personas.  Some of which I have added here:
There are unlimited personas that can be created and you are only limited by your imagination and hopeful these references will provide you with enough information to create your own.

The “what if” question


One find way to help generate ideas for testing is to ask yourself questions in which you do not know the answer but think there would be benefit in finding out the answer.

For example:
  • What if I tried this?
  • I wonder what would happen if I did this?
  • What if there was no (add your own word here)?
  • How many ways can I do this?
  • Can I make it do the opposite?
  • Is there anything that I can change that may affect the software?
These are good starting points if you feel you are running out of ideas and can help create opportunities for more avenues to explore.

Automation

One part of the test planning is to see what information you already know about and look at ways to automate this using BDD or any other method that works for you.  You need to use critical thinking to see which of your creative ideas would be most suitable to automate and look at creating a list of these possible automation opportunities.

Critical thinking of creative ideas


One important note to make about creative thinking is that once you have created your ideas you must then use some critical thinking to ensure that your ideas are sound.  As Ken Robinson points out in his book “Out of our minds”

“Creativity is not only about generating ideas; it involves making judgements about them. The process includes elaborating on the initial ideas, testing and refining them and even rejecting them, in favour of others that emerge during the process.” (Our of Our Minds - Ken Robinson)

The next article will look at test execution and the thinking style that might be best for that.

*Oops - Had to do some editing of the article and add some references that were missing.

No comments:

Post a Comment