Showing posts with label book. Show all posts
Showing posts with label book. Show all posts

Sunday, 8 February 2015

Preview of Next Chapter of Book - Critical Thinking

It has been awhile since I posted here.

The majority of my spare time has been spent writing my book. The Psychology of Software Testing.

So for you loyal readers here is an extract from the latest chapter which has been published today.

___________________________________________________________________

Critical Arguments

Whilst researching critical thinking there were many examples of using arguing to become a better a critical thinker.
An argument:
A set of propositions of which one is a conclusion and the remainder are  premises,intended as support for the conclusion.” Boswell, Tracy - Critical Thinking: A Concise Guide
The word ‘argument’ can have negative connotations to some, including myself. Many people try to avoid conflict and argumentative situations, especially in public and can become fearful of not being a critical thinker. Arguing in the context of critical thinking does not mean you have to be loud, confrontational or aggressive. When someone presents a statement to you, they are attempting to persuade you and make you believe that their statement is factual and truthful. Critical thinking is asking questions about the statement and presenting arguments as to why the statement may not be truthful or factual. Hopefully this will allow you, the reader, to see the word ‘argument’ in a less negative way.

Gregory Bassam gives the following definition of a critical thinking argument:

“When people hear the word argument, they usually think of some kind of quarrel or

Therefore in critical thinking terms an argument is simply a claim. A claim is a statement or sentence that you can turn around and ask “Is that true?”
“One way to determine whether or not a sentence expresses a claim is to use the phrase It is true that . . . before the sentence. Notice, “It is true that the sun is in orbit  round Earth” makes grammatical sense, but “It is true that turn in your homework”  oes not.” Jackson, Debra - Critical Thinking a User’s Manual pp13
Claims can be of two types:

  • descriptive in which they describe a situation
  • evaluative where they make a judgement, normally seen as opinions.

Opinions can be harder to be seen as claims and to work out if the person is making truthful  statements. In some situations opinions can appear to have no right or wrong answer. In this situation, look for other claims being made to support this opinion to see if there is anything else which  upports their judgmental claim. People who offer further claims to support their opinions are treating others as rational, responsible, and most importantly, with respect.

One aspect of critical thinking that needs to be promoted is ensuring that when you are engaged in critical thinking arguments with others, there is a ‘safe’ environment in which people can freely express their thoughts and ideas and be able to challenge. This should be done without people having a fear of being unjustly treated or becoming a personal attack on those involved in the critical thinking exercise. Be mindful of this when you are engaged with others in critical thinking arguments.

A key skill for being a good critical thinker is to also be a good critical listener.

To quote Harriet Lerner:
“If we would only listen with the same passion that we feel about wanting to be heard.” Marriage Rules, Lerner, Harriet 2012
Listening to others intensely gives you the opportunity to observe and hear what others are saying, which may give you more information than if you are talking over everybody else. 

Critical thinking requires you to ask questions, listen carefully and determine the truth. Critical thinking does not mean arguments with others It could be internal with yourself. Being critical to yourself is a great way to practice being a critical thinker and in a safe environment.

Deductive and Inductive Reasoning

Taking the example of earlier that there are two types of claims we can reclassify these as either deductive or inductive claims.

Premise can be defined as:
Premises are statements in an argument offered as evidence or reasons why we should accept another statement.
The majority of our thinking is inductive in which the statements we make we feel are true, but cannot provide evidence that it is absolute truth. For example, the following statement:

“Banning people from buying guns will reduce the amount of gun crime”

Is this statement based upon deductive facts or is it based upon inductive reasoning?

We can gather statistics from gun owning countries and compare to non gun owning countries and  see the statistics for gun crime. The probability that non gun countries gun crime rate is low indicates that the statement we made has a high probability of being correct. Therefore it is an inductive claim.

An example of a deductive claim is:

“The earth revolves around the sun.”

We can back this up with evidence which proves this claim to be true.

It is important when engaging in critical thinking to determine what type of claim is being made. If it is supported with facts then it is deductive else if it is based upon probability then it will be inductive.

_______________________________________________________________________


As a bonus for taking the time to read my blog for the next 48 hours (Midnight GMT  - Tuesday 10th Feb 2015) you can purchase the book for $6.99 instead of the current price of $10.99

Use the following link for this offer.





Monday, 12 January 2015

Published Articles

One of the many reasons why I have not been updating this blog as frequently as normal is due to working on articles for other publications.

Over the past couple of months I have had the following articles published:

Stickyminds




The Testing Planet




The other reason for not updating as frequently  has been the time and effort required for writing my book on psychology and software testing.  When I first started on this writing journey I never thought it would require as much time and effort as it had.  The naive me thought the book would be done within a year!  At the same time writing the book has and still does give me immense enjoyment and as a complete each and every chapter a sense of achievement.

Tuesday, 6 January 2015

Update and Plans for 2015

I noticed that it has been awhile since I last posted on my blog, since then I have had an article published in Stickyminds about the role of Testers in Agile Environments.

The end of 2014 was a little bit crazy, I ended up in hospital for a few days towards end of November and only really started to recover just in time for Christmas.

So my plans for this year are in the short term get the next chapter of my book, about critical thinking,  completed.  Hopefully this is the year I get the book fully completed, when I first started writing the book I thought I would have had it completed within a year.  How wrong was I! I find writing the book to be rewarding and therapeutic but at the same time I put pressure upon myself to get it completed.  Once I have finished my book writing journey I will add a longer post here about the journey.

The book "The Psychology of Software #Testing" is available here.

I have other plans for this year including a few blog articles that I intend to complete,with the following provisional titles:


  • Code Coverage is Not Test Coverage
  • Note Taking and Cornell Note Taking
  • How We Learn (based on upcoming workshop for Lets Test 2015)
  • Asking the right questions


I will also be speaking at a few events this year.



I hope to see both new and old friends at these events and if you do see me please come and say hello.

PS - I will have an article published in Testing Planet Magazine soon on an alternative coding approach for testers. 


Tuesday, 30 September 2014

Latest Chapter of Book Published - Being Creative

I have published the latest chapter of my book The Psychology of Software Testing entitled 'Being Creative'.  This has been one of the most enjoyable chapters I have worked on and one that I am very proud of.  The following is a short extract from this chapter.

_________________

What is Creativity

Creativity is just connecting things. When you ask creative people how they did something, they feel a little guilty because they didn’t really do it, the just saw something. It seemed obvious to them after a while."
 Steve Jobs - Wired Magazine

Many have a misconception of what being creative means.  Take a moment to note down some words that you feel describe creativity.

Did any of your words match the ones below?




Creativity can be all of these are more. It does not help that there are a variety of definitions of creativity for example:

"Creative thinking is the generation of new ideas.”

or

"Creativity is the ability to combine ideas, things, techniques or approaches in a new way." 

Doppelt gives a good reason why it is so difficult to define creativity:

"Creativity is one of the words in the English Language which means many things to many people.  At various times it may mean different things to the same person."Doppelt J E 2012. What is creativity?

There is no correct definition for being creative and that is wonderful in itself, since you have no barriers to being creative.

When we talk about creating ideas it does not necessarily mean creating or coming up with something new.  The idea  or concept you came up with is new it may not be game changing or revolutionary.  The majority of ideas come from existing ideas or a combination of different ideas to create a new idea.

Software testing involves large amounts of creative thinking and not just during the test planning phase.  When   testing software we use creative processes to discover, uncover and learn.  When testing we should utilize these natural creative processes to guide our direction and future opportunities to test.  The majority of testers do this without even being aware that this is happening.  If you are following a test script or a testing charter how often do you go off the beaten track because you thought of a new creative approach?

To put this in another way, how often do you find ways to test the software that is both novel and unique?  Capturing this creative process is useful since you then have a record of your thinking at that time, which can help to produce even more ideas.  The creative process is iterative and by creating new ideas you end up utilizing these ideas to create even more ideas.

______________________


This chapter also includes some extras
  • Creativity Cue Cards
  • Software Testing SCAMPER poster
  • Software Quality Characteristics Poster
  • A JavaScript ideas generator
I will be presenting some of this material at the London Tester Gathering Workshops:

Creative and Critical Thinking and Testing Workshop
Thursday 16th and Friday 17th October 2014

The Skills Matter eXchange
116-120 Goswell Road,
 London, 
EC1V 7DP, 
GB

Monday, 26 May 2014

First four chapters completed

As some of you may be aware I have been spending some time writing a book (http://www.steveo1967.blogspot.com.es/2013/12/writing-book.html) about psychology and software testing.  It has been a huge learning experience and at times I have questioned myself on if this is something that people really want and more importantly willing to pay for.

I have kept pushing back the publishing date due to a number of reasons.  One of the main reasons has been do I publish early, even though the book is not complete at a discount price.  Since I am using LeanPub and can do this and get feedback on what i have done already.  Would people still be willing to buy a book that is not complete?  Having spoken to a few people there have been some mixed reactions.  Some people like the idea that they can get an unfinished book at a cheap price and then get the updates for free.  Others would rather wait and pay for a completed book.  So this dilemma has been running around my head for awhile now and even though I have about 30% of the book complete I was still reluctant to publish.

So it now comes to the reason for this post.

I have decided to go ahead and publish the first four chapters of the book.

These chapters include the following topics:
  • Chapter 1 Software Testing Biases
  • Chapter 2 An Emotional Rollercoaster
  • Chapter 3 The Fallacy of Intuition
  • Chapter 4 Quality Preference or Perception

I have another chapter on learning and training almost complete and once it has gone through the editing process it will be added to the published book.

As more of the book is completed I will be increasing the price by a dollar or two once a new chapter has been added.

Some of the topics (chapters) I plan to add in the future include:

  • Heuristics Good and Bad
  • Teamwork positive and negative
  • Building Passion
  • Automation: Machines and Humans
  • The Importance of critical thinking
  • System Thinking
  • Being Creative
Some of these are, at the moment, a dump of my thoughts and ideas, others are nearly completed chapters.

I do hope you enjoy the book and please provide me with feedback and I may give you a mention in the book..








Wednesday, 5 March 2014

Plans for this year

**UPDATED 24th March 2014

As some may have noticed I have not been as active with my blog as I normally would be, I do have a few articles on the back burner which I hope to flesh out over the next few months.  One of the reasons is that currently I am working away from home in our offices in Georgia, USA and this is taking a fair amount of my time.  At the same time I am still pushing ahead with writing my book, currently have the first four chapters almost complete and intend to publish these soon, give or take a month. It is proving a lot more difficult than expected but I do set myself difficult goals and targets.

I recently ran a workshop in Atlanta for the software testing club meet up which I felt went well.  Eric Jacobson did a great write up which you can read here.

I thought I would take this opportunity to give you an update on my current confirmed plans for this year.

  • First of all I will be running a creative and critical thinking and testing workshop in Madrid, Spain at the ExpoQA conference from the 26th to the 29th May 2014.  I will also be presenting a talk on 'Stop doing too much automation'. 
  • I have been selected to talk at the Agile Alliance Conference in Orlando, Florida, USA from the 28th July until the 1st August.  I will be talking about 'Taking Small Steps in a Big Organisation (An experience report on implementing ET)'.
  • I feel very fortunate to have been selected to run my creative and critical thinking and testing workshop at this years CAST conference in New York, which is being held from the 11th until the 13th August.
  • Finally Tony Bruce asked me if I would like to run the creative and critical thinking workshop for the next London Testers Gathering Workshops in London from the 16th until the 17th of October 2014, so I will be at that event as well.
Therefore you have plenty of opportunities to catch up with me at any of these events and I look forward to have some great discussions with other testers around the world.

Twitter Hashtags to follow for the events above:

  • #EXPOQA
  • #AGILE2014
  • #CAST2014
  • #LTGWorkshops
  • #ltgw2014


Thursday, 26 December 2013

Writing A book

I have decided that for the coming year I will be writing a book about software testing and psychology.  This has been on my list of things to do for awhile and I am now putting aside time to actually getting around to doing it.  As such I may not be updating my blog as much as I normally would over the coming year, well until the book has been completed.

If you are interested in have a look at a sample from the the book please visit the following page:  https://leanpub.com/thepsychologyofsoftwaretesting

You can download the first chapter as a sample for FREE.

Wednesday, 13 November 2013

Book Review - Explore it! by Elisabeth Hendrickson

The following is a review of the book Explore it” by Elisabeth Hendrickson
Elisabeth Hendrickson website
Having followed Elisabeth on twitter @testobsessed and used her test heuristics cheat sheet extensively  I was very excited when I found out that she was releasing a book about exploratory testing and I was fortunate to be able to receive an early ebook version.  The following is my review of the book and of the things I found interesting and that I hope others may find interesting.
The beginning of the book starts with an explanation of testing and exploration in which she mentions the debate on testing and checking  and to me this gives a good grounding of where Elisabeth sets the context for what follows in the book. I especially like the point she makes regarding the need to interact with the system:
Until you test—interact with the software or system, observe its actual behaviour, and compare that to our expectations—everything you think you know about it is mere speculation.
Elisabeth brings up the point of how it is difficult to plan for everything and suggest we plan just enough.  The rest of the first chapter goes into more details as to what are the essentials of exploratory testing and making use of session based test management.
One part of the book I found useful was the practice sessions at the end of each chapter to help you recap what was being explained within the chapter.  If you are the type to normally skip this kind of thing (like myself) on this occasion I would recommend that you give them a go, it really does help to understand what has been written in the chapter.
The next chapter introduces charters to the reader and for me this is the most useful and important chapter of the book.  It helped me to clarify some parts of the exploratory testing approach that I was struggling with and simplified my thoughts.  Elisabeth explains a rather simple template for creating your own charters.

Explore (target)
With (resources)
To discover (information)·

Where:
  • Target: Where are you exploring
  • Resources: What resources will you bring with you
  • Information: What kind of information are you hoping to find?
The rest of the chapter takes this template and using examples provides the reader with a way in which to create charters simply and in some cases quickly.  Along the way she introduces rules that one may wish to follow to avoid turning the charters in to bad charters. She also offers advice on how to get information for new charters (joining requirement/design meetings, playing the headline game) .
What, you do not know what the headline game is?  Well you need to buy the book to find out.
I have started to use this template to create charters for my own testing going so far as to add this template into the mind map test plans.  This to me was worth paying for the book just for this very useful and simple approach to chartering exploratory testing.
The following chapter takes you on the journey of the importance of being able to observe and notice things.  This is a key element of exploratory testing and looking for more things to test is a part of this.  Elisabeth talks about our biases and how easy it is for us to miss things and provides examples of how we may try and avoid some of them.  She talks about the need for testers to question and question, again to be able to dig deep and uncover information that could be useful. This chapter is useful for being able to uncover the hidden information and it suggest ways in which you can get more information about what you want to explore without the need for requirement documents.  This is important since it is better to have the skills that allow you to be able to ask questions
The next few chapters of the book look at ways in which you change or alter the system to undercover more information by means of exploration.  These chapters take the cheat sheet Elisabeth and others produced and add a lot more detail and practical ways to look at the system with a different perspective.  These chapters include titles such as:
  • Find Interesting Variations
  • Vary Sequence and Interactions
  • Explore Entities and their relationships
  • Discover states and transitions
A great deal of this is found in part two of the book and this section is something I repeatedly return to for quick inspiration of what I can do to explore the system more.  It gives some great techniques on how to find variants in your system and how to model the way the system is working.  It provides useful ways to help you find the gaps in your system or even in your knowledge.
In the middle of the book there is a chapter called ‘evaluate results’ whereby Elisabeth asks if you know the rules of your system.  If you do not then it would be useful to explore and find them.  She explains the meaning of rules using ‘Never and always’.  If you have a rule that saying it always should do this, then explore. The same for ‘never’ you can explore and uncover where these rules are broken.  This chapter also looks at outside factors such as standards, external and internal consistency.  All these are important when exploring the system and Elisabeth within the book reminds us in this chapter to be aware of such things.
The final section of the book is titled ‘putting into context’
In the chapter ‘Explore the ecosystem’ expands upon the ‘evaluate results’ chapter and now asks you to think about external factors such as the OS, 3rd party libraries.  Elisabeth gives a great tip in this chapter on modeling what is within your system and what is external and how they interface.  I have found this extremely useful to work out where I can control the system and where this is outside of my control.  Once this has been done, you can then, as Elisabeth suggests as the ‘What if’ questions of these external systems.  If you want to know more about these What if questions, again, I recommend reading the book.
Within here, Elisabeth gives advice on how to explore systems with no user interfaces.  For someone such as myself where there is very few user interfaces, I found a lot of useful information in this chapter.  Especially for making me think of ways in which I could manipulate the interfaces and explore the APIs.
Next Elisabeth talks about how to go about exploring an existing system and gives some great tips on how to do this such as:
  • Recon Session
  • Sharing observations
  • Interviewing to gather questions
This chapter is useful for those who are, or have tested, an existing system and need new ideas to expand their exploration.
Elisabeth then talks about exploring the requirements which is very useful for those who have requirement documentation and within the chapter there are lots of ways offered in which you can explore them.  One great suggestion in using a test review meeting and turning it into a requirements review.  Elisabeth offers many other suggestions on how to create charters from the requirements and use these during your exploratory testing sessions
The final chapter of the book is to think about exploratory testing throughout the whole of the development of the system and how to make exploratory testing a key part of your test strategy.  The key point I got from this chapter was the following:
When your test strategy includes both checking and exploring and the team acts on the information that testing reveals, the result is incredibly high-quality software
Elisabeth gives some real life experiences and stories of how she went about ensuring ‘exploring’ is a key part of testing.  This chapter is very useful for those who want to introduce exploratory testing and are not sure how to go about doing this.
At the end of the book there is a bonus section on interviewing for exploratory testing skills and some details about the previously mentioned cheat sheet.
This is now my testing ‘go to’ handbook and to me it is as important as my other ‘go to’ testing reference book by Glenford Myers – The Art of software testing
I recommend that all testers should have a copy of Explore It as well as anyone who works with testers.  There is information in this book that can help developers with their unit tests by making them ask ‘have I thought of this’?  It can be used by product owners to put together their own charters which they feel would be important to be investigated or explored.
Would I recommend buying this book?  Heck! YES.