Friday, May 21, 2021

What is Test Design and Test modeling

 Test modelling - Activity of representing system/feature under test as a model. 

A sample hierarchy


        Entities/Objects/Users (Roles)

            Dependencies between objects

                Relationships - IS A and HAS A (Type and containment)

                    One to one, One to Many

                        Properties (variables and constants)

                                Values (domain) of properties

                                    Default values, boundaries of values

                                        Combinations of Values to create test scenarios

Object - Action - State Change.

List actions on each objects.

Create a map of what will happen when an action on object happens

Simultaneous actions

Dead locks


how do we use  BB design techniques

EQ partitioning

State machine

Decision Tree


Take  a par of variables and create a Grid.

GUI Testing check lists (applicable to new GUI)

Static vs Dynamic Models

Model - when nothing is happening. No user interaction

Dynamic - when users are interacting

Time element

It might help to user Object Oriented Design to represent above idea.

There are objects - have properties and functions.

Nouns and Verbs

System will have objects/entities. Objects have properties, properties can be constant or variable.

Take each variable - explore the domain of the variable. See what kind of values it can take and 

String these variable values into test scenarios.

This act of modeling - goes through iterations. It's like a photo film negative development. With each iteration  - various features of system start showing up.

Idea of Test coverage -

Imagine a 2 D shape - area of features in two dimensions.

Covering area means exercising the walking through the area.

how about Volume ? 3rd dimension - features and values

Wednesday, May 19, 2021

How to improve Questioning skills

 Following up on a post in The test tribe FB group - here are my toughs on improving questioning skills

First - few ground rules on questioning

  • Questioning is a skill - improvable on deliberate practice
  • Questioning does not mean being disrespectful to other party
  • At times questioning might be taken as challenging the authority - deal with it appropriately.
  • Empty your ego and false sense of "I know this stuff" - instead approach "what else I don't' know here" What else is hidden from me now.
  • Frame questions and follow-ups in a way that it does not turn off or irritate other party
  • One good way to start question is to describe or re-phrase the understanding in words of other person wherever possible and seek view on if your understanding is correct
  • No question is silly (from the view point of the asker...:) Only unasked question is silly
  • while answer is being given - listen carefully - where applicable watch body language of the responded. Do not rush or pounce on  immediately.
  • Listen with an intention to understand not with an intention to answer in return
  • If you question basic ideas - it will not make you less in any way or a fool
  • Display courage and humility

Tips/Practice ideas
  • Ask one question at a time (Courtesy : Jerry Weinberg narrated by Ajay Balamurugadsa) 
  • Approach everything with "awe" and a sense of wonder.
  • Approach everything with mind of "newness or not seen before"
  • Develop good vocabulary and skill to say one thing in many different ways
  • Be good with creating examples and analogies
  • Dramatize your answers and questions
  • Do a role play
  • Create diagrams 
  • Ask "What does *this* mean? 
  • Seek meanings , interpretations and context of words
  • Learn about word etymologies
  • Develop understanding through responses received
  • Do lots of imaginations
  • Show child like curiosity
  • Split words from sentences - ask "what does this mean" to every word
  • ask "what id"
  • Ask what are constrains or limitations here - what if these constrains are not there - for example - what if we can fly defying the gravity or what it we can walk on water
  • Question universally known and understood words and ideas
  • Question authority
  • Do not settle for right answer - seek more broader set of responses
  • Be respectful
Human relationship aspects of Questioning
  • You always run into risk being perceived as arrogant, egoistic, "know all" OR completely dumb
  • You are mostly likely to put people out of their comfort zone and make them feel nervous
  • People may not speak to you nicely or avoid talking to you
  • Understand emotional aspects

Types of Questions:
  • Open Ended -  Non conclusive answers
  • Specific - 
  • Binary - Yes/No
  • Questions to check knowledge
  • Questions to understand